@opentrons/shared-data 0.1.6-alpha.4 → 0.1.6-alpha.7

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 (599) hide show
  1. package/Makefile +3 -1
  2. package/lib/command/index.d.ts +4 -0
  3. package/lib/command/schemas/7.json +3301 -0
  4. package/lib/command/schemas/8.json +3969 -0
  5. package/lib/command/types/annotation.d.ts +24 -0
  6. package/lib/command/types/calibration.d.ts +58 -0
  7. package/lib/command/types/gantry.d.ts +134 -0
  8. package/lib/command/types/incidental.d.ts +15 -0
  9. package/lib/command/types/index.d.ts +48 -0
  10. package/lib/command/types/module.d.ts +191 -0
  11. package/lib/command/types/pipetting.d.ts +196 -0
  12. package/lib/command/types/setup.d.ts +133 -0
  13. package/lib/command/types/timing.d.ts +39 -0
  14. package/lib/commandAnnotation/schemas/1.json +74 -0
  15. package/lib/commandAnnotation/types/index.d.ts +19 -0
  16. package/lib/deck/definitions/3/ot2_short_trash.json +477 -0
  17. package/lib/deck/definitions/3/ot2_standard.json +477 -0
  18. package/lib/deck/definitions/3/ot3_standard.json +989 -0
  19. package/lib/deck/definitions/4/ot2_short_trash.json +405 -0
  20. package/lib/deck/definitions/4/ot2_standard.json +405 -0
  21. package/lib/deck/definitions/4/ot3_standard.json +608 -0
  22. package/lib/deck/definitions/5/ot2_short_trash.json +409 -0
  23. package/lib/deck/definitions/5/ot2_standard.json +409 -0
  24. package/lib/deck/definitions/5/ot3_standard.json +1042 -0
  25. package/lib/deck/fixtures/3/deckExample.json +481 -0
  26. package/lib/deck/index.d.ts +14 -0
  27. package/lib/deck/schemas/1.json +229 -0
  28. package/lib/deck/schemas/2.json +239 -0
  29. package/lib/deck/schemas/3.json +296 -0
  30. package/lib/deck/schemas/4.json +319 -0
  31. package/lib/deck/schemas/5.json +338 -0
  32. package/lib/deck/types/schemaV4.d.ts +12 -0
  33. package/lib/deck/types/schemaV5.d.ts +13 -0
  34. package/lib/errors/definitions/1/errors.json +238 -0
  35. package/lib/errors/schemas/1.json +49 -0
  36. package/lib/gripper/definitions/1/gripperV1.1.json +29 -0
  37. package/lib/gripper/definitions/1/gripperV1.2.json +29 -0
  38. package/lib/gripper/definitions/1/gripperV1.json +28 -0
  39. package/lib/gripper/schemas/1.json +186 -0
  40. package/lib/js/__tests__/deckSchemas.test.d.ts +1 -0
  41. package/lib/js/__tests__/getAreSlotsAdjacent.test.d.ts +1 -0
  42. package/lib/js/__tests__/getWellNamePerMultiTip.test.d.ts +1 -0
  43. package/lib/js/__tests__/labwareDefQuirks.test.d.ts +1 -0
  44. package/lib/js/__tests__/labwareDefSchemaV1.test.d.ts +1 -0
  45. package/lib/js/__tests__/labwareDefSchemaV2.test.d.ts +1 -0
  46. package/lib/js/__tests__/moduleAccessors.test.d.ts +1 -0
  47. package/lib/js/__tests__/moduleSpecsSchema.test.d.ts +1 -0
  48. package/lib/js/__tests__/pipetteSchemaV2.test.d.ts +1 -0
  49. package/lib/js/__tests__/pipetteSpecSchemas.test.d.ts +1 -0
  50. package/lib/js/__tests__/pipettes.test.d.ts +1 -0
  51. package/lib/js/__tests__/protocolSchemaV4.test.d.ts +1 -0
  52. package/lib/js/__tests__/protocolSchemaV5.test.d.ts +1 -0
  53. package/lib/js/__tests__/protocolSchemaV6.test.d.ts +1 -0
  54. package/lib/js/__tests__/protocolSchemaV7.test.d.ts +1 -0
  55. package/lib/js/__tests__/protocolValidation.test.d.ts +1 -0
  56. package/lib/js/__tests__/sortWells.test.d.ts +1 -0
  57. package/lib/js/__tests__/splitWellsOnColumn.test.d.ts +1 -0
  58. package/lib/js/constants.d.ts +206 -0
  59. package/lib/js/cypressUtils.d.ts +1 -0
  60. package/lib/js/deck/index.d.ts +4 -0
  61. package/lib/js/errors.d.ts +13 -0
  62. package/lib/js/fixtures.d.ts +29 -0
  63. package/lib/js/getLabware.d.ts +8 -0
  64. package/lib/js/gripper.d.ts +3 -0
  65. package/lib/js/helpers/__tests__/formatRunTimeParameterDefaultValue.test.d.ts +1 -0
  66. package/lib/js/helpers/__tests__/formatRunTimeParameterMinMax.test.d.ts +1 -0
  67. package/lib/js/helpers/__tests__/formatRunTimeParameterValue.test.d.ts +1 -0
  68. package/lib/js/helpers/__tests__/getAdapterName.test.d.ts +1 -0
  69. package/lib/js/helpers/__tests__/getDeckDefFromLoadedLabware.test.d.ts +1 -0
  70. package/lib/js/helpers/__tests__/getFlexSurroundingSlots.test.d.ts +1 -0
  71. package/lib/js/helpers/__tests__/getSimplestFlexDeckConfig.test.d.ts +1 -0
  72. package/lib/js/helpers/__tests__/getVectorDifference.test.d.ts +1 -0
  73. package/lib/js/helpers/__tests__/getVectorSum.test.d.ts +1 -0
  74. package/lib/js/helpers/__tests__/labwareInference.test.d.ts +1 -0
  75. package/lib/js/helpers/__tests__/orderRuntimeParameterRangeOptions.test.d.ts +1 -0
  76. package/lib/js/helpers/__tests__/orderWells.test.d.ts +1 -0
  77. package/lib/js/helpers/__tests__/parseProtocolData.test.d.ts +1 -0
  78. package/lib/js/helpers/__tests__/volume.test.d.ts +1 -0
  79. package/lib/js/helpers/__tests__/wellSets.test.d.ts +1 -0
  80. package/lib/js/helpers/formatRunTimeParameterDefaultValue.d.ts +11 -0
  81. package/lib/js/helpers/formatRunTimeParameterMinMax.d.ts +23 -0
  82. package/lib/js/helpers/formatRunTimeParameterValue.d.ts +11 -0
  83. package/lib/js/helpers/get96Channel384WellPlateWells.d.ts +1 -0
  84. package/lib/js/helpers/getAddressableAreasInProtocol.d.ts +4 -0
  85. package/lib/js/helpers/getFlexSurroundingSlots.d.ts +2 -0
  86. package/lib/js/helpers/getLoadedLabwareDefinitionsByUri.d.ts +5 -0
  87. package/lib/js/helpers/getModuleVizDims.d.ts +16 -0
  88. package/lib/js/helpers/getOccludedSlotCountForModule.d.ts +2 -0
  89. package/lib/js/helpers/getSimplestFlexDeckConfig.d.ts +15 -0
  90. package/lib/js/helpers/getVectorDifference.d.ts +2 -0
  91. package/lib/js/helpers/getVectorSum.d.ts +2 -0
  92. package/lib/js/helpers/getWellNamePerMultiTip.d.ts +3 -0
  93. package/lib/js/helpers/getWellTotalVolume.d.ts +2 -0
  94. package/lib/js/helpers/index.d.ts +50 -0
  95. package/lib/js/helpers/labwareInference.d.ts +16 -0
  96. package/lib/js/helpers/orderRuntimeParameterRangeOptions.d.ts +17 -0
  97. package/lib/js/helpers/orderWells.d.ts +2 -0
  98. package/lib/js/helpers/parseProtocolData.d.ts +23 -0
  99. package/lib/js/helpers/volume.d.ts +4 -0
  100. package/lib/js/helpers/wellIsRect.d.ts +3 -0
  101. package/lib/js/helpers/wellSets.d.ts +9 -0
  102. package/lib/js/index.d.ts +17 -0
  103. package/lib/js/labware.d.ts +127 -0
  104. package/lib/js/labwareTools/__tests__/createDefaultDisplayName.test.d.ts +1 -0
  105. package/lib/js/labwareTools/__tests__/createIrregularLabware.test.d.ts +1 -0
  106. package/lib/js/labwareTools/__tests__/createLabware.test.d.ts +1 -0
  107. package/lib/js/labwareTools/index.d.ts +65 -0
  108. package/lib/js/modules.d.ts +6 -0
  109. package/lib/js/pipettes.d.ts +15 -0
  110. package/lib/js/protocols.d.ts +4 -0
  111. package/lib/js/schema.d.ts +90 -0
  112. package/lib/js/titleCase.d.ts +1 -0
  113. package/lib/js/types.d.ts +558 -0
  114. package/lib/labware/definitions/1/12-well-plate.json +147 -0
  115. package/lib/labware/definitions/1/24-vial-rack.json +281 -0
  116. package/lib/labware/definitions/1/24-well-plate.json +281 -0
  117. package/lib/labware/definitions/1/384-plate.json +4667 -0
  118. package/lib/labware/definitions/1/48-vial-plate.json +547 -0
  119. package/lib/labware/definitions/1/48-well-plate.json +547 -0
  120. package/lib/labware/definitions/1/5ml-3x4.json +147 -0
  121. package/lib/labware/definitions/1/6-well-plate.json +80 -0
  122. package/lib/labware/definitions/1/96-PCR-flat.json +1079 -0
  123. package/lib/labware/definitions/1/96-PCR-tall.json +1079 -0
  124. package/lib/labware/definitions/1/96-deep-well.json +1079 -0
  125. package/lib/labware/definitions/1/96-flat.json +1079 -0
  126. package/lib/labware/definitions/1/96-well-plate-20mm.json +1079 -0
  127. package/lib/labware/definitions/1/MALDI-plate.json +4282 -0
  128. package/lib/labware/definitions/1/PCR-strip-tall.json +1079 -0
  129. package/lib/labware/definitions/1/T25-flask.json +20 -0
  130. package/lib/labware/definitions/1/T75-flask.json +20 -0
  131. package/lib/labware/definitions/1/alum-block-pcr-strips.json +188 -0
  132. package/lib/labware/definitions/1/biorad-hardshell-96-PCR.json +1079 -0
  133. package/lib/labware/definitions/1/e-gelgol.json +1078 -0
  134. package/lib/labware/definitions/1/fixed-trash.json +19 -0
  135. package/lib/labware/definitions/1/hampton-1ml-deep-block.json +1078 -0
  136. package/lib/labware/definitions/1/opentrons-aluminum-block-2ml-eppendorf.json +281 -0
  137. package/lib/labware/definitions/1/opentrons-aluminum-block-2ml-screwcap.json +281 -0
  138. package/lib/labware/definitions/1/opentrons-aluminum-block-96-PCR-plate.json +1079 -0
  139. package/lib/labware/definitions/1/opentrons-aluminum-block-PCR-strips-200ul.json +1079 -0
  140. package/lib/labware/definitions/1/opentrons-tiprack-10ul.json +986 -0
  141. package/lib/labware/definitions/1/opentrons-tiprack-300ul.json +986 -0
  142. package/lib/labware/definitions/1/opentrons-tuberack-1.5ml-eppendorf.json +281 -0
  143. package/lib/labware/definitions/1/opentrons-tuberack-15_50ml.json +125 -0
  144. package/lib/labware/definitions/1/opentrons-tuberack-15ml.json +181 -0
  145. package/lib/labware/definitions/1/opentrons-tuberack-2ml-eppendorf.json +281 -0
  146. package/lib/labware/definitions/1/opentrons-tuberack-2ml-screwcap.json +281 -0
  147. package/lib/labware/definitions/1/opentrons-tuberack-50ml.json +80 -0
  148. package/lib/labware/definitions/1/point.json +18 -0
  149. package/lib/labware/definitions/1/rigaku-compact-crystallization-plate.json +2146 -0
  150. package/lib/labware/definitions/1/small_vial_rack_16x45.json +280 -0
  151. package/lib/labware/definitions/1/tall-fixed-trash.json +19 -0
  152. package/lib/labware/definitions/1/tiprack-1000ul-H.json +503 -0
  153. package/lib/labware/definitions/1/tiprack-1000ul-chem.json +1034 -0
  154. package/lib/labware/definitions/1/tiprack-1000ul.json +986 -0
  155. package/lib/labware/definitions/1/tiprack-10ul-H.json +503 -0
  156. package/lib/labware/definitions/1/tiprack-10ul.json +986 -0
  157. package/lib/labware/definitions/1/tiprack-200ul.json +986 -0
  158. package/lib/labware/definitions/1/trash-box.json +20 -0
  159. package/lib/labware/definitions/1/trough-12row-short.json +143 -0
  160. package/lib/labware/definitions/1/trough-12row.json +143 -0
  161. package/lib/labware/definitions/1/trough-1row-25ml.json +21 -0
  162. package/lib/labware/definitions/1/tube-rack-.75ml.json +281 -0
  163. package/lib/labware/definitions/1/tube-rack-15_50ml.json +125 -0
  164. package/lib/labware/definitions/1/tube-rack-2ml-9x9.json +911 -0
  165. package/lib/labware/definitions/1/tube-rack-2ml.json +281 -0
  166. package/lib/labware/definitions/1/tube-rack-5ml-96.json +1079 -0
  167. package/lib/labware/definitions/1/tube-rack-80well.json +907 -0
  168. package/lib/labware/definitions/1/wheaton_vial_rack.json +565 -0
  169. package/lib/labware/definitions/2/agilent_1_reservoir_290ml/1.json +54 -0
  170. package/lib/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/1.json +4320 -0
  171. package/lib/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/1.json +1019 -0
  172. package/lib/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/2.json +1045 -0
  173. package/lib/labware/definitions/2/axygen_1_reservoir_90ml/1.json +56 -0
  174. package/lib/labware/definitions/2/biorad_384_wellplate_50ul/1.json +4329 -0
  175. package/lib/labware/definitions/2/biorad_384_wellplate_50ul/2.json +4331 -0
  176. package/lib/labware/definitions/2/biorad_96_wellplate_200ul_pcr/1.json +1020 -0
  177. package/lib/labware/definitions/2/biorad_96_wellplate_200ul_pcr/2.json +1046 -0
  178. package/lib/labware/definitions/2/corning_12_wellplate_6.9ml_flat/1.json +171 -0
  179. package/lib/labware/definitions/2/corning_12_wellplate_6.9ml_flat/2.json +180 -0
  180. package/lib/labware/definitions/2/corning_24_wellplate_3.4ml_flat/1.json +293 -0
  181. package/lib/labware/definitions/2/corning_24_wellplate_3.4ml_flat/2.json +300 -0
  182. package/lib/labware/definitions/2/corning_384_wellplate_112ul_flat/1.json +4703 -0
  183. package/lib/labware/definitions/2/corning_384_wellplate_112ul_flat/2.json +4717 -0
  184. package/lib/labware/definitions/2/corning_48_wellplate_1.6ml_flat/1.json +535 -0
  185. package/lib/labware/definitions/2/corning_48_wellplate_1.6ml_flat/2.json +544 -0
  186. package/lib/labware/definitions/2/corning_6_wellplate_16.8ml_flat/1.json +103 -0
  187. package/lib/labware/definitions/2/corning_6_wellplate_16.8ml_flat/2.json +110 -0
  188. package/lib/labware/definitions/2/corning_96_wellplate_360ul_flat/1.json +1049 -0
  189. package/lib/labware/definitions/2/corning_96_wellplate_360ul_flat/2.json +1063 -0
  190. package/lib/labware/definitions/2/eppendorf_96_tiprack_1000ul_eptips/1.json +1019 -0
  191. package/lib/labware/definitions/2/eppendorf_96_tiprack_10ul_eptips/1.json +1019 -0
  192. package/lib/labware/definitions/2/geb_96_tiprack_1000ul/1.json +1017 -0
  193. package/lib/labware/definitions/2/geb_96_tiprack_10ul/1.json +1017 -0
  194. package/lib/labware/definitions/2/nest_12_reservoir_15ml/1.json +190 -0
  195. package/lib/labware/definitions/2/nest_1_reservoir_195ml/1.json +54 -0
  196. package/lib/labware/definitions/2/nest_1_reservoir_195ml/2.json +56 -0
  197. package/lib/labware/definitions/2/nest_1_reservoir_290ml/1.json +54 -0
  198. package/lib/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/1.json +1018 -0
  199. package/lib/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/2.json +1039 -0
  200. package/lib/labware/definitions/2/nest_96_wellplate_200ul_flat/1.json +1017 -0
  201. package/lib/labware/definitions/2/nest_96_wellplate_200ul_flat/2.json +1031 -0
  202. package/lib/labware/definitions/2/nest_96_wellplate_2ml_deep/1.json +1121 -0
  203. package/lib/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +1137 -0
  204. package/lib/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/1.json +164 -0
  205. package/lib/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/1.json +162 -0
  206. package/lib/labware/definitions/2/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/1.json +160 -0
  207. package/lib/labware/definitions/2/opentrons_15_tuberack_falcon_15ml_conical/1.json +211 -0
  208. package/lib/labware/definitions/2/opentrons_15_tuberack_nest_15ml_conical/1.json +209 -0
  209. package/lib/labware/definitions/2/opentrons_1_trash_1100ml_fixed/1.json +50 -0
  210. package/lib/labware/definitions/2/opentrons_1_trash_3200ml_fixed/1.json +50 -0
  211. package/lib/labware/definitions/2/opentrons_1_trash_850ml_fixed/1.json +50 -0
  212. package/lib/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/1.json +300 -0
  213. package/lib/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/2.json +301 -0
  214. package/lib/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/1.json +299 -0
  215. package/lib/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1.json +299 -0
  216. package/lib/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_snapcap/1.json +301 -0
  217. package/lib/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_screwcap/1.json +299 -0
  218. package/lib/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_snapcap/1.json +301 -0
  219. package/lib/labware/definitions/2/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1.json +312 -0
  220. package/lib/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/1.json +311 -0
  221. package/lib/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/1.json +309 -0
  222. package/lib/labware/definitions/2/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/1.json +298 -0
  223. package/lib/labware/definitions/2/opentrons_24_tuberack_generic_2ml_screwcap/1.json +300 -0
  224. package/lib/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/1.json +300 -0
  225. package/lib/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_screwcap/1.json +300 -0
  226. package/lib/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_snapcap/1.json +302 -0
  227. package/lib/labware/definitions/2/opentrons_24_tuberack_nest_2ml_screwcap/1.json +300 -0
  228. package/lib/labware/definitions/2/opentrons_24_tuberack_nest_2ml_snapcap/1.json +302 -0
  229. package/lib/labware/definitions/2/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/1.json +481 -0
  230. package/lib/labware/definitions/2/opentrons_6_tuberack_falcon_50ml_conical/1.json +112 -0
  231. package/lib/labware/definitions/2/opentrons_6_tuberack_nest_50ml_conical/1.json +110 -0
  232. package/lib/labware/definitions/2/opentrons_96_aluminumblock_biorad_wellplate_200ul/1.json +1029 -0
  233. package/lib/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/1.json +1026 -0
  234. package/lib/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/2.json +1027 -0
  235. package/lib/labware/definitions/2/opentrons_96_aluminumblock_nest_wellplate_100ul/1.json +1027 -0
  236. package/lib/labware/definitions/2/opentrons_96_deep_well_adapter/1.json +41 -0
  237. package/lib/labware/definitions/2/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/1.json +1121 -0
  238. package/lib/labware/definitions/2/opentrons_96_filtertiprack_1000ul/1.json +1017 -0
  239. package/lib/labware/definitions/2/opentrons_96_filtertiprack_10ul/1.json +1017 -0
  240. package/lib/labware/definitions/2/opentrons_96_filtertiprack_200ul/1.json +1017 -0
  241. package/lib/labware/definitions/2/opentrons_96_filtertiprack_20ul/1.json +1017 -0
  242. package/lib/labware/definitions/2/opentrons_96_flat_bottom_adapter/1.json +41 -0
  243. package/lib/labware/definitions/2/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/1.json +1027 -0
  244. package/lib/labware/definitions/2/opentrons_96_pcr_adapter/1.json +1032 -0
  245. package/lib/labware/definitions/2/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/1.json +1027 -0
  246. package/lib/labware/definitions/2/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/1.json +1025 -0
  247. package/lib/labware/definitions/2/opentrons_96_tiprack_1000ul/1.json +1019 -0
  248. package/lib/labware/definitions/2/opentrons_96_tiprack_10ul/1.json +1019 -0
  249. package/lib/labware/definitions/2/opentrons_96_tiprack_20ul/1.json +1019 -0
  250. package/lib/labware/definitions/2/opentrons_96_tiprack_300ul/1.json +1019 -0
  251. package/lib/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +1032 -0
  252. package/lib/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/1.json +1019 -0
  253. package/lib/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/2.json +1045 -0
  254. package/lib/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +41 -0
  255. package/lib/labware/definitions/2/opentrons_calibration_adapter_heatershaker_module/1.json +62 -0
  256. package/lib/labware/definitions/2/opentrons_calibration_adapter_temperature_module/1.json +62 -0
  257. package/lib/labware/definitions/2/opentrons_calibration_adapter_thermocycler_module/1.json +69 -0
  258. package/lib/labware/definitions/2/opentrons_calibrationblock_short_side_left/1.json +71 -0
  259. package/lib/labware/definitions/2/opentrons_calibrationblock_short_side_right/1.json +71 -0
  260. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +1026 -0
  261. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +1026 -0
  262. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +1026 -0
  263. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +1026 -0
  264. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +1026 -0
  265. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +1026 -0
  266. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_adapter/1.json +41 -0
  267. package/lib/labware/definitions/2/opentrons_universal_flat_adapter/1.json +151 -0
  268. package/lib/labware/definitions/2/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1.json +4710 -0
  269. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/1.json +1019 -0
  270. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/1.json +1019 -0
  271. package/lib/labware/definitions/2/tipone_96_tiprack_200ul/1.json +1017 -0
  272. package/lib/labware/definitions/2/usascientific_12_reservoir_22ml/1.json +192 -0
  273. package/lib/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/1.json +1116 -0
  274. package/lib/labware/fixtures/1/fixture_tiprack.json +986 -0
  275. package/lib/labware/fixtures/1/index.d.ts +2 -0
  276. package/lib/labware/fixtures/2/fixture_12_trough.json +188 -0
  277. package/lib/labware/fixtures/2/fixture_12_trough_v2.json +188 -0
  278. package/lib/labware/fixtures/2/fixture_24_tuberack.json +295 -0
  279. package/lib/labware/fixtures/2/fixture_384_plate.json +4316 -0
  280. package/lib/labware/fixtures/2/fixture_96_plate.json +1015 -0
  281. package/lib/labware/fixtures/2/fixture_calibration_block.json +71 -0
  282. package/lib/labware/fixtures/2/fixture_flex_96_tiprack_1000ul.json +1026 -0
  283. package/lib/labware/fixtures/2/fixture_flex_96_tiprack_adapter.json +41 -0
  284. package/lib/labware/fixtures/2/fixture_irregular_example_1.json +600 -0
  285. package/lib/labware/fixtures/2/fixture_overlappy_wellplate.json +1113 -0
  286. package/lib/labware/fixtures/2/fixture_regular_example_1.json +57 -0
  287. package/lib/labware/fixtures/2/fixture_regular_example_2.json +95 -0
  288. package/lib/labware/fixtures/2/fixture_tiprack_1000_ul.json +1015 -0
  289. package/lib/labware/fixtures/2/fixture_tiprack_10_ul.json +1015 -0
  290. package/lib/labware/fixtures/2/fixture_tiprack_300_ul.json +1014 -0
  291. package/lib/labware/fixtures/2/fixture_trash.json +50 -0
  292. package/lib/labware/fixtures/2/index.d.ts +17 -0
  293. package/lib/labware/schemas/2.json +372 -0
  294. package/lib/liquid/schemas/1.json +21 -0
  295. package/lib/liquid/types/index.d.ts +5 -0
  296. package/lib/module/definitions/1.json +57 -0
  297. package/lib/module/definitions/2/magneticModuleV1.json +22 -0
  298. package/lib/module/definitions/2/magneticModuleV2.json +69 -0
  299. package/lib/module/definitions/2/temperatureModuleV1.json +22 -0
  300. package/lib/module/definitions/2/temperatureModuleV2.json +69 -0
  301. package/lib/module/definitions/2/thermocyclerModuleV1.json +23 -0
  302. package/lib/module/definitions/3/heaterShakerModuleV1.json +529 -0
  303. package/lib/module/definitions/3/magneticBlockV1.json +199 -0
  304. package/lib/module/definitions/3/magneticModuleV1.json +435 -0
  305. package/lib/module/definitions/3/magneticModuleV2.json +488 -0
  306. package/lib/module/definitions/3/temperatureModuleV1.json +190 -0
  307. package/lib/module/definitions/3/temperatureModuleV2.json +323 -0
  308. package/lib/module/definitions/3/thermocyclerModuleV1.json +1380 -0
  309. package/lib/module/definitions/3/thermocyclerModuleV2.json +3686 -0
  310. package/lib/module/fixtures/3/compatibleGenerationV1.json +69 -0
  311. package/lib/module/fixtures/3/compatibleGenerationV2.json +69 -0
  312. package/lib/module/fixtures/3/incompatibleGenerationV1.json +22 -0
  313. package/lib/module/fixtures/3/incompatibleGenerationV2.json +69 -0
  314. package/lib/module/schemas/1.json +54 -0
  315. package/lib/module/schemas/2.json +112 -0
  316. package/lib/module/schemas/3.json +206 -0
  317. package/lib/pipette/definitions/1/pipetteModelSpecs.json +10650 -0
  318. package/lib/pipette/definitions/1/pipetteNameSpecs.json +694 -0
  319. package/lib/pipette/definitions/2/general/eight_channel/p10/1_0.json +77 -0
  320. package/lib/pipette/definitions/2/general/eight_channel/p10/1_3.json +77 -0
  321. package/lib/pipette/definitions/2/general/eight_channel/p10/1_4.json +77 -0
  322. package/lib/pipette/definitions/2/general/eight_channel/p10/1_5.json +77 -0
  323. package/lib/pipette/definitions/2/general/eight_channel/p10/1_6.json +77 -0
  324. package/lib/pipette/definitions/2/general/eight_channel/p1000/1_0.json +86 -0
  325. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_0.json +86 -0
  326. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_3.json +86 -0
  327. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_4.json +86 -0
  328. package/lib/pipette/definitions/2/general/eight_channel/p1000/3_5.json +86 -0
  329. package/lib/pipette/definitions/2/general/eight_channel/p20/2_0.json +77 -0
  330. package/lib/pipette/definitions/2/general/eight_channel/p20/2_1.json +77 -0
  331. package/lib/pipette/definitions/2/general/eight_channel/p300/1_0.json +77 -0
  332. package/lib/pipette/definitions/2/general/eight_channel/p300/1_3.json +77 -0
  333. package/lib/pipette/definitions/2/general/eight_channel/p300/1_4.json +77 -0
  334. package/lib/pipette/definitions/2/general/eight_channel/p300/1_5.json +77 -0
  335. package/lib/pipette/definitions/2/general/eight_channel/p300/2_0.json +77 -0
  336. package/lib/pipette/definitions/2/general/eight_channel/p300/2_1.json +77 -0
  337. package/lib/pipette/definitions/2/general/eight_channel/p50/1_0.json +77 -0
  338. package/lib/pipette/definitions/2/general/eight_channel/p50/1_3.json +77 -0
  339. package/lib/pipette/definitions/2/general/eight_channel/p50/1_4.json +77 -0
  340. package/lib/pipette/definitions/2/general/eight_channel/p50/1_5.json +77 -0
  341. package/lib/pipette/definitions/2/general/eight_channel/p50/3_0.json +92 -0
  342. package/lib/pipette/definitions/2/general/eight_channel/p50/3_3.json +92 -0
  343. package/lib/pipette/definitions/2/general/eight_channel/p50/3_4.json +92 -0
  344. package/lib/pipette/definitions/2/general/eight_channel/p50/3_5.json +92 -0
  345. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +113 -0
  346. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +118 -0
  347. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +113 -0
  348. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +113 -0
  349. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +113 -0
  350. package/lib/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json +113 -0
  351. package/lib/pipette/definitions/2/general/single_channel/p10/1_0.json +56 -0
  352. package/lib/pipette/definitions/2/general/single_channel/p10/1_3.json +56 -0
  353. package/lib/pipette/definitions/2/general/single_channel/p10/1_4.json +56 -0
  354. package/lib/pipette/definitions/2/general/single_channel/p10/1_5.json +56 -0
  355. package/lib/pipette/definitions/2/general/single_channel/p1000/1_0.json +56 -0
  356. package/lib/pipette/definitions/2/general/single_channel/p1000/1_3.json +56 -0
  357. package/lib/pipette/definitions/2/general/single_channel/p1000/1_4.json +56 -0
  358. package/lib/pipette/definitions/2/general/single_channel/p1000/1_5.json +56 -0
  359. package/lib/pipette/definitions/2/general/single_channel/p1000/2_0.json +56 -0
  360. package/lib/pipette/definitions/2/general/single_channel/p1000/2_1.json +56 -0
  361. package/lib/pipette/definitions/2/general/single_channel/p1000/2_2.json +56 -0
  362. package/lib/pipette/definitions/2/general/single_channel/p1000/3_0.json +65 -0
  363. package/lib/pipette/definitions/2/general/single_channel/p1000/3_3.json +65 -0
  364. package/lib/pipette/definitions/2/general/single_channel/p1000/3_4.json +65 -0
  365. package/lib/pipette/definitions/2/general/single_channel/p1000/3_5.json +65 -0
  366. package/lib/pipette/definitions/2/general/single_channel/p1000/3_6.json +65 -0
  367. package/lib/pipette/definitions/2/general/single_channel/p20/2_0.json +56 -0
  368. package/lib/pipette/definitions/2/general/single_channel/p20/2_1.json +56 -0
  369. package/lib/pipette/definitions/2/general/single_channel/p20/2_2.json +56 -0
  370. package/lib/pipette/definitions/2/general/single_channel/p300/1_0.json +56 -0
  371. package/lib/pipette/definitions/2/general/single_channel/p300/1_3.json +56 -0
  372. package/lib/pipette/definitions/2/general/single_channel/p300/1_4.json +56 -0
  373. package/lib/pipette/definitions/2/general/single_channel/p300/1_5.json +56 -0
  374. package/lib/pipette/definitions/2/general/single_channel/p300/2_0.json +56 -0
  375. package/lib/pipette/definitions/2/general/single_channel/p300/2_1.json +56 -0
  376. package/lib/pipette/definitions/2/general/single_channel/p50/1_0.json +56 -0
  377. package/lib/pipette/definitions/2/general/single_channel/p50/1_3.json +56 -0
  378. package/lib/pipette/definitions/2/general/single_channel/p50/1_4.json +56 -0
  379. package/lib/pipette/definitions/2/general/single_channel/p50/1_5.json +56 -0
  380. package/lib/pipette/definitions/2/general/single_channel/p50/3_0.json +71 -0
  381. package/lib/pipette/definitions/2/general/single_channel/p50/3_3.json +71 -0
  382. package/lib/pipette/definitions/2/general/single_channel/p50/3_4.json +71 -0
  383. package/lib/pipette/definitions/2/general/single_channel/p50/3_5.json +71 -0
  384. package/lib/pipette/definitions/2/general/single_channel/p50/3_6.json +71 -0
  385. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_0.json +41 -0
  386. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_3.json +41 -0
  387. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_4.json +41 -0
  388. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_5.json +41 -0
  389. package/lib/pipette/definitions/2/geometry/eight_channel/p10/1_6.json +41 -0
  390. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/1_0.json +41 -0
  391. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_0.json +41 -0
  392. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_3.json +41 -0
  393. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_4.json +41 -0
  394. package/lib/pipette/definitions/2/geometry/eight_channel/p1000/3_5.json +41 -0
  395. package/lib/pipette/definitions/2/geometry/eight_channel/p20/2_0.json +41 -0
  396. package/lib/pipette/definitions/2/geometry/eight_channel/p20/2_1.json +41 -0
  397. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_0.json +41 -0
  398. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_3.json +41 -0
  399. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_4.json +41 -0
  400. package/lib/pipette/definitions/2/geometry/eight_channel/p300/1_5.json +41 -0
  401. package/lib/pipette/definitions/2/geometry/eight_channel/p300/2_0.json +41 -0
  402. package/lib/pipette/definitions/2/geometry/eight_channel/p300/2_1.json +41 -0
  403. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_0.json +41 -0
  404. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_3.json +41 -0
  405. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_4.json +41 -0
  406. package/lib/pipette/definitions/2/geometry/eight_channel/p50/1_5.json +41 -0
  407. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_0.json +41 -0
  408. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_3.json +41 -0
  409. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_4.json +41 -0
  410. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +41 -0
  411. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json +295 -0
  412. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_0.json +295 -0
  413. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_3.json +295 -0
  414. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_4.json +295 -0
  415. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_5.json +295 -0
  416. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_6.json +295 -0
  417. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_0.json +14 -0
  418. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_3.json +14 -0
  419. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_4.json +14 -0
  420. package/lib/pipette/definitions/2/geometry/single_channel/p10/1_5.json +14 -0
  421. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_0.json +14 -0
  422. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_3.json +14 -0
  423. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_4.json +14 -0
  424. package/lib/pipette/definitions/2/geometry/single_channel/p1000/1_5.json +14 -0
  425. package/lib/pipette/definitions/2/geometry/single_channel/p1000/2_0.json +14 -0
  426. package/lib/pipette/definitions/2/geometry/single_channel/p1000/2_1.json +14 -0
  427. package/lib/pipette/definitions/2/geometry/single_channel/p1000/2_2.json +14 -0
  428. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_0.json +14 -0
  429. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_3.json +14 -0
  430. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_4.json +14 -0
  431. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_5.json +14 -0
  432. package/lib/pipette/definitions/2/geometry/single_channel/p1000/3_6.json +14 -0
  433. package/lib/pipette/definitions/2/geometry/single_channel/p20/2_0.json +14 -0
  434. package/lib/pipette/definitions/2/geometry/single_channel/p20/2_1.json +14 -0
  435. package/lib/pipette/definitions/2/geometry/single_channel/p20/2_2.json +14 -0
  436. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_0.json +14 -0
  437. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_3.json +14 -0
  438. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_4.json +14 -0
  439. package/lib/pipette/definitions/2/geometry/single_channel/p300/1_5.json +14 -0
  440. package/lib/pipette/definitions/2/geometry/single_channel/p300/2_0.json +14 -0
  441. package/lib/pipette/definitions/2/geometry/single_channel/p300/2_1.json +14 -0
  442. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_0.json +14 -0
  443. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_3.json +14 -0
  444. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_4.json +14 -0
  445. package/lib/pipette/definitions/2/geometry/single_channel/p50/1_5.json +14 -0
  446. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_0.json +14 -0
  447. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_3.json +14 -0
  448. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_4.json +14 -0
  449. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_5.json +14 -0
  450. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_6.json +14 -0
  451. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json +58 -0
  452. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json +58 -0
  453. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json +58 -0
  454. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json +47 -0
  455. package/lib/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json +55 -0
  456. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json +356 -0
  457. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json +362 -0
  458. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json +365 -0
  459. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json +365 -0
  460. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +245 -0
  461. package/lib/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json +311 -0
  462. package/lib/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json +193 -0
  463. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json +67 -0
  464. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json +67 -0
  465. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json +67 -0
  466. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json +67 -0
  467. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json +190 -0
  468. package/lib/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json +192 -0
  469. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json +128 -0
  470. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json +128 -0
  471. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json +128 -0
  472. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json +110 -0
  473. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json +102 -0
  474. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json +103 -0
  475. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json +103 -0
  476. package/lib/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +95 -0
  477. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json +97 -0
  478. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json +93 -0
  479. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json +93 -0
  480. package/lib/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +93 -0
  481. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +194 -0
  482. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +194 -0
  483. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +197 -0
  484. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +197 -0
  485. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +197 -0
  486. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json +191 -0
  487. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json +59 -0
  488. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json +59 -0
  489. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json +56 -0
  490. package/lib/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json +54 -0
  491. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json +48 -0
  492. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json +48 -0
  493. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json +48 -0
  494. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json +48 -0
  495. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json +105 -0
  496. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json +108 -0
  497. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json +108 -0
  498. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json +362 -0
  499. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json +365 -0
  500. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +291 -0
  501. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +213 -0
  502. package/lib/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json +213 -0
  503. package/lib/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json +431 -0
  504. package/lib/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json +253 -0
  505. package/lib/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json +313 -0
  506. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json +99 -0
  507. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json +99 -0
  508. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json +99 -0
  509. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json +75 -0
  510. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json +188 -0
  511. package/lib/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json +190 -0
  512. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json +119 -0
  513. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json +128 -0
  514. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json +128 -0
  515. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json +104 -0
  516. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json +102 -0
  517. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json +103 -0
  518. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json +105 -0
  519. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +85 -0
  520. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +85 -0
  521. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json +82 -0
  522. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json +83 -0
  523. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json +83 -0
  524. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +81 -0
  525. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +81 -0
  526. package/lib/pipette/fixtures/index.d.ts +7 -0
  527. package/lib/pipette/fixtures/name/index.d.ts +8 -0
  528. package/lib/pipette/fixtures/name/pipetteNameSpecFixtures.json +170 -0
  529. package/lib/pipette/schemas/1/pipetteModelSpecsSchema.json +153 -0
  530. package/lib/pipette/schemas/1/pipetteNameSpecsSchema.json +89 -0
  531. package/lib/pipette/schemas/2/pipetteGeometrySchema.json +89 -0
  532. package/lib/pipette/schemas/2/pipetteLiquidPropertiesSchema.json +128 -0
  533. package/lib/pipette/schemas/2/pipettePropertiesSchema.json +311 -0
  534. package/lib/protocol/fixtures/1/simple.json +73 -0
  535. package/lib/protocol/fixtures/3/simple.json +1307 -0
  536. package/lib/protocol/fixtures/3/testAllAtomicSingleV3.json +2281 -0
  537. package/lib/protocol/fixtures/3/testTrickyLabwareV3.json +2576 -0
  538. package/lib/protocol/fixtures/3/unusedPipette.json +1311 -0
  539. package/lib/protocol/fixtures/4/pipetteMultiChannelProtocolV4.json +2561 -0
  540. package/lib/protocol/fixtures/4/simpleV4.json +1309 -0
  541. package/lib/protocol/fixtures/4/testMagneticModuleV4.json +2156 -0
  542. package/lib/protocol/fixtures/4/testModulesProtocol.json +2561 -0
  543. package/lib/protocol/fixtures/4/testTemperatureModuleV4.json +1480 -0
  544. package/lib/protocol/fixtures/4/testThermocyclerModuleV4.json +2182 -0
  545. package/lib/protocol/fixtures/4/transferSettings.json +5482 -0
  546. package/lib/protocol/fixtures/5/multipleTipracks.json +2476 -0
  547. package/lib/protocol/fixtures/5/multipleTipracksWithTC.json +3544 -0
  548. package/lib/protocol/fixtures/5/simpleV5.json +1328 -0
  549. package/lib/protocol/fixtures/6/heaterShakerCommands.json +1421 -0
  550. package/lib/protocol/fixtures/6/heaterShakerCommandsWithResultsKey.json +4725 -0
  551. package/lib/protocol/fixtures/6/multipleTempModules.json +11060 -0
  552. package/lib/protocol/fixtures/6/multipleTipracks.json +4942 -0
  553. package/lib/protocol/fixtures/6/multipleTipracksWithTC.json +7057 -0
  554. package/lib/protocol/fixtures/6/oneTiprack.json +1388 -0
  555. package/lib/protocol/fixtures/6/simpleV6.json +1493 -0
  556. package/lib/protocol/fixtures/6/tempAndMagModuleCommands.json +1412 -0
  557. package/lib/protocol/fixtures/6/transferSettings.json +11060 -0
  558. package/lib/protocol/fixtures/7/moveLabware.json +1303 -0
  559. package/lib/protocol/fixtures/7/simpleV7.json +1495 -0
  560. package/lib/protocol/fixtures/8/moveLabware8.json +1309 -0
  561. package/lib/protocol/fixtures/8/moveLabwareFlex8.json +1309 -0
  562. package/lib/protocol/fixtures/8/simpleFlexV8.json +1475 -0
  563. package/lib/protocol/fixtures/8/simpleV8.json +1473 -0
  564. package/lib/protocol/fixtures/index.d.ts +13 -0
  565. package/lib/protocol/index.d.ts +19 -0
  566. package/lib/protocol/schemas/1.json +365 -0
  567. package/lib/protocol/schemas/2.json +390 -0
  568. package/lib/protocol/schemas/3.json +336 -0
  569. package/lib/protocol/schemas/4.json +620 -0
  570. package/lib/protocol/schemas/5.json +658 -0
  571. package/lib/protocol/schemas/6.json +1166 -0
  572. package/lib/protocol/schemas/7.json +270 -0
  573. package/lib/protocol/schemas/8.json +141 -0
  574. package/lib/protocol/types/schemaV1.d.ts +89 -0
  575. package/lib/protocol/types/schemaV3.d.ts +100 -0
  576. package/lib/protocol/types/schemaV4.d.ts +102 -0
  577. package/lib/protocol/types/schemaV5.d.ts +24 -0
  578. package/lib/protocol/types/schemaV5Addendum.d.ts +13 -0
  579. package/lib/protocol/types/schemaV6/command/gantry.d.ts +110 -0
  580. package/lib/protocol/types/schemaV6/command/index.d.ts +46 -0
  581. package/lib/protocol/types/schemaV6/command/module.d.ts +187 -0
  582. package/lib/protocol/types/schemaV6/command/pipetting.d.ts +75 -0
  583. package/lib/protocol/types/schemaV6/command/setup.d.ts +96 -0
  584. package/lib/protocol/types/schemaV6/command/timing.d.ts +39 -0
  585. package/lib/protocol/types/schemaV6/index.d.ts +110 -0
  586. package/lib/protocol/types/schemaV7/command/annotation.d.ts +24 -0
  587. package/lib/protocol/types/schemaV7/command/calibration.d.ts +58 -0
  588. package/lib/protocol/types/schemaV7/command/gantry.d.ts +111 -0
  589. package/lib/protocol/types/schemaV7/command/incidental.d.ts +15 -0
  590. package/lib/protocol/types/schemaV7/command/index.d.ts +40 -0
  591. package/lib/protocol/types/schemaV7/command/module.d.ts +191 -0
  592. package/lib/protocol/types/schemaV7/command/pipetting.d.ts +119 -0
  593. package/lib/protocol/types/schemaV7/command/setup.d.ts +108 -0
  594. package/lib/protocol/types/schemaV7/command/timing.d.ts +39 -0
  595. package/lib/protocol/types/schemaV7/index.d.ts +94 -0
  596. package/lib/protocol/types/schemaV8/index.d.ts +127 -0
  597. package/lib/vite.config.d.ts +2 -0
  598. package/package.json +2 -2
  599. package/vite.config.ts +2 -0
@@ -0,0 +1,296 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "opentronsDeckSchemaV3",
4
+ "definitions": {
5
+ "positiveNumber": {
6
+ "type": "number",
7
+ "minimum": 0
8
+ },
9
+ "xyzArray": {
10
+ "type": "array",
11
+ "description": "Array of 3 numbers, [x, y, z]",
12
+ "items": { "type": "number" },
13
+ "minItems": 3,
14
+ "maxItems": 3
15
+ },
16
+ "coordinates": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "required": ["x", "y", "z"],
20
+ "properties": {
21
+ "x": {
22
+ "type": "number"
23
+ },
24
+ "y": {
25
+ "type": "number"
26
+ },
27
+ "z": {
28
+ "type": "number"
29
+ }
30
+ }
31
+ },
32
+ "unitVector": {
33
+ "type": "array",
34
+ "description": "Array of 3 unit directions, [x, y, z]",
35
+ "items": {
36
+ "type": "number",
37
+ "enum": [1, -1]
38
+ },
39
+ "minItems": 3,
40
+ "maxItems": 3
41
+ },
42
+ "boundingBox": {
43
+ "type": "object",
44
+ "description": "The active area (both pipettes can reach) of a fixture on the deck",
45
+ "required": ["xDimension", "yDimension", "zDimension"],
46
+ "properties": {
47
+ "xDimension": { "$ref": "#/definitions/positiveNumber" },
48
+ "yDimension": { "$ref": "#/definitions/positiveNumber" },
49
+ "zDimension": { "$ref": "#/definitions/positiveNumber" }
50
+ }
51
+ },
52
+ "svgsonNode": {
53
+ "type": "object",
54
+ "description": "An svgson node that corresponds to a single svg tag",
55
+ "properties": {
56
+ "name": {
57
+ "type": "string",
58
+ "description": "Element name, like svg, circle, line…"
59
+ },
60
+ "type": {
61
+ "type": "string",
62
+ "description": "Element type like element, text…"
63
+ },
64
+ "value": {
65
+ "type": "string",
66
+ "description": "Element value, used in text nodes."
67
+ },
68
+ "children": {
69
+ "type": "array",
70
+ "description": "List of element children",
71
+ "items": { "$ref": "#/definitions/svgsonNode" }
72
+ },
73
+ "attributes": {
74
+ "type": "object",
75
+ "description": "Attributes for the element"
76
+ }
77
+ }
78
+ }
79
+ },
80
+ "description": "Deck specifications, where x,y,z (0,0,0) is at front the bottom left corner.",
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": [
84
+ "otId",
85
+ "schemaVersion",
86
+ "cornerOffsetFromOrigin",
87
+ "dimensions",
88
+ "metadata",
89
+ "robot",
90
+ "locations",
91
+ "layers"
92
+ ],
93
+ "properties": {
94
+ "otId": {
95
+ "description": "Unique internal ID generated using UUID",
96
+ "type": "string"
97
+ },
98
+ "schemaVersion": {
99
+ "description": "Schema version of a deck is a single integer",
100
+ "enum": [3]
101
+ },
102
+ "cornerOffsetFromOrigin": {
103
+ "$ref": "#/definitions/xyzArray",
104
+ "description": "Position of left-front-bottom corner of entire deck to robot coordinate system origin"
105
+ },
106
+ "dimensions": {
107
+ "$ref": "#/definitions/xyzArray",
108
+ "description": "Outer dimensions of a deck bounding box"
109
+ },
110
+ "metadata": {
111
+ "description": "Optional metadata about the Deck",
112
+ "type": "object",
113
+ "properties": {
114
+ "displayName": {
115
+ "description": "A short, human-readable name for the deck",
116
+ "type": "string"
117
+ },
118
+ "tags": {
119
+ "description": "Tags to be used in searching for this deck",
120
+ "type": "array",
121
+ "items": {
122
+ "type": "string"
123
+ }
124
+ }
125
+ }
126
+ },
127
+ "robot": {
128
+ "type": "object",
129
+ "required": ["model"],
130
+ "properties": {
131
+ "model": {
132
+ "description": "Model of the robot",
133
+ "type": "string",
134
+ "enum": ["OT-2 Standard", "OT-3 Standard"]
135
+ }
136
+ }
137
+ },
138
+ "locations": {
139
+ "type": "object",
140
+ "required": ["orderedSlots", "calibrationPoints"],
141
+ "properties": {
142
+ "orderedSlots": {
143
+ "type": "array",
144
+ "description": "Ordered slots available for placing labware",
145
+ "items": {
146
+ "type": "object",
147
+ "required": [
148
+ "id",
149
+ "position",
150
+ "boundingBox",
151
+ "displayName",
152
+ "compatibleModuleTypes"
153
+ ],
154
+ "properties": {
155
+ "id": {
156
+ "description": "Unique identifier for slot",
157
+ "type": "string"
158
+ },
159
+ "position": {
160
+ "$ref": "#/definitions/xyzArray"
161
+ },
162
+ "matingSurfaceUnitVector": {
163
+ "$ref": "#/definitions/unitVector",
164
+ "description": "An optional diagonal direction of force, defined by spring location, which governs the mating surface of objects placed in slot."
165
+ },
166
+ "boundingBox": {
167
+ "$ref": "#/definitions/boundingBox"
168
+ },
169
+ "displayName": {
170
+ "description": "A human-readable nickname for this slot Eg \"Slot 1\" or \"Fixed Trash\"",
171
+ "type": "string"
172
+ },
173
+ "compatibleModuleTypes": {
174
+ "description": "An array of module types that can be placed in this slot.",
175
+ "type": "array",
176
+ "items": {
177
+ "type": "string",
178
+ "enum": [
179
+ "magneticModuleType",
180
+ "temperatureModuleType",
181
+ "thermocyclerModuleType",
182
+ "heaterShakerModuleType",
183
+ "magneticBlockType"
184
+ ]
185
+ }
186
+ }
187
+ }
188
+ }
189
+ },
190
+ "calibrationPoints": {
191
+ "type": "array",
192
+ "description": "Key points for deck calibration",
193
+ "items": {
194
+ "type": "object",
195
+ "required": ["id", "position", "displayName"],
196
+ "properties": {
197
+ "id": {
198
+ "description": "Unique identifier for calibration point",
199
+ "type": "string"
200
+ },
201
+ "position": {
202
+ "$ref": "#/definitions/xyzArray"
203
+ },
204
+ "displayName": {
205
+ "description": "An optional human-readable nickname for this point Eg \"Slot 3 Cross\" or \"Slot 1 Dot\"",
206
+ "type": "string"
207
+ }
208
+ }
209
+ }
210
+ },
211
+ "fixtures": {
212
+ "type": "array",
213
+ "description": "Fixed position objects on the deck.",
214
+ "items": {
215
+ "type": "object",
216
+ "required": ["id", "displayName"],
217
+ "properties": {
218
+ "id": {
219
+ "description": "Unique identifier for fixed object",
220
+ "type": "string"
221
+ },
222
+ "labware": {
223
+ "description": "Valid labware loadName for fixed object",
224
+ "type": "string"
225
+ },
226
+ "boundingBox": {
227
+ "$ref": "#/definitions/boundingBox"
228
+ },
229
+ "slot": {
230
+ "description": "Slot location of the fixed object",
231
+ "type": "string"
232
+ },
233
+ "position": {
234
+ "$ref": "#/definitions/xyzArray"
235
+ },
236
+ "displayName": {
237
+ "description": "An optional human-readable nickname for this fixture Eg \"Tall Fixed Trash\" or \"Short Fixed Trash\"",
238
+ "type": "string"
239
+ }
240
+ },
241
+ "oneOf": [
242
+ {
243
+ "anyOf": [
244
+ {
245
+ "required": ["labware", "slot"]
246
+ },
247
+ {
248
+ "required": ["labware", "position"]
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "anyOf": [
254
+ {
255
+ "required": ["boundingBox", "slot"]
256
+ },
257
+ {
258
+ "required": ["boundingBox", "position"]
259
+ }
260
+ ]
261
+ }
262
+ ]
263
+ }
264
+ }
265
+ }
266
+ },
267
+ "layers": {
268
+ "type": "array",
269
+ "description": "Layered feature groups of the deck.",
270
+ "items": {
271
+ "$ref": "#/definitions/svgsonNode"
272
+ }
273
+ },
274
+ "gripperOffsets": {
275
+ "type": "object",
276
+ "description": "Offsets to be added when calculating the coordinates a gripper should go to when picking up or dropping a labware on this deck.",
277
+ "properties": {
278
+ "default": {
279
+ "type": "object",
280
+ "properties": {
281
+ "pickUpOffset": {
282
+ "$ref": "#/definitions/coordinates",
283
+ "description": "Offset added to calculate pick-up coordinates of a labware placed on this deck."
284
+ },
285
+ "dropOffset": {
286
+ "$ref": "#/definitions/coordinates",
287
+ "description": "Offset added to calculate drop coordinates of a labware placed on this deck."
288
+ }
289
+ },
290
+ "required": ["pickUpOffset", "dropOffset"]
291
+ }
292
+ },
293
+ "required": ["default"]
294
+ }
295
+ }
296
+ }
@@ -0,0 +1,319 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "opentronsDeckSchemaV4",
4
+ "definitions": {
5
+ "positiveNumber": {
6
+ "type": "number",
7
+ "minimum": 0
8
+ },
9
+ "xyzArray": {
10
+ "type": "array",
11
+ "description": "Array of 3 numbers, [x, y, z]",
12
+ "items": { "type": "number" },
13
+ "minItems": 3,
14
+ "maxItems": 3
15
+ },
16
+ "coordinates": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "required": ["x", "y", "z"],
20
+ "properties": {
21
+ "x": {
22
+ "type": "number"
23
+ },
24
+ "y": {
25
+ "type": "number"
26
+ },
27
+ "z": {
28
+ "type": "number"
29
+ }
30
+ }
31
+ },
32
+ "unitVector": {
33
+ "type": "array",
34
+ "description": "Array of 3 unit directions, [x, y, z]",
35
+ "items": {
36
+ "type": "number",
37
+ "enum": [1, -1]
38
+ },
39
+ "minItems": 3,
40
+ "maxItems": 3
41
+ },
42
+ "boundingBox": {
43
+ "type": "object",
44
+ "required": ["xDimension", "yDimension", "zDimension"],
45
+ "properties": {
46
+ "xDimension": { "$ref": "#/definitions/positiveNumber" },
47
+ "yDimension": { "$ref": "#/definitions/positiveNumber" },
48
+ "zDimension": { "$ref": "#/definitions/positiveNumber" }
49
+ }
50
+ }
51
+ },
52
+ "description": "Deck specifications, where x,y,z (0,0,0) is at front the bottom left corner.",
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": [
56
+ "otId",
57
+ "schemaVersion",
58
+ "cornerOffsetFromOrigin",
59
+ "dimensions",
60
+ "metadata",
61
+ "robot",
62
+ "locations",
63
+ "cutoutFixtures"
64
+ ],
65
+ "properties": {
66
+ "otId": {
67
+ "description": "Unique internal ID generated using UUID",
68
+ "type": "string"
69
+ },
70
+ "schemaVersion": {
71
+ "description": "Schema version of a deck is a single integer",
72
+ "enum": [4]
73
+ },
74
+ "cornerOffsetFromOrigin": {
75
+ "$ref": "#/definitions/xyzArray",
76
+ "description": "Position of left-front-bottom corner of entire deck to robot coordinate system origin"
77
+ },
78
+ "dimensions": {
79
+ "$ref": "#/definitions/xyzArray",
80
+ "description": "Outer dimensions of a deck bounding box"
81
+ },
82
+ "metadata": {
83
+ "description": "Optional metadata about the Deck",
84
+ "type": "object",
85
+ "properties": {
86
+ "displayName": {
87
+ "description": "A short, human-readable name for the deck",
88
+ "type": "string"
89
+ },
90
+ "tags": {
91
+ "description": "Tags to be used in searching for this deck",
92
+ "type": "array",
93
+ "items": {
94
+ "type": "string"
95
+ }
96
+ }
97
+ }
98
+ },
99
+ "robot": {
100
+ "type": "object",
101
+ "required": ["model"],
102
+ "properties": {
103
+ "model": {
104
+ "description": "Model of the robot",
105
+ "type": "string",
106
+ "enum": ["OT-2 Standard", "OT-3 Standard"]
107
+ }
108
+ }
109
+ },
110
+ "locations": {
111
+ "type": "object",
112
+ "required": [
113
+ "addressableAreas",
114
+ "calibrationPoints",
115
+ "cutouts",
116
+ "legacyFixtures"
117
+ ],
118
+ "properties": {
119
+ "addressableAreas": {
120
+ "type": "array",
121
+ "items": {
122
+ "type": "object",
123
+ "description": "An addressable area is a named area in 3D space that the robot can interact with--for example, as a place to drop tips, or hold a labware.",
124
+ "required": [
125
+ "id",
126
+ "areaType",
127
+ "offsetFromCutoutFixture",
128
+ "boundingBox",
129
+ "displayName"
130
+ ],
131
+ "properties": {
132
+ "id": {
133
+ "description": "Unique identifier for slot",
134
+ "type": "string"
135
+ },
136
+ "areaType": {
137
+ "description": "The type of addressable area, defining allowed behavior.",
138
+ "type": "string",
139
+ "enum": [
140
+ "slot",
141
+ "stagingSlot",
142
+ "movableTrash",
143
+ "fixedTrash",
144
+ "wasteChute"
145
+ ]
146
+ },
147
+ "offsetFromCutoutFixture": {
148
+ "$ref": "#/definitions/xyzArray",
149
+ "description": "The offset from the origin of the cutout fixture that's providing this addressable area (which is currently identical to the position of the underlying cutout), to the -x, -y, -z corner of this addressable area's bounding box."
150
+ },
151
+ "matingSurfaceUnitVector": {
152
+ "$ref": "#/definitions/unitVector",
153
+ "description": "An optional diagonal direction of force, defined by spring location, which governs the mating surface of objects placed in this addressable area. Meant to be used when this addressable area is a slot."
154
+ },
155
+ "boundingBox": {
156
+ "description": "The active area (both pipettes can reach) of this addressable area.",
157
+ "$ref": "#/definitions/boundingBox"
158
+ },
159
+ "displayName": {
160
+ "description": "A human-readable nickname for this area e.g. \"Slot A1\" or \"Trash Bin in A1\"",
161
+ "type": "string"
162
+ },
163
+ "compatibleModuleTypes": {
164
+ "description": "An array of module types that can be placed in this area. The module type names can be found in the moduleType field of a module definition.",
165
+ "type": "array",
166
+ "items": {
167
+ "type": "string"
168
+ }
169
+ },
170
+ "ableToDropTips": {
171
+ "description": "Whether tips are allowed to be dropped into this area. If `true`, the top-center of the `boundingBox` should be a good location for the bottom-center of all the tips when they're dropped.",
172
+ "type": "boolean"
173
+ },
174
+ "ableToDropLabware": {
175
+ "description": "Whether labware is allowed to be dropped (different from being placed) into this area. If `true`, the top-center of the `boundingBox` should be a good location for the bottom-center of the labware when it's dropped.",
176
+ "type": "boolean"
177
+ }
178
+ }
179
+ }
180
+ },
181
+ "calibrationPoints": {
182
+ "type": "array",
183
+ "description": "Key points for deck calibration",
184
+ "items": {
185
+ "type": "object",
186
+ "required": ["id", "position", "displayName"],
187
+ "properties": {
188
+ "id": {
189
+ "description": "Unique identifier for calibration point",
190
+ "type": "string"
191
+ },
192
+ "position": {
193
+ "$ref": "#/definitions/xyzArray"
194
+ },
195
+ "displayName": {
196
+ "description": "An optional human-readable nickname for this point Eg \"Slot 3 Cross\" or \"Slot 1 Dot\"",
197
+ "type": "string"
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "cutouts": {
203
+ "type": "array",
204
+ "description": "The machined cutout slots on the deck surface.",
205
+ "items": {
206
+ "type": "object",
207
+ "required": ["id", "position", "displayName"],
208
+ "properties": {
209
+ "id": {
210
+ "description": "Unique identifier for the cutout",
211
+ "type": "string"
212
+ },
213
+ "position": {
214
+ "description": "Absolute position of the cutout",
215
+ "$ref": "#/definitions/xyzArray"
216
+ },
217
+ "displayName": {
218
+ "description": "An optional human-readable nickname for this cutout e.g. \"Cutout A1\"",
219
+ "type": "string"
220
+ }
221
+ }
222
+ }
223
+ },
224
+ "legacyFixtures": {
225
+ "type": "array",
226
+ "description": "Fixed position objects on the deck.",
227
+ "items": {
228
+ "type": "object",
229
+ "required": ["id", "displayName"],
230
+ "properties": {
231
+ "id": {
232
+ "description": "Unique identifier for fixed object",
233
+ "type": "string"
234
+ },
235
+ "labware": {
236
+ "description": "Valid labware loadName for fixed object",
237
+ "type": "string"
238
+ },
239
+ "slot": {
240
+ "description": "Slot location of the fixed object",
241
+ "type": "string"
242
+ },
243
+ "displayName": {
244
+ "description": "An optional human-readable nickname for this fixture Eg \"Tall Fixed Trash\" or \"Short Fixed Trash\"",
245
+ "type": "string"
246
+ }
247
+ }
248
+ }
249
+ }
250
+ }
251
+ },
252
+ "cutoutFixtures": {
253
+ "type": "array",
254
+ "items": {
255
+ "description": "A cutout fixture is a physical thing that can be mounted onto one of the deck cutouts.",
256
+ "type": "object",
257
+ "required": [
258
+ "id",
259
+ "mayMountTo",
260
+ "displayName",
261
+ "providesAddressableAreas",
262
+ "height"
263
+ ],
264
+ "properties": {
265
+ "id": {
266
+ "description": "Unique identifier for the cutout fixture.",
267
+ "type": "string"
268
+ },
269
+ "mayMountTo": {
270
+ "description": "A list of compatible cutouts this fixture may be mounted to. These must match `id`s in `cutouts`.",
271
+ "type": "array",
272
+ "items": {
273
+ "type": "string"
274
+ }
275
+ },
276
+ "displayName": {
277
+ "description": "A human-readable nickname for this area e.g. \"Standard Right Slot\" or \"Slot With Movable Trash\"",
278
+ "type": "string"
279
+ },
280
+ "providesAddressableAreas": {
281
+ "description": "The addressable areas that this cutout fixture provides, when it's mounted. It can provide different addressable areas depending on where it's mounted. Keys must match values from this object's `mayMountTo`. Values must match `id`s from `addressableAreas`.",
282
+ "type": "object",
283
+ "additionalProperties": {
284
+ "type": "array",
285
+ "items": {
286
+ "type": "string"
287
+ }
288
+ }
289
+ },
290
+ "height": {
291
+ "description": "The vertical distance (mm) from the cutout fixture's origin to its tallest physical feature that an instrument could collide with.",
292
+ "type": "number"
293
+ }
294
+ }
295
+ }
296
+ },
297
+ "gripperOffsets": {
298
+ "type": "object",
299
+ "description": "Offsets to be added when calculating the coordinates a gripper should go to when picking up or dropping a labware on this deck.",
300
+ "properties": {
301
+ "default": {
302
+ "type": "object",
303
+ "properties": {
304
+ "pickUpOffset": {
305
+ "$ref": "#/definitions/coordinates",
306
+ "description": "Offset added to calculate pick-up coordinates of a labware placed on this deck."
307
+ },
308
+ "dropOffset": {
309
+ "$ref": "#/definitions/coordinates",
310
+ "description": "Offset added to calculate drop coordinates of a labware placed on this deck."
311
+ }
312
+ },
313
+ "required": ["pickUpOffset", "dropOffset"]
314
+ }
315
+ },
316
+ "required": ["default"]
317
+ }
318
+ }
319
+ }