@opentrons/shared-data 0.1.5 → 0.1.6-alpha.11

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,605 @@
1
+ {
2
+ "$id": "opentronsLabwareSchemaV3",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "definitions": {
5
+ "positiveNumber": {
6
+ "type": "number",
7
+ "minimum": 0
8
+ },
9
+ "brandData": {
10
+ "type": "object",
11
+ "additionalProperties": false,
12
+ "required": ["brand"],
13
+ "properties": {
14
+ "brand": {
15
+ "type": "string",
16
+ "description": "Brand/manufacturer name"
17
+ },
18
+ "brandId": {
19
+ "type": "array",
20
+ "description": "An array of manufacture numbers pertaining to a given labware",
21
+ "items": {
22
+ "type": "string"
23
+ }
24
+ },
25
+ "links": {
26
+ "type": "array",
27
+ "description": "URLs for manufacturer page(s)",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ }
32
+ }
33
+ },
34
+ "displayCategory": {
35
+ "type": "string",
36
+ "enum": [
37
+ "tipRack",
38
+ "tubeRack",
39
+ "reservoir",
40
+ "trash",
41
+ "wellPlate",
42
+ "aluminumBlock",
43
+ "adapter",
44
+ "other"
45
+ ]
46
+ },
47
+ "safeString": {
48
+ "description": "a string safe to use for loadName / namespace. Lowercase-only.",
49
+ "type": "string",
50
+ "pattern": "^[a-z0-9._]+$"
51
+ },
52
+ "coordinates": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": ["x", "y", "z"],
56
+ "properties": {
57
+ "x": {
58
+ "type": "number"
59
+ },
60
+ "y": {
61
+ "type": "number"
62
+ },
63
+ "z": {
64
+ "type": "number"
65
+ }
66
+ }
67
+ },
68
+ "SphericalSegment": {
69
+ "type": "object",
70
+ "description": "A partial sphere shaped section at the bottom of the well.",
71
+ "additionalProperties": false,
72
+ "required": ["shape", "radiusOfCurvature", "topHeight", "bottomHeight"],
73
+ "properties": {
74
+ "shape": {
75
+ "type": "string",
76
+ "enum": ["spherical"]
77
+ },
78
+ "radiusOfCurvature": {
79
+ "type": "number"
80
+ },
81
+ "topHeight": {
82
+ "type": "number"
83
+ },
84
+ "bottomHeight": {
85
+ "type": "number"
86
+ },
87
+ "xCount": {
88
+ "type": "integer"
89
+ },
90
+ "yCount": {
91
+ "type": "integer"
92
+ }
93
+ }
94
+ },
95
+ "ConicalFrustum": {
96
+ "type": "object",
97
+ "description": "A cone or conical segment, bounded by two circles on the top and bottom.",
98
+ "required": [
99
+ "shape",
100
+ "bottomDiameter",
101
+ "topDiameter",
102
+ "topHeight",
103
+ "bottomHeight"
104
+ ],
105
+ "properties": {
106
+ "shape": {
107
+ "type": "string",
108
+ "enum": ["conical"]
109
+ },
110
+ "bottomDiameter": {
111
+ "type": "number"
112
+ },
113
+ "topDiameter": {
114
+ "type": "number"
115
+ },
116
+ "topHeight": {
117
+ "type": "number"
118
+ },
119
+ "bottomHeight": {
120
+ "type": "number"
121
+ },
122
+ "xCount": {
123
+ "type": "integer"
124
+ },
125
+ "yCount": {
126
+ "type": "integer"
127
+ }
128
+ }
129
+ },
130
+ "CuboidalFrustum": {
131
+ "type": "object",
132
+ "description": "A cuboidal shape bounded by two rectangles on the top and bottom",
133
+ "required": [
134
+ "shape",
135
+ "bottomXDimension",
136
+ "bottomYDimension",
137
+ "topXDimension",
138
+ "topYDimension",
139
+ "topHeight",
140
+ "bottomHeight"
141
+ ],
142
+ "properties": {
143
+ "shape": {
144
+ "type": "string",
145
+ "enum": ["cuboidal"]
146
+ },
147
+ "bottomXDimension": {
148
+ "type": "number"
149
+ },
150
+ "bottomYDimension": {
151
+ "type": "number"
152
+ },
153
+ "topXDimension": {
154
+ "type": "number"
155
+ },
156
+ "topYDimension": {
157
+ "type": "number"
158
+ },
159
+ "topHeight": {
160
+ "type": "number"
161
+ },
162
+ "bottomHeight": {
163
+ "type": "number"
164
+ },
165
+ "xCount": {
166
+ "type": "integer"
167
+ },
168
+ "yCount": {
169
+ "type": "integer"
170
+ }
171
+ }
172
+ },
173
+ "SquaredConeSegment": {
174
+ "type": "object",
175
+ "description": "The intersection of a pyramid and a cone that both share a central axis where one face is a circle and one face is a rectangle",
176
+ "required": [
177
+ "shape",
178
+ "bottomCrossSection",
179
+ "circleDiameter",
180
+ "rectangleXDimension",
181
+ "rectangleYDimension",
182
+ "topHeight",
183
+ "bottomHeight"
184
+ ],
185
+ "properties": {
186
+ "shape": {
187
+ "type": "string",
188
+ "enum": ["squaredcone"]
189
+ },
190
+ "bottomCrossSection": {
191
+ "type": "string",
192
+ "enum": ["circular", "rectangular"]
193
+ },
194
+ "circleDiameter": {
195
+ "type": "number"
196
+ },
197
+ "rectangleXDimension": {
198
+ "type": "number"
199
+ },
200
+ "rectangleYDimension": {
201
+ "type": "number"
202
+ },
203
+ "topHeight": {
204
+ "type": "number"
205
+ },
206
+ "bottomHeight": {
207
+ "type": "number"
208
+ },
209
+ "xCount": {
210
+ "type": "integer"
211
+ },
212
+ "yCount": {
213
+ "type": "integer"
214
+ }
215
+ }
216
+ },
217
+ "RoundedCuboidSegment": {
218
+ "type": "object",
219
+ "description": "A cuboidal frustum where each corner is filleted out by circles with centers on the diagonals between opposite corners",
220
+ "required": [
221
+ "shape",
222
+ "bottomCrossSection",
223
+ "circleDiameter",
224
+ "rectangleXDimension",
225
+ "rectangleYDimension",
226
+ "topHeight",
227
+ "bottomHeight"
228
+ ],
229
+ "properties": {
230
+ "shape": {
231
+ "type": "string",
232
+ "enum": ["roundedcuboid"]
233
+ },
234
+ "bottomCrossSection": {
235
+ "type": "string",
236
+ "enum": ["circular", "rectangular"]
237
+ },
238
+ "circleDiameter": {
239
+ "type": "number"
240
+ },
241
+ "rectangleXDimension": {
242
+ "type": "number"
243
+ },
244
+ "rectangleYDimension": {
245
+ "type": "number"
246
+ },
247
+ "topHeight": {
248
+ "type": "number"
249
+ },
250
+ "bottomHeight": {
251
+ "type": "number"
252
+ },
253
+ "xCount": {
254
+ "type": "integer"
255
+ },
256
+ "yCount": {
257
+ "type": "integer"
258
+ }
259
+ }
260
+ },
261
+ "InnerWellGeometry": {
262
+ "type": "object",
263
+ "required": ["sections"],
264
+ "properties": {
265
+ "sections": {
266
+ "description": "A list of all of the sections of the well that have a contiguous shape",
267
+ "type": "array",
268
+ "items": {
269
+ "oneOf": [
270
+ {
271
+ "$ref": "#/definitions/ConicalFrustum"
272
+ },
273
+ {
274
+ "$ref": "#/definitions/CuboidalFrustum"
275
+ },
276
+ {
277
+ "$ref": "#/definitions/SquaredConeSegment"
278
+ },
279
+ {
280
+ "$ref": "#/definitions/RoundedCuboidSegment"
281
+ },
282
+ {
283
+ "$ref": "#/definitions/SphericalSegment"
284
+ }
285
+ ]
286
+ }
287
+ }
288
+ }
289
+ }
290
+ },
291
+ "type": "object",
292
+ "additionalProperties": false,
293
+ "required": [
294
+ "schemaVersion",
295
+ "version",
296
+ "namespace",
297
+ "metadata",
298
+ "brand",
299
+ "parameters",
300
+ "cornerOffsetFromSlot",
301
+ "ordering",
302
+ "dimensions",
303
+ "wells",
304
+ "groups"
305
+ ],
306
+ "properties": {
307
+ "schemaVersion": {
308
+ "description": "Which schema version a labware is using",
309
+ "type": "number",
310
+ "enum": [3]
311
+ },
312
+ "version": {
313
+ "description": "Version of the labware definition itself (eg myPlate v1/v2/v3). An incrementing integer",
314
+ "type": "integer",
315
+ "minimum": 1
316
+ },
317
+ "namespace": {
318
+ "$ref": "#/definitions/safeString"
319
+ },
320
+ "metadata": {
321
+ "type": "object",
322
+ "description": "Properties used for search and display",
323
+ "additionalProperties": false,
324
+ "required": ["displayName", "displayCategory", "displayVolumeUnits"],
325
+ "properties": {
326
+ "displayName": {
327
+ "description": "Easy to remember name of labware",
328
+ "type": "string"
329
+ },
330
+ "displayCategory": {
331
+ "$ref": "#/definitions/displayCategory",
332
+ "description": "Label(s) used in UI to categorize labware"
333
+ },
334
+ "displayVolumeUnits": {
335
+ "description": "Volume units for display",
336
+ "type": "string",
337
+ "enum": ["µL", "mL", "L"]
338
+ },
339
+ "tags": {
340
+ "type": "array",
341
+ "description": "List of descriptions for a given labware",
342
+ "items": {
343
+ "type": "string"
344
+ }
345
+ }
346
+ }
347
+ },
348
+ "brand": {
349
+ "$ref": "#/definitions/brandData",
350
+ "description": "Real-world labware that the definition is modeled from and/or compatible with"
351
+ },
352
+ "parameters": {
353
+ "type": "object",
354
+ "description": "Internal describers used to determine pipette movement to labware",
355
+ "additionalProperties": false,
356
+ "required": [
357
+ "format",
358
+ "isTiprack",
359
+ "loadName",
360
+ "isMagneticModuleCompatible"
361
+ ],
362
+ "properties": {
363
+ "format": {
364
+ "description": "Property to determine compatibility with multichannel pipette",
365
+ "type": "string",
366
+ "enum": ["96Standard", "384Standard", "trough", "irregular", "trash"]
367
+ },
368
+ "quirks": {
369
+ "description": "Property to classify a specific behavior this labware should have",
370
+ "type": "array",
371
+ "items": {
372
+ "type": "string"
373
+ }
374
+ },
375
+ "isTiprack": {
376
+ "description": "Flag marking whether this labware is a tip rack or not",
377
+ "type": "boolean"
378
+ },
379
+ "tipLength": {
380
+ "description": "Required if this labware is a tip rack. Specifies the total length of one of this rack's tips, from top to bottom, as specified by technical drawings or as measured with calipers.",
381
+ "$ref": "#/definitions/positiveNumber"
382
+ },
383
+ "tipOverlap": {
384
+ "description": "Required if this labware is a tip rack. Specifies how far one of this rack's tips is expected to overlap with the nozzle of a pipette. In other words: tipLength, minus the distance between the bottom of the pipette and the bottom of the tip. A robot's positional calibration may fine-tune this estimate.",
385
+ "$ref": "#/definitions/positiveNumber"
386
+ },
387
+ "loadName": {
388
+ "description": "Name used to reference a labware definition",
389
+ "$ref": "#/definitions/safeString"
390
+ },
391
+ "isMagneticModuleCompatible": {
392
+ "description": "Flag marking whether a labware is compatible by default with the Magnetic Module",
393
+ "type": "boolean"
394
+ },
395
+ "magneticModuleEngageHeight": {
396
+ "description": "Distance to move magnetic module magnets to engage",
397
+ "$ref": "#/definitions/positiveNumber"
398
+ }
399
+ }
400
+ },
401
+ "ordering": {
402
+ "type": "array",
403
+ "description": "Generated array that keeps track of how wells should be ordered in a labware",
404
+ "items": {
405
+ "type": "array",
406
+ "items": {
407
+ "type": "string"
408
+ }
409
+ }
410
+ },
411
+ "cornerOffsetFromSlot": {
412
+ "type": "object",
413
+ "additionalProperties": false,
414
+ "description": "Distance from left-front-bottom corner of slot to left-front-bottom corner of labware bounding box. Used for labware that spans multiple slots. For labware that does not span multiple slots, x/y/z should all be zero.",
415
+ "required": ["x", "y", "z"],
416
+ "properties": {
417
+ "x": { "type": "number" },
418
+ "y": { "type": "number" },
419
+ "z": { "type": "number" }
420
+ }
421
+ },
422
+ "dimensions": {
423
+ "type": "object",
424
+ "additionalProperties": false,
425
+ "description": "Outer dimensions of a labware",
426
+ "required": ["xDimension", "yDimension", "zDimension"],
427
+ "properties": {
428
+ "yDimension": {
429
+ "$ref": "#/definitions/positiveNumber"
430
+ },
431
+ "zDimension": {
432
+ "$ref": "#/definitions/positiveNumber"
433
+ },
434
+ "xDimension": {
435
+ "$ref": "#/definitions/positiveNumber"
436
+ }
437
+ }
438
+ },
439
+ "wells": {
440
+ "type": "object",
441
+ "description": "Unordered object of well objects with position and dimensional information",
442
+ "additionalProperties": false,
443
+ "patternProperties": {
444
+ "[A-Z]+[0-9]+": {
445
+ "type": "object",
446
+ "additionalProperties": false,
447
+ "required": ["depth", "shape", "totalLiquidVolume", "x", "y", "z"],
448
+ "oneOf": [
449
+ { "required": ["xDimension", "yDimension"] },
450
+ { "required": ["diameter"] }
451
+ ],
452
+ "not": {
453
+ "anyOf": [
454
+ { "required": ["diameter", "xDimension"] },
455
+ { "required": ["diameter", "yDimension"] }
456
+ ]
457
+ },
458
+ "properties": {
459
+ "depth": {
460
+ "description": "The distance between the top and bottom of this well. If the labware is a tip rack, this will be ignored in favor of tipLength, but the values should match.",
461
+ "$ref": "#/definitions/positiveNumber"
462
+ },
463
+ "x": {
464
+ "description": "x location of center-bottom of well in reference to left-front-bottom of labware",
465
+ "$ref": "#/definitions/positiveNumber"
466
+ },
467
+ "y": {
468
+ "description": "y location of center-bottom of well in reference to left-front-bottom of labware",
469
+ "$ref": "#/definitions/positiveNumber"
470
+ },
471
+ "z": {
472
+ "description": "z location of center-bottom of well in reference to left-front-bottom of labware",
473
+ "$ref": "#/definitions/positiveNumber"
474
+ },
475
+ "totalLiquidVolume": {
476
+ "description": "Total well, tube, or tip volume in microliters",
477
+ "$ref": "#/definitions/positiveNumber"
478
+ },
479
+ "xDimension": {
480
+ "description": "x dimension of rectangular wells",
481
+ "$ref": "#/definitions/positiveNumber"
482
+ },
483
+ "yDimension": {
484
+ "description": "y dimension of rectangular wells",
485
+ "$ref": "#/definitions/positiveNumber"
486
+ },
487
+ "diameter": {
488
+ "description": "diameter of circular wells",
489
+ "$ref": "#/definitions/positiveNumber"
490
+ },
491
+ "shape": {
492
+ "description": "If 'rectangular', use xDimension and yDimension; if 'circular' use diameter",
493
+ "type": "string",
494
+ "enum": ["rectangular", "circular"]
495
+ },
496
+ "geometryDefinitionId": {
497
+ "description": "string id of the well's corresponding innerWellGeometry",
498
+ "type": ["string", "null"]
499
+ }
500
+ }
501
+ }
502
+ }
503
+ },
504
+ "groups": {
505
+ "type": "array",
506
+ "description": "Logical well groupings for metadata/display purposes; changes in groups do not affect protocol execution",
507
+ "items": {
508
+ "type": "object",
509
+ "required": ["wells", "metadata"],
510
+ "additionalProperties": false,
511
+ "properties": {
512
+ "wells": {
513
+ "type": "array",
514
+ "description": "An array of wells that contain the same metadata",
515
+ "items": {
516
+ "type": "string"
517
+ }
518
+ },
519
+ "metadata": {
520
+ "type": "object",
521
+ "description": "Metadata specific to a grid of wells in a labware",
522
+ "required": [],
523
+ "additionalProperties": false,
524
+ "properties": {
525
+ "displayName": {
526
+ "type": "string",
527
+ "description": "User-readable name for the well group"
528
+ },
529
+ "displayCategory": {
530
+ "$ref": "#/definitions/displayCategory",
531
+ "description": "Label(s) used in UI to categorize well groups"
532
+ },
533
+ "wellBottomShape": {
534
+ "type": "string",
535
+ "description": "Bottom shape of the well for UI purposes",
536
+ "enum": ["flat", "u", "v"]
537
+ }
538
+ }
539
+ },
540
+ "brand": {
541
+ "$ref": "#/definitions/brandData",
542
+ "description": "Brand data for the well group (e.g. for tubes)"
543
+ }
544
+ }
545
+ }
546
+ },
547
+ "allowedRoles": {
548
+ "type": "array",
549
+ "description": "Allowed behaviors and usage of a labware in a protocol.",
550
+ "items": {
551
+ "type": "string",
552
+ "enum": ["labware", "adapter", "fixture", "maintenance", "lid"]
553
+ }
554
+ },
555
+ "stackingOffsetWithLabware": {
556
+ "type": "object",
557
+ "description": "Supported labware that can be stacked upon, with overlap height between both labware.",
558
+ "additionalProperties": {
559
+ "$ref": "#/definitions/coordinates"
560
+ }
561
+ },
562
+ "stackingOffsetWithModule": {
563
+ "type": "object",
564
+ "description": "Supported module that can be stacked upon, with overlap height between labware and module.",
565
+ "additionalProperties": {
566
+ "$ref": "#/definitions/coordinates"
567
+ }
568
+ },
569
+ "gripperOffsets": {
570
+ "type": "object",
571
+ "description": "Offsets to be added when calculating the coordinates a gripper should go to when picking up or dropping a labware on this labware.",
572
+ "properties": {
573
+ "default": {
574
+ "type": "object",
575
+ "properties": {
576
+ "pickUpOffset": {
577
+ "$ref": "#/definitions/coordinates",
578
+ "description": "Offset added to calculate pick-up coordinates of a labware placed on this labware."
579
+ },
580
+ "dropOffset": {
581
+ "$ref": "#/definitions/coordinates",
582
+ "description": "Offset added to calculate drop coordinates of a labware placed on this labware."
583
+ }
584
+ },
585
+ "required": ["pickUpOffset", "dropOffset"]
586
+ }
587
+ }
588
+ },
589
+ "gripForce": {
590
+ "type": "number",
591
+ "description": "Force, in Newtons, with which the gripper should grip the labware."
592
+ },
593
+ "gripHeightFromLabwareBottom": {
594
+ "type": "number",
595
+ "description": "Recommended Z-height, from labware bottom to the center of gripper pads, when gripping the labware."
596
+ },
597
+ "innerLabwareGeometry": {
598
+ "type": ["object", "null"],
599
+ "description": "A dictionary holding all unique inner well geometries in a labware.",
600
+ "additionalProperties": {
601
+ "$ref": "#/definitions/InnerWellGeometry"
602
+ }
603
+ }
604
+ }
605
+ }