@opentrons/shared-data 0.1.5-alpha.4 → 0.1.6-alpha.10

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 (756) hide show
  1. package/Makefile +33 -4
  2. package/command/index.ts +8 -0
  3. package/command/schemas/10.json +4879 -0
  4. package/command/schemas/11.json +5062 -0
  5. package/command/schemas/8.json +427 -14
  6. package/command/schemas/9.json +4430 -0
  7. package/command/types/gantry.ts +2 -8
  8. package/command/types/incidental.ts +21 -2
  9. package/command/types/index.ts +38 -5
  10. package/command/types/module.ts +77 -2
  11. package/command/types/pipetting.ts +54 -25
  12. package/command/types/setup.ts +26 -3
  13. package/command/types/support.ts +18 -0
  14. package/command/types/unsafe.ts +107 -0
  15. package/deck/definitions/4/ot2_standard.json +6 -1
  16. package/deck/definitions/5/ot2_short_trash.json +409 -0
  17. package/deck/definitions/5/ot2_standard.json +409 -0
  18. package/deck/definitions/5/ot3_standard.json +1168 -0
  19. package/deck/index.ts +47 -1
  20. package/deck/schemas/5.json +339 -0
  21. package/deck/types/schemaV5.ts +150 -0
  22. package/errors/definitions/1/errors.json +32 -0
  23. package/errors/index.ts +4 -0
  24. package/errors/types/index.ts +15 -0
  25. package/gripper/definitions/1/gripperV1.3.json +29 -0
  26. package/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +5 -0
  27. package/labware/definitions/2/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/1.json +1 -1
  28. package/labware/definitions/2/opentrons_96_deep_well_temp_mod_adapter/1.json +41 -0
  29. package/labware/definitions/2/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/1.json +1 -1
  30. package/labware/definitions/2/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/1.json +1 -1
  31. package/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +1 -1
  32. package/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +1 -1
  33. package/labware/definitions/2/opentrons_flex_deck_riser/1.json +41 -0
  34. package/labware/definitions/2/opentrons_flex_lid_absorbance_plate_reader_module/1.json +57 -0
  35. package/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +103 -0
  36. package/labware/definitions/2/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1.json +1 -1
  37. package/labware/definitions/3/agilent_1_reservoir_290ml/2.json +80 -0
  38. package/labware/definitions/3/appliedbiosystemsmicroamp_384_wellplate_40ul/2.json +4730 -0
  39. package/labware/definitions/3/armadillo_96_wellplate_200ul_pcr_full_skirt/3.json +1167 -0
  40. package/labware/definitions/3/axygen_1_reservoir_90ml/2.json +72 -0
  41. package/labware/definitions/3/biorad_384_wellplate_50ul/3.json +4741 -0
  42. package/labware/definitions/3/biorad_96_wellplate_200ul_pcr/3.json +1182 -0
  43. package/labware/definitions/3/corning_12_wellplate_6.9ml_flat/3.json +205 -0
  44. package/labware/definitions/3/corning_24_wellplate_3.4ml_flat/3.json +337 -0
  45. package/labware/definitions/3/corning_384_wellplate_112ul_flat/3.json +5114 -0
  46. package/labware/definitions/3/corning_48_wellplate_1.6ml_flat/3.json +605 -0
  47. package/labware/definitions/3/corning_6_wellplate_16.8ml_flat/3.json +129 -0
  48. package/labware/definitions/3/corning_96_wellplate_360ul_flat/3.json +1172 -0
  49. package/labware/definitions/3/nest_12_reservoir_15ml/2.json +226 -0
  50. package/labware/definitions/3/nest_1_reservoir_195ml/3.json +83 -0
  51. package/labware/definitions/3/nest_1_reservoir_290ml/2.json +70 -0
  52. package/labware/definitions/3/nest_96_wellplate_100ul_pcr_full_skirt/3.json +1161 -0
  53. package/labware/definitions/3/nest_96_wellplate_200ul_flat/3.json +1140 -0
  54. package/labware/definitions/3/nest_96_wellplate_2ml_deep/3.json +1262 -0
  55. package/labware/definitions/3/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/2.json +232 -0
  56. package/labware/definitions/3/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/2.json +230 -0
  57. package/labware/definitions/3/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/2.json +222 -0
  58. package/labware/definitions/3/opentrons_15_tuberack_falcon_15ml_conical/2.json +259 -0
  59. package/labware/definitions/3/opentrons_15_tuberack_nest_15ml_conical/2.json +251 -0
  60. package/labware/definitions/3/opentrons_24_aluminumblock_generic_2ml_screwcap/3.json +330 -0
  61. package/labware/definitions/3/opentrons_24_aluminumblock_nest_0.5ml_screwcap/2.json +370 -0
  62. package/labware/definitions/3/opentrons_24_aluminumblock_nest_1.5ml_screwcap/2.json +356 -0
  63. package/labware/definitions/3/opentrons_24_aluminumblock_nest_1.5ml_snapcap/2.json +351 -0
  64. package/labware/definitions/3/opentrons_24_aluminumblock_nest_2ml_screwcap/2.json +350 -0
  65. package/labware/definitions/3/opentrons_24_aluminumblock_nest_2ml_snapcap/2.json +379 -0
  66. package/labware/definitions/3/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/2.json +418 -0
  67. package/labware/definitions/3/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/2.json +340 -0
  68. package/labware/definitions/3/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/2.json +338 -0
  69. package/labware/definitions/3/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/2.json +327 -0
  70. package/labware/definitions/3/opentrons_24_tuberack_generic_2ml_screwcap/2.json +329 -0
  71. package/labware/definitions/3/opentrons_24_tuberack_nest_0.5ml_screwcap/2.json +371 -0
  72. package/labware/definitions/3/opentrons_24_tuberack_nest_1.5ml_screwcap/2.json +357 -0
  73. package/labware/definitions/3/opentrons_24_tuberack_nest_1.5ml_snapcap/2.json +352 -0
  74. package/labware/definitions/3/opentrons_24_tuberack_nest_2ml_screwcap/2.json +351 -0
  75. package/labware/definitions/3/opentrons_24_tuberack_nest_2ml_snapcap/2.json +380 -0
  76. package/labware/definitions/3/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/2.json +526 -0
  77. package/labware/definitions/3/opentrons_6_tuberack_falcon_50ml_conical/2.json +145 -0
  78. package/labware/definitions/3/opentrons_6_tuberack_nest_50ml_conical/2.json +143 -0
  79. package/labware/definitions/3/opentrons_96_aluminumblock_biorad_wellplate_200ul/2.json +1165 -0
  80. package/labware/definitions/3/opentrons_96_aluminumblock_generic_pcr_strip_200ul/3.json +1128 -0
  81. package/labware/definitions/3/opentrons_96_aluminumblock_nest_wellplate_100ul/2.json +1149 -0
  82. package/labware/definitions/3/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/2.json +1241 -0
  83. package/labware/definitions/3/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/2.json +1136 -0
  84. package/labware/definitions/3/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/2.json +1149 -0
  85. package/labware/definitions/3/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/2.json +1147 -0
  86. package/labware/definitions/3/opentrons_96_wellplate_200ul_pcr_full_skirt/3.json +1167 -0
  87. package/labware/definitions/3/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/2.json +5107 -0
  88. package/labware/definitions/3/thermoscientificnunc_96_wellplate_1300ul/2.json +1134 -0
  89. package/labware/definitions/3/thermoscientificnunc_96_wellplate_2000ul/2.json +1134 -0
  90. package/labware/definitions/3/usascientific_12_reservoir_22ml/2.json +229 -0
  91. package/labware/definitions/3/usascientific_96_wellplate_2.4ml_deep/2.json +1217 -0
  92. package/labware/fixtures/1/index.ts +3 -0
  93. package/labware/fixtures/2/fixture_calibration_block.json +71 -0
  94. package/labware/fixtures/2/fixture_corning_96_wellplate_360_flat.json +1058 -0
  95. package/labware/fixtures/2/fixture_universal_flat_bottom_adapter.json +151 -0
  96. package/labware/fixtures/2/index.ts +39 -0
  97. package/labware/fixtures/3/fixture_2_plate.json +95 -0
  98. package/labware/fixtures/3/fixture_corning_24_plate.json +337 -0
  99. package/labware/repository/fixtures/1/exampleLabwareRepository.json +43 -0
  100. package/labware/repository/schemas/1.json +81 -0
  101. package/labware/schemas/2.json +3 -2
  102. package/labware/schemas/3.json +605 -0
  103. package/lib/command/index.d.ts +4329 -0
  104. package/lib/command/schemas/10.json +4879 -0
  105. package/lib/command/schemas/11.json +5062 -0
  106. package/lib/command/schemas/8.json +427 -14
  107. package/lib/command/schemas/9.json +4430 -0
  108. package/lib/command/types/gantry.d.ts +2 -8
  109. package/lib/command/types/incidental.d.ts +12 -2
  110. package/lib/command/types/index.d.ts +34 -6
  111. package/lib/command/types/module.d.ts +52 -2
  112. package/lib/command/types/pipetting.d.ts +31 -20
  113. package/lib/command/types/setup.d.ts +27 -5
  114. package/lib/command/types/support.d.ts +17 -0
  115. package/lib/command/types/unsafe.d.ts +63 -0
  116. package/lib/deck/definitions/4/ot2_standard.json +6 -1
  117. package/lib/deck/definitions/5/ot2_short_trash.json +409 -0
  118. package/lib/deck/definitions/5/ot2_standard.json +409 -0
  119. package/lib/deck/definitions/5/ot3_standard.json +1168 -0
  120. package/lib/deck/index.d.ts +14 -1
  121. package/lib/deck/schemas/5.json +339 -0
  122. package/lib/deck/types/schemaV5.d.ts +13 -0
  123. package/lib/errors/definitions/1/errors.json +32 -0
  124. package/lib/errors/index.d.ts +4 -0
  125. package/lib/errors/types/index.d.ts +13 -0
  126. package/lib/gripper/definitions/1/gripperV1.3.json +29 -0
  127. package/lib/index.mjs +337892 -0
  128. package/lib/js/__tests__/labwareDefSchemaV3.test.d.ts +1 -0
  129. package/lib/js/constants.d.ts +72 -6
  130. package/lib/js/deck/index.d.ts +4 -0
  131. package/lib/js/fixtures.d.ts +17 -4
  132. package/lib/js/helpers/__fixtures__/index.d.ts +2 -0
  133. package/lib/js/helpers/__tests__/formatRunTimeParameterDefaultValue.test.d.ts +1 -0
  134. package/lib/js/helpers/__tests__/formatRunTimeParameterMinMax.test.d.ts +1 -0
  135. package/lib/js/helpers/__tests__/formatRunTimeParameterValue.test.d.ts +1 -0
  136. package/lib/js/helpers/__tests__/getAreFlexSlotsAdjacent.test.d.ts +1 -0
  137. package/lib/js/helpers/__tests__/getFixedTrashLabwareDefinition.test.d.ts +1 -0
  138. package/lib/js/helpers/__tests__/getFlexSurroundingSlots.test.d.ts +1 -0
  139. package/lib/js/helpers/__tests__/orderRuntimeParameterRangeOptions.test.d.ts +1 -0
  140. package/lib/js/helpers/__tests__/parseProtocolCommands.test.d.ts +1 -0
  141. package/lib/js/helpers/__tests__/sortRunTimeParameters.test.d.ts +1 -0
  142. package/lib/js/helpers/formatRunTimeParameterDefaultValue.d.ts +11 -0
  143. package/lib/js/helpers/formatRunTimeParameterMinMax.d.ts +23 -0
  144. package/lib/js/helpers/formatRunTimeParameterValue.d.ts +11 -0
  145. package/lib/js/helpers/getAreFlexSlotsAdjacent.d.ts +2 -0
  146. package/lib/js/helpers/getFixedTrashLabwareDefinition.d.ts +2 -0
  147. package/lib/js/helpers/getFlexSurroundingSlots.d.ts +3 -0
  148. package/lib/js/helpers/getModuleVizDims.d.ts +1 -2
  149. package/lib/js/helpers/getSimplestFlexDeckConfig.d.ts +3 -2
  150. package/lib/js/helpers/getTipTypeFromTipRackDefinition.d.ts +2 -0
  151. package/lib/js/helpers/index.d.ts +12 -0
  152. package/lib/js/helpers/orderRuntimeParameterRangeOptions.d.ts +17 -0
  153. package/lib/js/helpers/parseProtocolCommands.d.ts +61 -0
  154. package/lib/js/helpers/sortRunTimeParameters.d.ts +9 -0
  155. package/lib/js/helpers/wellSets.d.ts +21 -3
  156. package/lib/js/index.d.ts +11 -8
  157. package/lib/js/labware.d.ts +131 -0
  158. package/lib/js/labwareTools/index.d.ts +3 -1
  159. package/lib/js/pipettes.d.ts +5 -3
  160. package/lib/js/protocols.d.ts +2 -1
  161. package/lib/js/types.d.ts +292 -12
  162. package/lib/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +5 -0
  163. package/lib/labware/definitions/2/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/1.json +1 -1
  164. package/lib/labware/definitions/2/opentrons_96_deep_well_temp_mod_adapter/1.json +41 -0
  165. package/lib/labware/definitions/2/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/1.json +1 -1
  166. package/lib/labware/definitions/2/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/1.json +1 -1
  167. package/lib/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +1 -1
  168. package/lib/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +1 -1
  169. package/lib/labware/definitions/2/opentrons_flex_deck_riser/1.json +41 -0
  170. package/lib/labware/definitions/2/opentrons_flex_lid_absorbance_plate_reader_module/1.json +57 -0
  171. package/lib/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +103 -0
  172. package/lib/labware/definitions/2/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1.json +1 -1
  173. package/lib/labware/definitions/3/agilent_1_reservoir_290ml/2.json +80 -0
  174. package/lib/labware/definitions/3/appliedbiosystemsmicroamp_384_wellplate_40ul/2.json +4730 -0
  175. package/lib/labware/definitions/3/armadillo_96_wellplate_200ul_pcr_full_skirt/3.json +1167 -0
  176. package/lib/labware/definitions/3/axygen_1_reservoir_90ml/2.json +72 -0
  177. package/lib/labware/definitions/3/biorad_384_wellplate_50ul/3.json +4741 -0
  178. package/lib/labware/definitions/3/biorad_96_wellplate_200ul_pcr/3.json +1182 -0
  179. package/lib/labware/definitions/3/corning_12_wellplate_6.9ml_flat/3.json +205 -0
  180. package/lib/labware/definitions/3/corning_24_wellplate_3.4ml_flat/3.json +337 -0
  181. package/lib/labware/definitions/3/corning_384_wellplate_112ul_flat/3.json +5114 -0
  182. package/lib/labware/definitions/3/corning_48_wellplate_1.6ml_flat/3.json +605 -0
  183. package/lib/labware/definitions/3/corning_6_wellplate_16.8ml_flat/3.json +129 -0
  184. package/lib/labware/definitions/3/corning_96_wellplate_360ul_flat/3.json +1172 -0
  185. package/lib/labware/definitions/3/nest_12_reservoir_15ml/2.json +226 -0
  186. package/lib/labware/definitions/3/nest_1_reservoir_195ml/3.json +83 -0
  187. package/lib/labware/definitions/3/nest_1_reservoir_290ml/2.json +70 -0
  188. package/lib/labware/definitions/3/nest_96_wellplate_100ul_pcr_full_skirt/3.json +1161 -0
  189. package/lib/labware/definitions/3/nest_96_wellplate_200ul_flat/3.json +1140 -0
  190. package/lib/labware/definitions/3/nest_96_wellplate_2ml_deep/3.json +1262 -0
  191. package/lib/labware/definitions/3/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/2.json +232 -0
  192. package/lib/labware/definitions/3/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/2.json +230 -0
  193. package/lib/labware/definitions/3/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/2.json +222 -0
  194. package/lib/labware/definitions/3/opentrons_15_tuberack_falcon_15ml_conical/2.json +259 -0
  195. package/lib/labware/definitions/3/opentrons_15_tuberack_nest_15ml_conical/2.json +251 -0
  196. package/lib/labware/definitions/3/opentrons_24_aluminumblock_generic_2ml_screwcap/3.json +330 -0
  197. package/lib/labware/definitions/3/opentrons_24_aluminumblock_nest_0.5ml_screwcap/2.json +370 -0
  198. package/lib/labware/definitions/3/opentrons_24_aluminumblock_nest_1.5ml_screwcap/2.json +356 -0
  199. package/lib/labware/definitions/3/opentrons_24_aluminumblock_nest_1.5ml_snapcap/2.json +351 -0
  200. package/lib/labware/definitions/3/opentrons_24_aluminumblock_nest_2ml_screwcap/2.json +350 -0
  201. package/lib/labware/definitions/3/opentrons_24_aluminumblock_nest_2ml_snapcap/2.json +379 -0
  202. package/lib/labware/definitions/3/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/2.json +418 -0
  203. package/lib/labware/definitions/3/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/2.json +340 -0
  204. package/lib/labware/definitions/3/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/2.json +338 -0
  205. package/lib/labware/definitions/3/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/2.json +327 -0
  206. package/lib/labware/definitions/3/opentrons_24_tuberack_generic_2ml_screwcap/2.json +329 -0
  207. package/lib/labware/definitions/3/opentrons_24_tuberack_nest_0.5ml_screwcap/2.json +371 -0
  208. package/lib/labware/definitions/3/opentrons_24_tuberack_nest_1.5ml_screwcap/2.json +357 -0
  209. package/lib/labware/definitions/3/opentrons_24_tuberack_nest_1.5ml_snapcap/2.json +352 -0
  210. package/lib/labware/definitions/3/opentrons_24_tuberack_nest_2ml_screwcap/2.json +351 -0
  211. package/lib/labware/definitions/3/opentrons_24_tuberack_nest_2ml_snapcap/2.json +380 -0
  212. package/lib/labware/definitions/3/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/2.json +526 -0
  213. package/lib/labware/definitions/3/opentrons_6_tuberack_falcon_50ml_conical/2.json +145 -0
  214. package/lib/labware/definitions/3/opentrons_6_tuberack_nest_50ml_conical/2.json +143 -0
  215. package/lib/labware/definitions/3/opentrons_96_aluminumblock_biorad_wellplate_200ul/2.json +1165 -0
  216. package/lib/labware/definitions/3/opentrons_96_aluminumblock_generic_pcr_strip_200ul/3.json +1128 -0
  217. package/lib/labware/definitions/3/opentrons_96_aluminumblock_nest_wellplate_100ul/2.json +1149 -0
  218. package/lib/labware/definitions/3/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/2.json +1241 -0
  219. package/lib/labware/definitions/3/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/2.json +1136 -0
  220. package/lib/labware/definitions/3/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/2.json +1149 -0
  221. package/lib/labware/definitions/3/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/2.json +1147 -0
  222. package/lib/labware/definitions/3/opentrons_96_wellplate_200ul_pcr_full_skirt/3.json +1167 -0
  223. package/lib/labware/definitions/3/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/2.json +5107 -0
  224. package/lib/labware/definitions/3/thermoscientificnunc_96_wellplate_1300ul/2.json +1134 -0
  225. package/lib/labware/definitions/3/thermoscientificnunc_96_wellplate_2000ul/2.json +1134 -0
  226. package/lib/labware/definitions/3/usascientific_12_reservoir_22ml/2.json +229 -0
  227. package/lib/labware/definitions/3/usascientific_96_wellplate_2.4ml_deep/2.json +1217 -0
  228. package/lib/labware/fixtures/1/index.d.ts +2 -0
  229. package/lib/labware/fixtures/2/fixture_calibration_block.json +71 -0
  230. package/lib/labware/fixtures/2/fixture_corning_96_wellplate_360_flat.json +1058 -0
  231. package/lib/labware/fixtures/2/fixture_universal_flat_bottom_adapter.json +151 -0
  232. package/lib/labware/fixtures/2/index.d.ts +19 -0
  233. package/lib/labware/fixtures/3/fixture_2_plate.json +95 -0
  234. package/lib/labware/fixtures/3/fixture_corning_24_plate.json +337 -0
  235. package/lib/labware/repository/fixtures/1/exampleLabwareRepository.json +43 -0
  236. package/lib/labware/repository/schemas/1.json +81 -0
  237. package/lib/labware/schemas/2.json +3 -2
  238. package/lib/labware/schemas/3.json +605 -0
  239. package/lib/module/definitions/3/absorbanceReaderV1.json +184 -0
  240. package/lib/module/definitions/3/heaterShakerModuleV1.json +1 -0
  241. package/lib/module/definitions/3/magneticBlockV1.json +1 -0
  242. package/lib/module/definitions/3/magneticModuleV1.json +1 -0
  243. package/lib/module/definitions/3/magneticModuleV2.json +1 -0
  244. package/lib/module/definitions/3/temperatureModuleV1.json +1 -0
  245. package/lib/module/definitions/3/temperatureModuleV2.json +1 -0
  246. package/lib/module/definitions/3/thermocyclerModuleV1.json +1 -0
  247. package/lib/module/definitions/3/thermocyclerModuleV2.json +1 -0
  248. package/lib/module/schemas/3.json +12 -3
  249. package/lib/pipette/definitions/1/pipetteModelSpecs.json +336 -0
  250. package/lib/pipette/definitions/2/general/eight_channel/p10/1_0.json +158 -11
  251. package/lib/pipette/definitions/2/general/eight_channel/p10/1_3.json +158 -11
  252. package/lib/pipette/definitions/2/general/eight_channel/p10/1_4.json +158 -11
  253. package/lib/pipette/definitions/2/general/eight_channel/p10/1_5.json +158 -11
  254. package/lib/pipette/definitions/2/general/eight_channel/p10/1_6.json +158 -11
  255. package/lib/pipette/definitions/2/general/eight_channel/p1000/1_0.json +149 -11
  256. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_0.json +176 -11
  257. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_3.json +176 -11
  258. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_4.json +266 -11
  259. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_5.json +266 -11
  260. package/lib/pipette/definitions/2/general/eight_channel/p20/2_0.json +176 -11
  261. package/lib/pipette/definitions/2/general/eight_channel/p20/2_1.json +176 -11
  262. package/lib/pipette/definitions/2/general/eight_channel/p300/1_0.json +149 -11
  263. package/lib/pipette/definitions/2/general/eight_channel/p300/1_3.json +149 -11
  264. package/lib/pipette/definitions/2/general/eight_channel/p300/1_4.json +149 -11
  265. package/lib/pipette/definitions/2/general/eight_channel/p300/1_5.json +149 -11
  266. package/lib/pipette/definitions/2/general/eight_channel/p300/2_0.json +140 -11
  267. package/lib/pipette/definitions/2/general/eight_channel/p300/2_1.json +140 -11
  268. package/lib/pipette/definitions/2/general/eight_channel/p50/1_0.json +149 -11
  269. package/lib/pipette/definitions/2/general/eight_channel/p50/1_3.json +149 -11
  270. package/lib/pipette/definitions/2/general/eight_channel/p50/1_4.json +149 -11
  271. package/lib/pipette/definitions/2/general/eight_channel/p50/1_5.json +149 -11
  272. package/lib/pipette/definitions/2/general/eight_channel/p50/3_0.json +140 -11
  273. package/lib/pipette/definitions/2/general/eight_channel/p50/3_3.json +140 -11
  274. package/lib/pipette/definitions/2/general/eight_channel/p50/3_4.json +190 -11
  275. package/lib/pipette/definitions/2/general/eight_channel/p50/3_5.json +190 -11
  276. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +488 -19
  277. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +488 -19
  278. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +488 -19
  279. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +656 -19
  280. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +790 -19
  281. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json +818 -0
  282. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/3_0.json +660 -0
  283. package/lib/pipette/definitions/2/general/single_channel/p10/1_0.json +22 -4
  284. package/lib/pipette/definitions/2/general/single_channel/p10/1_3.json +22 -4
  285. package/lib/pipette/definitions/2/general/single_channel/p10/1_4.json +22 -4
  286. package/lib/pipette/definitions/2/general/single_channel/p10/1_5.json +22 -4
  287. package/lib/pipette/definitions/2/general/single_channel/p1000/1_0.json +22 -4
  288. package/lib/pipette/definitions/2/general/single_channel/p1000/1_3.json +22 -4
  289. package/lib/pipette/definitions/2/general/single_channel/p1000/1_4.json +22 -4
  290. package/lib/pipette/definitions/2/general/single_channel/p1000/1_5.json +22 -4
  291. package/lib/pipette/definitions/2/general/single_channel/p1000/2_0.json +21 -4
  292. package/lib/pipette/definitions/2/general/single_channel/p1000/2_1.json +21 -4
  293. package/lib/pipette/definitions/2/general/single_channel/p1000/2_2.json +21 -4
  294. package/lib/pipette/definitions/2/general/single_channel/p1000/3_0.json +24 -4
  295. package/lib/pipette/definitions/2/general/single_channel/p1000/3_3.json +24 -4
  296. package/lib/pipette/definitions/2/general/single_channel/p1000/3_4.json +33 -4
  297. package/lib/pipette/definitions/2/general/single_channel/p1000/3_5.json +33 -4
  298. package/lib/pipette/definitions/2/general/single_channel/p1000/3_6.json +33 -4
  299. package/lib/pipette/definitions/2/general/single_channel/p1000/3_7.json +81 -0
  300. package/lib/pipette/definitions/2/general/single_channel/p20/2_0.json +24 -4
  301. package/lib/pipette/definitions/2/general/single_channel/p20/2_1.json +24 -4
  302. package/lib/pipette/definitions/2/general/single_channel/p20/2_2.json +24 -4
  303. package/lib/pipette/definitions/2/general/single_channel/p300/1_0.json +21 -4
  304. package/lib/pipette/definitions/2/general/single_channel/p300/1_3.json +21 -4
  305. package/lib/pipette/definitions/2/general/single_channel/p300/1_4.json +21 -4
  306. package/lib/pipette/definitions/2/general/single_channel/p300/1_5.json +21 -4
  307. package/lib/pipette/definitions/2/general/single_channel/p300/2_0.json +20 -4
  308. package/lib/pipette/definitions/2/general/single_channel/p300/2_1.json +20 -4
  309. package/lib/pipette/definitions/2/general/single_channel/p50/1_0.json +21 -4
  310. package/lib/pipette/definitions/2/general/single_channel/p50/1_3.json +21 -4
  311. package/lib/pipette/definitions/2/general/single_channel/p50/1_4.json +21 -4
  312. package/lib/pipette/definitions/2/general/single_channel/p50/1_5.json +21 -4
  313. package/lib/pipette/definitions/2/general/single_channel/p50/3_0.json +20 -4
  314. package/lib/pipette/definitions/2/general/single_channel/p50/3_3.json +20 -4
  315. package/lib/pipette/definitions/2/general/single_channel/p50/3_4.json +25 -4
  316. package/lib/pipette/definitions/2/general/single_channel/p50/3_5.json +25 -4
  317. package/lib/pipette/definitions/2/general/single_channel/p50/3_6.json +88 -0
  318. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_0.json +2 -1
  319. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_3.json +2 -1
  320. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_4.json +2 -1
  321. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_5.json +2 -1
  322. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_6.json +2 -1
  323. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/1_0.json +2 -1
  324. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_0.json +14 -0
  325. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_3.json +14 -0
  326. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_4.json +14 -0
  327. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_5.json +14 -0
  328. package/lib/pipette/definitions/2/geometry/eight_channel/p20/2_0.json +2 -1
  329. package/lib/pipette/definitions/2/geometry/eight_channel/p20/2_1.json +2 -1
  330. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_0.json +2 -1
  331. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_3.json +2 -1
  332. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_4.json +2 -1
  333. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_5.json +2 -1
  334. package/lib/pipette/definitions/2/geometry/eight_channel/p300/2_0.json +2 -1
  335. package/lib/pipette/definitions/2/geometry/eight_channel/p300/2_1.json +2 -1
  336. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_0.json +2 -1
  337. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_3.json +2 -1
  338. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_4.json +2 -1
  339. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_5.json +2 -1
  340. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_0.json +6 -0
  341. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_3.json +6 -0
  342. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_4.json +6 -0
  343. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +6 -0
  344. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json +2 -1
  345. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_0.json +14 -0
  346. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_3.json +14 -0
  347. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_4.json +14 -0
  348. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_5.json +14 -0
  349. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_6.json +309 -0
  350. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/3_0.json +305 -0
  351. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_0.json +2 -1
  352. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_3.json +2 -1
  353. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_4.json +2 -1
  354. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_5.json +2 -1
  355. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_0.json +2 -1
  356. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_3.json +2 -1
  357. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_4.json +2 -1
  358. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_5.json +2 -1
  359. package/lib/pipette/definitions/2/geometry/single_channel/p1000/2_0.json +2 -1
  360. package/lib/pipette/definitions/2/geometry/single_channel/p1000/2_1.json +2 -1
  361. package/lib/pipette/definitions/2/geometry/single_channel/p1000/2_2.json +2 -1
  362. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_0.json +14 -0
  363. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_3.json +14 -0
  364. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_4.json +14 -0
  365. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_5.json +14 -0
  366. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_6.json +14 -0
  367. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_7.json +28 -0
  368. package/lib/pipette/definitions/2/geometry/single_channel/p20/2_0.json +2 -1
  369. package/lib/pipette/definitions/2/geometry/single_channel/p20/2_1.json +2 -1
  370. package/lib/pipette/definitions/2/geometry/single_channel/p20/2_2.json +2 -1
  371. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_0.json +2 -1
  372. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_3.json +2 -1
  373. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_4.json +2 -1
  374. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_5.json +2 -1
  375. package/lib/pipette/definitions/2/geometry/single_channel/p300/2_0.json +2 -1
  376. package/lib/pipette/definitions/2/geometry/single_channel/p300/2_1.json +2 -1
  377. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_0.json +2 -1
  378. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_3.json +2 -1
  379. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_4.json +2 -1
  380. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_5.json +2 -1
  381. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_0.json +6 -0
  382. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_3.json +6 -0
  383. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_4.json +6 -0
  384. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_5.json +6 -0
  385. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_6.json +20 -0
  386. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json +0 -7
  387. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json +0 -7
  388. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json +0 -7
  389. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json +0 -7
  390. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json +0 -7
  391. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json +0 -6
  392. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json +4 -10
  393. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json +7 -10
  394. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json +7 -10
  395. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +7 -10
  396. package/lib/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json +0 -9
  397. package/lib/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json +2 -9
  398. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json +0 -6
  399. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json +0 -6
  400. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json +0 -6
  401. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json +0 -6
  402. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json +0 -5
  403. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json +2 -5
  404. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json +0 -6
  405. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json +0 -6
  406. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json +0 -6
  407. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json +0 -6
  408. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json +4 -6
  409. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json +5 -6
  410. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json +5 -6
  411. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +5 -6
  412. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json +4 -6
  413. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json +5 -6
  414. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json +11 -12
  415. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +11 -12
  416. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +12 -15
  417. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +12 -15
  418. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +15 -15
  419. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +15 -15
  420. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +15 -15
  421. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json +188 -0
  422. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +121 -0
  423. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json +0 -7
  424. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json +0 -7
  425. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json +0 -7
  426. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json +0 -7
  427. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json +0 -7
  428. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json +0 -7
  429. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json +0 -7
  430. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json +0 -7
  431. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json +0 -6
  432. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json +1 -6
  433. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json +1 -6
  434. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json +4 -7
  435. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json +7 -7
  436. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +7 -7
  437. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +7 -7
  438. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json +7 -7
  439. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json +204 -0
  440. package/lib/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json +0 -9
  441. package/lib/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json +2 -9
  442. package/lib/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json +2 -9
  443. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json +0 -6
  444. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json +0 -6
  445. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json +0 -6
  446. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json +0 -6
  447. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json +0 -5
  448. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json +2 -5
  449. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json +0 -6
  450. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json +0 -6
  451. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json +0 -6
  452. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json +0 -6
  453. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json +4 -5
  454. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json +5 -5
  455. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json +5 -5
  456. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +5 -5
  457. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +80 -0
  458. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json +4 -5
  459. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json +5 -5
  460. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json +11 -11
  461. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +11 -11
  462. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +78 -0
  463. package/lib/pipette/fixtures/index.d.ts +7 -0
  464. package/lib/pipette/fixtures/name/index.d.ts +8 -0
  465. package/lib/pipette/schemas/2/pipetteGeometrySchema.json +28 -0
  466. package/lib/pipette/schemas/2/pipetteLiquidPropertiesSchema.json +12 -15
  467. package/lib/pipette/schemas/2/pipettePropertiesSchema.json +57 -21
  468. package/lib/protocol/fixtures/6/heaterShakerCommands.json +18 -18
  469. package/lib/protocol/fixtures/6/heaterShakerCommandsWithResultsKey.json +7 -7
  470. package/lib/protocol/fixtures/6/multipleTempModules.json +58 -58
  471. package/lib/protocol/fixtures/6/multipleTipracks.json +60 -60
  472. package/lib/protocol/fixtures/6/multipleTipracksWithTC.json +65 -65
  473. package/lib/protocol/fixtures/6/oneTiprack.json +14 -14
  474. package/lib/protocol/fixtures/6/simpleV6.json +24 -24
  475. package/lib/protocol/fixtures/6/tempAndMagModuleCommands.json +17 -17
  476. package/lib/protocol/fixtures/6/transferSettings.json +58 -58
  477. package/lib/protocol/fixtures/7/simpleV7.json +26 -26
  478. package/lib/protocol/fixtures/8/simpleFlexV10CommandsV8.json +1475 -0
  479. package/lib/protocol/fixtures/8/simpleFlexV8.json +3 -3
  480. package/lib/protocol/fixtures/8/simpleFlexV9CommandsV8.json +1475 -0
  481. package/lib/protocol/fixtures/8/simpleV10CommandsV8.json +1473 -0
  482. package/lib/protocol/fixtures/8/simpleV9CommandsV8.json +1473 -0
  483. package/lib/protocol/fixtures/index.d.ts +13 -0
  484. package/lib/protocol/index.d.ts +9 -0
  485. package/lib/protocol/types/schemaV3.d.ts +1 -1
  486. package/lib/protocol/types/schemaV6/command/index.d.ts +2 -1
  487. package/lib/protocol/types/schemaV6/index.d.ts +1 -1
  488. package/lib/protocol/types/schemaV7/index.d.ts +1 -1
  489. package/lib/protocol/types/schemaV8/index.d.ts +8 -2
  490. package/lib/vite.config.d.mts +2 -0
  491. package/liquid-class/fixtures/fixture_glycerol50.json +240 -0
  492. package/liquid-class/schemas/1.json +486 -0
  493. package/module/definitions/3/absorbanceReaderV1.json +184 -0
  494. package/module/definitions/3/heaterShakerModuleV1.json +1 -0
  495. package/module/definitions/3/magneticBlockV1.json +1 -0
  496. package/module/definitions/3/magneticModuleV1.json +1 -0
  497. package/module/definitions/3/magneticModuleV2.json +1 -0
  498. package/module/definitions/3/temperatureModuleV1.json +1 -0
  499. package/module/definitions/3/temperatureModuleV2.json +1 -0
  500. package/module/definitions/3/thermocyclerModuleV1.json +1 -0
  501. package/module/definitions/3/thermocyclerModuleV2.json +1 -0
  502. package/module/schemas/3.json +12 -3
  503. package/package.json +2 -2
  504. package/pipette/definitions/1/pipetteModelSpecs.json +338 -0
  505. package/pipette/definitions/2/general/eight_channel/p10/1_0.json +158 -11
  506. package/pipette/definitions/2/general/eight_channel/p10/1_3.json +158 -11
  507. package/pipette/definitions/2/general/eight_channel/p10/1_4.json +158 -11
  508. package/pipette/definitions/2/general/eight_channel/p10/1_5.json +158 -11
  509. package/pipette/definitions/2/general/eight_channel/p10/1_6.json +158 -11
  510. package/pipette/definitions/2/general/eight_channel/p1000/1_0.json +149 -11
  511. package/pipette/definitions/2/general/eight_channel/p1000/3_0.json +176 -11
  512. package/pipette/definitions/2/general/eight_channel/p1000/3_3.json +176 -11
  513. package/pipette/definitions/2/general/eight_channel/p1000/3_4.json +266 -11
  514. package/pipette/definitions/2/general/eight_channel/p1000/3_5.json +266 -11
  515. package/pipette/definitions/2/general/eight_channel/p20/2_0.json +176 -11
  516. package/pipette/definitions/2/general/eight_channel/p20/2_1.json +176 -11
  517. package/pipette/definitions/2/general/eight_channel/p300/1_0.json +149 -11
  518. package/pipette/definitions/2/general/eight_channel/p300/1_3.json +149 -11
  519. package/pipette/definitions/2/general/eight_channel/p300/1_4.json +149 -11
  520. package/pipette/definitions/2/general/eight_channel/p300/1_5.json +149 -11
  521. package/pipette/definitions/2/general/eight_channel/p300/2_0.json +140 -11
  522. package/pipette/definitions/2/general/eight_channel/p300/2_1.json +140 -11
  523. package/pipette/definitions/2/general/eight_channel/p50/1_0.json +149 -11
  524. package/pipette/definitions/2/general/eight_channel/p50/1_3.json +149 -11
  525. package/pipette/definitions/2/general/eight_channel/p50/1_4.json +149 -11
  526. package/pipette/definitions/2/general/eight_channel/p50/1_5.json +149 -11
  527. package/pipette/definitions/2/general/eight_channel/p50/3_0.json +140 -11
  528. package/pipette/definitions/2/general/eight_channel/p50/3_3.json +140 -11
  529. package/pipette/definitions/2/general/eight_channel/p50/3_4.json +190 -11
  530. package/pipette/definitions/2/general/eight_channel/p50/3_5.json +190 -11
  531. package/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +488 -19
  532. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +488 -19
  533. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +488 -19
  534. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +656 -20
  535. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +790 -19
  536. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json +818 -0
  537. package/pipette/definitions/2/general/ninety_six_channel/p200/3_0.json +660 -0
  538. package/pipette/definitions/2/general/single_channel/p10/1_0.json +22 -4
  539. package/pipette/definitions/2/general/single_channel/p10/1_3.json +22 -4
  540. package/pipette/definitions/2/general/single_channel/p10/1_4.json +22 -4
  541. package/pipette/definitions/2/general/single_channel/p10/1_5.json +22 -4
  542. package/pipette/definitions/2/general/single_channel/p1000/1_0.json +22 -4
  543. package/pipette/definitions/2/general/single_channel/p1000/1_3.json +22 -4
  544. package/pipette/definitions/2/general/single_channel/p1000/1_4.json +22 -4
  545. package/pipette/definitions/2/general/single_channel/p1000/1_5.json +22 -4
  546. package/pipette/definitions/2/general/single_channel/p1000/2_0.json +21 -4
  547. package/pipette/definitions/2/general/single_channel/p1000/2_1.json +21 -4
  548. package/pipette/definitions/2/general/single_channel/p1000/2_2.json +21 -4
  549. package/pipette/definitions/2/general/single_channel/p1000/3_0.json +24 -4
  550. package/pipette/definitions/2/general/single_channel/p1000/3_3.json +24 -4
  551. package/pipette/definitions/2/general/single_channel/p1000/3_4.json +33 -4
  552. package/pipette/definitions/2/general/single_channel/p1000/3_5.json +33 -4
  553. package/pipette/definitions/2/general/single_channel/p1000/3_6.json +33 -4
  554. package/pipette/definitions/2/general/single_channel/p1000/3_7.json +81 -0
  555. package/pipette/definitions/2/general/single_channel/p20/2_0.json +24 -4
  556. package/pipette/definitions/2/general/single_channel/p20/2_1.json +24 -4
  557. package/pipette/definitions/2/general/single_channel/p20/2_2.json +24 -4
  558. package/pipette/definitions/2/general/single_channel/p300/1_0.json +21 -4
  559. package/pipette/definitions/2/general/single_channel/p300/1_3.json +21 -4
  560. package/pipette/definitions/2/general/single_channel/p300/1_4.json +21 -4
  561. package/pipette/definitions/2/general/single_channel/p300/1_5.json +21 -4
  562. package/pipette/definitions/2/general/single_channel/p300/2_0.json +20 -4
  563. package/pipette/definitions/2/general/single_channel/p300/2_1.json +20 -4
  564. package/pipette/definitions/2/general/single_channel/p50/1_0.json +21 -4
  565. package/pipette/definitions/2/general/single_channel/p50/1_3.json +21 -4
  566. package/pipette/definitions/2/general/single_channel/p50/1_4.json +21 -4
  567. package/pipette/definitions/2/general/single_channel/p50/1_5.json +21 -4
  568. package/pipette/definitions/2/general/single_channel/p50/3_0.json +20 -4
  569. package/pipette/definitions/2/general/single_channel/p50/3_3.json +20 -4
  570. package/pipette/definitions/2/general/single_channel/p50/3_4.json +25 -4
  571. package/pipette/definitions/2/general/single_channel/p50/3_5.json +25 -4
  572. package/pipette/definitions/2/general/single_channel/p50/3_6.json +88 -0
  573. package/pipette/definitions/2/geometry/eight_channel/p10/1_0.json +2 -1
  574. package/pipette/definitions/2/geometry/eight_channel/p10/1_3.json +2 -1
  575. package/pipette/definitions/2/geometry/eight_channel/p10/1_4.json +2 -1
  576. package/pipette/definitions/2/geometry/eight_channel/p10/1_5.json +2 -1
  577. package/pipette/definitions/2/geometry/eight_channel/p10/1_6.json +2 -1
  578. package/pipette/definitions/2/geometry/eight_channel/p1000/1_0.json +2 -1
  579. package/pipette/definitions/2/geometry/eight_channel/p1000/3_0.json +14 -0
  580. package/pipette/definitions/2/geometry/eight_channel/p1000/3_3.json +14 -0
  581. package/pipette/definitions/2/geometry/eight_channel/p1000/3_4.json +14 -0
  582. package/pipette/definitions/2/geometry/eight_channel/p1000/3_5.json +14 -0
  583. package/pipette/definitions/2/geometry/eight_channel/p20/2_0.json +2 -1
  584. package/pipette/definitions/2/geometry/eight_channel/p20/2_1.json +2 -1
  585. package/pipette/definitions/2/geometry/eight_channel/p300/1_0.json +2 -1
  586. package/pipette/definitions/2/geometry/eight_channel/p300/1_3.json +2 -1
  587. package/pipette/definitions/2/geometry/eight_channel/p300/1_4.json +2 -1
  588. package/pipette/definitions/2/geometry/eight_channel/p300/1_5.json +2 -1
  589. package/pipette/definitions/2/geometry/eight_channel/p300/2_0.json +2 -1
  590. package/pipette/definitions/2/geometry/eight_channel/p300/2_1.json +2 -1
  591. package/pipette/definitions/2/geometry/eight_channel/p50/1_0.json +2 -1
  592. package/pipette/definitions/2/geometry/eight_channel/p50/1_3.json +2 -1
  593. package/pipette/definitions/2/geometry/eight_channel/p50/1_4.json +2 -1
  594. package/pipette/definitions/2/geometry/eight_channel/p50/1_5.json +2 -1
  595. package/pipette/definitions/2/geometry/eight_channel/p50/3_0.json +6 -0
  596. package/pipette/definitions/2/geometry/eight_channel/p50/3_3.json +6 -0
  597. package/pipette/definitions/2/geometry/eight_channel/p50/3_4.json +6 -0
  598. package/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +6 -0
  599. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json +2 -1
  600. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_0.json +14 -0
  601. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_3.json +14 -0
  602. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_4.json +14 -0
  603. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_5.json +14 -0
  604. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_6.json +309 -0
  605. package/pipette/definitions/2/geometry/ninety_six_channel/p200/3_0.json +305 -0
  606. package/pipette/definitions/2/geometry/ninety_six_channel/p200/placeholder.gltf +0 -0
  607. package/pipette/definitions/2/geometry/single_channel/p10/1_0.json +2 -1
  608. package/pipette/definitions/2/geometry/single_channel/p10/1_3.json +2 -1
  609. package/pipette/definitions/2/geometry/single_channel/p10/1_4.json +2 -1
  610. package/pipette/definitions/2/geometry/single_channel/p10/1_5.json +2 -1
  611. package/pipette/definitions/2/geometry/single_channel/p1000/1_0.json +2 -1
  612. package/pipette/definitions/2/geometry/single_channel/p1000/1_3.json +2 -1
  613. package/pipette/definitions/2/geometry/single_channel/p1000/1_4.json +2 -1
  614. package/pipette/definitions/2/geometry/single_channel/p1000/1_5.json +2 -1
  615. package/pipette/definitions/2/geometry/single_channel/p1000/2_0.json +2 -1
  616. package/pipette/definitions/2/geometry/single_channel/p1000/2_1.json +2 -1
  617. package/pipette/definitions/2/geometry/single_channel/p1000/2_2.json +2 -1
  618. package/pipette/definitions/2/geometry/single_channel/p1000/3_0.json +14 -0
  619. package/pipette/definitions/2/geometry/single_channel/p1000/3_3.json +14 -0
  620. package/pipette/definitions/2/geometry/single_channel/p1000/3_4.json +14 -0
  621. package/pipette/definitions/2/geometry/single_channel/p1000/3_5.json +14 -0
  622. package/pipette/definitions/2/geometry/single_channel/p1000/3_6.json +14 -0
  623. package/pipette/definitions/2/geometry/single_channel/p1000/3_7.json +28 -0
  624. package/pipette/definitions/2/geometry/single_channel/p20/2_0.json +2 -1
  625. package/pipette/definitions/2/geometry/single_channel/p20/2_1.json +2 -1
  626. package/pipette/definitions/2/geometry/single_channel/p20/2_2.json +2 -1
  627. package/pipette/definitions/2/geometry/single_channel/p300/1_0.json +2 -1
  628. package/pipette/definitions/2/geometry/single_channel/p300/1_3.json +2 -1
  629. package/pipette/definitions/2/geometry/single_channel/p300/1_4.json +2 -1
  630. package/pipette/definitions/2/geometry/single_channel/p300/1_5.json +2 -1
  631. package/pipette/definitions/2/geometry/single_channel/p300/2_0.json +2 -1
  632. package/pipette/definitions/2/geometry/single_channel/p300/2_1.json +2 -1
  633. package/pipette/definitions/2/geometry/single_channel/p50/1_0.json +2 -1
  634. package/pipette/definitions/2/geometry/single_channel/p50/1_3.json +2 -1
  635. package/pipette/definitions/2/geometry/single_channel/p50/1_4.json +2 -1
  636. package/pipette/definitions/2/geometry/single_channel/p50/1_5.json +2 -1
  637. package/pipette/definitions/2/geometry/single_channel/p50/3_0.json +6 -0
  638. package/pipette/definitions/2/geometry/single_channel/p50/3_3.json +6 -0
  639. package/pipette/definitions/2/geometry/single_channel/p50/3_4.json +6 -0
  640. package/pipette/definitions/2/geometry/single_channel/p50/3_5.json +6 -0
  641. package/pipette/definitions/2/geometry/single_channel/p50/3_6.json +20 -0
  642. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json +0 -7
  643. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json +0 -7
  644. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json +0 -7
  645. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json +0 -7
  646. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json +0 -7
  647. package/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json +0 -6
  648. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json +4 -10
  649. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json +7 -10
  650. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json +7 -10
  651. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +7 -10
  652. package/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json +0 -9
  653. package/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json +2 -9
  654. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json +0 -6
  655. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json +0 -6
  656. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json +0 -6
  657. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json +0 -6
  658. package/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json +0 -5
  659. package/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json +2 -5
  660. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json +0 -6
  661. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json +0 -6
  662. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json +0 -6
  663. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json +0 -6
  664. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json +4 -6
  665. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json +5 -6
  666. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json +5 -6
  667. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +5 -6
  668. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json +4 -6
  669. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json +5 -6
  670. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json +11 -12
  671. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +11 -12
  672. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +12 -15
  673. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +12 -15
  674. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +15 -15
  675. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +15 -15
  676. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +15 -15
  677. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json +188 -0
  678. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +121 -0
  679. package/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json +0 -7
  680. package/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json +0 -7
  681. package/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json +0 -7
  682. package/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json +0 -7
  683. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json +0 -7
  684. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json +0 -7
  685. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json +0 -7
  686. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json +0 -7
  687. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json +0 -6
  688. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json +1 -6
  689. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json +1 -6
  690. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json +4 -7
  691. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json +7 -7
  692. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +7 -7
  693. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +7 -7
  694. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json +7 -7
  695. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json +204 -0
  696. package/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json +0 -9
  697. package/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json +2 -9
  698. package/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json +2 -9
  699. package/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json +0 -6
  700. package/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json +0 -6
  701. package/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json +0 -6
  702. package/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json +0 -6
  703. package/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json +0 -5
  704. package/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json +2 -5
  705. package/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json +0 -6
  706. package/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json +0 -6
  707. package/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json +0 -6
  708. package/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json +0 -6
  709. package/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json +4 -5
  710. package/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json +5 -5
  711. package/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json +5 -5
  712. package/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +5 -5
  713. package/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +80 -0
  714. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json +4 -5
  715. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json +5 -5
  716. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json +11 -11
  717. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +11 -11
  718. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +78 -0
  719. package/pipette/fixtures/index.ts +58 -0
  720. package/pipette/fixtures/name/index.ts +1 -1
  721. package/pipette/schemas/2/pipetteGeometrySchema.json +28 -0
  722. package/pipette/schemas/2/pipetteLiquidPropertiesSchema.json +12 -15
  723. package/pipette/schemas/2/pipettePropertiesSchema.json +57 -21
  724. package/protocol/README.md +1 -1
  725. package/protocol/fixtures/6/heaterShakerCommands.json +18 -18
  726. package/protocol/fixtures/6/heaterShakerCommandsWithResultsKey.json +7 -7
  727. package/protocol/fixtures/6/multipleTempModules.json +58 -58
  728. package/protocol/fixtures/6/multipleTipracks.json +60 -60
  729. package/protocol/fixtures/6/multipleTipracksWithTC.json +65 -65
  730. package/protocol/fixtures/6/oneTiprack.json +14 -14
  731. package/protocol/fixtures/6/simpleV6.json +24 -24
  732. package/protocol/fixtures/6/tempAndMagModuleCommands.json +17 -17
  733. package/protocol/fixtures/6/transferSettings.json +58 -58
  734. package/protocol/fixtures/7/simpleV7.json +26 -26
  735. package/protocol/fixtures/8/simpleFlexV10CommandsV8.json +1475 -0
  736. package/protocol/fixtures/8/simpleFlexV8.json +3 -3
  737. package/protocol/fixtures/8/simpleFlexV9CommandsV8.json +1475 -0
  738. package/protocol/fixtures/8/simpleV10CommandsV8.json +1473 -0
  739. package/protocol/fixtures/8/simpleV9CommandsV8.json +1473 -0
  740. package/protocol/fixtures/index.ts +26 -0
  741. package/protocol/index.ts +19 -0
  742. package/protocol/types/schemaV3.ts +1 -1
  743. package/protocol/types/schemaV6/command/index.ts +2 -1
  744. package/protocol/types/schemaV6/index.ts +1 -1
  745. package/protocol/types/schemaV7/index.ts +6 -1
  746. package/protocol/types/schemaV8/index.ts +9 -1
  747. package/robot/definitions/1/ot2.json +12 -1
  748. package/robot/definitions/1/ot3.json +13 -1
  749. package/robot/schemas/1.json +54 -1
  750. package/tsconfig-data.json +1 -0
  751. package/tsconfig.json +10 -3
  752. package/vite.config.mts +25 -0
  753. package/lib/opentrons-shared-data.js +0 -3
  754. package/lib/opentrons-shared-data.js.LICENSE.txt +0 -1
  755. package/lib/opentrons-shared-data.js.map +0 -1
  756. package/webpack.config.js +0 -20
@@ -0,0 +1,80 @@
1
+ {
2
+ "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
3
+ "supportedTips": {
4
+ "t50": {
5
+ "uiMaxFlowRate": 57,
6
+ "defaultAspirateFlowRate": {
7
+ "default": 35,
8
+ "valuesByApiLevel": { "2.14": 35 }
9
+ },
10
+ "defaultDispenseFlowRate": {
11
+ "default": 57,
12
+ "valuesByApiLevel": { "2.14": 57 }
13
+ },
14
+ "defaultBlowOutFlowRate": {
15
+ "default": 57,
16
+ "valuesByApiLevel": { "2.14": 57 }
17
+ },
18
+ "defaultFlowAcceleration": 1200.0,
19
+ "defaultTipLength": 57.9,
20
+ "defaultReturnTipHeight": 0.71,
21
+ "aspirate": {
22
+ "default": {
23
+ "1": [
24
+ [0.5175, 0.200812, 0.234783],
25
+ [0.675, 0.306434, 0.180124],
26
+ [0.965, 0.202975, 0.249958],
27
+ [1.3175, 0.174205, 0.277721],
28
+ [1.9175, 0.098216, 0.377837],
29
+ [2.71, 0.059576, 0.451928],
30
+ [3.0675, -0.013969, 0.651237],
31
+ [3.4125, 0.02245, 0.539521],
32
+ [3.8375, 0.027713, 0.52156],
33
+ [4.39, 0.072919, 0.348082],
34
+ [5.14, 0.022924, 0.567563],
35
+ [5.97, 0.013633, 0.615316],
36
+ [7.415, 0.009346, 0.640908],
37
+ [9.1925, 0.005809, 0.667137],
38
+ [10.235, 0.003508, 0.688285],
39
+ [13.885, 0.001976, 0.703972],
40
+ [27.41, 0.000922, 0.718603],
41
+ [51.005, 0.000207, 0.738189],
42
+ [53.4675, -0.000417, 0.770047]
43
+ ]
44
+ }
45
+ },
46
+ "dispense": {
47
+ "default": {
48
+ "1": [
49
+ [0.5175, 0.200812, 0.234783],
50
+ [0.675, 0.306434, 0.180124],
51
+ [0.965, 0.202975, 0.249958],
52
+ [1.3175, 0.174205, 0.277721],
53
+ [1.9175, 0.098216, 0.377837],
54
+ [2.71, 0.059576, 0.451928],
55
+ [3.0675, -0.013969, 0.651237],
56
+ [3.4125, 0.02245, 0.539521],
57
+ [3.8375, 0.027713, 0.52156],
58
+ [4.39, 0.072919, 0.348082],
59
+ [5.14, 0.022924, 0.567563],
60
+ [5.97, 0.013633, 0.615316],
61
+ [7.415, 0.009346, 0.640908],
62
+ [9.1925, 0.005809, 0.667137],
63
+ [10.235, 0.003508, 0.688285],
64
+ [13.885, 0.001976, 0.703972],
65
+ [27.41, 0.000922, 0.718603],
66
+ [51.005, 0.000207, 0.738189],
67
+ [53.4675, -0.000417, 0.770047]
68
+ ]
69
+ }
70
+ },
71
+ "defaultPushOutVolume": 2
72
+ }
73
+ },
74
+ "maxVolume": 50,
75
+ "minVolume": 5,
76
+ "defaultTipracks": [
77
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
78
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
79
+ ]
80
+ }
@@ -68,11 +68,10 @@
68
68
  "defaultPushOutVolume": 7
69
69
  }
70
70
  },
71
- "defaultTipOverlapDictionary": {
72
- "default": 10.5,
73
- "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5
74
- },
75
71
  "maxVolume": 30,
76
72
  "minVolume": 1,
77
- "defaultTipracks": ["opentrons/opentrons_flex_96_tiprack_50ul/1"]
73
+ "defaultTipracks": [
74
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
75
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
76
+ ]
78
77
  }
@@ -2,6 +2,7 @@
2
2
  "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
3
3
  "supportedTips": {
4
4
  "t50": {
5
+ "uiMaxFlowRate": 31.8,
5
6
  "defaultAspirateFlowRate": {
6
7
  "default": 8,
7
8
  "valuesByApiLevel": { "2.14": 8 }
@@ -68,11 +69,10 @@
68
69
  "defaultPushOutVolume": 7
69
70
  }
70
71
  },
71
- "defaultTipOverlapDictionary": {
72
- "default": 10.5,
73
- "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5
74
- },
75
72
  "maxVolume": 30,
76
73
  "minVolume": 1,
77
- "defaultTipracks": ["opentrons/opentrons_flex_96_tiprack_50ul/1"]
74
+ "defaultTipracks": [
75
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
76
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
77
+ ]
78
78
  }
@@ -2,17 +2,18 @@
2
2
  "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
3
3
  "supportedTips": {
4
4
  "t50": {
5
+ "uiMaxFlowRate": 31.8,
5
6
  "defaultAspirateFlowRate": {
6
- "default": 35,
7
- "valuesByApiLevel": { "2.14": 35 }
7
+ "default": 31.8,
8
+ "valuesByApiLevel": { "2.14": 31.8 }
8
9
  },
9
10
  "defaultDispenseFlowRate": {
10
- "default": 57,
11
- "valuesByApiLevel": { "2.14": 57 }
11
+ "default": 31.8,
12
+ "valuesByApiLevel": { "2.14": 31.8 }
12
13
  },
13
14
  "defaultBlowOutFlowRate": {
14
- "default": 57,
15
- "valuesByApiLevel": { "2.14": 57 }
15
+ "default": 31.8,
16
+ "valuesByApiLevel": { "2.14": 31.8 }
16
17
  },
17
18
  "defaultFlowAcceleration": 1200.0,
18
19
  "defaultTipLength": 57.9,
@@ -68,11 +69,10 @@
68
69
  "defaultPushOutVolume": 7
69
70
  }
70
71
  },
71
- "defaultTipOverlapDictionary": {
72
- "default": 10.5,
73
- "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5
74
- },
75
72
  "maxVolume": 30,
76
73
  "minVolume": 1,
77
- "defaultTipracks": ["opentrons/opentrons_flex_96_tiprack_50ul/1"]
74
+ "defaultTipracks": [
75
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
76
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
77
+ ]
78
78
  }
@@ -2,17 +2,18 @@
2
2
  "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
3
3
  "supportedTips": {
4
4
  "t50": {
5
+ "uiMaxFlowRate": 26.7,
5
6
  "defaultAspirateFlowRate": {
6
- "default": 35,
7
- "valuesByApiLevel": { "2.14": 35 }
7
+ "default": 26.7,
8
+ "valuesByApiLevel": { "2.14": 26.7 }
8
9
  },
9
10
  "defaultDispenseFlowRate": {
10
- "default": 57,
11
- "valuesByApiLevel": { "2.14": 57 }
11
+ "default": 26.7,
12
+ "valuesByApiLevel": { "2.14": 26.7 }
12
13
  },
13
14
  "defaultBlowOutFlowRate": {
14
- "default": 57,
15
- "valuesByApiLevel": { "2.14": 57 }
15
+ "default": 26.7,
16
+ "valuesByApiLevel": { "2.14": 26.7 }
16
17
  },
17
18
  "defaultFlowAcceleration": 1200.0,
18
19
  "defaultTipLength": 57.9,
@@ -66,11 +67,10 @@
66
67
  "defaultPushOutVolume": 7
67
68
  }
68
69
  },
69
- "defaultTipOverlapDictionary": {
70
- "default": 10.5,
71
- "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5
72
- },
73
70
  "maxVolume": 30,
74
71
  "minVolume": 1,
75
- "defaultTipracks": ["opentrons/opentrons_flex_96_tiprack_50ul/1"]
72
+ "defaultTipracks": [
73
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
74
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
75
+ ]
76
76
  }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
3
+ "supportedTips": {
4
+ "t50": {
5
+ "uiMaxFlowRate": 26.7,
6
+ "defaultAspirateFlowRate": {
7
+ "default": 26.7,
8
+ "valuesByApiLevel": { "2.14": 26.7 }
9
+ },
10
+ "defaultDispenseFlowRate": {
11
+ "default": 26.7,
12
+ "valuesByApiLevel": { "2.14": 26.7 }
13
+ },
14
+ "defaultBlowOutFlowRate": {
15
+ "default": 26.7,
16
+ "valuesByApiLevel": { "2.14": 26.7 }
17
+ },
18
+ "defaultFlowAcceleration": 1200.0,
19
+ "defaultTipLength": 57.9,
20
+ "defaultReturnTipHeight": 0.71,
21
+ "aspirate": {
22
+ "default": {
23
+ "1": [
24
+ [0.541667, 0.302563, 0.190632],
25
+ [0.668333, 0.225982, 0.232113],
26
+ [1.028333, 0.255401, 0.212451],
27
+ [1.365, 0.149807, 0.321038],
28
+ [1.965, 0.091112, 0.401156],
29
+ [2.78, 0.060163, 0.46197],
30
+ [3.136667, -0.019962, 0.684718],
31
+ [3.471667, 0.014059, 0.578005],
32
+ [3.916667, 0.031571, 0.51721],
33
+ [4.458333, 0.069665, 0.368009],
34
+ [5.173333, 0.015715, 0.608534],
35
+ [5.99, 0.011271, 0.631526],
36
+ [7.39, 0.006269, 0.661487],
37
+ [9.18, 0.006559, 0.659347],
38
+ [10.193333, 0.001667, 0.704254],
39
+ [13.87, 0.002548, 0.695269],
40
+ [27.368333, 0.000899, 0.718151],
41
+ [45.855, 0.000182, 0.737772]
42
+ ]
43
+ }
44
+ },
45
+ "dispense": {
46
+ "default": {
47
+ "1": [
48
+ [0.541667, 0.302563, 0.190632],
49
+ [0.668333, 0.225982, 0.232113],
50
+ [1.028333, 0.255401, 0.212451],
51
+ [1.365, 0.149807, 0.321038],
52
+ [1.965, 0.091112, 0.401156],
53
+ [2.78, 0.060163, 0.46197],
54
+ [3.136667, -0.019962, 0.684718],
55
+ [3.471667, 0.014059, 0.578005],
56
+ [3.916667, 0.031571, 0.51721],
57
+ [4.458333, 0.069665, 0.368009],
58
+ [5.173333, 0.015715, 0.608534],
59
+ [5.99, 0.011271, 0.631526],
60
+ [7.39, 0.006269, 0.661487],
61
+ [9.18, 0.006559, 0.659347],
62
+ [10.193333, 0.001667, 0.704254],
63
+ [13.87, 0.002548, 0.695269],
64
+ [27.368333, 0.000899, 0.718151],
65
+ [45.855, 0.000182, 0.737772]
66
+ ]
67
+ }
68
+ },
69
+ "defaultPushOutVolume": 7
70
+ }
71
+ },
72
+ "maxVolume": 30,
73
+ "minVolume": 1,
74
+ "defaultTipracks": [
75
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
76
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
77
+ ]
78
+ }
@@ -0,0 +1,58 @@
1
+ import fixtureP10SingleGeneral from '../../pipette/definitions/2/general/single_channel/p10/1_0.json'
2
+ import fixtureP10SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p10/1_0.json'
3
+ import fixturep10SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p10/default/1_0.json'
4
+ import fixtureP10MultiGeneral from '../../pipette/definitions/2/general/eight_channel/p10/1_0.json'
5
+ import fixtureP10MultiGeometry from '../../pipette/definitions/2/geometry/eight_channel/p10/1_0.json'
6
+ import fixtureP10MultiLiquids from '../../pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json'
7
+ import fixtureP300SingleGeneral from '../../pipette/definitions/2/general/single_channel/p300/1_0.json'
8
+ import fixtureP300SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p300/1_0.json'
9
+ import fixtureP300SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p300/default/1_0.json'
10
+ import fixtureP300MultiGeneral from '../../pipette/definitions/2/general/eight_channel/p300/1_0.json'
11
+ import fixtureP300MultiGeometry from '../../pipette/definitions/2/geometry/eight_channel/p300/1_0.json'
12
+ import fixtureP300MultiLiquids from '../../pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json'
13
+ import fixtureP100096General from '../../pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json'
14
+ import fixtureP100096Geometry from '../../pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json'
15
+ import fixtureP100096Liquids from '../../pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json'
16
+ import fixtureP1000SingleGeneral from '../../pipette/definitions/2/general/single_channel/p1000/1_0.json'
17
+ import fixtureP1000SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p1000/1_0.json'
18
+ import fixtureP1000SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json'
19
+
20
+ import type { PipetteV2Specs } from '../../js'
21
+
22
+ // need to type as any first because channels and displayCategory types are
23
+ // incompatible.
24
+ export const fixtureP10SingleV2Specs: PipetteV2Specs = {
25
+ ...fixtureP10SingleGeneral,
26
+ ...fixtureP10SingleGeometry,
27
+ liquids: { default: { ...fixturep10SingleLiquids } },
28
+ } as any
29
+
30
+ export const fixtureP10MultiV2Specs: PipetteV2Specs = {
31
+ ...fixtureP10MultiGeneral,
32
+ ...fixtureP10MultiGeometry,
33
+ liquids: { default: { ...fixtureP10MultiLiquids } },
34
+ } as any
35
+
36
+ export const fixtureP300SingleV2Specs: PipetteV2Specs = {
37
+ ...fixtureP300SingleGeneral,
38
+ ...fixtureP300SingleGeometry,
39
+ liquids: { default: { ...fixtureP300SingleLiquids } },
40
+ } as any
41
+
42
+ export const fixtureP300MultiV2Specs: PipetteV2Specs = {
43
+ ...fixtureP300MultiGeneral,
44
+ ...fixtureP300MultiGeometry,
45
+ liquids: { default: { ...fixtureP300MultiLiquids } },
46
+ } as any
47
+
48
+ export const fixtureP100096V2Specs: PipetteV2Specs = {
49
+ ...fixtureP100096General,
50
+ ...fixtureP100096Geometry,
51
+ liquids: { default: { ...fixtureP100096Liquids } },
52
+ } as any
53
+
54
+ export const fixtureP1000SingleV2Specs: PipetteV2Specs = {
55
+ ...fixtureP1000SingleGeneral,
56
+ ...fixtureP1000SingleGeometry,
57
+ liquids: { default: { ...fixtureP1000SingleLiquids } },
58
+ } as any
@@ -1,7 +1,7 @@
1
1
  import _pipetteNameSpecFixtures from './pipetteNameSpecFixtures.json'
2
2
  import type { PipetteName, PipetteNameSpecs } from '../../../js'
3
3
 
4
- const pipetteNameSpecFixtures = _pipetteNameSpecFixtures as Record<
4
+ export const pipetteNameSpecFixtures = _pipetteNameSpecFixtures as Record<
5
5
  PipetteName,
6
6
  PipetteNameSpecs
7
7
  >
@@ -84,6 +84,34 @@
84
84
  "patternProperties": {
85
85
  "[A-Z]+[0-9]+": { "$ref": "#/definitions/xyzArray" }
86
86
  }
87
+ },
88
+ "lldSettings": {
89
+ "type": "object",
90
+ "description": "Minimum space requirements for Liquid Level Detection to work properly",
91
+ "additionalProperties": false,
92
+ "properties": {
93
+ "t50": {
94
+ "type": "object",
95
+ "properties": {
96
+ "minHeight": { "type": "number" },
97
+ "minVolume": { "type": "number" }
98
+ }
99
+ },
100
+ "t200": {
101
+ "type": "object",
102
+ "properties": {
103
+ "minHeight": { "type": "number" },
104
+ "minVolume": { "type": "number" }
105
+ }
106
+ },
107
+ "t1000": {
108
+ "type": "object",
109
+ "properties": {
110
+ "minHeight": { "type": "number" },
111
+ "minVolume": { "type": "number" }
112
+ }
113
+ }
114
+ }
87
115
  }
88
116
  }
89
117
  }
@@ -41,8 +41,7 @@
41
41
  "maxVolume",
42
42
  "minVolume",
43
43
  "defaultTipracks",
44
- "supportedTips",
45
- "defaultTipOverlapDictionary"
44
+ "supportedTips"
46
45
  ],
47
46
  "additionalProperties": false,
48
47
  "properties": {
@@ -68,13 +67,16 @@
68
67
  ],
69
68
  "properties": {
70
69
  "defaultAspirateFlowRate": {
71
- "$ref": "#/definitions/flowRate"
70
+ "$ref": "#/definitions/flowRate",
71
+ "$comment": "for lowVolumeDefault only, the flowRate matches the uiMaxFlowRate. This does not change physical behavior and was made for UI purposes"
72
72
  },
73
73
  "defaultDispenseFlowRate": {
74
- "$ref": "#/definitions/flowRate"
74
+ "$ref": "#/definitions/flowRate",
75
+ "$comment": "for lowVolumeDefault only, the flowRate matches the uiMaxFlowRate. This does not change physical behavior and was made for UI purposes"
75
76
  },
76
77
  "defaultBlowOutFlowRate": {
77
- "$ref": "#/definitions/flowRate"
78
+ "$ref": "#/definitions/flowRate",
79
+ "$comment": "for lowVolumeDefault only, the flowRate matches the uiMaxFlowRate. This does not change physical behavior and was made for UI purposes"
78
80
  },
79
81
  "defaultFlowAcceleration": {
80
82
  "$ref": "#/definitions/positiveNumber"
@@ -92,22 +94,17 @@
92
94
  "dispense": {
93
95
  "type": "array",
94
96
  "items": { "$ref": "#/definitions/liquidHandlingSpecs" }
97
+ },
98
+ "uiMaxFlowRate": {
99
+ "$ref": "#/definitions/positiveNumber",
100
+ "$comment": "To be used in frontend applications only since it is the limit-to-lowest-max",
101
+ "description": "An optional number to represent each pipette's supported tip max flow rate for aspirate and dispense. The limit is the lowest max flow rate given all the tip's volumes minus 2% for safety."
95
102
  }
96
103
  }
97
104
  }
98
105
  }
99
106
  }
100
107
  },
101
- "defaultTipOverlapDictionary": {
102
- "type": "object",
103
- "description": "Map of tip overlap values with defaults",
104
- "required": ["default"],
105
- "$comment": "Other keys in here should be labware URIs",
106
- "properties": {
107
- "default": { "type": "number" }
108
- },
109
- "additionalProperties": { "type": "number" }
110
- },
111
108
  "maxVolume": { "$ref": "#/definitions/positiveNumber" },
112
109
  "minVolume": { "$ref": "#/definitions/positiveNumber" },
113
110
  "defaultTipracks": {
@@ -13,6 +13,16 @@
13
13
  "type": "number",
14
14
  "minimum": 0
15
15
  },
16
+ "distanceRange": {
17
+ "type": "number",
18
+ "minimum": 0.0,
19
+ "maximum": 100
20
+ },
21
+ "speedRange": {
22
+ "type": "number",
23
+ "minimum": 0.0,
24
+ "maximum": 100
25
+ },
16
26
  "currentRange": {
17
27
  "type": "number",
18
28
  "minimum": 0.01,
@@ -35,10 +45,36 @@
35
45
  "type": "number",
36
46
  "enum": [1, 2, 3, 4, 5, 6, 7, 8, 12, 96, 384]
37
47
  },
38
- "currentByTipCount": {
48
+ "configurationsByNozzleMap": {
39
49
  "type": "object",
40
- "patternProperties": {
41
- "\\d+": { "$ref": "#/definitions/currentRange" }
50
+ "description": "Pipette configurations keyed by validated sets of nozzle layouts. Maps must be ordered from smallest to largest regarding nozzle count.",
51
+ "items": {
52
+ "type": "object",
53
+ "description": "Tip types by which each set of configration values are differentiated.",
54
+ "required": ["default"],
55
+ "items": {
56
+ "speed": { "$ref": "#/definitions/speedRange" },
57
+ "distance": { "$ref": "#/definitions/distanceRange" },
58
+ "current": { "$ref": "#/definitions/currentRange" },
59
+ "tipOverlaps": {
60
+ "type": "object",
61
+ "description": "Set of versioned tip overlap values with version 0 acting as the default",
62
+ "required": ["v0"],
63
+ "patternProperties": {
64
+ "^v\\d+$": {
65
+ "type": "object",
66
+ "description": "Map of tip overlap values with defaults",
67
+ "required": ["default"],
68
+ "$comment": "Other keys in here should be labware URIs",
69
+ "properties": {
70
+ "default": { "type": "number" }
71
+ },
72
+ "additionalProperties": { "type": "number" }
73
+ }
74
+ },
75
+ "additionalProperties": false
76
+ }
77
+ }
42
78
  }
43
79
  }
44
80
  },
@@ -157,6 +193,18 @@
157
193
  "run": { "$ref": "#/definitions/currentRange" }
158
194
  }
159
195
  },
196
+ "validNozzleMaps": {
197
+ "maps": {
198
+ "description": "The Opentrons validated map configurations for this pipette.",
199
+ "type": "object",
200
+ "additionalProperties": {
201
+ "type": "array",
202
+ "items": {
203
+ "type": "string"
204
+ }
205
+ }
206
+ }
207
+ },
160
208
  "pickUpTipConfigurations": {
161
209
  "description": "Object containing configurations for picking up tips common to all partial configurations",
162
210
  "anyOf": [
@@ -166,21 +214,13 @@
166
214
  "properties": {
167
215
  "pressFit": {
168
216
  "type": "object",
169
- "required": [
170
- "presses",
171
- "speed",
172
- "increment",
173
- "distance",
174
- "currentByTipCount"
175
- ],
217
+ "required": ["presses", "increment", "configurationsByNozzleMap"],
176
218
  "additionalProperties": false,
177
219
  "properties": {
178
220
  "presses": { "$ref": "#/definitions/positiveNumber" },
179
- "speed": { "$ref": "#/definitions/positiveNumber" },
180
221
  "increment": { "$ref": "#/definitions/positiveNumber" },
181
- "distance": { "$ref": "#/definitions/positiveNumber" },
182
- "currentByTipCount": {
183
- "$ref": "#/definitions/currentByTipCount"
222
+ "configurationsByNozzleMap": {
223
+ "$ref": "#/definitions/configurationsByNozzleMap"
184
224
  }
185
225
  }
186
226
  }
@@ -195,9 +235,7 @@
195
235
  "required": [
196
236
  "prep_move_distance",
197
237
  "prep_move_speed",
198
- "speed",
199
- "distance",
200
- "currentByTipCount"
238
+ "configurationsByNozzleMap"
201
239
  ],
202
240
  "additionalProperties": false,
203
241
  "properties": {
@@ -205,10 +243,8 @@
205
243
  "$ref": "#/definitions/positiveNumber"
206
244
  },
207
245
  "prep_move_speed": { "$ref": "#/definitions/positiveNumber" },
208
- "speed": { "$ref": "#/definitions/positiveNumber" },
209
- "distance": { "$ref": "#/definitions/positiveNumber" },
210
- "currentByTipCount": {
211
- "$ref": "#/definitions/currentByTipCount"
246
+ "configurationsByNozzleMap": {
247
+ "$ref": "#/definitions/configurationsByNozzleMap"
212
248
  },
213
249
  "connectTiprackDistanceMM": {
214
250
  "$ref": "#/definitions/positiveNumber"
@@ -2,7 +2,7 @@
2
2
 
3
3
  1. Create new JSON schema in `shared-data/protocol/schemas/${schemaVersion}.json`
4
4
  2. Create TS types for new schema in `shared-data/protocol/types`
5
- 3. Create or modify Python types as necessary in both `python/opentrons_shared_data/protocol/dev_types` and in the python api `dev_types` in `api/src/opentrons/protocol_api/dev_types.py`
5
+ 3. Create or modify Python types as necessary in both `python/opentrons_shared_data/protocol/types` and in the python api `types` in `api/src/opentrons/protocol_api/types.py`
6
6
  4. Create new executor in api to handle new schema. Be sure to include unit tests
7
7
  5. Add new test in `api/tests/opentrons/test_execute.py` for the schema
8
8
  6. Add new test in `shared-data/js/__tests__/protocolSchemaV${schemaVersion}.test.js` to ensure new schema definition functions as intended