@opentrons/step-generation 0.3.1-alpha.0 → 0.3.2-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.
package/lib/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ABSORBANCE_READER_TYPE, CreateCommand, FLEX_STACKER_MODULE_TYPE, FlexStackerStoredLabwareGroup, HEATERSHAKER_MODULE_TYPE, Height, LabwareDefinition2, LabwareLocation, LabwareMovementStrategy, LoadedLabwareLocation, MAGNETIC_BLOCK_TYPE, MAGNETIC_MODULE_TYPE, ModuleModel, ModuleType, PipetteMount as Mount, NozzleConfigurationStyle, PipetteName, PipetteV2Specs, PositionReference, PrimaryNozzleConfigurationStyle, ShakeSpeedParams, StackerStoredLabwareDefinitionURIs, TCExtendedProfileParams, TEMPERATURE_MODULE_TYPE, THERMOCYCLER_MODULE_TYPE, VACUUM_MODULE_TYPE, VacuumRunProfileParams, Width } from '@opentrons/shared-data';
1
+ import type { ABSORBANCE_READER_TYPE, AddressableArea, CreateCommand, FLEX_STACKER_MODULE_TYPE, FlexStackerStoredLabwareGroup, HEATERSHAKER_MODULE_TYPE, Height, LabwareDefinition2, LabwareLocation, LabwareMovementStrategy, LoadedLabwareLocation, MAGNETIC_BLOCK_TYPE, MAGNETIC_MODULE_TYPE, ModuleModel, ModuleType, PipetteMount as Mount, NozzleConfigurationStyle, PipetteName, PipetteV2Specs, PositionReference, PrimaryNozzleConfigurationStyle, ShakeSpeedParams, StackerStoredLabwareDefinitionURIs, TCExtendedProfileParams, TEMPERATURE_MODULE_TYPE, THERMOCYCLER_MODULE_TYPE, VACUUM_MODULE_TYPE, VacuumRunProfileParams, Width } from '@opentrons/shared-data';
2
2
  import type { AUTOMATIC, CLEAN, DIRTY, EMPTY, MANUAL, TEMPERATURE_APPROACHING_TARGET, TEMPERATURE_AT_TARGET, TEMPERATURE_DEACTIVATED, VACUUM_MODE_POWER, VACUUM_MODE_PRESSURE, VACUUM_VENT_CLOSED, VACUUM_VENT_OPEN } from './constants';
3
3
  export type DeckSlot = string;
4
4
  type THERMOCYCLER_STATE = 'thermocyclerState';
@@ -507,6 +507,7 @@ interface VacuumProfileStepItem {
507
507
  id: string;
508
508
  durationSeconds: number;
509
509
  pumpData: VacuumPumpData;
510
+ ventAfter: boolean;
510
511
  }
511
512
  interface VacuumProfileCycleItem {
512
513
  type: typeof PROFILE_CYCLE;
@@ -611,7 +612,17 @@ export interface VacuumPumpPressureArgs extends CommonArgs, VacuumPumpAdvancedAr
611
612
  export interface VacuumPumpPowerArgs extends CommonArgs, VacuumPumpAdvancedArgs {
612
613
  moduleId: string;
613
614
  commandCreatorFnName: 'vacuumSetPumpPower';
614
- powerPercent: number;
615
+ percentPower: number;
616
+ }
617
+ export interface VacuumCloseVentSetPumpPressureArgs extends CommonArgs, VacuumPumpAdvancedArgs {
618
+ moduleId: string;
619
+ commandCreatorFnName: 'vacuumCloseVentSetPumpPressure';
620
+ gaugePressure: number;
621
+ }
622
+ export interface VacuumCloseVentSetPumpPowerArgs extends CommonArgs, VacuumPumpAdvancedArgs {
623
+ moduleId: string;
624
+ commandCreatorFnName: 'vacuumCloseVentSetPumpPower';
625
+ percentPower: number;
615
626
  }
616
627
  export interface VacuumOpenVentArgs extends CommonArgs {
617
628
  moduleId: string;
@@ -631,7 +642,7 @@ export interface VacuumPressureData {
631
642
  }
632
643
  export interface VacuumPowerData {
633
644
  mode: typeof VACUUM_MODE_POWER;
634
- powerPercent: number;
645
+ percentPower: number;
635
646
  }
636
647
  type VacuumPumpData = VacuumPressureData | VacuumPowerData;
637
648
  interface ProfileStepItemBase {
@@ -644,12 +655,18 @@ export interface VacuumProfileStep extends ProfileStepItemBase {
644
655
  pumpData: VacuumPumpData;
645
656
  }
646
657
  export type VacuumProfileItem = VacuumProfileStepItem | VacuumProfileCycleItem;
647
- export type VacuumPumpArgs = VacuumPumpPressureArgs | VacuumPumpPowerArgs;
658
+ export type VacuumPumpArgs = VacuumPumpPressureArgs | VacuumPumpPowerArgs | VacuumCloseVentSetPumpPowerArgs | VacuumCloseVentSetPumpPressureArgs | VacuumCloseVentStartProfileArgs;
648
659
  export interface VacuumStartRunProfileArgs extends CommonArgs {
649
660
  moduleId: string;
650
661
  commandCreatorFnName: 'vacuumStartRunProfile';
651
662
  profile: VacuumRunProfileParams['profile'];
652
- ventAfter?: boolean;
663
+ ventAfter: boolean;
664
+ }
665
+ export interface VacuumCloseVentStartProfileArgs extends CommonArgs {
666
+ moduleId: string;
667
+ commandCreatorFnName: 'vacuumCloseVentStartProfile';
668
+ profile: VacuumRunProfileParams['profile'];
669
+ ventAfter: boolean;
653
670
  }
654
671
  export type VacuumArgs = VacuumPumpArgs | VacuumStartRunProfileArgs | VacuumOpenVentArgs | VacuumCloseVentArgs | VacuumStopPumpArgs;
655
672
  export type FlexStackerArgs = FlexStackerEmptyArgs | FlexStackerFillItemsArgs | FlexStackerRetrieveArgs | FlexStackerStoreArgs;
@@ -731,10 +748,11 @@ export interface TimelineFrame {
731
748
  };
732
749
  }
733
750
  export type RobotState = TimelineFrame;
734
- export type ErrorType = 'ABSORBANCE_READER_LID_CLOSED' | 'ABSORBANCE_READER_NO_GRIPPER' | 'ABSORBANCE_READER_NO_INITIALIZATION' | 'CANNOT_MOVE_WITH_GRIPPER' | 'CLOSING_THERMOCYCLER_WITH_INVALID_LABWARE_LID' | 'DROP_TIP_LOCATION_DOES_NOT_EXIST' | 'EQUIPMENT_DOES_NOT_EXIST' | 'FLEX_STACKER_NO_GRIPPER' | 'GRIPPER_REQUIRED' | 'HEATER_SHAKER_EAST_WEST_LATCH_OPEN' | 'HEATER_SHAKER_EAST_WEST_MULTI_CHANNEL' | 'HEATER_SHAKER_IS_SHAKING' | 'HEATER_SHAKER_LATCH_CLOSED' | 'HEATER_SHAKER_LATCH_OPEN' | 'HEATER_SHAKER_NORTH_SOUTH__OF_NON_TIPRACK_WITH_MULTI_CHANNEL' | 'HEATER_SHAKER_NORTH_SOUTH_EAST_WEST_SHAKING' | 'HOPPER_EMPTY' | 'HOPPER_FULL' | 'INCOMPLETE_PICKUP' | 'INSUFFICIENT_TIPS' | 'INVALID_SLOT' | 'INVALID_WAIT_CONDITION' | 'LABWARE_DISCARDED_IN_TRASH' | 'LABWARE_DOES_NOT_EXIST' | 'LABWARE_OFF_DECK' | 'LABWARE_ON_ANOTHER_ENTITY' | 'LABWARE_ON_HOPPER' | 'LIVE_TASK_ERROR' | 'MISMATCHED_SOURCE_DEST_WELLS' | 'MISMATCHED_STACKER_LABWARE_TYPE' | 'MISSING_96_CHANNEL_TIPRACK_ADAPTER' | 'MISSING_MODULE' | 'MISSING_PROFILE_STEP' | 'MISSING_PUMP_ACTIVITY' | 'MISSING_STACKER_LABWARE_TYPE' | 'MISSING_TEMPERATURE_STEP' | 'MOVE_LOCATION_NOT_SPECIFIED' | 'MODULE_PIPETTE_COLLISION_DANGER' | 'MULTI_ASPIRATE_VOLUME_TOO_HIGH' | 'MULTI_DISPENSE_VOLUME_TOO_HIGH' | 'NEXT_TIPRACK_HAS_LID' | 'NO_TIP_ON_PIPETTE' | 'NO_TIP_SELECTED' | 'PIPETTE_DOES_NOT_EXIST' | 'PIPETTE_HAS_TIP' | 'PIPETTE_VOLUME_EXCEEDED' | 'PIPETTING_INTO_COLUMN_4' | 'POSSIBLE_PIPETTE_COLLISION' | 'REMOVE_96_CHANNEL_TIPRACK_ADAPTER' | 'RETRACT_BELOW_ASPIRATE' | 'RETRACT_BELOW_DISPENSE' | 'RETURN_TIP_UNAVAILABLE' | 'SHUTTLE_FULL' | 'SHUTTLE_EMPTY' | 'STACK_TOO_HIGH' | 'SUBMERGE_BELOW_ASPIRATE' | 'SUBMERGE_BELOW_DISPENSE' | 'TALL_LABWARE_EAST_WEST_OF_HEATER_SHAKER' | 'THERMOCYCLER_BUSY_WITH_PROFILE' | 'THERMOCYCLER_LID_CLOSED' | 'TIP_VOLUME_EXCEEDED' | 'TIPRACK_LID_NOT_ALLOWED_ON_DECK' | 'TOO_MANY_TIPS';
751
+ export type ErrorType = 'ABSORBANCE_READER_LID_CLOSED' | 'ABSORBANCE_READER_NO_GRIPPER' | 'ABSORBANCE_READER_NO_INITIALIZATION' | 'CANNOT_MOVE_WITH_GRIPPER' | 'CLOSING_THERMOCYCLER_WITH_INVALID_LABWARE_LID' | 'DROP_TIP_LOCATION_DOES_NOT_EXIST' | 'EQUIPMENT_DOES_NOT_EXIST' | 'FLEX_STACKER_NO_GRIPPER' | 'GRIPPER_REQUIRED' | 'HEATER_SHAKER_EAST_WEST_LATCH_OPEN' | 'HEATER_SHAKER_EAST_WEST_MULTI_CHANNEL' | 'HEATER_SHAKER_IS_SHAKING' | 'HEATER_SHAKER_LATCH_CLOSED' | 'HEATER_SHAKER_LATCH_OPEN' | 'HEATER_SHAKER_NORTH_SOUTH__OF_NON_TIPRACK_WITH_MULTI_CHANNEL' | 'HEATER_SHAKER_NORTH_SOUTH_EAST_WEST_SHAKING' | 'HOPPER_EMPTY' | 'HOPPER_FULL' | 'INCOMPLETE_PICKUP' | 'INSUFFICIENT_TIPS' | 'INVALID_SLOT' | 'INVALID_WAIT_CONDITION' | 'LABWARE_DISCARDED_IN_TRASH' | 'LABWARE_DOES_NOT_EXIST' | 'LABWARE_OFF_DECK' | 'LABWARE_ON_ANOTHER_ENTITY' | 'LABWARE_ON_HOPPER' | 'LIVE_TASK_ERROR' | 'MISMATCHED_SOURCE_DEST_WELLS' | 'MISMATCHED_STACKER_LABWARE_TYPE' | 'MISSING_96_CHANNEL_TIPRACK_ADAPTER' | 'MISSING_MODULE' | 'MISSING_PROFILE_STEP' | 'MISSING_PUMP_ACTIVITY' | 'MISSING_STACKER_LABWARE_TYPE' | 'MISSING_TEMPERATURE_STEP' | 'MOVE_LOCATION_NOT_SPECIFIED' | 'MODULE_PIPETTE_COLLISION_DANGER' | 'MULTI_ASPIRATE_VOLUME_TOO_HIGH' | 'MULTI_DISPENSE_VOLUME_TOO_HIGH' | 'NEXT_TIPRACK_HAS_LID' | 'NO_TIP_ON_PIPETTE' | 'NO_TIP_SELECTED' | 'PIPETTE_DOES_NOT_EXIST' | 'PIPETTE_HAS_TIP' | 'PIPETTE_VOLUME_EXCEEDED' | 'PIPETTING_INTO_COLUMN_4' | 'POSSIBLE_PIPETTE_COLLISION_THERMOCYCLER_LID' | 'POSSIBLE_PIPETTE_COLLISION_OUTSIDE_DECK_EXTENTS' | 'POSSIBLE_PIPETTE_COLLISION_ADJACENT_ADDRESSABLE_AREA' | 'REMOVE_96_CHANNEL_TIPRACK_ADAPTER' | 'RETRACT_BELOW_ASPIRATE' | 'RETRACT_BELOW_DISPENSE' | 'RETURN_TIP_UNAVAILABLE' | 'SHUTTLE_FULL' | 'SHUTTLE_EMPTY' | 'STACK_TOO_HIGH' | 'SUBMERGE_BELOW_ASPIRATE' | 'SUBMERGE_BELOW_DISPENSE' | 'TALL_LABWARE_EAST_WEST_OF_HEATER_SHAKER' | 'THERMOCYCLER_BUSY_WITH_PROFILE' | 'THERMOCYCLER_LID_CLOSED' | 'TIP_VOLUME_EXCEEDED' | 'TIPRACK_LID_NOT_ALLOWED_ON_DECK' | 'TOO_MANY_TIPS';
735
752
  export interface CommandCreatorError {
736
753
  message: string;
737
754
  type: ErrorType;
755
+ translationParams?: Record<string, string>;
738
756
  }
739
757
  export type WarningType = 'ASPIRATE_MORE_THAN_WELL_CONTENTS' | 'ASPIRATE_FROM_PRISTINE_WELL' | 'LABWARE_IN_WASTE_CHUTE_HAS_LIQUID' | 'TIPRACK_IN_WASTE_CHUTE_HAS_TIPS' | 'TEMPERATURE_IS_POTENTIALLY_UNREACHABLE' | 'WAITING_FOR_NONEXISTENT_TASK';
740
758
  export interface CommandCreatorWarning {
@@ -785,4 +803,18 @@ export interface WellContentsByNumber {
785
803
  [wellName: string]: number;
786
804
  }
787
805
  export type TipTrackingOption = typeof AUTOMATIC | typeof MANUAL;
806
+ export type UnsafePipetteMovementReason = {
807
+ type: 'thermocyclerLidCollision';
808
+ } | {
809
+ type: 'outsidePipetteExtents';
810
+ } | {
811
+ type: 'adjacentAdressableAreaCollision';
812
+ addressableAreaCausingCollision: AddressableArea;
813
+ };
814
+ export type PipetteMovementSafetyStatus = {
815
+ isSafe: true;
816
+ } | {
817
+ isSafe: false;
818
+ reason: UnsafePipetteMovementReason;
819
+ };
788
820
  export {};
@@ -174,6 +174,7 @@ export declare const getLabwareIdOnHopper: (labware: {
174
174
  [labwareId: string]: LabwareTemporalProperties;
175
175
  }, moduleSlotLocation: string) => string;
176
176
  export declare const getIsSlotAHopper: (slot: string) => boolean;
177
+ export declare const getIsSlotAVacuumDock: (slot: string) => boolean;
177
178
  export declare const getLabwareIdOnShuttle: (stackerState: FlexStackerModuleState) => string | null;
178
179
  export declare const labwareMatchesLabwareInHopper: (labwareId: string, invariantContext: InvariantContext, stackerState: FlexStackerModuleState | null) => boolean;
179
180
  export declare const getIsSpaceInHopper: (stackerState: FlexStackerModuleState | null, labwareEntities: LabwareEntities) => boolean;
@@ -1,11 +1,11 @@
1
1
  import type { AddressableArea, CoordinateTuple, CutoutId, LabwareDefinition, NozzleConfigurationStyle, PipetteChannels, PrimaryNozzleConfigurationStyle } from '@opentrons/shared-data';
2
- import type { InvariantContext, Point, RobotState, TipState } from '../types';
2
+ import type { InvariantContext, PipetteMovementSafetyStatus, Point, RobotState, TipState } from '../types';
3
3
  interface SlotInfo {
4
4
  addressableArea: AddressableArea | null;
5
5
  position: CoordinateTuple | null;
6
6
  }
7
7
  export declare const getCutoutFromSlot: (slotInfo: SlotInfo) => CutoutId | null;
8
- export declare const getIsSafePipetteMovement: (args: {
8
+ export declare const getPipetteMovementSafetyStatus: (args: {
9
9
  robotState: RobotState;
10
10
  invariantContext: InvariantContext;
11
11
  pipetteId: string;
@@ -15,7 +15,7 @@ export declare const getIsSafePipetteMovement: (args: {
15
15
  tiprackId?: string;
16
16
  primaryNozzle: PrimaryNozzleConfigurationStyle;
17
17
  nozzleConfiguration: NozzleConfigurationStyle;
18
- }) => boolean;
18
+ }) => PipetteMovementSafetyStatus;
19
19
  interface TipPickupAvailability {
20
20
  isSafe: boolean;
21
21
  isComplete?: boolean;
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "name": "@opentrons/step-generation",
11
11
  "productName": "Opentrons Step Generation",
12
- "version": "0.3.1-alpha.0",
12
+ "version": "0.3.2-alpha.0",
13
13
  "description": "Step generation",
14
14
  "main": "lib/index.cjs",
15
15
  "types": "lib/index.d.ts",
@@ -33,13 +33,13 @@
33
33
  "homepage": "https://github.com/Opentrons/opentrons",
34
34
  "license": "Apache-2.0",
35
35
  "dependencies": {
36
- "@opentrons/shared-data": "0.3.1-alpha.0",
36
+ "@opentrons/shared-data": "workspace:*",
37
37
  "core-js": "3.2.1",
38
38
  "immer": "^10.1.3",
39
- "lodash": "4.18.1",
39
+ "lodash": "catalog:",
40
40
  "uuid": "14.0.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@types/lodash": "4.17.24"
43
+ "@types/lodash": "catalog:"
44
44
  }
45
45
  }