@opentrons/shared-data 0.1.6-alpha.9 → 0.1.7-alpha.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.
Files changed (361) hide show
  1. package/Makefile +1 -1
  2. package/command/schemas/10.json +6 -5
  3. package/command/schemas/11.json +4669 -3464
  4. package/command/schemas/12.json +7052 -0
  5. package/command/schemas/7.json +2 -1
  6. package/command/types/annotation.ts +1 -1
  7. package/command/types/gantry.ts +1 -1
  8. package/command/types/index.ts +1 -1
  9. package/command/types/module.ts +144 -1
  10. package/command/types/pipetting.ts +78 -2
  11. package/command/types/setup.ts +137 -2
  12. package/command/types/timing.ts +2 -2
  13. package/command/types/unsafe.ts +1 -1
  14. package/deck/definitions/5/ot3_standard.json +105 -24
  15. package/deck/schemas/5.json +7 -1
  16. package/deck/types/schemaV5.ts +8 -0
  17. package/errors/definitions/1/errors.json +4 -0
  18. package/labware/definitions/{3 → 2}/agilent_1_reservoir_290ml/2.json +12 -12
  19. package/labware/definitions/{3 → 2}/appliedbiosystemsmicroamp_384_wellplate_40ul/2.json +13 -13
  20. package/labware/definitions/{3 → 2}/armadillo_96_wellplate_200ul_pcr_full_skirt/3.json +12 -12
  21. package/labware/definitions/{3 → 2}/axygen_1_reservoir_90ml/2.json +1 -1
  22. package/labware/definitions/{3 → 2}/biorad_384_wellplate_50ul/3.json +12 -12
  23. package/labware/definitions/{3 → 2}/biorad_96_wellplate_200ul_pcr/3.json +213 -213
  24. package/labware/definitions/{3 → 2}/corning_12_wellplate_6.9ml_flat/3.json +13 -13
  25. package/labware/definitions/{3 → 2}/corning_24_wellplate_3.4ml_flat/3.json +1 -1
  26. package/labware/definitions/{3 → 2}/corning_384_wellplate_112ul_flat/3.json +394 -392
  27. package/labware/definitions/{3 → 2}/corning_48_wellplate_1.6ml_flat/3.json +52 -52
  28. package/labware/definitions/{3 → 2}/corning_6_wellplate_16.8ml_flat/3.json +1 -1
  29. package/labware/definitions/{3 → 2}/corning_96_wellplate_360ul_flat/3.json +3 -3
  30. package/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1067 -0
  31. package/labware/definitions/2/ev_resin_tips_flex_96_tiprack_adapter/1.json +44 -0
  32. package/labware/definitions/2/ev_resin_tips_flex_short_adapter/1.json +44 -0
  33. package/labware/definitions/2/ev_resin_tips_flex_tall_adapter/1.json +44 -0
  34. package/labware/definitions/{3 → 2}/nest_12_reservoir_15ml/2.json +10 -10
  35. package/labware/definitions/{3 → 2}/nest_1_reservoir_195ml/3.json +11 -11
  36. package/labware/definitions/{3 → 2}/nest_1_reservoir_290ml/2.json +17 -7
  37. package/labware/definitions/{3 → 2}/nest_96_wellplate_100ul_pcr_full_skirt/3.json +108 -108
  38. package/labware/definitions/{3 → 2}/nest_96_wellplate_200ul_flat/3.json +3 -3
  39. package/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +5 -0
  40. package/labware/definitions/{3 → 2}/nest_96_wellplate_2ml_deep/3.json +11 -17
  41. package/labware/definitions/{3 → 2}/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/2.json +27 -27
  42. package/labware/definitions/{3 → 2}/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/2.json +55 -42
  43. package/labware/definitions/{3 → 2}/opentrons_15_tuberack_falcon_15ml_conical/2.json +15 -15
  44. package/labware/definitions/{3 → 2}/opentrons_15_tuberack_nest_15ml_conical/2.json +17 -11
  45. package/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_generic_2ml_screwcap/3.json +24 -2
  46. package/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_0.5ml_screwcap/2.json +23 -23
  47. package/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_1.5ml_screwcap/2.json +15 -15
  48. package/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_1.5ml_snapcap/2.json +20 -13
  49. package/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_2ml_screwcap/2.json +9 -9
  50. package/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_2ml_snapcap/2.json +34 -27
  51. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/2.json +42 -42
  52. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/2.json +135 -2
  53. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_generic_2ml_screwcap/2.json +24 -2
  54. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_0.5ml_screwcap/2.json +23 -23
  55. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_1.5ml_screwcap/2.json +63 -63
  56. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_1.5ml_snapcap/2.json +44 -37
  57. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_2ml_screwcap/2.json +57 -57
  58. package/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_2ml_snapcap/2.json +57 -50
  59. package/labware/definitions/{3 → 2}/opentrons_6_tuberack_falcon_50ml_conical/2.json +9 -9
  60. package/labware/definitions/{3 → 2}/opentrons_6_tuberack_nest_50ml_conical/2.json +19 -12
  61. package/labware/definitions/{3 → 2}/opentrons_96_aluminumblock_generic_pcr_strip_200ul/3.json +99 -200
  62. package/labware/definitions/2/opentrons_96_deep_well_adapter/1.json +1 -1
  63. package/labware/definitions/2/opentrons_96_deep_well_temp_mod_adapter/1.json +1 -1
  64. package/labware/definitions/2/opentrons_96_flat_bottom_adapter/1.json +1 -1
  65. package/labware/definitions/2/opentrons_96_pcr_adapter/1.json +1 -1
  66. package/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +1 -1
  67. package/labware/definitions/{3 → 2}/opentrons_96_wellplate_200ul_pcr_full_skirt/3.json +19 -12
  68. package/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +1 -1
  69. package/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +1026 -0
  70. package/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +1026 -0
  71. package/labware/definitions/2/opentrons_flex_96_tiprack_adapter/1.json +1 -1
  72. package/labware/definitions/2/opentrons_flex_deck_riser/1.json +2 -2
  73. package/labware/definitions/2/opentrons_flex_lid_absorbance_plate_reader_module/1.json +1 -1
  74. package/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +116 -0
  75. package/labware/definitions/2/opentrons_tough_12_reservoir_22ml/1.json +228 -0
  76. package/labware/definitions/2/opentrons_tough_1_reservoir_300ml/1.json +83 -0
  77. package/labware/definitions/2/opentrons_tough_4_reservoir_72ml/1.json +114 -0
  78. package/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +26 -3
  79. package/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/2.json +134 -0
  80. package/labware/definitions/2/opentrons_tough_universal_lid/1.json +81 -0
  81. package/labware/definitions/2/opentrons_universal_flat_adapter/1.json +1 -1
  82. package/labware/definitions/2/protocol_engine_lid_stack_object/1.json +48 -0
  83. package/labware/definitions/{3 → 2}/thermoscientificnunc_96_wellplate_1300ul/2.json +9 -9
  84. package/labware/definitions/{3 → 2}/thermoscientificnunc_96_wellplate_2000ul/2.json +9 -9
  85. package/labware/definitions/{3 → 2}/usascientific_12_reservoir_22ml/2.json +33 -25
  86. package/labware/definitions/{3 → 2}/usascientific_96_wellplate_2.4ml_deep/2.json +22 -3
  87. package/labware/fixtures/3/fixture_2_plate.json +2 -1
  88. package/labware/fixtures/3/fixture_corning_24_plate.json +2 -1
  89. package/labware/schemas/2.json +425 -78
  90. package/labware/schemas/3.json +238 -118
  91. package/lib/command/index.d.ts +1 -1
  92. package/lib/command/schemas/10.json +6 -5
  93. package/lib/command/schemas/11.json +4669 -3464
  94. package/lib/command/schemas/12.json +7052 -0
  95. package/lib/command/schemas/7.json +2 -1
  96. package/lib/command/types/annotation.d.ts +1 -1
  97. package/lib/command/types/gantry.d.ts +1 -1
  98. package/lib/command/types/index.d.ts +1 -0
  99. package/lib/command/types/module.d.ts +111 -3
  100. package/lib/command/types/pipetting.d.ts +55 -4
  101. package/lib/command/types/setup.d.ts +102 -5
  102. package/lib/command/types/timing.d.ts +2 -2
  103. package/lib/command/types/unsafe.d.ts +1 -1
  104. package/lib/deck/definitions/5/ot3_standard.json +105 -24
  105. package/lib/deck/schemas/5.json +7 -1
  106. package/lib/deck/types/schemaV5.d.ts +3 -3
  107. package/lib/errors/definitions/1/errors.json +4 -0
  108. package/lib/index.mjs +212706 -135272
  109. package/lib/js/__tests__/liquidClassSchema.test.d.ts +1 -0
  110. package/lib/js/__tests__/sharedGeometryGroups.d.ts +16 -0
  111. package/lib/js/constants.d.ts +21 -3
  112. package/lib/js/fixtures.d.ts +3 -1
  113. package/lib/js/helpers/__tests__/index.test.d.ts +1 -0
  114. package/lib/js/helpers/__tests__/linearInterpolate.test.d.ts +1 -0
  115. package/lib/js/helpers/index.d.ts +18 -3
  116. package/lib/js/helpers/linearInterpolate.d.ts +14 -0
  117. package/lib/js/helpers/parseAddressableArea.d.ts +4 -0
  118. package/lib/js/helpers/validateCustomLabwareHelper.d.ts +9 -0
  119. package/lib/js/index.d.ts +1 -0
  120. package/lib/js/labware.d.ts +5 -117
  121. package/lib/js/liquidClasses.d.ts +2 -0
  122. package/lib/js/types.d.ts +117 -13
  123. package/lib/labware/definitions/{3 → 2}/agilent_1_reservoir_290ml/2.json +12 -12
  124. package/lib/labware/definitions/{3 → 2}/appliedbiosystemsmicroamp_384_wellplate_40ul/2.json +13 -13
  125. package/lib/labware/definitions/{3 → 2}/armadillo_96_wellplate_200ul_pcr_full_skirt/3.json +12 -12
  126. package/lib/labware/definitions/{3 → 2}/axygen_1_reservoir_90ml/2.json +1 -1
  127. package/lib/labware/definitions/{3 → 2}/biorad_384_wellplate_50ul/3.json +12 -12
  128. package/lib/labware/definitions/{3 → 2}/biorad_96_wellplate_200ul_pcr/3.json +213 -213
  129. package/lib/labware/definitions/{3 → 2}/corning_12_wellplate_6.9ml_flat/3.json +13 -13
  130. package/lib/labware/definitions/{3 → 2}/corning_24_wellplate_3.4ml_flat/3.json +1 -1
  131. package/lib/labware/definitions/{3 → 2}/corning_384_wellplate_112ul_flat/3.json +394 -392
  132. package/lib/labware/definitions/{3 → 2}/corning_48_wellplate_1.6ml_flat/3.json +52 -52
  133. package/lib/labware/definitions/{3 → 2}/corning_6_wellplate_16.8ml_flat/3.json +1 -1
  134. package/lib/labware/definitions/{3 → 2}/corning_96_wellplate_360ul_flat/3.json +3 -3
  135. package/lib/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1067 -0
  136. package/lib/labware/definitions/2/ev_resin_tips_flex_96_tiprack_adapter/1.json +44 -0
  137. package/lib/labware/definitions/2/ev_resin_tips_flex_short_adapter/1.json +44 -0
  138. package/lib/labware/definitions/2/ev_resin_tips_flex_tall_adapter/1.json +44 -0
  139. package/lib/labware/definitions/{3 → 2}/nest_12_reservoir_15ml/2.json +10 -10
  140. package/lib/labware/definitions/{3 → 2}/nest_1_reservoir_195ml/3.json +11 -11
  141. package/lib/labware/definitions/{3 → 2}/nest_1_reservoir_290ml/2.json +17 -7
  142. package/lib/labware/definitions/{3 → 2}/nest_96_wellplate_100ul_pcr_full_skirt/3.json +108 -108
  143. package/lib/labware/definitions/{3 → 2}/nest_96_wellplate_200ul_flat/3.json +3 -3
  144. package/lib/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +5 -0
  145. package/lib/labware/definitions/{3 → 2}/nest_96_wellplate_2ml_deep/3.json +11 -17
  146. package/lib/labware/definitions/{3 → 2}/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/2.json +27 -27
  147. package/lib/labware/definitions/{3 → 2}/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/2.json +55 -42
  148. package/lib/labware/definitions/{3 → 2}/opentrons_15_tuberack_falcon_15ml_conical/2.json +15 -15
  149. package/lib/labware/definitions/{3 → 2}/opentrons_15_tuberack_nest_15ml_conical/2.json +17 -11
  150. package/lib/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_generic_2ml_screwcap/3.json +24 -2
  151. package/lib/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_0.5ml_screwcap/2.json +23 -23
  152. package/lib/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_1.5ml_screwcap/2.json +15 -15
  153. package/lib/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_1.5ml_snapcap/2.json +20 -13
  154. package/lib/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_2ml_screwcap/2.json +9 -9
  155. package/lib/labware/definitions/{3 → 2}/opentrons_24_aluminumblock_nest_2ml_snapcap/2.json +34 -27
  156. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/2.json +42 -42
  157. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/2.json +135 -2
  158. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_generic_2ml_screwcap/2.json +24 -2
  159. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_0.5ml_screwcap/2.json +23 -23
  160. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_1.5ml_screwcap/2.json +63 -63
  161. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_1.5ml_snapcap/2.json +44 -37
  162. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_2ml_screwcap/2.json +57 -57
  163. package/lib/labware/definitions/{3 → 2}/opentrons_24_tuberack_nest_2ml_snapcap/2.json +57 -50
  164. package/lib/labware/definitions/{3 → 2}/opentrons_6_tuberack_falcon_50ml_conical/2.json +9 -9
  165. package/lib/labware/definitions/{3 → 2}/opentrons_6_tuberack_nest_50ml_conical/2.json +19 -12
  166. package/lib/labware/definitions/{3 → 2}/opentrons_96_aluminumblock_generic_pcr_strip_200ul/3.json +99 -200
  167. package/lib/labware/definitions/2/opentrons_96_deep_well_adapter/1.json +1 -1
  168. package/lib/labware/definitions/2/opentrons_96_deep_well_temp_mod_adapter/1.json +1 -1
  169. package/lib/labware/definitions/2/opentrons_96_flat_bottom_adapter/1.json +1 -1
  170. package/lib/labware/definitions/2/opentrons_96_pcr_adapter/1.json +1 -1
  171. package/lib/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +1 -1
  172. package/lib/labware/definitions/{3 → 2}/opentrons_96_wellplate_200ul_pcr_full_skirt/3.json +19 -12
  173. package/lib/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +1 -1
  174. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +1026 -0
  175. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +1026 -0
  176. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_adapter/1.json +1 -1
  177. package/lib/labware/definitions/2/opentrons_flex_deck_riser/1.json +2 -2
  178. package/lib/labware/definitions/2/opentrons_flex_lid_absorbance_plate_reader_module/1.json +1 -1
  179. package/lib/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +116 -0
  180. package/lib/labware/definitions/2/opentrons_tough_12_reservoir_22ml/1.json +228 -0
  181. package/lib/labware/definitions/2/opentrons_tough_1_reservoir_300ml/1.json +83 -0
  182. package/lib/labware/definitions/2/opentrons_tough_4_reservoir_72ml/1.json +114 -0
  183. package/lib/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +26 -3
  184. package/lib/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/2.json +134 -0
  185. package/lib/labware/definitions/2/opentrons_tough_universal_lid/1.json +81 -0
  186. package/lib/labware/definitions/2/opentrons_universal_flat_adapter/1.json +1 -1
  187. package/lib/labware/definitions/2/protocol_engine_lid_stack_object/1.json +48 -0
  188. package/lib/labware/definitions/{3 → 2}/thermoscientificnunc_96_wellplate_1300ul/2.json +9 -9
  189. package/lib/labware/definitions/{3 → 2}/thermoscientificnunc_96_wellplate_2000ul/2.json +9 -9
  190. package/lib/labware/definitions/{3 → 2}/usascientific_12_reservoir_22ml/2.json +33 -25
  191. package/lib/labware/definitions/{3 → 2}/usascientific_96_wellplate_2.4ml_deep/2.json +22 -3
  192. package/lib/labware/fixtures/3/fixture_2_plate.json +2 -1
  193. package/lib/labware/fixtures/3/fixture_corning_24_plate.json +2 -1
  194. package/lib/labware/schemas/2.json +425 -78
  195. package/lib/labware/schemas/3.json +238 -118
  196. package/lib/liquid-class/definitions/1/ethanol_80.json +5260 -0
  197. package/lib/liquid-class/definitions/1/glycerol_50.json +4980 -0
  198. package/lib/liquid-class/definitions/1/water.json +4874 -0
  199. package/lib/liquid-class/fixtures/1/fixture_glycerol50.json +237 -0
  200. package/lib/liquid-class/schemas/1.json +513 -0
  201. package/lib/module/definitions/3/absorbanceReaderV1.json +2 -2
  202. package/lib/module/definitions/3/flexStackerModuleV1.json +526 -0
  203. package/lib/module/schemas/3.json +7 -4
  204. package/lib/pipette/definitions/1/pipetteModelSpecs.json +531 -0
  205. package/lib/pipette/definitions/1/pipetteNameSpecs.json +95 -5
  206. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_0.json +1 -1
  207. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_3.json +1 -1
  208. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_4.json +1 -1
  209. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_5.json +1 -1
  210. package/lib/pipette/definitions/2/general/eight_channel/p50/3_0.json +1 -1
  211. package/lib/pipette/definitions/2/general/eight_channel/p50/3_3.json +1 -1
  212. package/lib/pipette/definitions/2/general/eight_channel/p50/3_4.json +1 -1
  213. package/lib/pipette/definitions/2/general/eight_channel/p50/3_5.json +1 -1
  214. package/lib/pipette/definitions/2/general/eight_channel_em/p1000/1_0.json +320 -0
  215. package/lib/pipette/definitions/2/general/eight_channel_em/p1000/3_0.json +320 -0
  216. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +1 -1
  217. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +1 -1
  218. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +1 -1
  219. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +1 -1
  220. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +1 -1
  221. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json +1 -1
  222. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/1_0.json +660 -0
  223. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/3_0.json +1 -1
  224. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/3_1.json +660 -0
  225. package/lib/pipette/definitions/2/general/single_channel/p1000/3_0.json +1 -1
  226. package/lib/pipette/definitions/2/general/single_channel/p1000/3_3.json +1 -1
  227. package/lib/pipette/definitions/2/general/single_channel/p1000/3_4.json +1 -1
  228. package/lib/pipette/definitions/2/general/single_channel/p1000/3_5.json +1 -1
  229. package/lib/pipette/definitions/2/general/single_channel/p1000/3_6.json +1 -1
  230. package/lib/pipette/definitions/2/general/single_channel/p1000/3_7.json +1 -1
  231. package/lib/pipette/definitions/2/general/single_channel/p50/3_0.json +1 -1
  232. package/lib/pipette/definitions/2/general/single_channel/p50/3_3.json +1 -1
  233. package/lib/pipette/definitions/2/general/single_channel/p50/3_4.json +1 -1
  234. package/lib/pipette/definitions/2/general/single_channel/p50/3_5.json +1 -1
  235. package/lib/pipette/definitions/2/general/single_channel/p50/3_6.json +1 -1
  236. package/lib/pipette/definitions/2/geometry/eight_channel_em/p1000/1_0.json +55 -0
  237. package/lib/pipette/definitions/2/geometry/eight_channel_em/p1000/3_0.json +55 -0
  238. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/1_0.json +305 -0
  239. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/3_1.json +309 -0
  240. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +51 -0
  241. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +65 -0
  242. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +63 -0
  243. package/lib/pipette/definitions/2/liquid/eight_channel_em/p1000/default/1_0.json +236 -0
  244. package/lib/pipette/definitions/2/liquid/eight_channel_em/p1000/default/3_0.json +236 -0
  245. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +54 -3
  246. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +3 -3
  247. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +3 -3
  248. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +3 -3
  249. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +54 -3
  250. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json +54 -3
  251. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json +288 -0
  252. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +124 -65
  253. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +182 -0
  254. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +1 -1
  255. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +51 -0
  256. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json +51 -0
  257. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json +51 -0
  258. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +73 -8
  259. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +65 -0
  260. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +71 -6
  261. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +63 -0
  262. package/lib/pipette/fixtures/name/index.d.ts +1 -1
  263. package/lib/pipette/fixtures/name/pipetteNameSpecFixtures.json +1 -1
  264. package/lib/pipette/schemas/2/pipetteGeometrySchema.json +7 -0
  265. package/lib/protocol/types/schemaV8/index.d.ts +7 -1
  266. package/liquid-class/definitions/1/ethanol_80.json +5260 -0
  267. package/liquid-class/definitions/1/glycerol_50.json +4980 -0
  268. package/liquid-class/definitions/1/water.json +4874 -0
  269. package/liquid-class/fixtures/{fixture_glycerol50.json → 1/fixture_glycerol50.json} +41 -44
  270. package/liquid-class/schemas/1.json +63 -36
  271. package/module/definitions/3/absorbanceReaderV1.json +2 -2
  272. package/module/definitions/3/flexStackerModuleV1.json +526 -0
  273. package/module/schemas/3.json +7 -4
  274. package/package.json +1 -1
  275. package/pipette/definitions/1/pipetteModelSpecs.json +531 -0
  276. package/pipette/definitions/1/pipetteNameSpecs.json +95 -5
  277. package/pipette/definitions/2/general/eight_channel/p1000/3_0.json +1 -1
  278. package/pipette/definitions/2/general/eight_channel/p1000/3_3.json +1 -1
  279. package/pipette/definitions/2/general/eight_channel/p1000/3_4.json +1 -1
  280. package/pipette/definitions/2/general/eight_channel/p1000/3_5.json +1 -1
  281. package/pipette/definitions/2/general/eight_channel/p50/3_0.json +1 -1
  282. package/pipette/definitions/2/general/eight_channel/p50/3_3.json +1 -1
  283. package/pipette/definitions/2/general/eight_channel/p50/3_4.json +1 -1
  284. package/pipette/definitions/2/general/eight_channel/p50/3_5.json +1 -1
  285. package/pipette/definitions/2/general/eight_channel_em/p1000/1_0.json +320 -0
  286. package/pipette/definitions/2/general/eight_channel_em/p1000/3_0.json +320 -0
  287. package/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +1 -1
  288. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +1 -1
  289. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +1 -1
  290. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +1 -1
  291. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +1 -1
  292. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json +1 -1
  293. package/pipette/definitions/2/general/ninety_six_channel/p200/1_0.json +660 -0
  294. package/pipette/definitions/2/general/ninety_six_channel/p200/3_0.json +1 -1
  295. package/pipette/definitions/2/general/ninety_six_channel/p200/3_1.json +660 -0
  296. package/pipette/definitions/2/general/single_channel/p1000/3_0.json +1 -1
  297. package/pipette/definitions/2/general/single_channel/p1000/3_3.json +1 -1
  298. package/pipette/definitions/2/general/single_channel/p1000/3_4.json +1 -1
  299. package/pipette/definitions/2/general/single_channel/p1000/3_5.json +1 -1
  300. package/pipette/definitions/2/general/single_channel/p1000/3_6.json +1 -1
  301. package/pipette/definitions/2/general/single_channel/p1000/3_7.json +1 -1
  302. package/pipette/definitions/2/general/single_channel/p50/3_0.json +1 -1
  303. package/pipette/definitions/2/general/single_channel/p50/3_3.json +1 -1
  304. package/pipette/definitions/2/general/single_channel/p50/3_4.json +1 -1
  305. package/pipette/definitions/2/general/single_channel/p50/3_5.json +1 -1
  306. package/pipette/definitions/2/general/single_channel/p50/3_6.json +1 -1
  307. package/pipette/definitions/2/geometry/eight_channel_em/p1000/1_0.json +55 -0
  308. package/pipette/definitions/2/geometry/eight_channel_em/p1000/3_0.json +55 -0
  309. package/pipette/definitions/2/geometry/eight_channel_em/p1000/placeholder.gltf +0 -0
  310. package/pipette/definitions/2/geometry/ninety_six_channel/p200/1_0.json +305 -0
  311. package/pipette/definitions/2/geometry/ninety_six_channel/p200/3_1.json +309 -0
  312. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +51 -0
  313. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +65 -0
  314. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +63 -0
  315. package/pipette/definitions/2/liquid/eight_channel_em/p1000/default/1_0.json +236 -0
  316. package/pipette/definitions/2/liquid/eight_channel_em/p1000/default/3_0.json +236 -0
  317. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +54 -3
  318. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +3 -3
  319. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +3 -3
  320. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +3 -3
  321. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +54 -3
  322. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json +54 -3
  323. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json +288 -0
  324. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +124 -65
  325. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +182 -0
  326. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +1 -1
  327. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +51 -0
  328. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json +51 -0
  329. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json +51 -0
  330. package/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +73 -8
  331. package/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +65 -0
  332. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +71 -6
  333. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +63 -0
  334. package/pipette/fixtures/name/pipetteNameSpecFixtures.json +1 -1
  335. package/pipette/schemas/2/pipetteGeometrySchema.json +7 -0
  336. package/protocol/types/schemaV8/index.ts +8 -1
  337. package/robot/definitions/1/ot3.json +1 -1
  338. package/tsconfig-data.json +1 -0
  339. package/tsconfig.json +1 -0
  340. package/labware/definitions/3/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/2.json +0 -230
  341. package/labware/definitions/3/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/2.json +0 -338
  342. package/labware/definitions/3/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/2.json +0 -327
  343. package/labware/definitions/3/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/2.json +0 -526
  344. package/labware/definitions/3/opentrons_96_aluminumblock_biorad_wellplate_200ul/2.json +0 -1165
  345. package/labware/definitions/3/opentrons_96_aluminumblock_nest_wellplate_100ul/2.json +0 -1149
  346. package/labware/definitions/3/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/2.json +0 -1241
  347. package/labware/definitions/3/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/2.json +0 -1136
  348. package/labware/definitions/3/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/2.json +0 -1149
  349. package/labware/definitions/3/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/2.json +0 -1147
  350. package/labware/definitions/3/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/2.json +0 -5107
  351. package/lib/labware/definitions/3/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/2.json +0 -230
  352. package/lib/labware/definitions/3/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/2.json +0 -338
  353. package/lib/labware/definitions/3/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/2.json +0 -327
  354. package/lib/labware/definitions/3/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/2.json +0 -526
  355. package/lib/labware/definitions/3/opentrons_96_aluminumblock_biorad_wellplate_200ul/2.json +0 -1165
  356. package/lib/labware/definitions/3/opentrons_96_aluminumblock_nest_wellplate_100ul/2.json +0 -1149
  357. package/lib/labware/definitions/3/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/2.json +0 -1241
  358. package/lib/labware/definitions/3/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/2.json +0 -1136
  359. package/lib/labware/definitions/3/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/2.json +0 -1149
  360. package/lib/labware/definitions/3/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/2.json +0 -1147
  361. package/lib/labware/definitions/3/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/2.json +0 -5107
@@ -41,7 +41,9 @@
41
41
  "wellPlate",
42
42
  "aluminumBlock",
43
43
  "adapter",
44
- "other"
44
+ "other",
45
+ "lid",
46
+ "system"
45
47
  ]
46
48
  },
47
49
  "safeString": {
@@ -49,7 +51,7 @@
49
51
  "type": "string",
50
52
  "pattern": "^[a-z0-9._]+$"
51
53
  },
52
- "coordinates": {
54
+ "vector": {
53
55
  "type": "object",
54
56
  "additionalProperties": false,
55
57
  "required": ["x", "y", "z"],
@@ -65,6 +67,120 @@
65
67
  }
66
68
  }
67
69
  },
70
+ "pickUpAndDropOffsets": {
71
+ "type": "object",
72
+ "required": ["pickUpOffset", "dropOffset"],
73
+ "properties": {
74
+ "pickUpOffset": {
75
+ "$ref": "#/definitions/vector",
76
+ "description": "Offset added to calculate pick-up coordinates."
77
+ },
78
+ "dropOffset": {
79
+ "$ref": "#/definitions/vector",
80
+ "description": "Offset added to calculate drop coordinates."
81
+ }
82
+ }
83
+ },
84
+ "well": {
85
+ "anyOf": [
86
+ { "$ref": "#/definitions/rectangularWell" },
87
+ { "$ref": "#/definitions/circularWell" }
88
+ ]
89
+ },
90
+ "rectangularWell": {
91
+ "type": "object",
92
+ "required": [
93
+ "shape",
94
+ "depth",
95
+ "totalLiquidVolume",
96
+ "x",
97
+ "y",
98
+ "z",
99
+ "xDimension",
100
+ "yDimension"
101
+ ],
102
+ "$comment": "The properties with a subschema of `true` ('always pass') are defined in wellCommon. They need to be mentioned here for additionalProperties to work right, until we have JSON Schema 2019-09 and we can switch to unevaluatedProperties.",
103
+ "properties": {
104
+ "shape": {
105
+ "const": "rectangular"
106
+ },
107
+ "depth": true,
108
+ "totalLiquidVolume": true,
109
+ "x": true,
110
+ "y": true,
111
+ "z": true,
112
+ "geometryDefinitionId": true,
113
+ "xDimension": {
114
+ "description": "x dimension of rectangular wells",
115
+ "$ref": "#/definitions/positiveNumber"
116
+ },
117
+ "yDimension": {
118
+ "description": "y dimension of rectangular wells",
119
+ "$ref": "#/definitions/positiveNumber"
120
+ }
121
+ },
122
+ "additionalProperties": false,
123
+ "allOf": [{ "$ref": "#/definitions/wellCommon" }]
124
+ },
125
+ "circularWell": {
126
+ "type": "object",
127
+ "required": [
128
+ "shape",
129
+ "depth",
130
+ "totalLiquidVolume",
131
+ "x",
132
+ "y",
133
+ "z",
134
+ "diameter"
135
+ ],
136
+ "$comment": "The properties with a subschema of `true` ('always pass') are defined in wellCommon. They need to be mentioned here for additionalProperties to work right, until we have JSON Schema 2019-09 and we can switch to unevaluatedProperties.",
137
+ "properties": {
138
+ "shape": {
139
+ "const": "circular"
140
+ },
141
+ "depth": true,
142
+ "totalLiquidVolume": true,
143
+ "x": true,
144
+ "y": true,
145
+ "z": true,
146
+ "geometryDefinitionId": true,
147
+ "diameter": {
148
+ "description": "diameter of circular wells",
149
+ "$ref": "#/definitions/positiveNumber"
150
+ }
151
+ },
152
+ "additionalProperties": false,
153
+ "allOf": [{ "$ref": "#/definitions/wellCommon" }]
154
+ },
155
+ "wellCommon": {
156
+ "$comment": "These properties need to stay in sync with rectangularWell and circularWell. See comments there.",
157
+ "properties": {
158
+ "depth": {
159
+ "description": "The distance between the top and bottom of this well. If the labware is a tip rack, this will be ignored in favor of tipLength, but the values should match.",
160
+ "$ref": "#/definitions/positiveNumber"
161
+ },
162
+ "totalLiquidVolume": {
163
+ "description": "Total well, tube, or tip volume in microliters",
164
+ "$ref": "#/definitions/positiveNumber"
165
+ },
166
+ "x": {
167
+ "description": "x location of center-bottom of well in reference to left-front-bottom of labware",
168
+ "$ref": "#/definitions/positiveNumber"
169
+ },
170
+ "y": {
171
+ "description": "y location of center-bottom of well in reference to left-front-bottom of labware",
172
+ "$ref": "#/definitions/positiveNumber"
173
+ },
174
+ "z": {
175
+ "description": "z location of center-bottom of well in reference to left-front-bottom of labware",
176
+ "$ref": "#/definitions/positiveNumber"
177
+ },
178
+ "geometryDefinitionId": {
179
+ "description": "string id of the well's corresponding innerWellGeometry",
180
+ "type": ["string", "null"]
181
+ }
182
+ }
183
+ },
68
184
  "SphericalSegment": {
69
185
  "type": "object",
70
186
  "description": "A partial sphere shaped section at the bottom of the well.",
@@ -76,19 +192,24 @@
76
192
  "enum": ["spherical"]
77
193
  },
78
194
  "radiusOfCurvature": {
79
- "type": "number"
195
+ "type": "number",
196
+ "description": "radius of curvature of bottom subsection of wells"
80
197
  },
81
198
  "topHeight": {
82
- "type": "number"
199
+ "type": "number",
200
+ "description": "The depth of a spherical bottom of a well"
83
201
  },
84
202
  "bottomHeight": {
85
- "type": "number"
203
+ "type": "number",
204
+ "description": "Height of the bottom of the segment, must be 0.0"
86
205
  },
87
206
  "xCount": {
88
- "type": "integer"
207
+ "type": "integer",
208
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
89
209
  },
90
210
  "yCount": {
91
- "type": "integer"
211
+ "type": "integer",
212
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
92
213
  }
93
214
  }
94
215
  },
@@ -108,22 +229,28 @@
108
229
  "enum": ["conical"]
109
230
  },
110
231
  "bottomDiameter": {
111
- "type": "number"
232
+ "type": "number",
233
+ "description": "The diameter at the bottom cross-section of a circular frustum"
112
234
  },
113
235
  "topDiameter": {
114
- "type": "number"
236
+ "type": "number",
237
+ "description": "The diameter at the top cross-section of a circular frustum"
115
238
  },
116
239
  "topHeight": {
117
- "type": "number"
240
+ "type": "number",
241
+ "description": "The height at the top of a bounded subsection of a well, relative to the bottom of the well"
118
242
  },
119
243
  "bottomHeight": {
120
- "type": "number"
244
+ "type": "number",
245
+ "description": "The height at the bottom of a bounded subsection of a well, relative to the bottom of the well"
121
246
  },
122
247
  "xCount": {
123
- "type": "integer"
248
+ "type": "integer",
249
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
124
250
  },
125
251
  "yCount": {
126
- "type": "integer"
252
+ "type": "integer",
253
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
127
254
  }
128
255
  }
129
256
  },
@@ -145,28 +272,36 @@
145
272
  "enum": ["cuboidal"]
146
273
  },
147
274
  "bottomXDimension": {
148
- "type": "number"
275
+ "type": "number",
276
+ "description": "x dimension of the bottom cross-section of a rectangular frustum"
149
277
  },
150
278
  "bottomYDimension": {
151
- "type": "number"
279
+ "type": "number",
280
+ "description": "y dimension of the bottom cross-section of a rectangular frustum"
152
281
  },
153
282
  "topXDimension": {
154
- "type": "number"
283
+ "type": "number",
284
+ "description": "x dimension of the top cross-section of a rectangular frustum"
155
285
  },
156
286
  "topYDimension": {
157
- "type": "number"
287
+ "type": "number",
288
+ "description": "y dimension of the top cross-section of a rectangular frustum"
158
289
  },
159
290
  "topHeight": {
160
- "type": "number"
291
+ "type": "number",
292
+ "description": "The height at the top of a bounded subsection of a well, relative to the bottom of the well"
161
293
  },
162
294
  "bottomHeight": {
163
- "type": "number"
295
+ "type": "number",
296
+ "description": "The height at the bottom of a bounded subsection of a well, relative to the bottom of the well"
164
297
  },
165
298
  "xCount": {
166
- "type": "integer"
299
+ "type": "integer",
300
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
167
301
  },
168
302
  "yCount": {
169
- "type": "integer"
303
+ "type": "integer",
304
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
170
305
  }
171
306
  }
172
307
  },
@@ -189,28 +324,36 @@
189
324
  },
190
325
  "bottomCrossSection": {
191
326
  "type": "string",
192
- "enum": ["circular", "rectangular"]
327
+ "enum": ["circular", "rectangular"],
328
+ "description": "Denote if the shape is going from circular to rectangular or vise versa"
193
329
  },
194
330
  "circleDiameter": {
195
- "type": "number"
331
+ "type": "number",
332
+ "description": "diameter of the circular face of a truncated circular segment"
196
333
  },
197
334
  "rectangleXDimension": {
198
- "type": "number"
335
+ "type": "number",
336
+ "description": "x dimension of the rectangular face of a truncated circular segment"
199
337
  },
200
338
  "rectangleYDimension": {
201
- "type": "number"
339
+ "type": "number",
340
+ "description": "y dimension of the rectangular face of a truncated circular segment"
202
341
  },
203
342
  "topHeight": {
204
- "type": "number"
343
+ "type": "number",
344
+ "description": "The height at the top of a bounded subsection of a well, relative to the bottom of the well"
205
345
  },
206
346
  "bottomHeight": {
207
- "type": "number"
347
+ "type": "number",
348
+ "description": "The height at the bottom of a bounded subsection of a well, relative to the bottom of the well"
208
349
  },
209
350
  "xCount": {
210
- "type": "integer"
351
+ "type": "integer",
352
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
211
353
  },
212
354
  "yCount": {
213
- "type": "integer"
355
+ "type": "integer",
356
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
214
357
  }
215
358
  }
216
359
  },
@@ -233,28 +376,36 @@
233
376
  },
234
377
  "bottomCrossSection": {
235
378
  "type": "string",
236
- "enum": ["circular", "rectangular"]
379
+ "enum": ["circular", "rectangular"],
380
+ "description": "Denote if the shape is going from circular to rectangular or vise versa"
237
381
  },
238
382
  "circleDiameter": {
239
- "type": "number"
383
+ "type": "number",
384
+ "description": "diameter of the circular face of a rounded rectangular segment"
240
385
  },
241
386
  "rectangleXDimension": {
242
- "type": "number"
387
+ "type": "number",
388
+ "description": "x dimension of the rectangular face of a rounded rectangular segment"
243
389
  },
244
390
  "rectangleYDimension": {
245
- "type": "number"
391
+ "type": "number",
392
+ "description": "y dimension of the rectangular face of a rounded rectangular segment"
246
393
  },
247
394
  "topHeight": {
248
- "type": "number"
395
+ "type": "number",
396
+ "description": "The height at the top of a bounded subsection of a well, relative to the bottom"
249
397
  },
250
398
  "bottomHeight": {
251
- "type": "number"
399
+ "type": "number",
400
+ "description": "The height at the bottom of a bounded subsection of a well, relative to the bottom of the well"
252
401
  },
253
402
  "xCount": {
254
- "type": "integer"
403
+ "type": "integer",
404
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
255
405
  },
256
406
  "yCount": {
257
- "type": "integer"
407
+ "type": "integer",
408
+ "description": "Number of instances of this shape in the stackup, used for wells that have multiple sub-wells"
258
409
  }
259
410
  }
260
411
  },
@@ -263,8 +414,9 @@
263
414
  "required": ["sections"],
264
415
  "properties": {
265
416
  "sections": {
266
- "description": "A list of all of the sections of the well that have a contiguous shape",
417
+ "description": "A list of all of the sections of the well that have a contiguous shape. Must be ordered from top (highest z) to bottom (lowest z).",
267
418
  "type": "array",
419
+ "minItems": 1,
268
420
  "items": {
269
421
  "oneOf": [
270
422
  {
@@ -291,6 +443,7 @@
291
443
  "type": "object",
292
444
  "additionalProperties": false,
293
445
  "required": [
446
+ "$otSharedSchema",
294
447
  "schemaVersion",
295
448
  "version",
296
449
  "namespace",
@@ -304,6 +457,10 @@
304
457
  "groups"
305
458
  ],
306
459
  "properties": {
460
+ "$otSharedSchema": {
461
+ "description": "The path to a valid Opentrons shared schema relative to the shared-data directory, without its extension.",
462
+ "enum": ["#/labware/schemas/3"]
463
+ },
307
464
  "schemaVersion": {
308
465
  "description": "Which schema version a labware is using",
309
466
  "type": "number",
@@ -392,6 +549,11 @@
392
549
  "description": "Flag marking whether a labware is compatible by default with the Magnetic Module",
393
550
  "type": "boolean"
394
551
  },
552
+ "isDeckSlotCompatible": {
553
+ "description": "Flag marking whether a labware is compatible by with being placed or loaded in a base deck slot, defaults to true.",
554
+ "type": "boolean",
555
+ "default": true
556
+ },
395
557
  "magneticModuleEngageHeight": {
396
558
  "description": "Distance to move magnetic module magnets to engage",
397
559
  "$ref": "#/definitions/positiveNumber"
@@ -409,15 +571,8 @@
409
571
  }
410
572
  },
411
573
  "cornerOffsetFromSlot": {
412
- "type": "object",
413
- "additionalProperties": false,
414
574
  "description": "Distance from left-front-bottom corner of slot to left-front-bottom corner of labware bounding box. Used for labware that spans multiple slots. For labware that does not span multiple slots, x/y/z should all be zero.",
415
- "required": ["x", "y", "z"],
416
- "properties": {
417
- "x": { "type": "number" },
418
- "y": { "type": "number" },
419
- "z": { "type": "number" }
420
- }
575
+ "$ref": "#/definitions/vector"
421
576
  },
422
577
  "dimensions": {
423
578
  "type": "object",
@@ -442,62 +597,7 @@
442
597
  "additionalProperties": false,
443
598
  "patternProperties": {
444
599
  "[A-Z]+[0-9]+": {
445
- "type": "object",
446
- "additionalProperties": false,
447
- "required": ["depth", "shape", "totalLiquidVolume", "x", "y", "z"],
448
- "oneOf": [
449
- { "required": ["xDimension", "yDimension"] },
450
- { "required": ["diameter"] }
451
- ],
452
- "not": {
453
- "anyOf": [
454
- { "required": ["diameter", "xDimension"] },
455
- { "required": ["diameter", "yDimension"] }
456
- ]
457
- },
458
- "properties": {
459
- "depth": {
460
- "description": "The distance between the top and bottom of this well. If the labware is a tip rack, this will be ignored in favor of tipLength, but the values should match.",
461
- "$ref": "#/definitions/positiveNumber"
462
- },
463
- "x": {
464
- "description": "x location of center-bottom of well in reference to left-front-bottom of labware",
465
- "$ref": "#/definitions/positiveNumber"
466
- },
467
- "y": {
468
- "description": "y location of center-bottom of well in reference to left-front-bottom of labware",
469
- "$ref": "#/definitions/positiveNumber"
470
- },
471
- "z": {
472
- "description": "z location of center-bottom of well in reference to left-front-bottom of labware",
473
- "$ref": "#/definitions/positiveNumber"
474
- },
475
- "totalLiquidVolume": {
476
- "description": "Total well, tube, or tip volume in microliters",
477
- "$ref": "#/definitions/positiveNumber"
478
- },
479
- "xDimension": {
480
- "description": "x dimension of rectangular wells",
481
- "$ref": "#/definitions/positiveNumber"
482
- },
483
- "yDimension": {
484
- "description": "y dimension of rectangular wells",
485
- "$ref": "#/definitions/positiveNumber"
486
- },
487
- "diameter": {
488
- "description": "diameter of circular wells",
489
- "$ref": "#/definitions/positiveNumber"
490
- },
491
- "shape": {
492
- "description": "If 'rectangular', use xDimension and yDimension; if 'circular' use diameter",
493
- "type": "string",
494
- "enum": ["rectangular", "circular"]
495
- },
496
- "geometryDefinitionId": {
497
- "description": "string id of the well's corresponding innerWellGeometry",
498
- "type": ["string", "null"]
499
- }
500
- }
600
+ "$ref": "#/definitions/well"
501
601
  }
502
602
  }
503
603
  },
@@ -549,40 +649,49 @@
549
649
  "description": "Allowed behaviors and usage of a labware in a protocol.",
550
650
  "items": {
551
651
  "type": "string",
552
- "enum": ["labware", "adapter", "fixture", "maintenance", "lid"]
652
+ "enum": [
653
+ "labware",
654
+ "adapter",
655
+ "fixture",
656
+ "maintenance",
657
+ "lid",
658
+ "system"
659
+ ]
553
660
  }
554
661
  },
555
662
  "stackingOffsetWithLabware": {
556
663
  "type": "object",
557
664
  "description": "Supported labware that can be stacked upon, with overlap height between both labware.",
558
665
  "additionalProperties": {
559
- "$ref": "#/definitions/coordinates"
666
+ "$ref": "#/definitions/vector"
560
667
  }
561
668
  },
562
669
  "stackingOffsetWithModule": {
563
670
  "type": "object",
564
671
  "description": "Supported module that can be stacked upon, with overlap height between labware and module.",
565
672
  "additionalProperties": {
566
- "$ref": "#/definitions/coordinates"
673
+ "$ref": "#/definitions/vector"
567
674
  }
568
675
  },
569
676
  "gripperOffsets": {
570
677
  "type": "object",
571
- "description": "Offsets to be added when calculating the coordinates a gripper should go to when picking up or dropping a labware on this labware.",
678
+ "description": "Offsets to add when picking up or dropping another labware stacked atop this one. Do not use this to adjust the position of the gripper paddles relative to this labware or the child labware; use `gripHeightFromLabwareBottom` on this definition or the child's definition for that.",
679
+ "additionalProperties": {
680
+ "$ref": "#/definitions/pickUpAndDropOffsets",
681
+ "description": "Properties here are named for, and matched based on, the deck slot that this labware is atop--or, if this labware is atop a module, the deck slot that that module is atop."
682
+ },
572
683
  "properties": {
573
684
  "default": {
574
- "type": "object",
575
- "properties": {
576
- "pickUpOffset": {
577
- "$ref": "#/definitions/coordinates",
578
- "description": "Offset added to calculate pick-up coordinates of a labware placed on this labware."
579
- },
580
- "dropOffset": {
581
- "$ref": "#/definitions/coordinates",
582
- "description": "Offset added to calculate drop coordinates of a labware placed on this labware."
583
- }
584
- },
585
- "required": ["pickUpOffset", "dropOffset"]
685
+ "$ref": "#/definitions/pickUpAndDropOffsets",
686
+ "description": "The offsets to use if there's no slot-specific match in `additionalProperties`."
687
+ },
688
+ "lidOffsets": {
689
+ "$ref": "#/definitions/pickUpAndDropOffsets",
690
+ "description": "Additional offsets for gripping this labware, if this labware is a lid. Beware this property's placement: instead of affecting the labware stacked atop this labware, like the rest of the `gripperOffsets` properties, it affects this labware."
691
+ },
692
+ "lidDisposalOffsets": {
693
+ "$ref": "#/definitions/pickUpAndDropOffsets",
694
+ "description": "Additional offsets for gripping this labware, if this labware is a lid and it's being moved to a trash bin. Beware this property's placement: instead of affecting the labware stacked atop this labware, like the rest of the `gripperOffsets` properties, it affects this labware."
586
695
  }
587
696
  }
588
697
  },
@@ -594,6 +703,17 @@
594
703
  "type": "number",
595
704
  "description": "Recommended Z-height, from labware bottom to the center of gripper pads, when gripping the labware."
596
705
  },
706
+ "stackLimit": {
707
+ "type": "number",
708
+ "description": "The limit representing the maximum stack size for a given labware. Defaults to 1 when unspecified indicating a single labware with no labware below it."
709
+ },
710
+ "compatibleParentLabware": {
711
+ "type": "array",
712
+ "description": "Array of parent Labware on which a labware may be loaded, primarily the labware which owns a lid.",
713
+ "items": {
714
+ "type": "string"
715
+ }
716
+ },
597
717
  "innerLabwareGeometry": {
598
718
  "type": ["object", "null"],
599
719
  "description": "A dictionary holding all unique inner well geometries in a labware.",