@opentrons/shared-data 0.1.7-alpha.1 → 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 (258) 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 +3 -1
  9. package/command/schemas/13.json +147 -315
  10. package/command/schemas/14.json +7254 -0
  11. package/command/types/index.ts +15 -4
  12. package/command/types/module.ts +24 -4
  13. package/command/types/setup.ts +5 -5
  14. package/command/types/support.ts +1 -0
  15. package/deck/definitions/5/ot2_short_trash.json +37 -0
  16. package/deck/definitions/5/ot2_standard.json +37 -0
  17. package/deck/definitions/5/ot3_standard.json +152 -51
  18. package/deck/schemas/5.json +46 -1
  19. package/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/3.json +4737 -0
  20. package/labware/definitions/2/axygen_96_wellplate_500ul/1.json +1036 -0
  21. package/labware/definitions/2/axygen_96_wellplate_500ul/2.json +1159 -0
  22. package/labware/definitions/2/biorad_384_wellplate_50ul/4.json +4748 -0
  23. package/labware/definitions/2/biorad_96_wellplate_200ul_pcr/4.json +1187 -0
  24. package/labware/definitions/2/corning_12_wellplate_6.9ml_flat/4.json +210 -0
  25. package/labware/definitions/2/corning_24_wellplate_3.4ml_flat/4.json +342 -0
  26. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/5.json +610 -0
  27. package/labware/definitions/2/corning_6_wellplate_16.8ml_flat/4.json +134 -0
  28. package/labware/definitions/2/corning_96_wellplate_360ul_flat/4.json +1177 -0
  29. package/labware/definitions/2/corning_96_wellplate_360ul_lid/1.json +111 -0
  30. package/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1 -1
  31. package/labware/definitions/2/ibidi_96_square_well_plate_300ul/1.json +1105 -0
  32. package/labware/definitions/2/ibidi_96_square_well_plate_300ul/2.json +1216 -0
  33. package/labware/definitions/2/ibidi_96_square_well_plate_300ul_lid/1.json +110 -0
  34. package/labware/definitions/2/nest_12_reservoir_22ml/1.json +232 -0
  35. package/labware/definitions/2/nest_24_wellplate_10.4ml/1.json +386 -0
  36. package/labware/definitions/2/nest_8_reservoir_22ml/1.json +162 -0
  37. package/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/4.json +1166 -0
  38. package/labware/definitions/2/nest_96_wellplate_200ul_flat/4.json +1145 -0
  39. package/labware/definitions/2/nest_96_wellplate_2ml_deep/4.json +1261 -0
  40. package/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/4.json +1174 -0
  41. package/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +5 -0
  42. package/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +5 -0
  43. package/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +5 -0
  44. package/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +5 -0
  45. package/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +5 -0
  46. package/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +5 -0
  47. package/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +5 -0
  48. package/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +5 -0
  49. package/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +8 -8
  50. package/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +8 -0
  51. package/labware/definitions/2/opentrons_tough_universal_lid/1.json +16 -1
  52. package/labware/definitions/2/smc_384_read_plate/1.json +4701 -0
  53. package/labware/definitions/2/smc_384_read_plate/2.json +5100 -0
  54. package/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/3.json +1141 -0
  55. package/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/3.json +1141 -0
  56. package/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/3.json +1243 -0
  57. package/labware/definitions/3/schema3test_96_well_aluminum_block/999.json +5 -2
  58. package/labware/definitions/3/schema3test_96_wellplate_200ul_pcr_full_skirt/999.json +15 -2
  59. package/labware/definitions/3/schema3test_aluminum_flat_bottom_plate/999.json +70 -0
  60. package/labware/definitions/3/schema3test_flex_96_tiprack_200ul/999.json +5 -9
  61. package/labware/definitions/3/schema3test_flex_96_tiprack_adapter/999.json +70 -0
  62. package/labware/definitions/3/schema3test_flex_tiprack_lid/999.json +146 -0
  63. package/labware/definitions/3/schema3test_tough_pcr_auto_sealing_lid/999.json +162 -0
  64. package/labware/definitions/3/schema3test_universal_flat_adapter/999.json +157 -0
  65. package/labware/fixtures/2/fixture_user_volumes_prototype.json +1137 -0
  66. package/labware/fixtures/3/fixture_2_plate.json +5 -2
  67. package/labware/fixtures/3/fixture_corning_24_plate.json +6 -3
  68. package/labware/fixtures/3/index.ts +4 -0
  69. package/labware/schemas/2.json +36 -1
  70. package/labware/schemas/3.json +57 -5
  71. package/lib/command/index.d.ts +39 -1
  72. package/lib/command/schemas/13.json +147 -315
  73. package/lib/command/schemas/14.json +7254 -0
  74. package/lib/command/types/index.d.ts +11 -3
  75. package/lib/command/types/module.d.ts +19 -6
  76. package/lib/command/types/setup.d.ts +5 -5
  77. package/lib/deck/definitions/5/ot2_short_trash.json +37 -0
  78. package/lib/deck/definitions/5/ot2_standard.json +37 -0
  79. package/lib/deck/definitions/5/ot3_standard.json +152 -51
  80. package/lib/deck/schemas/5.json +46 -1
  81. package/lib/index.mjs +240842 -193770
  82. package/lib/js/constants.d.ts +30 -9
  83. package/lib/js/fixtures.d.ts +77 -2
  84. package/lib/js/getLabware.d.ts +3 -3
  85. package/lib/js/helpers/__tests__/getMaxPushOutVolume.test.d.ts +1 -0
  86. package/lib/js/helpers/__tests__/getStackedItemsOnStartingDeck.test.d.ts +1 -0
  87. package/lib/js/helpers/__tests__/labwareSchemaShims.test.d.ts +1 -0
  88. package/lib/js/helpers/__tests__/pairsFromArray.test.d.ts +1 -0
  89. package/lib/js/helpers/__tests__/vectorMath.test.d.ts +1 -0
  90. package/lib/js/helpers/getFixedTrashLabwareDefinition.d.ts +2 -2
  91. package/lib/js/helpers/getLabwareDefURI.d.ts +3 -0
  92. package/lib/js/helpers/getLabwareDefinitionsByURIForProtocol.d.ts +6 -0
  93. package/lib/js/helpers/getLabwareInfoByLiquidId.d.ts +10 -0
  94. package/lib/js/helpers/getLiquidsByIdForLabware.d.ts +2 -0
  95. package/lib/js/helpers/getLoadedLabwareDefinitionsByUri.d.ts +2 -2
  96. package/lib/js/helpers/getMaxPushOutVolume.d.ts +2 -0
  97. package/lib/js/helpers/getStackedItemsOnStartingDeck.d.ts +50 -0
  98. package/lib/js/helpers/getStandardDeckViewLayerBlockList.d.ts +2 -0
  99. package/lib/js/helpers/getTipTypeFromTipRackDefinition.d.ts +2 -2
  100. package/lib/js/helpers/getWellFillFromLabwareId.d.ts +4 -0
  101. package/lib/js/helpers/getWellNamePerMultiTip.d.ts +3 -3
  102. package/lib/js/helpers/getWellTotalVolume.d.ts +2 -2
  103. package/lib/js/helpers/index.d.ts +22 -14
  104. package/lib/js/helpers/labwareInference.d.ts +3 -3
  105. package/lib/js/helpers/liquidClasses.d.ts +4 -2
  106. package/lib/js/helpers/matrixMath.d.ts +3 -0
  107. package/lib/js/helpers/pairsFromArray.d.ts +8 -0
  108. package/lib/js/helpers/parseProtocolCommands.d.ts +4 -4
  109. package/lib/js/helpers/positionMath.d.ts +127 -0
  110. package/lib/js/helpers/validateCustomLabwareHelper.d.ts +2 -2
  111. package/lib/js/helpers/vectorMath.d.ts +14 -0
  112. package/lib/js/helpers/wellSets.d.ts +4 -4
  113. package/lib/js/labware.d.ts +4 -3
  114. package/lib/js/liquidClasses.d.ts +4 -0
  115. package/lib/js/modules.d.ts +1 -1
  116. package/lib/js/types.d.ts +62 -13
  117. package/lib/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/3.json +4737 -0
  118. package/lib/labware/definitions/2/axygen_96_wellplate_500ul/1.json +1036 -0
  119. package/lib/labware/definitions/2/axygen_96_wellplate_500ul/2.json +1159 -0
  120. package/lib/labware/definitions/2/biorad_384_wellplate_50ul/4.json +4748 -0
  121. package/lib/labware/definitions/2/biorad_96_wellplate_200ul_pcr/4.json +1187 -0
  122. package/lib/labware/definitions/2/corning_12_wellplate_6.9ml_flat/4.json +210 -0
  123. package/lib/labware/definitions/2/corning_24_wellplate_3.4ml_flat/4.json +342 -0
  124. package/lib/labware/definitions/2/corning_48_wellplate_1.6ml_flat/5.json +610 -0
  125. package/lib/labware/definitions/2/corning_6_wellplate_16.8ml_flat/4.json +134 -0
  126. package/lib/labware/definitions/2/corning_96_wellplate_360ul_flat/4.json +1177 -0
  127. package/lib/labware/definitions/2/corning_96_wellplate_360ul_lid/1.json +111 -0
  128. package/lib/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1 -1
  129. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul/1.json +1105 -0
  130. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul/2.json +1216 -0
  131. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul_lid/1.json +110 -0
  132. package/lib/labware/definitions/2/nest_12_reservoir_22ml/1.json +232 -0
  133. package/lib/labware/definitions/2/nest_24_wellplate_10.4ml/1.json +386 -0
  134. package/lib/labware/definitions/2/nest_8_reservoir_22ml/1.json +162 -0
  135. package/lib/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/4.json +1166 -0
  136. package/lib/labware/definitions/2/nest_96_wellplate_200ul_flat/4.json +1145 -0
  137. package/lib/labware/definitions/2/nest_96_wellplate_2ml_deep/4.json +1261 -0
  138. package/lib/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/4.json +1174 -0
  139. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +5 -0
  140. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +5 -0
  141. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +5 -0
  142. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +5 -0
  143. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +5 -0
  144. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +5 -0
  145. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +5 -0
  146. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +5 -0
  147. package/lib/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +8 -8
  148. package/lib/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +8 -0
  149. package/lib/labware/definitions/2/opentrons_tough_universal_lid/1.json +16 -1
  150. package/lib/labware/definitions/2/smc_384_read_plate/1.json +4701 -0
  151. package/lib/labware/definitions/2/smc_384_read_plate/2.json +5100 -0
  152. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/3.json +1141 -0
  153. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/3.json +1141 -0
  154. package/lib/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/3.json +1243 -0
  155. package/lib/labware/definitions/3/schema3test_96_well_aluminum_block/999.json +5 -2
  156. package/lib/labware/definitions/3/schema3test_96_wellplate_200ul_pcr_full_skirt/999.json +15 -2
  157. package/lib/labware/definitions/3/schema3test_aluminum_flat_bottom_plate/999.json +70 -0
  158. package/lib/labware/definitions/3/schema3test_flex_96_tiprack_200ul/999.json +5 -9
  159. package/lib/labware/definitions/3/schema3test_flex_96_tiprack_adapter/999.json +70 -0
  160. package/lib/labware/definitions/3/schema3test_flex_tiprack_lid/999.json +146 -0
  161. package/lib/labware/definitions/3/schema3test_tough_pcr_auto_sealing_lid/999.json +162 -0
  162. package/lib/labware/definitions/3/schema3test_universal_flat_adapter/999.json +157 -0
  163. package/lib/labware/fixtures/2/fixture_user_volumes_prototype.json +1137 -0
  164. package/lib/labware/fixtures/3/fixture_2_plate.json +5 -2
  165. package/lib/labware/fixtures/3/fixture_corning_24_plate.json +6 -3
  166. package/lib/labware/fixtures/3/index.d.ts +3 -0
  167. package/lib/labware/schemas/2.json +36 -1
  168. package/lib/labware/schemas/3.json +57 -5
  169. package/lib/liquid-class/definitions/1/{ethanol_80.json → ethanol_80/1.json} +545 -390
  170. package/lib/liquid-class/definitions/1/{glycerol_50.json → glycerol_50/1.json} +370 -215
  171. package/lib/liquid-class/definitions/1/{water.json → water/1.json} +151 -62
  172. package/lib/liquid-class/fixtures/1/fixture_glycerol50.json +1 -0
  173. package/lib/liquid-class/schemas/1.json +6 -0
  174. package/lib/module/definitions/3/absorbanceReaderV1.json +20 -151
  175. package/lib/module/definitions/3/flexStackerModuleV1.json +29 -389
  176. package/lib/module/definitions/3/heaterShakerModuleV1.json +16 -357
  177. package/lib/module/definitions/3/magneticBlockV1.json +18 -149
  178. package/lib/module/definitions/3/magneticModuleV1.json +16 -399
  179. package/lib/module/definitions/3/magneticModuleV2.json +16 -399
  180. package/lib/module/definitions/3/temperatureModuleV1.json +16 -153
  181. package/lib/module/definitions/3/temperatureModuleV2.json +16 -153
  182. package/lib/module/definitions/3/thermocyclerModuleV1.json +16 -1340
  183. package/lib/module/definitions/3/thermocyclerModuleV2.json +18 -3617
  184. package/lib/module/schemas/3.json +109 -12
  185. package/lib/pipette/definitions/1/pipetteModelSpecs.json +336 -0
  186. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/3_2.json +660 -0
  187. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/3_2.json +309 -0
  188. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +28 -18
  189. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_2.json +192 -0
  190. package/lib/protocol/types/schemaV8/index.d.ts +17 -1
  191. package/liquid-class/definitions/1/{ethanol_80.json → ethanol_80/1.json} +545 -390
  192. package/liquid-class/definitions/1/{glycerol_50.json → glycerol_50/1.json} +370 -215
  193. package/liquid-class/definitions/1/{water.json → water/1.json} +151 -62
  194. package/liquid-class/fixtures/1/fixture_glycerol50.json +1 -0
  195. package/liquid-class/schemas/1.json +6 -0
  196. package/module/definitions/3/absorbanceReaderV1.json +20 -151
  197. package/module/definitions/3/flexStackerModuleV1.json +29 -389
  198. package/module/definitions/3/heaterShakerModuleV1.json +16 -357
  199. package/module/definitions/3/magneticBlockV1.json +18 -149
  200. package/module/definitions/3/magneticModuleV1.json +16 -399
  201. package/module/definitions/3/magneticModuleV2.json +16 -399
  202. package/module/definitions/3/temperatureModuleV1.json +16 -153
  203. package/module/definitions/3/temperatureModuleV2.json +16 -153
  204. package/module/definitions/3/thermocyclerModuleV1.json +16 -1340
  205. package/module/definitions/3/thermocyclerModuleV2.json +18 -3617
  206. package/module/schemas/3.json +109 -12
  207. package/mypy.ini +22 -0
  208. package/package.json +1 -1
  209. package/pipette/definitions/1/pipetteModelSpecs.json +336 -0
  210. package/pipette/definitions/2/general/ninety_six_channel/p200/3_2.json +660 -0
  211. package/pipette/definitions/2/geometry/ninety_six_channel/p200/3_2.json +309 -0
  212. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +28 -18
  213. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_2.json +192 -0
  214. package/protocol/types/schemaV8/index.ts +29 -1
  215. package/pyproject.toml +119 -0
  216. package/pytest.ini +8 -0
  217. package/python_tests/__init__.py +1 -0
  218. package/python_tests/command/test_known_schema_ids.py +9 -0
  219. package/python_tests/conftest.py +108 -0
  220. package/python_tests/deck/__init__.py +0 -0
  221. package/python_tests/deck/test_list_names.py +12 -0
  222. package/python_tests/deck/test_position.py +101 -0
  223. package/python_tests/deck/test_typechecks.py +23 -0
  224. package/python_tests/errors/__init__.py +1 -0
  225. package/python_tests/errors/test_error_completeness.py +19 -0
  226. package/python_tests/errors/test_exceptions.py +74 -0
  227. package/python_tests/gripper/__init__.py +0 -0
  228. package/python_tests/gripper/test_definition.py +30 -0
  229. package/python_tests/gripper/test_load.py +19 -0
  230. package/python_tests/labware/__init__.py +13 -0
  231. package/python_tests/labware/test_typechecks.py +80 -0
  232. package/python_tests/liquid_classes/__init__.py +0 -0
  233. package/python_tests/liquid_classes/test_liquid_class_values.py +59 -0
  234. package/python_tests/liquid_classes/test_load.py +45 -0
  235. package/python_tests/liquid_classes/test_validations.py +192 -0
  236. package/python_tests/module/__init__.py +20 -0
  237. package/python_tests/module/test_load.py +49 -0
  238. package/python_tests/module/test_typechecks.py +26 -0
  239. package/python_tests/pipette/__init__.py +0 -0
  240. package/python_tests/pipette/test_load_data.py +109 -0
  241. package/python_tests/pipette/test_max_flow_rates_per_volume.py +112 -0
  242. package/python_tests/pipette/test_mutable_configurations.py +467 -0
  243. package/python_tests/pipette/test_pipette_definition.py +183 -0
  244. package/python_tests/pipette/test_pipette_load_name_conversions.py +244 -0
  245. package/python_tests/pipette/test_typechecks.py +47 -0
  246. package/python_tests/pipette/test_validate_schema.py +198 -0
  247. package/python_tests/protocol/__init__.py +7 -0
  248. package/python_tests/protocol/test_protocol_schema_v6.py +108 -0
  249. package/python_tests/protocol/test_protocol_schema_v7.py +35 -0
  250. package/python_tests/protocol/test_protocol_schema_v8.py +17 -0
  251. package/python_tests/protocol/test_typechecks.py +30 -0
  252. package/python_tests/robot/__init__.py +0 -0
  253. package/python_tests/robot/test_typechecks.py +13 -0
  254. package/lib/js/cypressUtils.d.ts +0 -1
  255. package/lib/js/helpers/getVectorDifference.d.ts +0 -2
  256. package/lib/js/helpers/getVectorSum.d.ts +0 -2
  257. /package/lib/js/{helpers/__tests__/getVectorDifference.test.d.ts → __tests__/fixtures.test.d.ts} +0 -0
  258. /package/lib/js/helpers/__tests__/{getVectorSum.test.d.ts → getLabwareInfoByLiquidId.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- import type { WellOrigin } from '../command';
1
+ import type { WellLocation, WellOrigin } from '../command';
2
2
  import type { AddressableAreaName, CutoutFixtureId, CutoutId } from '../deck';
3
- import type { ModuleModel, ModuleType, PositionReference } from './types';
3
+ import type { AddressableArea, AreaType, FakeAddressableArea, ModuleModel, ModuleType, PositionReference } from './types';
4
4
  export declare const SLOT_LENGTH_MM = 127.76;
5
5
  export declare const SLOT_WIDTH_MM = 85.48;
6
6
  export declare const SLOT_RENDER_WIDTH = 127.76;
@@ -57,11 +57,6 @@ export declare const MODULE_MODELS: ("thermocyclerModuleV2" | "heaterShakerModul
57
57
  export declare const MODULE_MODELS_OT2_ONLY: ("magneticModuleV1" | "magneticModuleV2" | "temperatureModuleV1" | "thermocyclerModuleV1")[];
58
58
  export declare const MODULE_TYPES: ("magneticModuleType" | "temperatureModuleType" | "heaterShakerModuleType" | "thermocyclerModuleType" | "magneticBlockType" | "absorbanceReaderType" | "flexStackerModuleType")[];
59
59
  export declare const GEN_ONE_MULTI_PIPETTES: string[];
60
- export declare const IDENTITY_VECTOR: {
61
- x: number;
62
- y: number;
63
- z: number;
64
- };
65
60
  export declare const ROBOT_MODELS: string[];
66
61
  export declare const OT2_ROBOT_TYPE: "OT-2 Standard";
67
62
  export declare const FLEX_ROBOT_TYPE: "OT-3 Standard";
@@ -100,6 +95,7 @@ export declare const WEIGHT_OF_96_CHANNEL: '~10kg';
100
95
  export declare const MOVABLE_TRASH_CUTOUTS: CutoutId[];
101
96
  export declare const SINGLE_LEFT_CUTOUTS: CutoutId[];
102
97
  export declare const SINGLE_CENTER_CUTOUTS: CutoutId[];
98
+ export declare const LEFT_AND_CENTER_CUTOUTS: CutoutId[];
103
99
  export declare const SINGLE_RIGHT_CUTOUTS: CutoutId[];
104
100
  export declare const STAGING_AREA_CUTOUTS: CutoutId[];
105
101
  export declare const TEMPERATURE_MODULE_CUTOUTS: CutoutId[];
@@ -123,6 +119,17 @@ export declare const D1_ADDRESSABLE_AREA: 'D1';
123
119
  export declare const D2_ADDRESSABLE_AREA: 'D2';
124
120
  export declare const D3_ADDRESSABLE_AREA: 'D3';
125
121
  export declare const D4_ADDRESSABLE_AREA: 'D4';
122
+ export declare const FAKE_D4_ADDRESSABLE_AREA: 'fakeD4';
123
+ export declare const FAKE_C4_ADDRESSABLE_AREA: 'fakeC4';
124
+ export declare const FAKE_B4_ADDRESSABLE_AREA: 'fakeB4';
125
+ export declare const FAKE_A4_ADDRESSABLE_AREA: 'fakeA4';
126
+ export declare const FAKE_AA: ("fakeA4" | "fakeB4" | "fakeC4")[];
127
+ export type FlexFakeAddressableAreaName = 'fakeA4' | 'fakeB4' | 'fakeC4' | 'fakeD4';
128
+ export type FakeCutoutFixtureId = 'fakeStagingAreaRightSlot' | 'fakeWasteChuteWithEmptySlot' | 'fakeStagingSlotWithMagBlockV1';
129
+ export type AddressableAreaNamesWithFakes = AddressableAreaName | FlexFakeAddressableAreaName;
130
+ export type AddressableAreaWithFakes = AddressableArea | FakeAddressableArea;
131
+ export type CutoutFixtureIdsWithFakes = CutoutFixtureId | FakeCutoutFixtureId;
132
+ export type AreaTypeWithFakes = AreaType | 'fakeStagingSlot';
126
133
  export declare const MOVABLE_TRASH_A1_ADDRESSABLE_AREA: 'movableTrashA1';
127
134
  export declare const MOVABLE_TRASH_A3_ADDRESSABLE_AREA: 'movableTrashA3';
128
135
  export declare const MOVABLE_TRASH_B1_ADDRESSABLE_AREA: 'movableTrashB1';
@@ -184,6 +191,7 @@ export declare const FLEX_STACKER_ADDRESSABLE_AREAS: AddressableAreaName[];
184
191
  export declare const FLEX_USB_MODULE_ADDRESSABLE_AREAS: AddressableAreaName[];
185
192
  export declare const FLEX_MODULE_ADDRESSABLE_AREAS: AddressableAreaName[];
186
193
  export declare const FLEX_STAGING_ADDRESSABLE_AREAS: AddressableAreaName[];
194
+ export declare const FLEX_STAGING_ADDRESSABLE_AREAS_WITH_FAKES: AddressableAreaNamesWithFakes[];
187
195
  export declare const ADDRESSABLE_AREA_1: '1';
188
196
  export declare const ADDRESSABLE_AREA_2: '2';
189
197
  export declare const ADDRESSABLE_AREA_3: '3';
@@ -204,6 +212,9 @@ export declare const SINGLE_LEFT_SLOT_FIXTURE: 'singleLeftSlot';
204
212
  export declare const SINGLE_CENTER_SLOT_FIXTURE: 'singleCenterSlot';
205
213
  export declare const SINGLE_RIGHT_SLOT_FIXTURE: 'singleRightSlot';
206
214
  export declare const STAGING_AREA_RIGHT_SLOT_FIXTURE: 'stagingAreaRightSlot';
215
+ export declare const FAKE_STAGING_AREA_RIGHT_SLOT: 'fakeStagingAreaRightSlot';
216
+ export declare const FAKE_WASTE_CHUTE_WITH_EMPTY_SLOT: 'fakeWasteChuteWithEmptySlot';
217
+ export declare const FAKE_STAGING_SLOT_WITH_MAG_BLOCK: 'fakeStagingSlotWithMagBlockV1';
207
218
  export declare const TRASH_BIN_FIXTURE: 'trashBin';
208
219
  export declare const TRASH_BIN_ADAPTER_FIXTURE: 'trashBinAdapter';
209
220
  export declare const WASTE_CHUTE_RIGHT_ADAPTER_COVERED_FIXTURE: 'wasteChuteRightAdapterCovered';
@@ -224,13 +235,21 @@ export declare const FLEX_STACKER_WITH_MAG_BLOCK_FIXTURE: 'flexStackerModuleV1Wi
224
235
  export declare const MODULE_FIXTURES_BY_MODEL: {
225
236
  [moduleModel in ModuleModel]?: CutoutFixtureId[];
226
237
  };
238
+ export declare const FLEX_MODULE_AA_TYPE_BY_MODEL: {
239
+ [moduleModel in ModuleModel]?: AreaType;
240
+ };
227
241
  export declare const FLEX_USB_MODULE_FIXTURES: CutoutFixtureId[];
228
242
  export declare const MAGNETIC_BLOCK_FIXTURES: CutoutFixtureId[];
229
- export declare const SINGLE_SLOT_FIXTURES: CutoutFixtureId[];
243
+ export declare const SINGLE_SLOT_FIXTURES: CutoutFixtureIdsWithFakes[];
230
244
  export declare const WASTE_CHUTE_FIXTURES: CutoutFixtureId[];
245
+ export declare const WASTE_CHUTE_WITH_FAKE_FIXTURES: CutoutFixtureIdsWithFakes[];
231
246
  export declare const WASTE_CHUTE_ONLY_FIXTURES: CutoutFixtureId[];
232
247
  export declare const WASTE_CHUTE_STAGING_AREA_FIXTURES: CutoutFixtureId[];
233
- export declare const FLEX_STACKER_FIXTURES: CutoutFixtureId[];
248
+ export declare const WASTE_CHUTE_FLEX_STACKER_FIXTURES: CutoutFixtureId[];
249
+ export declare const FLEX_STACKER_FIXTURES: CutoutFixtureIdsWithFakes[];
250
+ export declare const COMBO_FIXTURES: CutoutFixtureIdsWithFakes[];
251
+ export declare const STAGING_AREA_FIXTURES: CutoutFixtureId[];
252
+ export declare const DEFAULT_AA_FOR_WASTE_CHUTE = "96ChannelWasteChute";
234
253
  export declare const LOW_VOLUME_PIPETTES: string[];
235
254
  export declare const DEFAULT_LIQUID_COLORS: string[];
236
255
  export declare const DEPRECATED_WHALE_GREY = "#9395a0";
@@ -245,3 +264,5 @@ export declare const WELL_ORIGIN_CENTER: 'center';
245
264
  export declare const WELL_ORIGIN_MENISCUS: 'meniscus';
246
265
  export declare const POSITION_REFERENCE_MAPPED_TO_WELL_ORIGIN: Record<PositionReference, WellOrigin>;
247
266
  export declare const SAFE_MOVE_TO_WELL_OFFSET_FROM_TOP_MM = 2;
267
+ export declare const SAFE_MOVE_TO_WELL_LOCATION: WellLocation;
268
+ export declare const FAKE_FIXTURE_IDS: CutoutFixtureIdsWithFakes[];
@@ -1,7 +1,14 @@
1
+ /**
2
+ * Code to deal with fixtures in the sense of deck configuration.
3
+ * Not to be confused with fixtures in the sense of dummy test data.
4
+ */
5
+ import type { TFunction } from 'i18next';
1
6
  import type { ModuleLocation } from '../command';
2
7
  import type { AddressableAreaName, CutoutFixtureId, CutoutId, OT2CutoutId } from '../deck';
3
- import type { AddressableArea, CoordinateTuple, CutoutFixture, DeckDefinition, ModuleModel } from './types';
8
+ import type { AddressableAreaNamesWithFakes, AddressableAreaWithFakes, AreaTypeWithFakes, CutoutFixtureIdsWithFakes } from './constants';
9
+ import type { AddressableArea, CoordinateTuple, CutoutConfig, CutoutConfigMap, CutoutFixture, DeckDefinition, DeckDefinitionWithFakes, ModuleModel } from './types';
4
10
  export declare function getCutoutDisplayName(cutout: CutoutId): string;
11
+ export declare function getAADisplayName(aadressableAreaId: AddressableAreaNamesWithFakes): string;
5
12
  export declare const OT2_CUTOUT_BY_SLOT_ID: {
6
13
  [slotId: string]: OT2CutoutId;
7
14
  };
@@ -11,8 +18,33 @@ export declare const FLEX_CUTOUT_BY_SLOT_ID: {
11
18
  export declare const FLEX_SINGLE_SLOT_BY_CUTOUT_ID: {
12
19
  [CutoutId: string]: string;
13
20
  };
21
+ export declare const FAKE_FIXTURES_AND_AA: DeckDefinitionWithFakes;
14
22
  export declare function getPositionFromSlotId(slotId: string, deckDef: DeckDefinition): CoordinateTuple | null;
15
23
  export declare function getAddressableAreaFromSlotId(slotId: string, deckDef: DeckDefinition): AddressableArea | null;
24
+ export declare const getCutoutFixtureReplacementIfNeeded: (cutoutFixtureId: CutoutFixtureId, cutoutId: CutoutId, deckDefinition: DeckDefinition) => CutoutFixtureIdsWithFakes;
25
+ export declare const getReplacementFixtureForFixtureRemoval: (cutoutFixtureId: CutoutFixtureIdsWithFakes, cutoutId: CutoutId, addressableAreaId?: AddressableAreaNamesWithFakes) => CutoutFixtureId;
26
+ /**
27
+ * Given a fake cutout fixutre find a replacment to store on the server
28
+ * @param cutoutFixtureId: a cutoutId we wish to replace with a non fake fixture
29
+ * @returns the relevant cutoutFixtureId to store on the server
30
+ */
31
+ export declare const getReplacementFixtureForFakeFixture: (cutoutFixtureId: CutoutFixtureIdsWithFakes) => CutoutFixtureId;
32
+ /**
33
+ * Given a list of cutout configs replace fixtures with their fake fixtures
34
+ * @param: a list of cutout config from the server
35
+ * @returns: a list of cutout config with relevant AA
36
+ */
37
+ export declare const replaceFixtureToFakeFixtureAndTransformCutoutFixturesToAA: (cutoutFixtures: CutoutConfig[]) => CutoutConfigMap[];
38
+ export declare const filterAAByAreaType: (cutoutFixtures: CutoutConfigMap[], deckDef: DeckDefinition, areaType: AreaTypeWithFakes) => CutoutConfigMap[];
39
+ /**
40
+ * Given a deck def add all fake cutout fixtures and fake AA
41
+ * @param deckDefinition: deck def we wish to extend
42
+ * @returns a new deck def with fake fixtures
43
+ */
44
+ export declare const getDeckDefWithFakes: (deckDefinition: DeckDefinition) => DeckDefinitionWithFakes;
45
+ export declare const getAALocationForCutoutAndFixtureId: (addressableArea: AddressableAreaNamesWithFakes, deckDefinition: DeckDefinition) => CoordinateTuple;
46
+ export declare const getAAByAAId: (addressableAreaId: AddressableAreaNamesWithFakes, deckDefinition: DeckDefinition) => AddressableAreaWithFakes;
47
+ export declare const getAAWithFakesFromCutoutFixtureId: (inputCutoutId: CutoutId, cutoutFixtureId: CutoutFixtureIdsWithFakes, deckDefinition: DeckDefinition) => AddressableAreaNamesWithFakes[] | null;
16
48
  export declare function getCutoutFixtureIdsForModuleModel(moduleModel: ModuleModel): CutoutFixtureId[];
17
49
  export declare function getCutoutFixturesForModuleModel(moduleModel: ModuleModel, deckDef: DeckDefinition): CutoutFixture[];
18
50
  export declare function getFixtureIdByCutoutIdFromModuleAnchorCutoutId(anchorCutoutId: CutoutId | null, moduleFixtures: CutoutFixture[]): {
@@ -25,7 +57,50 @@ deckDef: DeckDefinition): {
25
57
  export declare function getCutoutIdsFromModuleSlotName(slotName: string, moduleFixtures: CutoutFixture[], // cutout fixtures for a specific module model
26
58
  deckDef: DeckDefinition): CutoutId[];
27
59
  export declare function getAddressableAreaNamesFromLoadedModule(moduleModel: ModuleModel, slotName: ModuleLocation['slotName'], deckDef: DeckDefinition): AddressableAreaName[];
28
- export declare function getFixtureDisplayName(cutoutFixtureId: CutoutFixtureId | null, usbPortNumber?: number | string): string;
60
+ export declare const getModuleDisplayNameWithPort: (usbPortNumber: number | string) => string;
61
+ export declare function getAAComboFixtureDisplayName(cutoutFixtureId: CutoutFixtureIdsWithFakes | null, addressableAreaId: AddressableAreaNamesWithFakes, deckDef: DeckDefinition, t: TFunction, usbPortNumber?: number | string): string | null;
62
+ export declare function getFixtureDisplayName(cutoutFixtureId: CutoutFixtureIdsWithFakes | null, usbPortNumber?: number | string): string;
29
63
  export declare const STANDARD_OT2_SLOTS: AddressableAreaName[];
30
64
  export declare const STANDARD_FLEX_SLOTS: AddressableAreaName[];
65
+ export type VISUAL_SLOTS = 'VSA1' | 'VSB1' | 'VSC1' | 'VSD1' | 'VSA2' | 'VSB2' | 'VSC2' | 'VSD2' | 'VSA3' | 'VSB3' | 'VSC3' | 'VSD3' | 'VSA4' | 'VSB4' | 'VSC4' | 'VSD4';
66
+ export declare const VS_TO_AA: Record<VISUAL_SLOTS, AddressableAreaNamesWithFakes[]>;
67
+ export declare const getVisualSlotIdFromAAId: (aaId: AddressableAreaNamesWithFakes) => string;
68
+ export declare const getAAWithFakesFromVSId: (vsId: string) => AddressableAreaNamesWithFakes | null;
31
69
  export declare const isAddressableAreaStandardSlot: (addressableAreaName: AddressableAreaName, deckDef: DeckDefinition) => boolean;
70
+ /**
71
+ * Given a cutout id get a key value pair of all possibilities for fixture id and related AA
72
+ * @param addedCutoutConfigs: fixtures list selected to add to deck
73
+ * @param cutoutId: cutout if we are adding a fixture to.
74
+ * @returns key value pair of of all possibilities for fixture id and related AA
75
+ */
76
+ export declare const getAAsToFixtureIdFromDeckDefWithFakes: (cutoutId: CutoutId, deckDef: DeckDefinition) => Record<CutoutFixtureIdsWithFakes, AddressableAreaNamesWithFakes[]>;
77
+ export declare const getAAForModuleFixture: (cutoutId: CutoutId, fixtureId: CutoutFixtureIdsWithFakes, moduleModel: ModuleModel) => AddressableAreaNamesWithFakes;
78
+ /**
79
+ * get relevent aa name that match with cutoutId and fixtureId.
80
+ *
81
+ * @param cutoutId - The cutoutId we are looking for.
82
+ * @param fixtureId - The fixtureId we are looking for.
83
+ * @returns The aa name or null if not match found.
84
+ */
85
+ export declare const getMainAAForAFixture: (cutoutId: CutoutId, fixtureId: CutoutFixtureId, addressableAreaId: AddressableAreaNamesWithFakes) => AddressableAreaNamesWithFakes | null;
86
+ export declare const isModuleAllowedOnAA: (cutoutId: CutoutId, aa: AddressableAreaNamesWithFakes, moduleModel: ModuleModel) => boolean;
87
+ export declare const getVisualSlotIdForAA: (cutoutId: CutoutId, fixtureId: CutoutFixtureIdsWithFakes, addressableAreaId: AddressableAreaNamesWithFakes) => string;
88
+ export declare const getAASlotDisplayName: (addressableAreaId: AddressableAreaNamesWithFakes) => string;
89
+ /**
90
+ * Given a cutout fixture find if should be changed to a combo fixture
91
+ * @param addedCutoutConfigs: fixtures list selected to add to deck
92
+ * @param deckConfigWithAA: current deck state
93
+ * @param cutoutId:
94
+ * @returns update list of the current deck with the combo fixtures replacements
95
+ */
96
+ export declare const replaceCutoutFixtureWithComboFixture: (addedCutoutConfigs: CutoutConfigMap[], deckConfigWithAA: CutoutConfigMap[], cutoutId: CutoutId) => CutoutConfigMap[];
97
+ /**
98
+ * Given a cutout fixture to remove find what fixture to use instead
99
+ * @param cutoutFixtureRemoved: fixtures to remove
100
+ * @param cutoutId
101
+ * @param addressableAreaId to remove from fixture
102
+ * @returns fixture to replace with
103
+ */
104
+ export declare const replaceCutoutFixtureRemove: (cutoutFixtureRemoved: CutoutFixtureIdsWithFakes, cutoutId: CutoutId, addressableAreaId: AddressableAreaNamesWithFakes) => CutoutFixtureIdsWithFakes;
105
+ export declare const isFixtureInUsbModules: (fixtureId: CutoutFixtureId) => boolean;
106
+ export declare const getCutoutConfigReplacmentForModule: (cutoutId: CutoutId, fixtureId: CutoutFixtureId, moduleModel: ModuleModel, deckConfig: CutoutConfig[]) => CutoutFixtureId;
@@ -1,8 +1,8 @@
1
- import type { LabwareDefinition1, LabwareDefinition2, WellDefinition } from './types';
1
+ import type { LabwareDefinition, LabwareDefinition1, WellDefinition } from './types';
2
2
  export declare const LABWAREV2_DO_NOT_LIST: string[];
3
3
  export declare const PD_DO_NOT_LIST: string[];
4
4
  export declare function getIsLabwareV1Tiprack(def: LabwareDefinition1): boolean;
5
- export declare function getIsTiprack(labwareDef: LabwareDefinition2): boolean;
6
- export declare function getLabwareDefaultEngageHeight(labwareDef: LabwareDefinition2): number | null;
5
+ export declare function getIsTiprack(labwareDef: LabwareDefinition): boolean;
6
+ export declare function getLabwareDefaultEngageHeight(labwareDef: LabwareDefinition): number | null;
7
7
  /** For display. Flips Y axis to match SVG, applies offset to wells */
8
8
  export declare function getWellPropsForSVGLabwareV1(def: LabwareDefinition1): Record<string, WellDefinition>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,2 @@
1
- import type { LabwareDefinition2 } from '..';
2
- export declare function getFixedTrashLabwareDefinition(): LabwareDefinition2;
1
+ import type { LabwareDefinition } from '..';
2
+ export declare function getFixedTrashLabwareDefinition(): LabwareDefinition;
@@ -0,0 +1,3 @@
1
+ import type { LabwareDefinition } from '../types';
2
+ export declare const getLabwareDefURI: (def: LabwareDefinition) => string;
3
+ export declare const constructLabwareDefURI: (namespace: string, loadName: string, version: string) => string;
@@ -0,0 +1,6 @@
1
+ import type { RunTimeCommand } from '../../protocol';
2
+ import type { LabwareDefinition } from '../types';
3
+ export interface LabwareDefinitionsByURI {
4
+ [labwareDefURI: string]: LabwareDefinition;
5
+ }
6
+ export declare function getLabwareDefinitionsByURIForProtocol(commands: RunTimeCommand[]): LabwareDefinitionsByURI;
@@ -0,0 +1,10 @@
1
+ import type { RunTimeCommand } from '../../command';
2
+ export interface LabwareByLiquidId {
3
+ [liquidId: string]: Array<{
4
+ labwareId: string;
5
+ volumeByWell: {
6
+ [well: string]: number;
7
+ };
8
+ }>;
9
+ }
10
+ export declare function getLabwareInfoByLiquidId(commands: RunTimeCommand[]): LabwareByLiquidId;
@@ -0,0 +1,2 @@
1
+ import type { LabwareByLiquidId } from './getLabwareInfoByLiquidId';
2
+ export declare function getLiquidsByIdForLabware(labwareId: string, labwareByLiquidId: LabwareByLiquidId): LabwareByLiquidId;
@@ -1,5 +1,5 @@
1
- import type { LabwareDefinition2, RunTimeCommand } from '..';
1
+ import type { LabwareDefinition, RunTimeCommand } from '..';
2
2
  export interface LabwareDefinitionsByUri {
3
- [defURI: string]: LabwareDefinition2;
3
+ [defURI: string]: LabwareDefinition;
4
4
  }
5
5
  export declare function getLoadedLabwareDefinitionsByUri(commands: RunTimeCommand[]): LabwareDefinitionsByUri;
@@ -0,0 +1,2 @@
1
+ import type { PipetteV2Specs } from '../types';
2
+ export declare const getMaxPushOutVolume: (transferVolume: number, pipetteSpecs: PipetteV2Specs) => number;
@@ -0,0 +1,50 @@
1
+ import type { RunTimeCommand } from '../../protocol';
2
+ import type { LoadedLabware, LoadedModule, ModuleModel } from '../types';
3
+ import type { LabwareByLiquidId } from './getLabwareInfoByLiquidId';
4
+ export interface LabwareInStack {
5
+ definitionUri: string;
6
+ displayName: string;
7
+ labwareId: string;
8
+ lidId?: string;
9
+ lidDisplayName?: string;
10
+ }
11
+ export interface ModuleInStack {
12
+ moduleModel: ModuleModel;
13
+ moduleId: string;
14
+ moduleSlotName: string;
15
+ }
16
+ export type StackItem = LabwareInStack | ModuleInStack;
17
+ export interface StackedItemsOnDeck {
18
+ [location: string]: StackItem[];
19
+ }
20
+ export interface LabwareLiquidRenderInfo extends LabwareInStack {
21
+ quantity: number;
22
+ liquids: number;
23
+ }
24
+ export declare function getStackerLocationFromSlotName(slotName: string): string;
25
+ /**
26
+ * This function parses all commands that load labware in reverse order and makes a map of
27
+ * shape [location]: ordered list of stacked items in slot at the start of a protocol, returning
28
+ * exactly one array per utilized slot in the starting deck state
29
+ * with an additional list for all off deck items
30
+ * @param commands
31
+ * @param loadedLabware
32
+ * @param loadedModules
33
+ * @returns [location]: StackItem[] where location is a slot name, 'offDeck', or a hopper location 'STACKER A(column)'
34
+ */
35
+ export declare function getStackedItemsOnStartingDeck(commands: RunTimeCommand[], loadedLabware: LoadedLabware[], loadedModules: LoadedModule[]): StackedItemsOnDeck;
36
+ export declare function getLabwareLiquidRenderInfoFromStack(labwareInStack: LabwareInStack[], labwareByLiquidId?: LabwareByLiquidId): LabwareLiquidRenderInfo[];
37
+ export declare function getLabwareOnDeck(itemsOnDeck: StackedItemsOnDeck): {
38
+ [location: string]: LabwareInStack[];
39
+ };
40
+ export declare function getStacksWithLabware(itemsOnDeck: StackedItemsOnDeck): {
41
+ [location: string]: StackItem[];
42
+ };
43
+ export declare function getStacksOnModules(itemsOnDeck: StackedItemsOnDeck): {
44
+ [location: string]: {
45
+ allItemsInStack: StackItem[];
46
+ moduleInStack: ModuleInStack;
47
+ };
48
+ };
49
+ export declare function getTopLabwareFromStack(itemsOnDeck: StackItem[]): LabwareInStack | null;
50
+ export declare function getModuleFromStack(itemsOnDeck: StackItem[]): ModuleInStack | null;
@@ -0,0 +1,2 @@
1
+ import type { RobotType } from '../types';
2
+ export declare const getStandardDeckViewLayerBlockList: (robotType: RobotType) => string[];
@@ -1,2 +1,2 @@
1
- import type { LabwareDefinition2 } from '..';
2
- export declare function getTipTypeFromTipRackDefinition(tipRackDef: LabwareDefinition2): string;
1
+ import type { LabwareDefinition } from '..';
2
+ export declare function getTipTypeFromTipRackDefinition(tipRackDef: LabwareDefinition): string;
@@ -0,0 +1,4 @@
1
+ import type { Liquid } from '../types';
2
+ import type { LabwareByLiquidId } from './getLabwareInfoByLiquidId';
3
+ export type WellFill = Record<string, string>;
4
+ export declare function getWellFillFromLabwareId(labwareId: string, liquidsInLoadOrder: Liquid[], labwareByLiquidId: LabwareByLiquidId): WellFill;
@@ -1,3 +1,3 @@
1
- import type { LabwareDefinition2 } from '../types';
2
- export declare function findWellAt(labwareDef: LabwareDefinition2, x: number, y: number): string | null | undefined;
3
- export declare function getWellNamePerMultiTip(labwareDef: LabwareDefinition2, topWellName: string, channels: 8 | 96): string[] | null;
1
+ import type { LabwareDefinition } from '../types';
2
+ export declare function findWellAt(labwareDef: LabwareDefinition, x: number, y: number): string | null | undefined;
3
+ export declare function getWellNamePerMultiTip(labwareDef: LabwareDefinition, topWellName: string, channels: 8 | 96): string[] | null;
@@ -1,2 +1,2 @@
1
- import type { LabwareDefinition2 } from '../types';
2
- export declare const getWellTotalVolume: (labwareDef: LabwareDefinition2, wellName: string) => number | null | undefined;
1
+ import type { LabwareDefinition } from '../types';
2
+ export declare const getWellTotalVolume: (labwareDef: LabwareDefinition, wellName: string) => number | null | undefined;
@@ -1,5 +1,5 @@
1
1
  import type { CutoutId } from '../../deck/types/schemaV5';
2
- import type { DeckDefinition, LabwareDefinition2, LabwareDefinition3, LiquidClass, ModuleModel, RobotType, ThermalAdapterName } from '../types';
2
+ import type { DeckDefinition, LabwareDefinition, LiquidClass, ModuleModel, RobotType, ThermalAdapterName } from '../types';
3
3
  export { getWellNamePerMultiTip } from './getWellNamePerMultiTip';
4
4
  export { getWellTotalVolume } from './getWellTotalVolume';
5
5
  export { wellIsRect } from './wellIsRect';
@@ -14,8 +14,8 @@ export * from './wellSets';
14
14
  export * from './getAreFlexSlotsAdjacent';
15
15
  export * from './getMmFromBottom';
16
16
  export * from './getModuleVizDims';
17
- export * from './getVectorDifference';
18
- export * from './getVectorSum';
17
+ export * from './vectorMath';
18
+ export * from './matrixMath';
19
19
  export * from './getLoadedLabwareDefinitionsByUri';
20
20
  export * from './getFixedTrashLabwareDefinition';
21
21
  export * from './getOccludedSlotCountForModule';
@@ -33,9 +33,17 @@ export * from './sortRunTimeParameters';
33
33
  export * from './parseAddressableArea';
34
34
  export * from './validateCustomLabwareHelper';
35
35
  export * from './getWellRangeForLiquidLabwarePair';
36
- export declare const getLabwareDefIsStandard: (def: LabwareDefinition2) => boolean;
37
- export declare const getLabwareDefURI: (def: LabwareDefinition2 | LabwareDefinition3) => string;
38
- export declare const constructLabwareDefURI: (namespace: string, loadName: string, version: string) => string;
36
+ export * from './positionMath';
37
+ export * from './pairsFromArray';
38
+ export * from './getMaxPushOutVolume';
39
+ export * from './getLabwareDefinitionsByURIForProtocol';
40
+ export * from './getLabwareDefURI';
41
+ export * from './getLabwareInfoByLiquidId';
42
+ export * from './getLiquidsByIdForLabware';
43
+ export * from './getStackedItemsOnStartingDeck';
44
+ export * from './getStandardDeckViewLayerBlockList';
45
+ export * from './getWellFillFromLabwareId';
46
+ export declare const getLabwareDefIsStandard: (def: LabwareDefinition) => boolean;
39
47
  export interface URIDetails {
40
48
  loadName: string;
41
49
  namespace: string;
@@ -43,9 +51,9 @@ export interface URIDetails {
43
51
  }
44
52
  export declare const splitLabwareDefURI: (uri: string) => URIDetails;
45
53
  export declare const RETIRED_LABWARE: string[];
46
- export declare const getLabwareDisplayName: (labwareDef: LabwareDefinition2) => string;
47
- export declare const getTiprackVolume: (labwareDef: LabwareDefinition2) => number;
48
- export declare function getLabwareHasQuirk(labwareDef: LabwareDefinition2, quirk: string): boolean;
54
+ export declare const getLabwareDisplayName: (labwareDef: LabwareDefinition) => string;
55
+ export declare const getTiprackVolume: (labwareDef: LabwareDefinition) => number;
56
+ export declare function getLabwareHasQuirk(labwareDef: LabwareDefinition, quirk: string): boolean;
49
57
  export declare const intToAlphabetLetter: (i: number, lowerCase?: boolean) => string;
50
58
  export declare const toWellName: ({ rowNum, colNum, }: {
51
59
  rowNum: number;
@@ -57,16 +65,16 @@ export declare const toWellName: ({ rowNum, colNum, }: {
57
65
  */
58
66
  export declare function sortWells(a: string, b: string): number;
59
67
  export declare function splitWellsOnColumn(sortedArray: string[]): string[][];
60
- export declare const getWellDepth: (labwareDef: LabwareDefinition2, well: string) => number;
61
- export declare const getWellsDepth: (labwareDef: LabwareDefinition2, wells: string[]) => number;
68
+ export declare const getWellDepth: (labwareDef: LabwareDefinition, well: string) => number;
69
+ export declare const getWellsDepth: (labwareDef: LabwareDefinition, wells: string[]) => number;
62
70
  type XYPlaneDimension = 'x' | 'y';
63
- export declare const getWellDimension: (labwareDef: LabwareDefinition2, wells: string[], position: XYPlaneDimension) => number;
64
- export declare const getMinXYDimension: (labwareDef: LabwareDefinition2, wells: string[]) => number | null;
71
+ export declare const getWellDimension: (labwareDef: LabwareDefinition, wells: string[], position: XYPlaneDimension) => number;
72
+ export declare const getMinXYDimension: (labwareDef: LabwareDefinition, wells: string[]) => number | null;
65
73
  export declare const getSlotHasMatingSurfaceUnitVector: (deckDef: DeckDefinition, addressableAreaName: string) => boolean;
66
74
  export declare const getAreSlotsHorizontallyAdjacent: (slotNameA?: string | null, slotNameB?: string | null) => boolean;
67
75
  export declare const getAreSlotsVerticallyAdjacent: (slotNameA?: string | null, slotNameB?: string | null) => boolean;
68
76
  export declare const getAreSlotsAdjacent: (slotNameA?: string | null, slotNameB?: string | null) => boolean;
69
- export declare const getIsLabwareAboveHeight: (labwareDef: LabwareDefinition2, height: number) => boolean;
77
+ export declare const getIsLabwareAboveHeight: (labwareDef: LabwareDefinition, height: number) => boolean;
70
78
  export declare const getAdapterName: (labwareLoadname: string) => ThermalAdapterName;
71
79
  export declare const getCalibrationAdapterLoadName: (moduleModel: ModuleModel) => string | null;
72
80
  export declare const getDeckDefFromRobotType: (robotType: RobotType) => DeckDefinition;
@@ -1,7 +1,7 @@
1
- import type { LabwareBrand, LabwareDefinition2, LabwareWell, LabwareWellGroupMetadata, LabwareWellShapeProperties } from '../types';
1
+ import type { LabwareBrand, LabwareDefinition, LabwareWell, LabwareWellGroupMetadata, LabwareWellShapeProperties } from '../types';
2
2
  export interface LabwareWellGroupProperties {
3
3
  xOffsetFromLeft: number;
4
- yOffsetFromTop: number;
4
+ yOffsetFromBack: number;
5
5
  xSpacing: number | null;
6
6
  ySpacing: number | null;
7
7
  wellCount: number;
@@ -11,6 +11,6 @@ export interface LabwareWellGroupProperties {
11
11
  metadata: LabwareWellGroupMetadata;
12
12
  brand: LabwareBrand | null;
13
13
  }
14
- export declare function getUniqueWellProperties(definition: LabwareDefinition2): LabwareWellGroupProperties[];
14
+ export declare function getUniqueWellProperties(definition: LabwareDefinition): LabwareWellGroupProperties[];
15
15
  export declare function getIfConsistent<T>(items: T[]): T | null;
16
16
  export declare function getSpacingIfUniform(wells: LabwareWell[], axis: 'x' | 'y'): number | null;
@@ -1,8 +1,10 @@
1
1
  import type { PipetteV2Specs } from '..';
2
- export declare const getCorrectionVolume: (args: {
2
+ export declare const getByVolumeValue: (args: {
3
3
  liquidClass: string | null;
4
4
  pipetteSpecs: PipetteV2Specs;
5
5
  tiprackDefUri: string;
6
6
  targetVolume: number;
7
7
  liquidHandlingAction: 'aspirate' | 'singleDispense' | 'multiDispense';
8
- }) => number;
8
+ byVolumeProperty: 'correctionByVolume' | 'flowRateByVolume';
9
+ defaultValue?: number | null;
10
+ }) => number | null;
@@ -0,0 +1,3 @@
1
+ import type { AffineTransformMatrix } from '../types';
2
+ export declare const IDENTITY_AFFINE_TRANSFORM: AffineTransformMatrix;
3
+ export declare function multiplyMatrices(a: number[][], b: number[][]): number[][];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Return all pairs of consecutive elements.
3
+ *
4
+ * [1, 2, 3, 4] -> [[1, 2], [2, 3], [3, 4]]
5
+ * [1] -> []
6
+ * [] -> []
7
+ */
8
+ export declare function pairsFromArray<T>(array: T[]): Array<[T, T]>;
@@ -1,6 +1,6 @@
1
1
  import type { LabwareLocation, LoadLabwareRunTimeCommand, LoadModuleRunTimeCommand, RunTimeCommand } from '../../command/types';
2
2
  import type { PipetteName } from '../pipettes';
3
- import type { LabwareDefinition2, Liquid, LoadedLabware, LoadedModule, LoadedPipette, ModuleModel } from '../types';
3
+ import type { LabwareDefinition, Liquid, LoadedLabware, LoadedModule, LoadedPipette, ModuleModel } from '../types';
4
4
  interface PipetteNamesByMount {
5
5
  left: PipetteName | null;
6
6
  right: PipetteName | null;
@@ -15,7 +15,7 @@ interface LoadedLabwareBySlot {
15
15
  export declare function parseInitialLoadedLabwareBySlot(commands: RunTimeCommand[]): LoadedLabwareBySlot;
16
16
  export declare function getTopLabwareInfo(labwareId: string, loadLabwareCommands: LoadLabwareRunTimeCommand[], currentStackHeight?: number): {
17
17
  topLabwareId: string;
18
- topLabwareDefinition?: LabwareDefinition2;
18
+ topLabwareDefinition?: LabwareDefinition;
19
19
  topLabwareDisplayName?: string;
20
20
  };
21
21
  export declare function getLabwareStackCountAndLocation(topLabwareId: string, commands: RunTimeCommand[], initialQuantity?: number): {
@@ -53,9 +53,9 @@ interface LabwareLiquidInfo {
53
53
  };
54
54
  }
55
55
  /** @deprecated instead use LabwareByLiquidId from components/src/hardware-sim/ProtocolDeck/types */
56
- export interface LabwareByLiquidId {
56
+ interface DeprecatedLabwareByLiquidId {
57
57
  [liquidId: string]: LabwareLiquidInfo[];
58
58
  }
59
59
  /** @deprecated instead use getLabwareInfoByLiquidId from components/src/hardware-sim/ProtocolDeck/utils */
60
- export declare function parseLabwareInfoByLiquidId(commands: RunTimeCommand[]): LabwareByLiquidId;
60
+ export declare function parseLabwareInfoByLiquidId(commands: RunTimeCommand[]): DeprecatedLabwareByLiquidId;
61
61
  export {};