@opentrons/shared-data 0.1.7-alpha.0 → 0.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/.coveragerc +4 -0
  2. package/.flake8 +31 -0
  3. package/Config.in +11 -0
  4. package/LICENSE +202 -0
  5. package/Makefile +13 -14
  6. package/Makefile-python.mk +134 -0
  7. package/buildroot.mk +35 -0
  8. package/command/index.ts +16 -2
  9. package/command/schemas/12.json +65 -0
  10. package/command/schemas/13.json +7039 -0
  11. package/command/schemas/14.json +7254 -0
  12. package/command/types/annotation.ts +1 -1
  13. package/command/types/calibration.ts +7 -6
  14. package/command/types/gantry.ts +7 -6
  15. package/command/types/incidental.ts +1 -1
  16. package/command/types/index.ts +79 -20
  17. package/command/types/module.ts +98 -11
  18. package/command/types/pipetting.ts +9 -3
  19. package/command/types/robot.ts +98 -0
  20. package/command/types/setup.ts +8 -8
  21. package/command/types/support.ts +14 -2
  22. package/command/types/timing.ts +1 -1
  23. package/command/types/unsafe.ts +63 -1
  24. package/deck/definitions/5/ot2_short_trash.json +37 -0
  25. package/deck/definitions/5/ot2_standard.json +37 -0
  26. package/deck/definitions/5/ot3_standard.json +152 -51
  27. package/deck/index.ts +3 -6
  28. package/deck/schemas/5.json +46 -1
  29. package/errors/definitions/1/errors.json +12 -0
  30. package/errors/index.ts +2 -1
  31. package/labware/definitions/2/agilent_1_reservoir_290ml/3.json +80 -0
  32. package/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/3.json +4737 -0
  33. package/labware/definitions/2/axygen_96_wellplate_500ul/1.json +1036 -0
  34. package/labware/definitions/2/axygen_96_wellplate_500ul/2.json +1159 -0
  35. package/labware/definitions/2/biorad_384_wellplate_50ul/4.json +4748 -0
  36. package/labware/definitions/2/biorad_96_wellplate_200ul_pcr/4.json +1187 -0
  37. package/labware/definitions/2/corning_12_wellplate_6.9ml_flat/4.json +210 -0
  38. package/labware/definitions/2/corning_24_wellplate_3.4ml_flat/4.json +342 -0
  39. package/labware/definitions/2/corning_384_wellplate_112ul_flat/4.json +5116 -0
  40. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/4.json +605 -0
  41. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/5.json +610 -0
  42. package/labware/definitions/2/corning_6_wellplate_16.8ml_flat/4.json +134 -0
  43. package/labware/definitions/2/corning_96_wellplate_360ul_flat/4.json +1177 -0
  44. package/labware/definitions/2/corning_96_wellplate_360ul_lid/1.json +111 -0
  45. package/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1 -1
  46. package/labware/definitions/2/ibidi_96_square_well_plate_300ul/1.json +1105 -0
  47. package/labware/definitions/2/ibidi_96_square_well_plate_300ul/2.json +1216 -0
  48. package/labware/definitions/2/ibidi_96_square_well_plate_300ul_lid/1.json +110 -0
  49. package/labware/definitions/2/nest_12_reservoir_22ml/1.json +232 -0
  50. package/labware/definitions/2/nest_1_reservoir_290ml/3.json +80 -0
  51. package/labware/definitions/2/nest_24_wellplate_10.4ml/1.json +386 -0
  52. package/labware/definitions/2/nest_8_reservoir_22ml/1.json +162 -0
  53. package/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/4.json +1166 -0
  54. package/labware/definitions/2/nest_96_wellplate_200ul_flat/4.json +1145 -0
  55. package/labware/definitions/2/nest_96_wellplate_2ml_deep/4.json +1261 -0
  56. package/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/3.json +370 -0
  57. package/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/3.json +371 -0
  58. package/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/4.json +1149 -0
  59. package/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/4.json +1174 -0
  60. package/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +5 -0
  61. package/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +5 -0
  62. package/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +5 -0
  63. package/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +5 -0
  64. package/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +5 -0
  65. package/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +5 -0
  66. package/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +5 -0
  67. package/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +5 -0
  68. package/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +15 -9
  69. package/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +8 -0
  70. package/labware/definitions/2/opentrons_tough_universal_lid/1.json +16 -1
  71. package/labware/definitions/2/smc_384_read_plate/1.json +4701 -0
  72. package/labware/definitions/2/smc_384_read_plate/2.json +5100 -0
  73. package/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/3.json +1141 -0
  74. package/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/3.json +1141 -0
  75. package/labware/definitions/2/usascientific_12_reservoir_22ml/3.json +237 -0
  76. package/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/3.json +1243 -0
  77. package/labware/definitions/3/schema3test_96_well_aluminum_block/999.json +1050 -0
  78. package/labware/definitions/3/schema3test_96_wellplate_200ul_pcr_full_skirt/999.json +1202 -0
  79. package/labware/definitions/3/schema3test_aluminum_flat_bottom_plate/999.json +70 -0
  80. package/labware/definitions/3/schema3test_flex_96_tiprack_200ul/999.json +1037 -0
  81. package/labware/definitions/3/schema3test_flex_96_tiprack_adapter/999.json +70 -0
  82. package/labware/definitions/3/schema3test_flex_tiprack_lid/999.json +146 -0
  83. package/labware/definitions/3/schema3test_tough_pcr_auto_sealing_lid/999.json +162 -0
  84. package/labware/definitions/3/schema3test_universal_flat_adapter/999.json +157 -0
  85. package/labware/fixtures/2/fixture_user_volumes_prototype.json +1137 -0
  86. package/labware/fixtures/2/index.ts +4 -4
  87. package/labware/fixtures/3/fixture_2_plate.json +28 -11
  88. package/labware/fixtures/3/fixture_corning_24_plate.json +51 -34
  89. package/labware/fixtures/3/index.ts +4 -0
  90. package/labware/schemas/2.json +36 -1
  91. package/labware/schemas/3.json +115 -25
  92. package/lib/command/index.d.ts +4211 -2095
  93. package/lib/command/schemas/12.json +65 -0
  94. package/lib/command/schemas/13.json +7039 -0
  95. package/lib/command/schemas/14.json +7254 -0
  96. package/lib/command/types/annotation.d.ts +1 -1
  97. package/lib/command/types/calibration.d.ts +5 -5
  98. package/lib/command/types/gantry.d.ts +5 -4
  99. package/lib/command/types/incidental.d.ts +1 -1
  100. package/lib/command/types/index.d.ts +60 -14
  101. package/lib/command/types/module.d.ts +75 -13
  102. package/lib/command/types/pipetting.d.ts +8 -3
  103. package/lib/command/types/robot.d.ts +71 -0
  104. package/lib/command/types/setup.d.ts +5 -5
  105. package/lib/command/types/support.d.ts +3 -2
  106. package/lib/command/types/timing.d.ts +1 -1
  107. package/lib/command/types/unsafe.d.ts +44 -3
  108. package/lib/deck/definitions/5/ot2_short_trash.json +37 -0
  109. package/lib/deck/definitions/5/ot2_standard.json +37 -0
  110. package/lib/deck/definitions/5/ot3_standard.json +152 -51
  111. package/lib/deck/index.d.ts +3 -3
  112. package/lib/deck/schemas/5.json +46 -1
  113. package/lib/errors/definitions/1/errors.json +12 -0
  114. package/lib/errors/index.d.ts +1 -1
  115. package/lib/index.mjs +380872 -297265
  116. package/lib/js/constants.d.ts +45 -17
  117. package/lib/js/deck/index.d.ts +2 -2
  118. package/lib/js/fixtures.d.ts +78 -3
  119. package/lib/js/getLabware.d.ts +3 -3
  120. package/lib/js/gripper.d.ts +1 -1
  121. package/lib/js/helpers/__tests__/getMaxPushOutVolume.test.d.ts +1 -0
  122. package/lib/js/helpers/__tests__/getMmFromBottom.test.d.ts +1 -0
  123. package/lib/js/helpers/__tests__/getStackedItemsOnStartingDeck.test.d.ts +1 -0
  124. package/lib/js/helpers/__tests__/labwareSchemaShims.test.d.ts +1 -0
  125. package/lib/js/helpers/__tests__/liquidClasses.test.d.ts +1 -0
  126. package/lib/js/helpers/__tests__/pairsFromArray.test.d.ts +1 -0
  127. package/lib/js/helpers/__tests__/vectorMath.test.d.ts +1 -0
  128. package/lib/js/helpers/getFixedTrashLabwareDefinition.d.ts +2 -2
  129. package/lib/js/helpers/getLabwareDefURI.d.ts +3 -0
  130. package/lib/js/helpers/getLabwareDefinitionsByURIForProtocol.d.ts +6 -0
  131. package/lib/js/helpers/getLabwareInfoByLiquidId.d.ts +10 -0
  132. package/lib/js/helpers/getLiquidsByIdForLabware.d.ts +2 -0
  133. package/lib/js/helpers/getLoadedLabwareDefinitionsByUri.d.ts +2 -2
  134. package/lib/js/helpers/getMaxPushOutVolume.d.ts +2 -0
  135. package/lib/js/helpers/getMmFromBottom.d.ts +2 -0
  136. package/lib/js/helpers/getSimplestFlexDeckConfig.d.ts +1 -1
  137. package/lib/js/helpers/getStackedItemsOnStartingDeck.d.ts +50 -0
  138. package/lib/js/helpers/getStandardDeckViewLayerBlockList.d.ts +2 -0
  139. package/lib/js/helpers/getTipTypeFromTipRackDefinition.d.ts +2 -2
  140. package/lib/js/helpers/getWellFillFromLabwareId.d.ts +4 -0
  141. package/lib/js/helpers/getWellNamePerMultiTip.d.ts +3 -3
  142. package/lib/js/helpers/getWellRangeForLiquidLabwarePair.d.ts +6 -0
  143. package/lib/js/helpers/getWellTotalVolume.d.ts +2 -2
  144. package/lib/js/helpers/index.d.ts +25 -14
  145. package/lib/js/helpers/labwareInference.d.ts +3 -3
  146. package/lib/js/helpers/liquidClasses.d.ts +10 -0
  147. package/lib/js/helpers/matrixMath.d.ts +3 -0
  148. package/lib/js/helpers/pairsFromArray.d.ts +8 -0
  149. package/lib/js/helpers/parseAddressableArea.d.ts +1 -1
  150. package/lib/js/helpers/parseProtocolCommands.d.ts +5 -5
  151. package/lib/js/helpers/positionMath.d.ts +127 -0
  152. package/lib/js/helpers/validateCustomLabwareHelper.d.ts +2 -2
  153. package/lib/js/helpers/vectorMath.d.ts +14 -0
  154. package/lib/js/helpers/wellSets.d.ts +4 -4
  155. package/lib/js/labware.d.ts +10 -9
  156. package/lib/js/labwareTools/index.d.ts +1 -1
  157. package/lib/js/liquidClasses.d.ts +4 -0
  158. package/lib/js/modules.d.ts +2 -2
  159. package/lib/js/pipettes.d.ts +3 -2
  160. package/lib/js/types.d.ts +105 -38
  161. package/lib/labware/definitions/2/agilent_1_reservoir_290ml/3.json +80 -0
  162. package/lib/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/3.json +4737 -0
  163. package/lib/labware/definitions/2/axygen_96_wellplate_500ul/1.json +1036 -0
  164. package/lib/labware/definitions/2/axygen_96_wellplate_500ul/2.json +1159 -0
  165. package/lib/labware/definitions/2/biorad_384_wellplate_50ul/4.json +4748 -0
  166. package/lib/labware/definitions/2/biorad_96_wellplate_200ul_pcr/4.json +1187 -0
  167. package/lib/labware/definitions/2/corning_12_wellplate_6.9ml_flat/4.json +210 -0
  168. package/lib/labware/definitions/2/corning_24_wellplate_3.4ml_flat/4.json +342 -0
  169. package/lib/labware/definitions/2/corning_384_wellplate_112ul_flat/4.json +5116 -0
  170. package/lib/labware/definitions/2/corning_48_wellplate_1.6ml_flat/4.json +605 -0
  171. package/lib/labware/definitions/2/corning_48_wellplate_1.6ml_flat/5.json +610 -0
  172. package/lib/labware/definitions/2/corning_6_wellplate_16.8ml_flat/4.json +134 -0
  173. package/lib/labware/definitions/2/corning_96_wellplate_360ul_flat/4.json +1177 -0
  174. package/lib/labware/definitions/2/corning_96_wellplate_360ul_lid/1.json +111 -0
  175. package/lib/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1 -1
  176. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul/1.json +1105 -0
  177. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul/2.json +1216 -0
  178. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul_lid/1.json +110 -0
  179. package/lib/labware/definitions/2/nest_12_reservoir_22ml/1.json +232 -0
  180. package/lib/labware/definitions/2/nest_1_reservoir_290ml/3.json +80 -0
  181. package/lib/labware/definitions/2/nest_24_wellplate_10.4ml/1.json +386 -0
  182. package/lib/labware/definitions/2/nest_8_reservoir_22ml/1.json +162 -0
  183. package/lib/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/4.json +1166 -0
  184. package/lib/labware/definitions/2/nest_96_wellplate_200ul_flat/4.json +1145 -0
  185. package/lib/labware/definitions/2/nest_96_wellplate_2ml_deep/4.json +1261 -0
  186. package/lib/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/3.json +370 -0
  187. package/lib/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/3.json +371 -0
  188. package/lib/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/4.json +1149 -0
  189. package/lib/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/4.json +1174 -0
  190. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +5 -0
  191. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +5 -0
  192. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +5 -0
  193. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +5 -0
  194. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +5 -0
  195. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +5 -0
  196. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +5 -0
  197. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +5 -0
  198. package/lib/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +15 -9
  199. package/lib/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +8 -0
  200. package/lib/labware/definitions/2/opentrons_tough_universal_lid/1.json +16 -1
  201. package/lib/labware/definitions/2/smc_384_read_plate/1.json +4701 -0
  202. package/lib/labware/definitions/2/smc_384_read_plate/2.json +5100 -0
  203. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/3.json +1141 -0
  204. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/3.json +1141 -0
  205. package/lib/labware/definitions/2/usascientific_12_reservoir_22ml/3.json +237 -0
  206. package/lib/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/3.json +1243 -0
  207. package/lib/labware/definitions/3/schema3test_96_well_aluminum_block/999.json +1050 -0
  208. package/lib/labware/definitions/3/schema3test_96_wellplate_200ul_pcr_full_skirt/999.json +1202 -0
  209. package/lib/labware/definitions/3/schema3test_aluminum_flat_bottom_plate/999.json +70 -0
  210. package/lib/labware/definitions/3/schema3test_flex_96_tiprack_200ul/999.json +1037 -0
  211. package/lib/labware/definitions/3/schema3test_flex_96_tiprack_adapter/999.json +70 -0
  212. package/lib/labware/definitions/3/schema3test_flex_tiprack_lid/999.json +146 -0
  213. package/lib/labware/definitions/3/schema3test_tough_pcr_auto_sealing_lid/999.json +162 -0
  214. package/lib/labware/definitions/3/schema3test_universal_flat_adapter/999.json +157 -0
  215. package/lib/labware/fixtures/2/fixture_user_volumes_prototype.json +1137 -0
  216. package/lib/labware/fixtures/2/index.d.ts +4 -4
  217. package/lib/labware/fixtures/3/fixture_2_plate.json +28 -11
  218. package/lib/labware/fixtures/3/fixture_corning_24_plate.json +51 -34
  219. package/lib/labware/fixtures/3/index.d.ts +3 -0
  220. package/lib/labware/schemas/2.json +36 -1
  221. package/lib/labware/schemas/3.json +115 -25
  222. package/lib/liquid-class/definitions/1/{ethanol_80.json → ethanol_80/1.json} +1957 -1406
  223. package/lib/liquid-class/definitions/1/{glycerol_50.json → glycerol_50/1.json} +1781 -1230
  224. package/lib/liquid-class/definitions/1/{water.json → water/1.json} +1567 -1082
  225. package/lib/liquid-class/fixtures/1/fixture_glycerol50.json +67 -48
  226. package/lib/liquid-class/schemas/1.json +40 -48
  227. package/lib/module/definitions/3/absorbanceReaderV1.json +20 -150
  228. package/lib/module/definitions/3/flexStackerModuleV1.json +31 -385
  229. package/lib/module/definitions/3/heaterShakerModuleV1.json +16 -357
  230. package/lib/module/definitions/3/magneticBlockV1.json +18 -148
  231. package/lib/module/definitions/3/magneticModuleV1.json +16 -398
  232. package/lib/module/definitions/3/magneticModuleV2.json +16 -398
  233. package/lib/module/definitions/3/temperatureModuleV1.json +16 -152
  234. package/lib/module/definitions/3/temperatureModuleV2.json +16 -152
  235. package/lib/module/definitions/3/thermocyclerModuleV1.json +16 -1339
  236. package/lib/module/definitions/3/thermocyclerModuleV2.json +18 -3616
  237. package/lib/module/schemas/3.json +111 -10
  238. package/lib/pipette/definitions/1/pipetteModelSpecs.json +336 -0
  239. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/3_2.json +660 -0
  240. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +4 -0
  241. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/3_0.json +4 -0
  242. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/3_2.json +309 -0
  243. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_6.json +4 -0
  244. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json +11 -11
  245. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +12 -12
  246. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +28 -18
  247. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_2.json +192 -0
  248. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +5 -5
  249. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +5 -5
  250. package/lib/pipette/fixtures/name/index.d.ts +1 -1
  251. package/lib/protocol/fixtures/index.d.ts +2 -2
  252. package/lib/protocol/index.d.ts +7 -7
  253. package/lib/protocol/types/schemaV4.d.ts +1 -1
  254. package/lib/protocol/types/schemaV5.d.ts +1 -1
  255. package/lib/protocol/types/schemaV5Addendum.d.ts +1 -1
  256. package/lib/protocol/types/schemaV6/command/gantry.d.ts +4 -4
  257. package/lib/protocol/types/schemaV6/command/index.d.ts +5 -5
  258. package/lib/protocol/types/schemaV6/command/module.d.ts +1 -1
  259. package/lib/protocol/types/schemaV6/command/pipetting.d.ts +1 -1
  260. package/lib/protocol/types/schemaV6/command/setup.d.ts +1 -1
  261. package/lib/protocol/types/schemaV6/command/timing.d.ts +1 -1
  262. package/lib/protocol/types/schemaV6/index.d.ts +2 -2
  263. package/lib/protocol/types/schemaV7/command/annotation.d.ts +1 -1
  264. package/lib/protocol/types/schemaV7/command/calibration.d.ts +5 -5
  265. package/lib/protocol/types/schemaV7/command/gantry.d.ts +4 -4
  266. package/lib/protocol/types/schemaV7/command/incidental.d.ts +1 -1
  267. package/lib/protocol/types/schemaV7/command/index.d.ts +7 -7
  268. package/lib/protocol/types/schemaV7/command/module.d.ts +1 -1
  269. package/lib/protocol/types/schemaV7/command/pipetting.d.ts +1 -1
  270. package/lib/protocol/types/schemaV7/command/setup.d.ts +1 -1
  271. package/lib/protocol/types/schemaV7/command/timing.d.ts +1 -1
  272. package/lib/protocol/types/schemaV7/index.d.ts +2 -2
  273. package/lib/protocol/types/schemaV8/index.d.ts +18 -2
  274. package/liquid-class/definitions/1/{ethanol_80.json → ethanol_80/1.json} +1957 -1406
  275. package/liquid-class/definitions/1/{glycerol_50.json → glycerol_50/1.json} +1781 -1230
  276. package/liquid-class/definitions/1/{water.json → water/1.json} +1567 -1082
  277. package/liquid-class/fixtures/1/fixture_glycerol50.json +67 -48
  278. package/liquid-class/schemas/1.json +40 -48
  279. package/module/definitions/3/absorbanceReaderV1.json +20 -150
  280. package/module/definitions/3/flexStackerModuleV1.json +31 -385
  281. package/module/definitions/3/heaterShakerModuleV1.json +16 -357
  282. package/module/definitions/3/magneticBlockV1.json +18 -148
  283. package/module/definitions/3/magneticModuleV1.json +16 -398
  284. package/module/definitions/3/magneticModuleV2.json +16 -398
  285. package/module/definitions/3/temperatureModuleV1.json +16 -152
  286. package/module/definitions/3/temperatureModuleV2.json +16 -152
  287. package/module/definitions/3/thermocyclerModuleV1.json +16 -1339
  288. package/module/definitions/3/thermocyclerModuleV2.json +18 -3616
  289. package/module/schemas/3.json +111 -10
  290. package/mypy.ini +22 -0
  291. package/package.json +1 -1
  292. package/pipette/definitions/1/pipetteModelSpecs.json +336 -0
  293. package/pipette/definitions/2/general/ninety_six_channel/p200/3_2.json +660 -0
  294. package/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +4 -0
  295. package/pipette/definitions/2/geometry/ninety_six_channel/p200/3_0.json +4 -0
  296. package/pipette/definitions/2/geometry/ninety_six_channel/p200/3_2.json +309 -0
  297. package/pipette/definitions/2/geometry/single_channel/p50/3_6.json +4 -0
  298. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json +11 -11
  299. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +12 -12
  300. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +28 -18
  301. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_2.json +192 -0
  302. package/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +5 -5
  303. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +5 -5
  304. package/pipette/fixtures/index.ts +12 -12
  305. package/pipette/fixtures/name/index.ts +1 -0
  306. package/protocol/fixtures/index.ts +2 -3
  307. package/protocol/index.ts +9 -8
  308. package/protocol/types/schemaV4.ts +4 -4
  309. package/protocol/types/schemaV5.ts +1 -1
  310. package/protocol/types/schemaV5Addendum.ts +1 -1
  311. package/protocol/types/schemaV6/command/gantry.ts +4 -4
  312. package/protocol/types/schemaV6/command/index.ts +6 -6
  313. package/protocol/types/schemaV6/command/module.ts +1 -1
  314. package/protocol/types/schemaV6/command/pipetting.ts +2 -1
  315. package/protocol/types/schemaV6/command/setup.ts +2 -2
  316. package/protocol/types/schemaV6/command/timing.ts +1 -1
  317. package/protocol/types/schemaV6/index.ts +3 -3
  318. package/protocol/types/schemaV7/command/annotation.ts +1 -1
  319. package/protocol/types/schemaV7/command/calibration.ts +7 -6
  320. package/protocol/types/schemaV7/command/gantry.ts +5 -5
  321. package/protocol/types/schemaV7/command/incidental.ts +1 -1
  322. package/protocol/types/schemaV7/command/index.ts +14 -14
  323. package/protocol/types/schemaV7/command/module.ts +1 -1
  324. package/protocol/types/schemaV7/command/pipetting.ts +2 -1
  325. package/protocol/types/schemaV7/command/setup.ts +2 -2
  326. package/protocol/types/schemaV7/command/timing.ts +1 -1
  327. package/protocol/types/schemaV7/index.ts +3 -3
  328. package/protocol/types/schemaV8/index.ts +32 -4
  329. package/pyproject.toml +119 -0
  330. package/pytest.ini +8 -0
  331. package/python_tests/__init__.py +1 -0
  332. package/python_tests/command/test_known_schema_ids.py +9 -0
  333. package/python_tests/conftest.py +108 -0
  334. package/python_tests/deck/__init__.py +0 -0
  335. package/python_tests/deck/test_list_names.py +12 -0
  336. package/python_tests/deck/test_position.py +101 -0
  337. package/python_tests/deck/test_typechecks.py +23 -0
  338. package/python_tests/errors/__init__.py +1 -0
  339. package/python_tests/errors/test_error_completeness.py +19 -0
  340. package/python_tests/errors/test_exceptions.py +74 -0
  341. package/python_tests/gripper/__init__.py +0 -0
  342. package/python_tests/gripper/test_definition.py +30 -0
  343. package/python_tests/gripper/test_load.py +19 -0
  344. package/python_tests/labware/__init__.py +13 -0
  345. package/python_tests/labware/test_typechecks.py +80 -0
  346. package/python_tests/liquid_classes/__init__.py +0 -0
  347. package/python_tests/liquid_classes/test_liquid_class_values.py +59 -0
  348. package/python_tests/liquid_classes/test_load.py +45 -0
  349. package/python_tests/liquid_classes/test_validations.py +192 -0
  350. package/python_tests/module/__init__.py +20 -0
  351. package/python_tests/module/test_load.py +49 -0
  352. package/python_tests/module/test_typechecks.py +26 -0
  353. package/python_tests/pipette/__init__.py +0 -0
  354. package/python_tests/pipette/test_load_data.py +109 -0
  355. package/python_tests/pipette/test_max_flow_rates_per_volume.py +112 -0
  356. package/python_tests/pipette/test_mutable_configurations.py +467 -0
  357. package/python_tests/pipette/test_pipette_definition.py +183 -0
  358. package/python_tests/pipette/test_pipette_load_name_conversions.py +244 -0
  359. package/python_tests/pipette/test_typechecks.py +47 -0
  360. package/python_tests/pipette/test_validate_schema.py +198 -0
  361. package/python_tests/protocol/__init__.py +7 -0
  362. package/python_tests/protocol/test_protocol_schema_v6.py +108 -0
  363. package/python_tests/protocol/test_protocol_schema_v7.py +35 -0
  364. package/python_tests/protocol/test_protocol_schema_v8.py +17 -0
  365. package/python_tests/protocol/test_typechecks.py +30 -0
  366. package/python_tests/robot/__init__.py +0 -0
  367. package/python_tests/robot/test_typechecks.py +13 -0
  368. package/lib/js/cypressUtils.d.ts +0 -1
  369. package/lib/js/helpers/getVectorDifference.d.ts +0 -2
  370. package/lib/js/helpers/getVectorSum.d.ts +0 -2
  371. /package/lib/js/{helpers/__tests__/getVectorDifference.test.d.ts → __tests__/fixtures.test.d.ts} +0 -0
  372. /package/lib/js/helpers/__tests__/{getVectorSum.test.d.ts → getLabwareInfoByLiquidId.test.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
 
3
3
  export type AnnotationCreateCommand = CommentCreateCommand | CustomCreateCommand
4
4
 
@@ -1,10 +1,11 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
  import type {
3
- PipetteMount,
4
3
  GantryMount,
5
4
  LabwareOffset,
6
- Coordinates,
5
+ PipetteMount,
6
+ Vector3D,
7
7
  } from '../../js/types'
8
+
8
9
  // TODO (sb 10/26/22): Separate out calibration commands from protocol schema in RAUT-272
9
10
  export interface CalibratePipetteCreateCommand extends CommonCommandCreateInfo {
10
11
  commandType: 'calibration/calibratePipette'
@@ -62,7 +63,7 @@ interface CalibratePipetteParams {
62
63
  }
63
64
  interface CalibrateGripperParams {
64
65
  jaw: 'front' | 'rear'
65
- otherJawOffset?: Coordinates
66
+ otherJawOffset?: Vector3D
66
67
  }
67
68
  interface CalibrateModuleParams {
68
69
  moduleId: string
@@ -73,12 +74,12 @@ interface CalibratePipetteResult {
73
74
  pipetteOffset: LabwareOffset
74
75
  }
75
76
  interface CalibrateGripperResult {
76
- jawOffset: Coordinates
77
+ jawOffset: Vector3D
77
78
  }
78
79
  interface MoveToMaintenancePositionParams {
79
80
  mount: GantryMount
80
81
  maintenancePosition?: 'attachPlate' | 'attachInstrument'
81
82
  }
82
83
  interface CalibrateModuleResult {
83
- moduleOffset: Coordinates
84
+ moduleOffset: Vector3D
84
85
  }
@@ -1,12 +1,12 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
  import type { AddressableAreaName } from '../../deck'
3
- import type { WellLocation } from './support'
4
3
  import type {
5
- Coordinates,
4
+ GantryMount,
6
5
  MotorAxes,
7
6
  MotorAxis,
8
- GantryMount,
7
+ Vector3D,
9
8
  } from '../../js/types'
9
+ import type { WellLocation } from './support'
10
10
 
11
11
  export interface MoveToSlotCreateCommand extends CommonCommandCreateInfo {
12
12
  commandType: 'moveToSlot'
@@ -44,7 +44,7 @@ export interface MoveRelativeRunTimeCommand
44
44
  extends CommonCommandRunTimeInfo,
45
45
  MoveRelativeCreateCommand {
46
46
  result?: {
47
- position: Coordinates
47
+ position: Vector3D
48
48
  }
49
49
  }
50
50
  export interface SavePositionCreateCommand extends CommonCommandCreateInfo {
@@ -56,7 +56,7 @@ export interface SavePositionRunTimeCommand
56
56
  SavePositionCreateCommand {
57
57
  result?: {
58
58
  positionId: string
59
- position: Coordinates
59
+ position: Vector3D
60
60
  }
61
61
  }
62
62
  export interface HomeCreateCommand extends CommonCommandCreateInfo {
@@ -129,6 +129,7 @@ export interface MoveToWellParams {
129
129
  wellLocation?: WellLocation
130
130
  minimumZHeight?: number
131
131
  forceDirect?: boolean
132
+ speed?: number
132
133
  }
133
134
 
134
135
  interface MoveToCoordinatesParams {
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
  import type { StatusBarAnimation } from '../../js/types'
3
3
 
4
4
  export type IncidentalCreateCommand =
@@ -1,25 +1,26 @@
1
1
  import type { ErrorCodes } from '../../errors'
2
2
  import type {
3
- PipettingRunTimeCommand,
4
- PipettingCreateCommand,
5
- } from './pipetting'
6
- import type { GantryRunTimeCommand, GantryCreateCommand } from './gantry'
7
- import type { ModuleRunTimeCommand, ModuleCreateCommand } from './module'
8
- import type { SetupRunTimeCommand, SetupCreateCommand } from './setup'
9
- import type { TimingRunTimeCommand, TimingCreateCommand } from './timing'
10
- import type {
11
- IncidentalCreateCommand,
12
- IncidentalRunTimeCommand,
13
- } from './incidental'
14
- import type {
15
- AnnotationRunTimeCommand,
16
3
  AnnotationCreateCommand,
4
+ AnnotationRunTimeCommand,
17
5
  } from './annotation'
18
6
  import type {
19
- CalibrationRunTimeCommand,
20
7
  CalibrationCreateCommand,
8
+ CalibrationRunTimeCommand,
21
9
  } from './calibration'
22
- import type { UnsafeRunTimeCommand, UnsafeCreateCommand } from './unsafe'
10
+ import type { GantryCreateCommand, GantryRunTimeCommand } from './gantry'
11
+ import type {
12
+ IncidentalCreateCommand,
13
+ IncidentalRunTimeCommand,
14
+ } from './incidental'
15
+ import type { ModuleCreateCommand, ModuleRunTimeCommand } from './module'
16
+ import type {
17
+ PipettingCreateCommand,
18
+ PipettingRunTimeCommand,
19
+ } from './pipetting'
20
+ import type { RobotCreateCommand, RobotRunTimeCommand } from './robot'
21
+ import type { SetupCreateCommand, SetupRunTimeCommand } from './setup'
22
+ import type { TimingCreateCommand, TimingRunTimeCommand } from './timing'
23
+ import type { UnsafeCreateCommand, UnsafeRunTimeCommand } from './unsafe'
23
24
 
24
25
  export * from './annotation'
25
26
  export * from './calibration'
@@ -31,6 +32,7 @@ export * from './setup'
31
32
  export * from './timing'
32
33
  export * from './unsafe'
33
34
  export * from './support'
35
+ export * from './robot'
34
36
  // NOTE: these key/value pairs will only be present on commands at analysis/run time
35
37
  // they pertain only to the actual execution status of a command on hardware, as opposed to
36
38
  // the command's identity and parameters which can be known prior to runtime
@@ -42,11 +44,13 @@ export interface CommandNote {
42
44
  }
43
45
  export type CommandStatus = 'queued' | 'running' | 'succeeded' | 'failed'
44
46
  export type CommandIntent = 'protocol' | 'setup' | 'fixit'
45
- export interface CommonCommandRunTimeInfo {
47
+ export interface CommonCommandRunTimeInfo<
48
+ DefinedErrorsT extends DefinedRunCommandError = DefinedRunCommandError
49
+ > {
46
50
  key?: string
47
51
  id: string
48
52
  status: CommandStatus
49
- error?: RunCommandError | null
53
+ error?: RunCommandErrorUndefined | DefinedErrorsT | null
50
54
  createdAt: string
51
55
  startedAt: string | null
52
56
  completedAt: string | null
@@ -70,6 +74,7 @@ export type CreateCommand =
70
74
  | AnnotationCreateCommand // annotating command execution
71
75
  | IncidentalCreateCommand // command with only incidental effects (status bar animations)
72
76
  | UnsafeCreateCommand // command providing capabilities that are not safe for scientific uses
77
+ | RobotCreateCommand // command providing underlying robot capabilities outside the normal model
73
78
 
74
79
  // commands will be required to have a key, but will not be created with one
75
80
  export type RunTimeCommand =
@@ -82,10 +87,19 @@ export type RunTimeCommand =
82
87
  | AnnotationRunTimeCommand // annotating command execution
83
88
  | IncidentalRunTimeCommand // command with only incidental effects (status bar animations)
84
89
  | UnsafeRunTimeCommand // command providing capabilities that are not safe for scientific uses
90
+ | RobotRunTimeCommand // command providing underlying robot capabilities outside the normal model
85
91
 
86
- export type RunCommandError =
87
- | RunCommandErrorUndefined
92
+ export type RunCommandError = RunCommandErrorUndefined | DefinedRunCommandError
93
+
94
+ export type DefinedRunCommandError =
95
+ | RunCommandRobotActionError
96
+ | RunCommandFlexStackerError
97
+
98
+ export type RunCommandRobotActionError =
88
99
  | RunCommandErrorOverpressure
100
+ | RunCommandErrorTipPhysicallyAttached
101
+
102
+ export type Failed<CommandT extends RunTimeCommand> = Omit<CommandT, 'result'>
89
103
 
90
104
  // TODO(jh, 05-24-24): Update when some of these newer properties become more finalized.
91
105
  export interface RunCommandErrorBase {
@@ -98,7 +112,7 @@ export interface RunCommandErrorBase {
98
112
  export interface RunCommandErrorUndefined extends RunCommandErrorBase {
99
113
  errorCode: ErrorCodes
100
114
  errorType: string
101
- isDefined: false
115
+ isDefined: boolean
102
116
  errorInfo?: Record<string, unknown>
103
117
  }
104
118
 
@@ -108,3 +122,48 @@ export interface RunCommandErrorOverpressure extends RunCommandErrorBase {
108
122
  isDefined: true
109
123
  errorInfo: { retryLocation: [number, number, number] }
110
124
  }
125
+
126
+ export interface RunCommandErrorTipPhysicallyAttached
127
+ extends RunCommandErrorBase {
128
+ errorCode: '3004'
129
+ errorType: 'tipPhysicallyAttached'
130
+ isDefined: true
131
+ errorInfo: { retryLocation: [number, number, number] }
132
+ }
133
+
134
+ export interface RunCommandErrorFlexStackerStall extends RunCommandErrorBase {
135
+ errorCode: '2019'
136
+ errorType: 'flexStackerStallOrCollision'
137
+ isDefined: true
138
+ errorInfo: { labwareId?: string }
139
+ }
140
+
141
+ export interface RunCommandErrorFlexStackerShuttleMissing
142
+ extends RunCommandErrorBase {
143
+ errorCode: '3020'
144
+ errorType: 'flexStackerShuttleMissing'
145
+ isDefined: true
146
+ errorInfo: { labwareId?: string }
147
+ }
148
+
149
+ export interface RunCommandErrorFlexStackerShuttleLabware
150
+ extends RunCommandErrorBase {
151
+ errorCode: '3021'
152
+ errorType: 'flexStackerLabwareRetrieveFailed'
153
+ isDefined: true
154
+ errorInfo: { labwareId?: string }
155
+ }
156
+
157
+ export interface RunCommandErrorFlexStackerHopperLabware
158
+ extends RunCommandErrorBase {
159
+ errorCode: '3022'
160
+ errorType: 'flexStackerHopperLabwareFailed'
161
+ isDefined: true
162
+ errorInfo: { labwareId?: string }
163
+ }
164
+
165
+ export type RunCommandFlexStackerError =
166
+ | RunCommandErrorFlexStackerStall
167
+ | RunCommandErrorFlexStackerShuttleMissing
168
+ | RunCommandErrorFlexStackerHopperLabware
169
+ | RunCommandErrorFlexStackerShuttleLabware
@@ -1,6 +1,10 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type {
2
+ CommonCommandCreateInfo,
3
+ CommonCommandRunTimeInfo,
4
+ RunCommandFlexStackerError,
5
+ } from '.'
6
+ import type { LabwareDefinition } from '../../js'
2
7
  import type { LabwareLocationSequence } from './setup'
3
- import type { LabwareDefinition2 } from '../../js'
4
8
 
5
9
  export type ModuleRunTimeCommand =
6
10
  | MagneticModuleEngageMagnetRunTimeCommand
@@ -35,6 +39,7 @@ export type ModuleRunTimeCommand =
35
39
  | FlexStackerStoreRunTimeCommand
36
40
  | FlexStackerFillRunTimeCommand
37
41
  | FlexStackerEmptyRunTimeCommand
42
+ | IdentifyModuleRunTimeCommand
38
43
 
39
44
  export type ModuleCreateCommand =
40
45
  | MagneticModuleEngageMagnetCreateCommand
@@ -69,6 +74,10 @@ export type ModuleCreateCommand =
69
74
  | FlexStackerStoreCreateCommand
70
75
  | FlexStackerFillCreateCommand
71
76
  | FlexStackerEmptyCreateCommand
77
+ | FlexStackerPrepareShuttleCreateCommand
78
+ | FlexStackerOpenLatch
79
+ | FlexStackerCloseLatch
80
+ | IdentifyModuleCreateCommand
72
81
 
73
82
  export interface MagneticModuleEngageMagnetCreateCommand
74
83
  extends CommonCommandCreateInfo {
@@ -399,12 +408,34 @@ export interface FlexStackerStoredLabwareDetails {
399
408
  version: number
400
409
  }
401
410
 
411
+ export interface FlexStackerStoredLabwareGroup {
412
+ primaryLabwareId: string
413
+ adapterLabwareId: string | null
414
+ lidLabwareId: string | null
415
+ }
416
+
417
+ interface StackerStoredLabwareLocationSequences {
418
+ originalPrimaryLabwareLocationSequences?: LabwareLocationSequence[] | null
419
+ originalAdapterLabwareLocationSequences?: LabwareLocationSequence[] | null
420
+ originalLidLabwareLocationSequences?: LabwareLocationSequence[] | null
421
+ newPrimaryLabwareLocationSequences?: LabwareLocationSequence[] | null
422
+ newAdapterLabwareLocationSequences?: LabwareLocationSequence[] | null
423
+ newLidLabwareLocationSequences?: LabwareLocationSequence[] | null
424
+ }
425
+
426
+ interface StackerStoredLabwareDefinitionURIs {
427
+ primaryLabwareURI: string
428
+ adapterLabwareURI?: string | null
429
+ lidLabwareURI?: string | null
430
+ }
431
+
402
432
  export interface FlexStackerSetStoredLabwareCreateCommand
403
433
  extends CommonCommandCreateInfo {
404
434
  commandType: 'flexStacker/setStoredLabware'
405
435
  params: {
406
436
  moduleId: string
407
- initialCount: number
437
+ initialCount?: number | null
438
+ initialStoredLabware?: FlexStackerStoredLabwareGroup[] | null
408
439
  primaryLabware: FlexStackerStoredLabwareDetails
409
440
  lidLabware: FlexStackerStoredLabwareDetails | null
410
441
  adapterLabware: FlexStackerStoredLabwareDetails | null
@@ -415,11 +446,12 @@ export interface FlexStackerSetStoredLabwareRunTimeCommand
415
446
  extends FlexStackerSetStoredLabwareCreateCommand,
416
447
  CommonCommandRunTimeInfo {
417
448
  result?: {
418
- primaryLabwareDefinition: LabwareDefinition2
419
- lidLabwareDefinition?: LabwareDefinition2 | null
420
- adapterLabwareDefinition?: LabwareDefinition2 | null
449
+ primaryLabwareDefinition: LabwareDefinition
450
+ lidLabwareDefinition?: LabwareDefinition | null
451
+ adapterLabwareDefinition?: LabwareDefinition | null
421
452
  count: number
422
- }
453
+ storedLabware: FlexStackerStoredLabwareGroup[]
454
+ } & StackerStoredLabwareLocationSequences
423
455
  }
424
456
 
425
457
  export interface FlexStackerRetrieveCreateCommand
@@ -442,6 +474,7 @@ export interface FlexStackerFillCreateCommand extends CommonCommandCreateInfo {
442
474
  strategy: 'manualWithPause' | 'logical'
443
475
  message?: string
444
476
  count?: number
477
+ labwareToStore?: FlexStackerStoredLabwareGroup[]
445
478
  }
446
479
  }
447
480
 
@@ -454,39 +487,69 @@ export interface FlexStackerEmptyCreateCommand extends CommonCommandCreateInfo {
454
487
  count?: number
455
488
  }
456
489
  }
490
+
491
+ export interface FlexStackerPrepareShuttleCreateCommand
492
+ extends CommonCommandCreateInfo {
493
+ commandType: 'flexStacker/prepareShuttle'
494
+ params: {
495
+ moduleId: string
496
+ ignoreLatch?: boolean
497
+ }
498
+ }
499
+
500
+ // TODO(tz, 4-17-2025): move under unsafe domain when BE has moved as well
501
+ export interface FlexStackerOpenLatch extends CommonCommandCreateInfo {
502
+ commandType: 'flexStacker/openLatch'
503
+ params: {
504
+ moduleId: string
505
+ }
506
+ }
507
+
508
+ export interface FlexStackerCloseLatch extends CommonCommandCreateInfo {
509
+ commandType: 'flexStacker/closeLatch'
510
+ params: {
511
+ moduleId: string
512
+ }
513
+ }
514
+
457
515
  interface RetrieveResultPrimary {
458
516
  labwareId: string
459
517
  primaryLocationSequence: LabwareLocationSequence
518
+ originalPrimaryLocationSequence: LabwareLocationSequence
460
519
  primaryLabwareURI: string
461
520
  }
462
521
 
463
522
  interface RetrieveResultNoLid {
464
523
  lidId?: null
465
524
  lidLocationSequence?: null
525
+ originalLidLocationSequence?: null
466
526
  lidLabwareURI?: null
467
527
  }
468
528
 
469
529
  interface RetrieveResultLid {
470
530
  lidId: string
471
531
  lidLocationSequence: LabwareLocationSequence
532
+ originalLidLocationSequence: LabwareLocationSequence
472
533
  lidLabwareURI: string
473
534
  }
474
535
 
475
536
  interface RetrieveResultAdapter {
476
537
  adapterId: string
477
538
  adapterLocationSequence: LabwareLocationSequence
539
+ originalAdapterLocationSequence: LabwareLocationSequence
478
540
  adapterLabwareURI: string
479
541
  }
480
542
 
481
543
  interface RetrieveResultNoAdapter {
482
544
  adapterId?: null
483
545
  adapterLocationSequence?: null
546
+ originalAdapterLocationSequence?: null
484
547
  adapterLabwareURI?: null
485
548
  }
486
549
 
487
550
  export interface FlexStackerRetrieveRunTimeCommand
488
551
  extends FlexStackerRetrieveCreateCommand,
489
- CommonCommandRunTimeInfo {
552
+ CommonCommandRunTimeInfo<RunCommandFlexStackerError> {
490
553
  result?:
491
554
  | (RetrieveResultPrimary & RetrieveResultNoLid & RetrieveResultNoAdapter)
492
555
  | (RetrieveResultPrimary & RetrieveResultLid & RetrieveResultNoAdapter)
@@ -496,7 +559,7 @@ export interface FlexStackerRetrieveRunTimeCommand
496
559
 
497
560
  export interface FlexStackerStoreRunTimeCommand
498
561
  extends FlexStackerStoreCreateCommand,
499
- CommonCommandRunTimeInfo {
562
+ CommonCommandRunTimeInfo<RunCommandFlexStackerError> {
500
563
  result?: {
501
564
  eventualDestinationLocationSequence?: LabwareLocationSequence
502
565
  primaryOriginLocationSequence?: LabwareLocationSequence
@@ -505,7 +568,7 @@ export interface FlexStackerStoreRunTimeCommand
505
568
  adapterLabwareId?: string
506
569
  lidOriginLocationSequence?: LabwareLocationSequence
507
570
  lidLabwareId?: LabwareLocationSequence
508
- }
571
+ } & StackerStoredLabwareDefinitionURIs
509
572
  }
510
573
 
511
574
  export interface FlexStackerFillRunTimeCommand
@@ -513,7 +576,10 @@ export interface FlexStackerFillRunTimeCommand
513
576
  CommonCommandRunTimeInfo {
514
577
  result?: {
515
578
  count: number
516
- }
579
+ storedLabware?: FlexStackerStoredLabwareGroup[] | null
580
+ addedLabware?: FlexStackerStoredLabwareGroup[] | null
581
+ } & StackerStoredLabwareLocationSequences &
582
+ StackerStoredLabwareDefinitionURIs
517
583
  }
518
584
 
519
585
  export interface FlexStackerEmptyRunTimeCommand
@@ -521,5 +587,26 @@ export interface FlexStackerEmptyRunTimeCommand
521
587
  CommonCommandRunTimeInfo {
522
588
  result?: {
523
589
  count: number
590
+ storedLabware?: FlexStackerStoredLabwareGroup[] | null
591
+ removedLabware?: FlexStackerStoredLabwareGroup[] | null
592
+ } & StackerStoredLabwareLocationSequences &
593
+ StackerStoredLabwareDefinitionURIs
594
+ }
595
+
596
+ export type IdentifyColor = 'white' | 'red' | 'green' | 'blue' | 'yellow' | null
597
+
598
+ export interface IdentifyModuleCreateCommand extends CommonCommandCreateInfo {
599
+ commandType: 'identifyModule'
600
+ params: {
601
+ model: string
602
+ moduleId: string
603
+ start: boolean
604
+ color?: IdentifyColor
524
605
  }
525
606
  }
607
+
608
+ export interface IdentifyModuleRunTimeCommand
609
+ extends CommonCommandRunTimeInfo,
610
+ IdentifyModuleCreateCommand {
611
+ result?: any
612
+ }
@@ -1,6 +1,7 @@
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
1
2
  import type { AddressableAreaName } from '../../deck'
2
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
3
3
  import type { DropTipWellLocation, WellLocation } from './support'
4
+
4
5
  export type PipettingRunTimeCommand =
5
6
  | AspirateInPlaceRunTimeCommand
6
7
  | AspirateInPlaceRunTimeCommand
@@ -68,7 +69,9 @@ export interface ConfigureForVolumeRunTimeCommand
68
69
 
69
70
  export type AirGapInPlaceParams = FlowRateParams &
70
71
  PipetteIdentityParams &
71
- VolumeParams
72
+ VolumeParams & {
73
+ correctionVolume?: number
74
+ }
72
75
 
73
76
  export interface AirGapInPlaceCreateCommand extends CommonCommandCreateInfo {
74
77
  commandType: 'airGapInPlace'
@@ -235,9 +238,10 @@ export interface VerifyTipPresenceRunTimeCommand
235
238
  result?: any
236
239
  }
237
240
 
241
+ export type LiquidProbeParams = WellLocationParam & PipetteAccessParams
238
242
  export interface LiquidProbeCreateCommand extends CommonCommandCreateInfo {
239
243
  commandType: 'liquidProbe'
240
- params: WellLocationParam & PipetteAccessParams
244
+ params: LiquidProbeParams
241
245
  }
242
246
  export interface LiquidProbeRunTimeCommand
243
247
  extends CommonCommandRunTimeInfo,
@@ -342,12 +346,14 @@ export interface DispenseInPlaceParams {
342
346
  volume: number
343
347
  flowRate: number // µL/s
344
348
  pushOut?: number
349
+ correctionVolume?: number
345
350
  }
346
351
 
347
352
  export interface AspirateInPlaceParams {
348
353
  pipetteId: string
349
354
  volume: number
350
355
  flowRate: number // µL/s
356
+ correctionVolume?: number
351
357
  }
352
358
  interface FlowRateParams {
353
359
  flowRate: number // µL/s
@@ -0,0 +1,98 @@
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
+ import type { GantryMount, MotorAxis } from '../../js/types'
3
+
4
+ export type RobotRunTimeCommand =
5
+ | RobotMoveToRunTimeCommand
6
+ | RobotMoveAxesToRunTimeCommand
7
+ | RobotMoveAxesRelativeRunTimeCommand
8
+ | RobotOpenGripperJawRunTimeCommand
9
+ | RobotCloseGripperJawRunTimeCommand
10
+ export type RobotCreateCommand =
11
+ | RobotMoveToCreateCommand
12
+ | RobotMoveAxesToCreateCommand
13
+ | RobotMoveAxesRelativeCreateCommand
14
+ | RobotOpenGripperJawCreateCommand
15
+ | RobotCloseGripperJawCreateCommand
16
+
17
+ export type RobotMotorAxisMap = Record<MotorAxis, number>
18
+ export type GantryAxisMap =
19
+ | { x: number; y: number; leftZ: number }
20
+ | { x: number; y: number; rightZ: number }
21
+
22
+ export interface RobotMoveToParams {
23
+ mount: GantryMount
24
+ destination: { x: number; y: number; z: number }
25
+ speed?: number
26
+ }
27
+
28
+ export interface RobotMoveToCreateCommand extends CommonCommandCreateInfo {
29
+ commandType: 'robot/moveTo'
30
+ params: RobotMoveToParams
31
+ }
32
+ export interface RobotMoveToRunTimeCommand
33
+ extends CommonCommandRunTimeInfo,
34
+ RobotMoveToCreateCommand {
35
+ result?: any
36
+ }
37
+
38
+ export interface RobotMoveAxesToParams {
39
+ axis_map: RobotMotorAxisMap
40
+ critical_point?: GantryAxisMap
41
+ speed?: number
42
+ }
43
+
44
+ export interface RobotMoveAxesToCreateCommand extends CommonCommandCreateInfo {
45
+ commandType: 'robot/moveAxesTo'
46
+ params: RobotMoveAxesToParams
47
+ }
48
+
49
+ export interface RobotMoveAxesToRunTimeCommand
50
+ extends CommonCommandRunTimeInfo,
51
+ RobotMoveAxesToCreateCommand {
52
+ result?: {
53
+ position: RobotMotorAxisMap
54
+ }
55
+ }
56
+
57
+ export interface RobotMoveAxesRelativeParams {
58
+ axis_map: RobotMotorAxisMap
59
+ speed?: number
60
+ }
61
+
62
+ export interface RobotMoveAxesRelativeCreateCommand
63
+ extends CommonCommandCreateInfo {
64
+ commandType: 'robot/moveAxesRelative'
65
+ params: RobotMoveAxesRelativeParams
66
+ }
67
+
68
+ export interface RobotMoveAxesRelativeRunTimeCommand
69
+ extends CommonCommandRunTimeInfo,
70
+ RobotMoveAxesRelativeCreateCommand {
71
+ result?: {
72
+ position: RobotMotorAxisMap
73
+ }
74
+ }
75
+
76
+ export interface RobotOpenGripperJawCreateCommand
77
+ extends CommonCommandCreateInfo {
78
+ commandType: 'robot/openGripperJaw'
79
+ params: {}
80
+ }
81
+
82
+ export interface RobotOpenGripperJawRunTimeCommand
83
+ extends CommonCommandRunTimeInfo,
84
+ RobotOpenGripperJawCreateCommand {
85
+ result?: any
86
+ }
87
+
88
+ export interface RobotCloseGripperJawCreateCommand
89
+ extends CommonCommandCreateInfo {
90
+ commandType: 'robot/closeGripperJaw'
91
+ params: {}
92
+ }
93
+
94
+ export interface RobotCloseGripperJawRunTimeCommand
95
+ extends CommonCommandRunTimeInfo,
96
+ RobotCloseGripperJawCreateCommand {
97
+ result?: any
98
+ }
@@ -1,13 +1,13 @@
1
1
  import type {
2
2
  AddressableAreaName,
3
- CommonCommandRunTimeInfo,
3
+ AspirateProperties,
4
4
  CommonCommandCreateInfo,
5
- LabwareDefinition2,
5
+ CommonCommandRunTimeInfo,
6
+ LabwareDefinition,
6
7
  LabwareOffset,
7
- PipetteName,
8
8
  ModuleModel,
9
- AspirateProperties,
10
9
  MultiDispenseProperties,
10
+ PipetteName,
11
11
  SingleDispenseProperties,
12
12
  } from '../../js'
13
13
 
@@ -222,7 +222,7 @@ interface LoadLabwareParams {
222
222
  }
223
223
  interface LoadLabwareResult {
224
224
  labwareId: string
225
- definition: LabwareDefinition2
225
+ definition: LabwareDefinition
226
226
  // todo(mm, 2024-08-19): This does not match the server-returned offsetId field.
227
227
  // Confirm nothing client-side is trying to use this, then replace it with offsetId.
228
228
  offset: LabwareOffset
@@ -318,8 +318,8 @@ interface LoadLidStackParams {
318
318
  interface LoadLidStackResult {
319
319
  stackLabwareId: string
320
320
  labwareIds: string[]
321
- definition?: LabwareDefinition2
322
- lidStackDefinition: LabwareDefinition2
321
+ definition?: LabwareDefinition
322
+ lidStackDefinition: LabwareDefinition
323
323
  location: LabwareLocation
324
324
  stackLocationSequence?: LabwareLocationSequence
325
325
  locationSequences?: LabwareLocationSequence[]
@@ -334,6 +334,6 @@ export interface LoadLidParams {
334
334
 
335
335
  interface LoadLidResult {
336
336
  labwareId: string
337
- definition: LabwareDefinition2
337
+ definition: LabwareDefinition
338
338
  locationSequence?: LabwareLocationSequence
339
339
  }
@@ -1,10 +1,22 @@
1
- type BaseWellOrigin = 'top' | 'bottom' | 'center'
2
- export type WellOrigin = BaseWellOrigin | 'meniscus'
1
+ import type {
2
+ WELL_ORIGIN_BOTTOM,
3
+ WELL_ORIGIN_CENTER,
4
+ WELL_ORIGIN_MENISCUS,
5
+ WELL_ORIGIN_TOP,
6
+ } from '../../js/constants'
7
+
8
+ type BaseWellOrigin =
9
+ | typeof WELL_ORIGIN_TOP
10
+ | typeof WELL_ORIGIN_BOTTOM
11
+ | typeof WELL_ORIGIN_CENTER
12
+
13
+ export type WellOrigin = BaseWellOrigin | typeof WELL_ORIGIN_MENISCUS
3
14
  export interface WellOffset {
4
15
  x?: number
5
16
  y?: number
6
17
  z?: number
7
18
  }
19
+ // TODO(jh, 06-27-25): Origin and offset should be required. Mark them as so and fix all the type errors.
8
20
  export interface WellLocation {
9
21
  origin?: WellOrigin
10
22
  offset?: WellOffset
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
 
3
3
  export type TimingCreateCommand =
4
4
  | WaitForResumeCreateCommand