@opentrons/shared-data 0.1.6-alpha.8 → 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
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ /** Labware that are expected to have the exact same inner well geometry. */
2
+ export declare const SHARED_GEOMETRY_GROUPS: SharedGeometryGroups;
3
+ interface SharedGeometryGroups {
4
+ [humanReadableGroupName: string]: SharedGeometryEntry[];
5
+ }
6
+ /**
7
+ * If a plain string, the string is the load name of the labware. In this case, the
8
+ * labware must have exactly one key within innerLabwareGeometry.
9
+ *
10
+ * If an object, the object contains the load name and the specific key within
11
+ * innerLabwareGeometry. */
12
+ export type SharedGeometryEntry = string | {
13
+ loadName: string;
14
+ geometryKey: string;
15
+ };
16
+ export {};
@@ -21,6 +21,7 @@ export declare const THERMOCYCLER_MODULE_V1: 'thermocyclerModuleV1';
21
21
  export declare const THERMOCYCLER_MODULE_V2: 'thermocyclerModuleV2';
22
22
  export declare const HEATERSHAKER_MODULE_V1: 'heaterShakerModuleV1';
23
23
  export declare const ABSORBANCE_READER_V1: 'absorbanceReaderV1';
24
+ export declare const FLEX_STACKER_MODULE_V1: 'flexStackerModuleV1';
24
25
  export declare const MAGNETIC_BLOCK_V1: 'magneticBlockV1';
25
26
  export declare const GRIPPER_V1: 'gripperV1';
26
27
  export declare const GRIPPER_V1_1: 'gripperV1.1';
@@ -42,16 +43,18 @@ export declare const THERMOCYCLER_MODULE_TYPE: 'thermocyclerModuleType';
42
43
  export declare const HEATERSHAKER_MODULE_TYPE: 'heaterShakerModuleType';
43
44
  export declare const MAGNETIC_BLOCK_TYPE: 'magneticBlockType';
44
45
  export declare const ABSORBANCE_READER_TYPE: 'absorbanceReaderType';
46
+ export declare const FLEX_STACKER_MODULE_TYPE: 'flexStackerModuleType';
45
47
  export declare const MAGNETIC_MODULE_MODELS: ("magneticModuleV1" | "magneticModuleV2")[];
46
48
  export declare const NON_CONNECTING_MODULE_TYPES: ModuleType[];
47
49
  export declare const TEMPERATURE_MODULE_MODELS: ("temperatureModuleV1" | "temperatureModuleV2")[];
48
50
  export declare const THERMOCYCLER_MODULE_MODELS: ("thermocyclerModuleV2" | "thermocyclerModuleV1")[];
49
51
  export declare const HEATERSHAKER_MODULE_MODELS: "heaterShakerModuleV1"[];
50
52
  export declare const ABSORBANCE_READER_MODELS: "absorbanceReaderV1"[];
53
+ export declare const FLEX_STACKER_MODULE_MODELS: "flexStackerModuleV1"[];
51
54
  export declare const MAGNETIC_BLOCK_MODELS: "magneticBlockV1"[];
52
- export declare const MODULE_MODELS: ("thermocyclerModuleV2" | "temperatureModuleV1" | "temperatureModuleV2" | "magneticModuleV1" | "magneticModuleV2" | "thermocyclerModuleV1" | "heaterShakerModuleV1" | "magneticBlockV1" | "absorbanceReaderV1")[];
55
+ export declare const MODULE_MODELS: ("thermocyclerModuleV2" | "temperatureModuleV1" | "temperatureModuleV2" | "magneticModuleV1" | "magneticModuleV2" | "thermocyclerModuleV1" | "heaterShakerModuleV1" | "magneticBlockV1" | "absorbanceReaderV1" | "flexStackerModuleV1")[];
53
56
  export declare const MODULE_MODELS_OT2_ONLY: ("temperatureModuleV1" | "magneticModuleV1" | "magneticModuleV2" | "thermocyclerModuleV1")[];
54
- export declare const MODULE_TYPES: ("magneticModuleType" | "temperatureModuleType" | "heaterShakerModuleType" | "thermocyclerModuleType" | "magneticBlockType" | "absorbanceReaderType")[];
57
+ export declare const MODULE_TYPES: ("magneticModuleType" | "temperatureModuleType" | "heaterShakerModuleType" | "thermocyclerModuleType" | "magneticBlockType" | "absorbanceReaderType" | "flexStackerModuleType")[];
55
58
  export declare const GEN_ONE_MULTI_PIPETTES: string[];
56
59
  export declare const IDENTITY_VECTOR: {
57
60
  x: number;
@@ -168,12 +171,18 @@ export declare const ABSORBANCE_READER_LID_DOCK_A4_ADDRESSABLE_AREA: 'absorbance
168
171
  export declare const ABSORBANCE_READER_LID_DOCK_B4_ADDRESSABLE_AREA: 'absorbanceReaderV1LidDockB4';
169
172
  export declare const ABSORBANCE_READER_LID_DOCK_C4_ADDRESSABLE_AREA: 'absorbanceReaderV1LidDockC4';
170
173
  export declare const ABSORBANCE_READER_LID_DOCK_D4_ADDRESSABLE_AREA: 'absorbanceReaderV1LidDockD4';
174
+ export declare const FLEX_STACKER_A4_ADDRESSABLE_AREA: 'flexStackerModuleV1A4';
175
+ export declare const FLEX_STACKER_B4_ADDRESSABLE_AREA: 'flexStackerModuleV1B4';
176
+ export declare const FLEX_STACKER_C4_ADDRESSABLE_AREA: 'flexStackerModuleV1C4';
177
+ export declare const FLEX_STACKER_D4_ADDRESSABLE_AREA: 'flexStackerModuleV1D4';
171
178
  export declare const MAGNETIC_BLOCK_ADDRESSABLE_AREAS: AddressableAreaName[];
172
179
  export declare const TEMPERATURE_MODULE_ADDRESSABLE_AREAS: AddressableAreaName[];
173
180
  export declare const HEATERSHAKER_ADDRESSABLE_AREAS: AddressableAreaName[];
174
181
  export declare const ABSORBANCE_READER_ADDRESSABLE_AREAS: AddressableAreaName[];
182
+ export declare const FLEX_STACKER_ADDRESSABLE_AREAS: AddressableAreaName[];
175
183
  export declare const FLEX_USB_MODULE_ADDRESSABLE_AREAS: AddressableAreaName[];
176
184
  export declare const FLEX_MODULE_ADDRESSABLE_AREAS: AddressableAreaName[];
185
+ export declare const FLEX_STAGING_ADDRESSABLE_AREAS: AddressableAreaName[];
177
186
  export declare const ADDRESSABLE_AREA_1: '1';
178
187
  export declare const ADDRESSABLE_AREA_2: '2';
179
188
  export declare const ADDRESSABLE_AREA_3: '3';
@@ -194,6 +203,7 @@ export declare const SINGLE_LEFT_SLOT_FIXTURE: 'singleLeftSlot';
194
203
  export declare const SINGLE_CENTER_SLOT_FIXTURE: 'singleCenterSlot';
195
204
  export declare const SINGLE_RIGHT_SLOT_FIXTURE: 'singleRightSlot';
196
205
  export declare const STAGING_AREA_RIGHT_SLOT_FIXTURE: 'stagingAreaRightSlot';
206
+ export declare const TRASH_BIN_FIXTURE: 'trashBin';
197
207
  export declare const TRASH_BIN_ADAPTER_FIXTURE: 'trashBinAdapter';
198
208
  export declare const WASTE_CHUTE_RIGHT_ADAPTER_COVERED_FIXTURE: 'wasteChuteRightAdapterCovered';
199
209
  export declare const WASTE_CHUTE_RIGHT_ADAPTER_NO_COVER_FIXTURE: 'wasteChuteRightAdapterNoCover';
@@ -206,6 +216,10 @@ export declare const STAGING_AREA_SLOT_WITH_MAGNETIC_BLOCK_V1_FIXTURE: 'stagingA
206
216
  export declare const THERMOCYCLER_V2_REAR_FIXTURE: 'thermocyclerModuleV2Rear';
207
217
  export declare const THERMOCYCLER_V2_FRONT_FIXTURE: 'thermocyclerModuleV2Front';
208
218
  export declare const ABSORBANCE_READER_V1_FIXTURE: 'absorbanceReaderV1';
219
+ export declare const FLEX_STACKER_V1_FIXTURE: 'flexStackerModuleV1';
220
+ export declare const FLEX_STACKER_WITH_WASTE_CHUTE_ADAPTER_COVERED_FIXTURE: 'flexStackerModuleV1WithWasteChuteRightAdapterCovered';
221
+ export declare const FLEX_STACKER_WTIH_WASTE_CHUTE_ADAPTER_NO_COVER_FIXTURE: 'flexStackerModuleV1WithWasteChuteRightAdapterNoCover';
222
+ export declare const FLEX_STACKER_WITH_MAG_BLOCK_FIXTURE: 'flexStackerModuleV1WithMagneticBlockV1';
209
223
  export declare const MODULE_FIXTURES_BY_MODEL: {
210
224
  [moduleModel in ModuleModel]?: CutoutFixtureId[];
211
225
  };
@@ -215,8 +229,12 @@ export declare const SINGLE_SLOT_FIXTURES: CutoutFixtureId[];
215
229
  export declare const WASTE_CHUTE_FIXTURES: CutoutFixtureId[];
216
230
  export declare const WASTE_CHUTE_ONLY_FIXTURES: CutoutFixtureId[];
217
231
  export declare const WASTE_CHUTE_STAGING_AREA_FIXTURES: CutoutFixtureId[];
232
+ export declare const FLEX_STACKER_FIXTURES: CutoutFixtureId[];
218
233
  export declare const LOW_VOLUME_PIPETTES: string[];
219
- export declare const NON_USER_ADDRESSABLE_LABWARE: string[];
220
234
  export declare const DEFAULT_LIQUID_COLORS: string[];
221
235
  export declare const DEPRECATED_WHALE_GREY = "#9395a0";
222
236
  export declare const INTERACTIVE_WELL_DATA_ATTRIBUTE = "data-wellname";
237
+ export declare const WELL_TOP: 'well-top';
238
+ export declare const WELL_CENTER: 'well-center';
239
+ export declare const WELL_BOTTOM: 'well-bottom';
240
+ export declare const LIQUID_MENISCUS: 'liquid-meniscus';
@@ -25,5 +25,7 @@ deckDef: DeckDefinition): {
25
25
  export declare function getCutoutIdsFromModuleSlotName(slotName: string, moduleFixtures: CutoutFixture[], // cutout fixtures for a specific module model
26
26
  deckDef: DeckDefinition): CutoutId[];
27
27
  export declare function getAddressableAreaNamesFromLoadedModule(moduleModel: ModuleModel, slotName: ModuleLocation['slotName'], deckDef: DeckDefinition): AddressableAreaName[];
28
- export declare function getFixtureDisplayName(cutoutFixtureId: CutoutFixtureId | null, usbPortNumber?: number): string;
28
+ export declare function getFixtureDisplayName(cutoutFixtureId: CutoutFixtureId | null, usbPortNumber?: number | string): string;
29
+ export declare const STANDARD_OT2_SLOTS: AddressableAreaName[];
30
+ export declare const STANDARD_FLEX_SLOTS: AddressableAreaName[];
29
31
  export declare const isAddressableAreaStandardSlot: (addressableAreaName: AddressableAreaName, deckDef: DeckDefinition) => boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,5 @@
1
- import type { DeckDefinition, LabwareDefinition2, ModuleModel, RobotType, ThermalAdapterName } from '../types';
1
+ import type { DeckDefinition, LabwareDefinition2, LabwareDefinition3, LiquidClass, ModuleModel, RobotType, ThermalAdapterName } from '../types';
2
+ import type { CutoutId } from '../../deck/types/schemaV5';
2
3
  export { getWellNamePerMultiTip } from './getWellNamePerMultiTip';
3
4
  export { getWellTotalVolume } from './getWellTotalVolume';
4
5
  export { wellIsRect } from './wellIsRect';
@@ -18,6 +19,7 @@ export * from './getLoadedLabwareDefinitionsByUri';
18
19
  export * from './getFixedTrashLabwareDefinition';
19
20
  export * from './getOccludedSlotCountForModule';
20
21
  export * from './labwareInference';
22
+ export * from './linearInterpolate';
21
23
  export * from './getAddressableAreasInProtocol';
22
24
  export * from './getFlexSurroundingSlots';
23
25
  export * from './getSimplestFlexDeckConfig';
@@ -26,9 +28,18 @@ export * from './formatRunTimeParameterValue';
26
28
  export * from './formatRunTimeParameterMinMax';
27
29
  export * from './orderRuntimeParameterRangeOptions';
28
30
  export * from './sortRunTimeParameters';
31
+ export * from './parseAddressableArea';
32
+ export * from './validateCustomLabwareHelper';
29
33
  export declare const getLabwareDefIsStandard: (def: LabwareDefinition2) => boolean;
30
- export declare const getLabwareDefURI: (def: LabwareDefinition2) => string;
34
+ export declare const getLabwareDefURI: (def: LabwareDefinition2 | LabwareDefinition3) => string;
31
35
  export declare const constructLabwareDefURI: (namespace: string, loadName: string, version: string) => string;
36
+ export interface URIDetails {
37
+ loadName: string;
38
+ namespace: string;
39
+ version: number;
40
+ }
41
+ export declare const splitLabwareDefURI: (uri: string) => URIDetails;
42
+ export declare const RETIRED_LABWARE: string[];
32
43
  export declare const getLabwareDisplayName: (labwareDef: LabwareDefinition2) => string;
33
44
  export declare const getTiprackVolume: (labwareDef: LabwareDefinition2) => number;
34
45
  export declare function getLabwareHasQuirk(labwareDef: LabwareDefinition2, quirk: string): boolean;
@@ -45,7 +56,9 @@ export declare function sortWells(a: string, b: string): number;
45
56
  export declare function splitWellsOnColumn(sortedArray: string[]): string[][];
46
57
  export declare const getWellDepth: (labwareDef: LabwareDefinition2, well: string) => number;
47
58
  export declare const getWellsDepth: (labwareDef: LabwareDefinition2, wells: string[]) => number;
48
- export declare const getWellDimension: (labwareDef: LabwareDefinition2, wells: string[], position: 'x' | 'y') => number;
59
+ type XYPlaneDimension = 'x' | 'y';
60
+ export declare const getWellDimension: (labwareDef: LabwareDefinition2, wells: string[], position: XYPlaneDimension) => number;
61
+ export declare const getMinXYDimension: (labwareDef: LabwareDefinition2, wells: string[]) => number | null;
49
62
  export declare const getSlotHasMatingSurfaceUnitVector: (deckDef: DeckDefinition, addressableAreaName: string) => boolean;
50
63
  export declare const getAreSlotsHorizontallyAdjacent: (slotNameA?: string | null, slotNameB?: string | null) => boolean;
51
64
  export declare const getAreSlotsVerticallyAdjacent: (slotNameA?: string | null, slotNameB?: string | null) => boolean;
@@ -54,3 +67,5 @@ export declare const getIsLabwareAboveHeight: (labwareDef: LabwareDefinition2, h
54
67
  export declare const getAdapterName: (labwareLoadname: string) => ThermalAdapterName;
55
68
  export declare const getCalibrationAdapterLoadName: (moduleModel: ModuleModel) => string | null;
56
69
  export declare const getDeckDefFromRobotType: (robotType: RobotType) => DeckDefinition;
70
+ export declare const getCutoutIdFromAddressableArea: (addressableAreaName: string, deckDefinition: DeckDefinition) => CutoutId | null;
71
+ export declare const getSortedLiquidClassDefs: () => Record<string, LiquidClass>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This function performs linear interpolation given a target x-value and an array of [x, y] known interpolation points.
3
+ * linearInterpolate will pre-sort interpolationPoints by x-value. If a value lies left or right of all passed
4
+ * interpolation points, the caller can optionally set a default to return. If no default left or right value is passed,
5
+ * linearInterpolate will return the left- or right-most point, depending on where the target falls.
6
+ *
7
+ * @param {number} target Target x-value for which to interpolate y-value.
8
+ * @param {Array<number, number>} interpolationPoints Array of [x, y] to use for interpolation.
9
+ * @param {number | null} [left] Value to use if target falls left of left-most interpolation point.
10
+ * @param {number | null} [right] Value to use if target falls right of right-most interpolation point.
11
+ *
12
+ * @returns {number | null} Interpolated y-value. Null if empty array of interpolation points passed.
13
+ */
14
+ export declare const linearInterpolate: (target: number, interpolationPoints: Array<[number, number]>, left?: number | null, right?: number | null) => number | null;
@@ -0,0 +1,4 @@
1
+ import type { ModuleModel } from '../types';
2
+ import type { AddressableAreaName } from '../../deck';
3
+ export declare function getSlotFromAddressableAreaName(addressableArea: AddressableAreaName): string;
4
+ export declare function getModuleModelFromAddressableArea(addressableArea: AddressableAreaName): ModuleModel | null;
@@ -0,0 +1,9 @@
1
+ import type { LabwareDefinition2 } from '..';
2
+ /**
3
+ * This function is used to help validate that the wells and ordering matches in
4
+ * a custom labware definition in terms of the wellName and the wells length
5
+ *
6
+ * @param definition - a labware definition
7
+ * @returns A boolean for if they exist
8
+ */
9
+ export declare const validateCustomLabwareHelper: (definition: LabwareDefinition2 | null) => boolean;
package/lib/js/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from './gripper';
10
10
  export * from './helpers';
11
11
  export * from './labware';
12
12
  export * from './labwareTools';
13
+ export * from './liquidClasses';
13
14
  export * from './modules';
14
15
  export * from './pipettes';
15
16
  export * from './protocols';
@@ -9,123 +9,11 @@ import fixtureTiprackAdapter from '../labware/fixtures/2/fixture_flex_96_tiprack
9
9
  import fixtureCalibrationBlock from '../labware/fixtures/2/fixture_calibration_block.json';
10
10
  import fixture384Plate from '../labware/fixtures/2/fixture_384_plate.json';
11
11
  import fixtureTrash from '../labware/fixtures/2/fixture_trash.json';
12
- import opentrons96Tiprack10UlV1Uncasted from '../labware/definitions/2/opentrons_96_tiprack_10ul/1.json';
13
12
  import type { LabwareDefByDefURI, LabwareDefinition2, LegacyLabwareDefByName } from './types';
14
- declare const opentrons1Trash3200MlFixedV1: LabwareDefinition2;
15
- declare const opentrons96PcrAdapterV1: LabwareDefinition2;
16
- declare const latestDefs: {
17
- agilent1Reservoir290MlV1: LabwareDefinition2;
18
- appliedbiosystemsmicroamp384Wellplate40UlV1: LabwareDefinition2;
19
- armadillo96Wellplate200UlPcrFullSkirtV1: LabwareDefinition2;
20
- armadillo96Wellplate200UlPcrFullSkirtV2: LabwareDefinition2;
21
- axygen1Reservoir90MlV1: LabwareDefinition2;
22
- biorad384Wellplate50UlV1: LabwareDefinition2;
23
- biorad384Wellplate50UlV2: LabwareDefinition2;
24
- biorad96Wellplate200UlPcrV1: LabwareDefinition2;
25
- biorad96Wellplate200UlPcrV2: LabwareDefinition2;
26
- corning12Wellplate69MlFlatV1: LabwareDefinition2;
27
- corning12Wellplate69MlFlatV2: LabwareDefinition2;
28
- corning24Wellplate34MlFlatV1: LabwareDefinition2;
29
- corning24Wellplate34MlFlatV2: LabwareDefinition2;
30
- corning384Wellplate112UlFlatV1: LabwareDefinition2;
31
- corning384Wellplate112UlFlatV2: LabwareDefinition2;
32
- corning48Wellplate16MlFlatV1: LabwareDefinition2;
33
- corning48Wellplate16MlFlatV2: LabwareDefinition2;
34
- corning6Wellplate168MlFlatV1: LabwareDefinition2;
35
- corning6Wellplate168MlFlatV2: LabwareDefinition2;
36
- corning96Wellplate360UlFlatV1: LabwareDefinition2;
37
- corning96Wellplate360UlFlatV2: LabwareDefinition2;
38
- eppendorf96Tiprack1000UlEptipsV1: LabwareDefinition2;
39
- eppendorf96Tiprack10UlEptipsV1: LabwareDefinition2;
40
- geb96Tiprack1000UlV1: LabwareDefinition2;
41
- geb96Tiprack10UlV1: LabwareDefinition2;
42
- nest12Reservoir15MlV1: LabwareDefinition2;
43
- nest1Reservoir195MlV1: LabwareDefinition2;
44
- nest1Reservoir195MlV2: LabwareDefinition2;
45
- nest1Reservoir290MlV1: LabwareDefinition2;
46
- nest96Wellplate100UlPcrFullSkirtV1: LabwareDefinition2;
47
- nest96Wellplate100UlPcrFullSkirtV2: LabwareDefinition2;
48
- nest96Wellplate200UlFlatV1: LabwareDefinition2;
49
- nest96Wellplate200UlFlatV2: LabwareDefinition2;
50
- nest96Wellplate2MlDeepV1: LabwareDefinition2;
51
- nest96Wellplate2MlDeepV2: LabwareDefinition2;
52
- opentrons10TuberackFalcon4X50Ml6X15MlConicalV1: LabwareDefinition2;
53
- opentrons10TuberackFalcon4X50Ml6X15MlConicalAcrylicV1: LabwareDefinition2;
54
- opentrons10TuberackNest4X50Ml6X15MlConicalV1: LabwareDefinition2;
55
- opentrons15TuberackFalcon15MlConicalV1: LabwareDefinition2;
56
- opentrons15TuberackNest15MlConicalV1: LabwareDefinition2;
57
- opentrons1Trash3200MlFixedV1: LabwareDefinition2;
58
- opentrons1Trash1100MlFixedV1: LabwareDefinition2;
59
- opentrons1Trash850MlFixedV1: LabwareDefinition2;
60
- opentrons24AluminumblockGeneric2MlScrewcapV1: LabwareDefinition2;
61
- opentrons24AluminumblockGeneric2MlScrewcapV2: LabwareDefinition2;
62
- opentrons24AluminumblockNest05MlScrewcapV1: LabwareDefinition2;
63
- opentrons24AluminumblockNest15MlScrewcapV1: LabwareDefinition2;
64
- opentrons24AluminumblockNest15MlSnapcapV1: LabwareDefinition2;
65
- opentrons24AluminumblockNest2MlScrewcapV1: LabwareDefinition2;
66
- opentrons24AluminumblockNest2MlSnapcapV1: LabwareDefinition2;
67
- opentrons24TuberackEppendorf15MlSafelockSnapcapV1: LabwareDefinition2;
68
- opentrons24TuberackEppendorf2MlSafelockSnapcapV1: LabwareDefinition2;
69
- opentrons24TuberackEppendorf2MlSafelockSnapcapAcrylicV1: LabwareDefinition2;
70
- opentrons24TuberackGeneric075MlSnapcapAcrylicV1: LabwareDefinition2;
71
- opentrons24TuberackGeneric2MlScrewcapV1: LabwareDefinition2;
72
- opentrons24TuberackNest05MlScrewcapV1: LabwareDefinition2;
73
- opentrons24TuberackNest15MlScrewcapV1: LabwareDefinition2;
74
- opentrons24TuberackNest15MlSnapcapV1: LabwareDefinition2;
75
- opentrons24TuberackNest2MlScrewcapV1: LabwareDefinition2;
76
- opentrons24TuberackNest2MlSnapcapV1: LabwareDefinition2;
77
- opentrons40AluminumblockEppendorf24X2MlSafelockSnapcapGeneric16X02MlPcrStripV1: LabwareDefinition2;
78
- opentrons6TuberackFalcon50MlConicalV1: LabwareDefinition2;
79
- opentrons6TuberackNest50MlConicalV1: LabwareDefinition2;
80
- opentrons96DeepWellTempModAdapterV1: LabwareDefinition2;
81
- opentrons96AluminumblockBioradWellplate200UlV1: LabwareDefinition2;
82
- opentrons96AluminumblockGenericPcrStrip200UlV1: LabwareDefinition2;
83
- opentrons96AluminumblockGenericPcrStrip200UlV2: LabwareDefinition2;
84
- opentrons96AluminumblockNestWellplate100UlV1: LabwareDefinition2;
85
- opentrons96DeepWellAdapterV1: LabwareDefinition2;
86
- opentrons96DeepWellAdapterNestWellplate2MlDeepV1: LabwareDefinition2;
87
- opentrons96Filtertiprack1000UlV1: LabwareDefinition2;
88
- opentrons96Filtertiprack10UlV1: LabwareDefinition2;
89
- opentrons96Filtertiprack200UlV1: LabwareDefinition2;
90
- opentrons96Filtertiprack20UlV1: LabwareDefinition2;
91
- opentrons96FlatBottomAdapterV1: LabwareDefinition2;
92
- opentrons96FlatBottomAdapterNestWellplate200UlFlatV1: LabwareDefinition2;
93
- opentrons96PcrAdapterV1: LabwareDefinition2;
94
- opentrons96PcrAdapterArmadilloWellplate200UlV1: LabwareDefinition2;
95
- opentrons96PcrAdapterNestWellplate100UlPcrFullSkirtV1: LabwareDefinition2;
96
- opentrons96Tiprack1000UlV1: LabwareDefinition2;
97
- opentrons96Tiprack10UlV1: LabwareDefinition2;
98
- opentrons96Tiprack20UlV1: LabwareDefinition2;
99
- opentrons96Tiprack300UlV1: LabwareDefinition2;
100
- opentrons96WellAluminumBlockV1: LabwareDefinition2;
101
- opentrons96Wellplate200UlPcrFullSkirtV1: LabwareDefinition2;
102
- opentrons96Wellplate200UlPcrFullSkirtV2: LabwareDefinition2;
103
- opentronsAluminumFlatBottomPlateV1: LabwareDefinition2;
104
- opentronsCalibrationAdapterHeatershakerModuleV1: LabwareDefinition2;
105
- opentronsCalibrationAdapterTemperatureModuleV1: LabwareDefinition2;
106
- opentronsCalibrationAdapterThermocyclerModuleV1: LabwareDefinition2;
107
- opentronsCalibrationblockShortSideLeftV1: LabwareDefinition2;
108
- opentronsCalibrationblockShortSideRightV1: LabwareDefinition2;
109
- opentronsFlex96Filtertiprack1000UlV1: LabwareDefinition2;
110
- opentronsFlex96Filtertiprack200UlV1: LabwareDefinition2;
111
- opentronsFlex96Filtertiprack50UlV1: LabwareDefinition2;
112
- opentronsFlex96Tiprack1000UlV1: LabwareDefinition2;
113
- opentronsFlex96Tiprack200UlV1: LabwareDefinition2;
114
- opentronsFlex96Tiprack50UlV1: LabwareDefinition2;
115
- opentronsFlex96TiprackAdapterV1: LabwareDefinition2;
116
- opentronsFlexDeckRiserV1: LabwareDefinition2;
117
- opentronsFlexLidAbsorbancePlateReaderModuleV1: LabwareDefinition2;
118
- opentronsToughPcrAutoSealingLidV1: LabwareDefinition2;
119
- opentronsUniversalFlatAdapterV1: LabwareDefinition2;
120
- opentronsUniversalFlatAdapterCorning384Wellplate112UlFlatV1: LabwareDefinition2;
121
- thermoscientificnunc96Wellplate1300UlV1: LabwareDefinition2;
122
- thermoscientificnunc96Wellplate2000UlV1: LabwareDefinition2;
123
- tipone96Tiprack200UlV1: LabwareDefinition2;
124
- usascientific12Reservoir22MlV1: LabwareDefinition2;
125
- usascientific96Wellplate24MlDeepV1: LabwareDefinition2;
126
- };
127
- declare const getAllLabwareDefs: () => Record<keyof typeof latestDefs, LabwareDefinition2>;
13
+ export declare const getAllLabwareDefs: () => Record<string, LabwareDefinition2>;
128
14
  export declare function getAllDefinitions(blockList?: string[]): LabwareDefByDefURI;
129
15
  export declare function getAllLegacyDefinitions(): LegacyLabwareDefByName;
130
- export { labwareSchemaV2, fixture96Plate, fixture12Trough, fixture24Tuberack, fixtureTiprack10ul, fixtureTiprack300ul, fixtureTiprack1000ul, fixtureTiprackAdapter, opentrons96PcrAdapterV1, opentrons1Trash3200MlFixedV1, fixtureTrash, fixture384Plate, fixtureCalibrationBlock, opentrons96Tiprack10UlV1Uncasted, };
131
- export { getAllLabwareDefs };
16
+ export { labwareSchemaV2, fixture96Plate, fixture12Trough, fixture24Tuberack, fixtureTiprack10ul, fixtureTiprack300ul, fixtureTiprack1000ul, fixtureTiprackAdapter, fixtureTrash, fixture384Plate, fixtureCalibrationBlock, };
17
+ export declare const opentrons96PcrAdapterV1: LabwareDefinition2;
18
+ export declare const opentrons1Trash3200MlFixedV1: LabwareDefinition2;
19
+ export declare const opentrons96Tiprack10UlV1Uncasted: LabwareDefinition2;
@@ -0,0 +1,2 @@
1
+ import type { LiquidClass } from '.';
2
+ export declare const getAllLiquidClassDefs: () => Record<string, LiquidClass>;
package/lib/js/types.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import type { MAGDECK, TEMPDECK, THERMOCYCLER, MAGNETIC_MODULE_V1, MAGNETIC_MODULE_V2, TEMPERATURE_MODULE_V1, TEMPERATURE_MODULE_V2, THERMOCYCLER_MODULE_V1, THERMOCYCLER_MODULE_V2, HEATERSHAKER_MODULE_V1, ABSORBANCE_READER_V1, MAGNETIC_MODULE_TYPE, TEMPERATURE_MODULE_TYPE, THERMOCYCLER_MODULE_TYPE, HEATERSHAKER_MODULE_TYPE, MAGNETIC_BLOCK_TYPE, ABSORBANCE_READER_TYPE, GEN1, GEN2, FLEX, LEFT, RIGHT, GRIPPER_V1, GRIPPER_V1_1, GRIPPER_V1_2, GRIPPER_V1_3, EXTENSION, MAGNETIC_BLOCK_V1 } from './constants';
2
- import type { RunTimeCommand, LabwareLocation } from '../command/types';
1
+ import type { MAGDECK, TEMPDECK, THERMOCYCLER, MAGNETIC_MODULE_V1, MAGNETIC_MODULE_V2, TEMPERATURE_MODULE_V1, TEMPERATURE_MODULE_V2, THERMOCYCLER_MODULE_V1, THERMOCYCLER_MODULE_V2, HEATERSHAKER_MODULE_V1, ABSORBANCE_READER_V1, MAGNETIC_MODULE_TYPE, TEMPERATURE_MODULE_TYPE, THERMOCYCLER_MODULE_TYPE, HEATERSHAKER_MODULE_TYPE, MAGNETIC_BLOCK_TYPE, ABSORBANCE_READER_TYPE, GEN1, GEN2, FLEX, LEFT, RIGHT, GRIPPER_V1, GRIPPER_V1_1, GRIPPER_V1_2, GRIPPER_V1_3, EXTENSION, MAGNETIC_BLOCK_V1, FLEX_STACKER_MODULE_V1, FLEX_STACKER_MODULE_TYPE, WELL_BOTTOM, WELL_CENTER, WELL_TOP, LIQUID_MENISCUS } from './constants';
2
+ import type { RunTimeCommand, LoadedLabwareLocation } from '../command/types';
3
3
  import type { AddressableAreaName, CutoutFixtureId, CutoutId } from '../deck';
4
4
  import type { PipetteName } from './pipettes';
5
+ import type { CommandAnnotation } from '../commandAnnotation/types';
5
6
  export type RobotType = 'OT-2 Standard' | 'OT-3 Standard';
6
7
  export interface RobotDefinition {
7
8
  displayName: string;
@@ -36,7 +37,7 @@ export interface LabwareDefinition1 {
36
37
  [well: string]: WellDefinition;
37
38
  };
38
39
  }
39
- export type LabwareDisplayCategory = 'wellPlate' | 'tipRack' | 'tubeRack' | 'reservoir' | 'aluminumBlock' | 'trash' | 'other' | 'adapter' | 'lid';
40
+ export type LabwareDisplayCategory = 'wellPlate' | 'tipRack' | 'tubeRack' | 'reservoir' | 'aluminumBlock' | 'trash' | 'other' | 'adapter' | 'lid' | 'system';
40
41
  export type LabwareVolumeUnits = 'µL' | 'mL' | 'L';
41
42
  export type WellBottomShape = 'flat' | 'u' | 'v';
42
43
  export interface LabwareMetadata {
@@ -62,6 +63,7 @@ export interface LabwareParameters {
62
63
  isTiprack: boolean;
63
64
  tipLength?: number;
64
65
  isMagneticModuleCompatible: boolean;
66
+ isDeckSlotCompatible?: boolean;
65
67
  magneticModuleEngageHeight?: number;
66
68
  quirks?: string[];
67
69
  }
@@ -145,7 +147,7 @@ export interface LabwareWellGroup {
145
147
  metadata: LabwareWellGroupMetadata;
146
148
  brand?: LabwareBrand;
147
149
  }
148
- export type LabwareRoles = 'labware' | 'adapter' | 'fixture' | 'maintenance' | 'lid';
150
+ export type LabwareRoles = 'labware' | 'adapter' | 'fixture' | 'maintenance' | 'lid' | 'system';
149
151
  export interface LabwareDefinition2 {
150
152
  version: number;
151
153
  schemaVersion: 2;
@@ -161,9 +163,13 @@ export interface LabwareDefinition2 {
161
163
  allowedRoles?: LabwareRoles[];
162
164
  stackingOffsetWithLabware?: Record<string, LabwareOffset>;
163
165
  stackingOffsetWithModule?: Record<string, LabwareOffset>;
166
+ stackLimit?: number;
167
+ compatibleParentLabware?: string[];
168
+ innerLabwareGeometry?: Record<string, InnerWellGeometry> | null;
164
169
  }
165
170
  export interface LabwareDefinition3 {
166
171
  version: number;
172
+ $otSharedSchema: '#/labware/schemas/3';
167
173
  schemaVersion: 3;
168
174
  namespace: string;
169
175
  metadata: LabwareMetadata;
@@ -177,6 +183,8 @@ export interface LabwareDefinition3 {
177
183
  allowedRoles?: LabwareRoles[];
178
184
  stackingOffsetWithLabware?: Record<string, LabwareOffset>;
179
185
  stackingOffsetWithModule?: Record<string, LabwareOffset>;
186
+ stackLimit?: number;
187
+ compatibleParentLabware?: string[];
180
188
  innerLabwareGeometry?: Record<string, InnerWellGeometry> | null;
181
189
  }
182
190
  export interface LabwareDefByDefURI {
@@ -185,14 +193,15 @@ export interface LabwareDefByDefURI {
185
193
  export interface LegacyLabwareDefByName {
186
194
  [name: string]: LabwareDefinition1;
187
195
  }
188
- export type ModuleType = typeof MAGNETIC_MODULE_TYPE | typeof TEMPERATURE_MODULE_TYPE | typeof THERMOCYCLER_MODULE_TYPE | typeof HEATERSHAKER_MODULE_TYPE | typeof MAGNETIC_BLOCK_TYPE | typeof ABSORBANCE_READER_TYPE;
196
+ export type ModuleType = typeof MAGNETIC_MODULE_TYPE | typeof TEMPERATURE_MODULE_TYPE | typeof THERMOCYCLER_MODULE_TYPE | typeof HEATERSHAKER_MODULE_TYPE | typeof MAGNETIC_BLOCK_TYPE | typeof ABSORBANCE_READER_TYPE | typeof FLEX_STACKER_MODULE_TYPE;
189
197
  export type MagneticModuleModel = typeof MAGNETIC_MODULE_V1 | typeof MAGNETIC_MODULE_V2;
190
198
  export type TemperatureModuleModel = typeof TEMPERATURE_MODULE_V1 | typeof TEMPERATURE_MODULE_V2;
191
199
  export type ThermocyclerModuleModel = typeof THERMOCYCLER_MODULE_V1 | typeof THERMOCYCLER_MODULE_V2;
192
200
  export type HeaterShakerModuleModel = typeof HEATERSHAKER_MODULE_V1;
193
201
  export type MagneticBlockModel = typeof MAGNETIC_BLOCK_V1;
194
202
  export type AbsorbanceReaderModel = typeof ABSORBANCE_READER_V1;
195
- export type ModuleModel = MagneticModuleModel | TemperatureModuleModel | ThermocyclerModuleModel | HeaterShakerModuleModel | MagneticBlockModel | AbsorbanceReaderModel;
203
+ export type FlexStackerModuleModel = typeof FLEX_STACKER_MODULE_V1;
204
+ export type ModuleModel = MagneticModuleModel | TemperatureModuleModel | ThermocyclerModuleModel | HeaterShakerModuleModel | MagneticBlockModel | AbsorbanceReaderModel | FlexStackerModuleModel;
196
205
  export type GripperModel = typeof GRIPPER_V1 | typeof GRIPPER_V1_1 | typeof GRIPPER_V1_2 | typeof GRIPPER_V1_3;
197
206
  export type ModuleModelWithLegacy = ModuleModel | typeof THERMOCYCLER | typeof MAGDECK | typeof TEMPDECK;
198
207
  export interface Dimensions {
@@ -327,6 +336,12 @@ export interface FlowRateSpec {
327
336
  min: number;
328
337
  max: number;
329
338
  }
339
+ interface PlungerPositionsConfiguration {
340
+ top: number;
341
+ bottom: number;
342
+ blowout: number;
343
+ drop: number;
344
+ }
330
345
  interface pressAndCamConfigurationValues {
331
346
  speed: number;
332
347
  distance: number;
@@ -368,12 +383,8 @@ export interface PipetteV2GeneralSpecs {
368
383
  run: number;
369
384
  };
370
385
  plungerPositionsConfigurations: {
371
- default: {
372
- top: number;
373
- bottom: number;
374
- blowout: number;
375
- drop: number;
376
- };
386
+ default: PlungerPositionsConfiguration;
387
+ lowVolumeDefault?: PlungerPositionsConfiguration;
377
388
  };
378
389
  availableSensors: {
379
390
  sensors: string[];
@@ -509,7 +520,7 @@ export interface LoadedLabware {
509
520
  id: string;
510
521
  loadName: string;
511
522
  definitionUri: string;
512
- location: LabwareLocation;
523
+ location: LoadedLabwareLocation;
513
524
  offsetId?: string;
514
525
  displayName?: string;
515
526
  }
@@ -527,6 +538,98 @@ export interface Liquid {
527
538
  description: string;
528
539
  displayColor?: string;
529
540
  }
541
+ type LiquidHandlingPropertyByVolume = number[][];
542
+ export type PositionReference = typeof WELL_BOTTOM | typeof WELL_CENTER | typeof WELL_TOP | typeof LIQUID_MENISCUS;
543
+ type BlowoutLocation = 'source' | 'destination' | 'trash';
544
+ interface DelayParams {
545
+ duration: number;
546
+ }
547
+ interface DelayProperties {
548
+ enable: boolean;
549
+ params?: DelayParams;
550
+ }
551
+ interface TouchTipParams {
552
+ zOffset: number;
553
+ mmToEdge: number;
554
+ speed: number;
555
+ }
556
+ interface TouchTipProperties {
557
+ enable: boolean;
558
+ params?: TouchTipParams;
559
+ }
560
+ interface MixParams {
561
+ repetitions: number;
562
+ volume: number;
563
+ }
564
+ interface MixProperties {
565
+ enable: boolean;
566
+ params?: MixParams;
567
+ }
568
+ interface BlowoutParams {
569
+ location: BlowoutLocation;
570
+ flowRate: number;
571
+ }
572
+ interface BlowoutProperties {
573
+ enable: boolean;
574
+ params?: BlowoutParams;
575
+ }
576
+ interface Submerge {
577
+ positionReference: PositionReference;
578
+ offset: Coordinates;
579
+ speed: number;
580
+ delay: DelayProperties;
581
+ }
582
+ interface BaseRetract {
583
+ positionReference: PositionReference;
584
+ offset: Coordinates;
585
+ speed: number;
586
+ airGapByVolume: LiquidHandlingPropertyByVolume;
587
+ touchTip: TouchTipProperties;
588
+ delay: DelayProperties;
589
+ }
590
+ type RetractAspirate = BaseRetract;
591
+ interface RetractDispense extends BaseRetract {
592
+ blowout: BlowoutProperties;
593
+ }
594
+ interface BaseLiquidHandlingProperties<RetractType> {
595
+ submerge: Submerge;
596
+ retract: RetractType;
597
+ positionReference: PositionReference;
598
+ offset: Coordinates;
599
+ flowRateByVolume: LiquidHandlingPropertyByVolume;
600
+ correctionByVolume: LiquidHandlingPropertyByVolume;
601
+ delay: DelayProperties;
602
+ }
603
+ export interface AspirateProperties extends BaseLiquidHandlingProperties<RetractAspirate> {
604
+ preWet: boolean;
605
+ mix: MixProperties;
606
+ }
607
+ export interface SingleDispenseProperties extends BaseLiquidHandlingProperties<RetractDispense> {
608
+ mix: MixProperties;
609
+ pushOutByVolume: LiquidHandlingPropertyByVolume;
610
+ }
611
+ export interface MultiDispenseProperties {
612
+ conditioningByVolume: LiquidHandlingPropertyByVolume;
613
+ disposalByVolume: LiquidHandlingPropertyByVolume;
614
+ }
615
+ interface ByTipTypeSetting {
616
+ tiprack: string;
617
+ aspirate: AspirateProperties;
618
+ singleDispense: SingleDispenseProperties;
619
+ multiDispense?: MultiDispenseProperties;
620
+ }
621
+ interface ByPipetteSetting {
622
+ pipetteModel: string;
623
+ byTipType: ByTipTypeSetting[];
624
+ }
625
+ export interface LiquidClass {
626
+ liquidClassName: string;
627
+ displayName: string;
628
+ description: string;
629
+ schemaVersion: number;
630
+ namespace: string;
631
+ byPipette: ByPipetteSetting[];
632
+ }
530
633
  export interface AnalysisError {
531
634
  id: string;
532
635
  detail: string;
@@ -612,6 +715,7 @@ export interface CompletedProtocolAnalysis {
612
715
  errors: AnalysisError[];
613
716
  robotType?: RobotType | null;
614
717
  runTimeParameters?: RunTimeParameter[];
718
+ commandAnnotations?: CommandAnnotation[];
615
719
  }
616
720
  export interface ResourceFile {
617
721
  name: string;
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "namespace": "opentrons",
48
48
  "version": 2,
49
- "schemaVersion": 3,
49
+ "schemaVersion": 2,
50
50
  "cornerOffsetFromSlot": {
51
51
  "x": 0,
52
52
  "y": 0,
@@ -57,22 +57,22 @@
57
57
  "sections": [
58
58
  {
59
59
  "shape": "cuboidal",
60
- "topXDimension": 107.25,
60
+ "topXDimension": 107.5,
61
+ "topYDimension": 71.25,
62
+ "bottomXDimension": 106.79,
63
+ "bottomYDimension": 71.0,
64
+ "topHeight": 39.23,
65
+ "bottomHeight": 2.0
66
+ },
67
+ {
68
+ "shape": "cuboidal",
69
+ "topXDimension": 106.79,
61
70
  "topYDimension": 8,
62
71
  "bottomXDimension": 101.25,
63
72
  "bottomYDimension": 1.66,
64
73
  "topHeight": 2,
65
- "bottomHeight": 8,
74
+ "bottomHeight": 0,
66
75
  "yCount": 8
67
- },
68
- {
69
- "shape": "cuboidal",
70
- "topXDimension": 107.5,
71
- "topYDimension": 71.25,
72
- "bottomXDimension": 107.25,
73
- "bottomYDimension": 71.0,
74
- "topHeight": 39.22,
75
- "bottomHeight": 2
76
76
  }
77
77
  ]
78
78
  }