@opentrons/step-generation 0.3.4-alpha.0 → 0.3.6-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
@@ -65,7 +65,7 @@ export interface ProfileBlockActivity {
65
65
  }
66
66
  export interface VacuumPumpProfileActivity {
67
67
  type: 'profile';
68
- profileElements: VacuumRunProfileParams['profile'];
68
+ profileElements: VacuumRunProfileParams['steps'];
69
69
  taskId: string;
70
70
  ventAfter: boolean;
71
71
  }
@@ -647,13 +647,13 @@ export type VacuumPumpArgs = VacuumPumpPressureArgs | VacuumPumpPowerArgs | Vacu
647
647
  export interface VacuumStartRunProfileArgs extends CommonArgs {
648
648
  moduleId: string;
649
649
  commandCreatorFnName: 'vacuumStartRunProfile';
650
- profile: VacuumRunProfileParams['profile'];
650
+ profile: VacuumRunProfileParams['steps'];
651
651
  ventAfter: boolean;
652
652
  }
653
653
  export interface VacuumCloseVentStartProfileArgs extends CommonArgs {
654
654
  moduleId: string;
655
655
  commandCreatorFnName: 'vacuumCloseVentStartProfile';
656
- profile: VacuumRunProfileParams['profile'];
656
+ profile: VacuumRunProfileParams['steps'];
657
657
  ventAfter: boolean;
658
658
  }
659
659
  export type VacuumArgs = VacuumPumpArgs | VacuumStartRunProfileArgs | VacuumOpenVentArgs | VacuumCloseVentArgs | VacuumStopPumpArgs;
@@ -736,7 +736,7 @@ export interface TimelineFrame {
736
736
  };
737
737
  }
738
738
  export type RobotState = TimelineFrame;
739
- 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';
739
+ 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' | 'VACUUM_UNDER_PRESSURE';
740
740
  export interface CommandCreatorError {
741
741
  message: string;
742
742
  type: ErrorType;
@@ -0,0 +1,6 @@
1
+ import type { LabwareDefinition2, PartialPrimaryNozzles } from '@opentrons/shared-data';
2
+ export declare const getTransformedWellsForPartialColumn: (args: {
3
+ labwareDef: LabwareDefinition2;
4
+ wells: string[];
5
+ primaryNozzle: PartialPrimaryNozzles;
6
+ }) => string[];
@@ -4,6 +4,7 @@ import type { CommandCreator, CurriedCommandCreator, FlexStackerModuleState, Inv
4
4
  export declare const AIR: '__air__';
5
5
  export declare const SOURCE_WELL_BLOWOUT_DESTINATION: 'source_well';
6
6
  export declare const DEST_WELL_BLOWOUT_DESTINATION: 'dest_well';
7
+ export declare function getIsVacuumSpacer(def: LabwareDefinition2): boolean;
7
8
  type trashOrLabware = 'wasteChute' | 'trashBin' | 'labware' | null;
8
9
  export declare const getCutoutIdByAddressableArea: (addressableAreaName: AddressableAreaName, cutoutFixtureId: CutoutFixtureId, robotType: RobotType) => CutoutId;
9
10
  export declare function getWasteChuteAddressableAreaNamePip(channels: PipetteChannels): AddressableAreaName;
@@ -98,7 +99,11 @@ export declare const delayLocationHelper: CommandCreator<DelayLocationHelperArgs
98
99
  export declare const getSlotInLocationStack: (stack: string[] | null, isStacker?: boolean) => string;
99
100
  export declare const getTopLocationInStack: (stack?: string[]) => string;
100
101
  export declare const getNearestParentInStack: (stack: string[]) => string | null;
101
- export declare const getLargestStackInSlot: (labwareState: RobotState['labware'], slot: string) => string[];
102
+ export declare const getLargestStackInSlot: (args: {
103
+ slot: string;
104
+ labwareState: RobotState['labware'];
105
+ modulesState: RobotState['modules'];
106
+ }) => string[];
102
107
  /** Single-slot deck id (e.g. A3) for a staging-area slot (e.g. A4) on Flex. */
103
108
  export declare const getFlexStackerCutoutBaseDeckSlotId: (column4StagingSlotId: (typeof COLUMN_4_SLOTS)[number]) => string;
104
109
  export declare const column4StagingSlotIdFromFlexStackerShuttleAddressableArea: (addressableAreaName: AddressableAreaName) => (typeof COLUMN_4_SLOTS)[number] | null;
@@ -170,12 +175,15 @@ export declare const getIsRetractSafeForAirGap: (args: {
170
175
  }) => boolean;
171
176
  export declare const getStackForLabwareLocation: (locationSequence: LabwareLocationSequence) => string[];
172
177
  export declare function createStagingAreaForInvariantContext(params: LoadLidStackRunTimeCommand['params'] | LoadLabwareRunTimeCommand['params'] | LoadLidParams): StagingAreaEntities;
173
- export declare const getLabwareIdOnHopper: (labware: {
174
- [labwareId: string]: LabwareTemporalProperties;
175
- }, moduleSlotLocation: string) => string;
176
178
  export declare const getIsSlotAHopper: (slot: string) => boolean;
177
179
  export declare const getIsSlotAVacuumDock: (slot: string) => boolean;
178
180
  export declare const getLabwareIdOnShuttle: (stackerState: FlexStackerModuleState) => string | null;
179
181
  export declare const labwareMatchesLabwareInHopper: (labwareId: string, invariantContext: InvariantContext, stackerState: FlexStackerModuleState | null) => boolean;
180
182
  export declare const getIsSpaceInHopper: (stackerState: FlexStackerModuleState | null, labwareEntities: LabwareEntities) => boolean;
183
+ export declare const getLabwareHasLid: (args: {
184
+ labwareId: string;
185
+ labwareRobotState: RobotState['labware'];
186
+ labwareEntities: LabwareEntities;
187
+ }) => boolean;
188
+ export declare const getIsInPipettableLocation: (location: string) => boolean;
181
189
  export {};
@@ -1,7 +1,7 @@
1
1
  import type { ProtocolFile, RobotType } from '@opentrons/shared-data';
2
2
  import type { ChangeTipOptions, InvariantContext, LabwareEntities, LabwareLiquidState, LabwareTemporalProperties, LiquidEntities, ModuleEntities, ModuleTemporalProperties, PipetteEntities, Timeline, TimelineFrame, TrashBinEntities, WasteChuteEntities } from '../types';
3
- export declare const PAPI_VERSION = "2.28";
4
- export declare const PD_APPLICATION_VERSION = "8.11.0";
3
+ export declare const PAPI_VERSION = "2.30";
4
+ export declare const PD_APPLICATION_VERSION = "9.0.0";
5
5
  export declare function pythonImports(): string;
6
6
  export declare function pythonMetadata(fileMetadata: ProtocolFile<{}>['metadata'] & {
7
7
  protocolDesigner?: string;
@@ -1,4 +1,4 @@
1
- import type { AddressableArea, CoordinateTuple, CutoutId, LabwareDefinition, NozzleConfigurationStyle, PipetteChannels, PrimaryNozzleConfigurationStyle } from '@opentrons/shared-data';
1
+ import type { AddressableArea, CoordinateTuple, CutoutId, LabwareDefinition, NozzleConfigurationStyle, PipetteChannels, PipetteV2Specs, PrimaryNozzleConfigurationStyle } from '@opentrons/shared-data';
2
2
  import type { InvariantContext, PipetteMovementSafetyStatus, Point, RobotState, TipState } from '../types';
3
3
  interface SlotInfo {
4
4
  addressableArea: AddressableArea | null;
@@ -42,4 +42,12 @@ export declare const getTargetTipsFromWellSets: (args: {
42
42
  channels: PipetteChannels;
43
43
  primaryNozzle: string;
44
44
  }) => string[];
45
+ interface PipetteCenteringArgs {
46
+ wellTargetName: string;
47
+ primaryNozzle: PrimaryNozzleConfigurationStyle;
48
+ nozzleConfiguration: NozzleConfigurationStyle;
49
+ specs: PipetteV2Specs;
50
+ labwareDef: LabwareDefinition;
51
+ }
52
+ export declare const getPipetteCenteringFullOffset: (args: PipetteCenteringArgs) => Point;
45
53
  export {};
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.4-alpha.0",
12
+ "version": "0.3.6-alpha.0",
13
13
  "description": "Step generation",
14
14
  "main": "lib/index.cjs",
15
15
  "types": "lib/index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "homepage": "https://github.com/Opentrons/opentrons",
34
34
  "license": "Apache-2.0",
35
35
  "dependencies": {
36
- "@opentrons/shared-data": "0.3.4-alpha.0",
36
+ "@opentrons/shared-data": "0.3.6-alpha.0",
37
37
  "core-js": "3.2.1",
38
38
  "immer": "^10.1.3",
39
39
  "lodash": "4.18.1",