@opentrons/step-generation 0.3.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.
- package/LICENSE +202 -0
- package/README.md +19 -0
- package/lib/__tests__/robotStateSelectors.test.d.ts +1 -0
- package/lib/__tests__/waitForTasks.test.d.ts +1 -0
- package/lib/__utils__/index.d.ts +1 -0
- package/lib/__utils__/makeImmutableStateUpdater.d.ts +4 -0
- package/lib/__utils__/testMatchers.d.ts +2 -0
- package/lib/commandCreators/atomic/__tests__/absorbanceReaderCloseLid.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/absorbanceReaderOpenLid.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/aspirate.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/aspirateInPlace.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/blowOutInPlace.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/blowOutInWell.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/captureImage.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/comment.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/configureForVolume.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/configureNozzleLayout.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/deactivateTemperature.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/delay.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/disengageMagnet.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/dispense.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/dispenseInPlace.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/dropTip.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/dropTipInPlace.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/engageMagnet.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/flexStackerEmpty.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/flexStackerFillItems.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/flexStackerRetrieve.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/flexStackerStore.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/heaterShakerOpenLatch.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/liquidProbe.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/moveLabware.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/moveToAddressableArea.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/moveToAddressableAreaForDropTip.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/moveToWell.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/pickUpTip.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/prepareToAspirate.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/setTemperature.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/thermocyclerAtomicCommands.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/thermocyclerCloseLid.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/touchTip.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/waitForTemperature.test.d.ts +1 -0
- package/lib/commandCreators/atomic/absorbanceReaderCloseLid.d.ts +3 -0
- package/lib/commandCreators/atomic/absorbanceReaderInitialize.d.ts +3 -0
- package/lib/commandCreators/atomic/absorbanceReaderOpenLid.d.ts +3 -0
- package/lib/commandCreators/atomic/absorbanceReaderRead.d.ts +3 -0
- package/lib/commandCreators/atomic/airGapInPlace.d.ts +3 -0
- package/lib/commandCreators/atomic/aspirate.d.ts +10 -0
- package/lib/commandCreators/atomic/aspirateInPlace.d.ts +3 -0
- package/lib/commandCreators/atomic/blowOutInPlace.d.ts +3 -0
- package/lib/commandCreators/atomic/blowOutInWell.d.ts +3 -0
- package/lib/commandCreators/atomic/captureImage.d.ts +3 -0
- package/lib/commandCreators/atomic/comment.d.ts +3 -0
- package/lib/commandCreators/atomic/configureForVolume.d.ts +3 -0
- package/lib/commandCreators/atomic/configureNozzleLayout.d.ts +3 -0
- package/lib/commandCreators/atomic/deactivateTemperature.d.ts +4 -0
- package/lib/commandCreators/atomic/delay.d.ts +3 -0
- package/lib/commandCreators/atomic/disengageMagnet.d.ts +4 -0
- package/lib/commandCreators/atomic/dispense.d.ts +10 -0
- package/lib/commandCreators/atomic/dispenseInPlace.d.ts +7 -0
- package/lib/commandCreators/atomic/dropTip.d.ts +13 -0
- package/lib/commandCreators/atomic/dropTipInPlace.d.ts +3 -0
- package/lib/commandCreators/atomic/engageMagnet.d.ts +4 -0
- package/lib/commandCreators/atomic/flexStackerEmpty.d.ts +3 -0
- package/lib/commandCreators/atomic/flexStackerFillItems.d.ts +2 -0
- package/lib/commandCreators/atomic/flexStackerRetrieve.d.ts +3 -0
- package/lib/commandCreators/atomic/flexStackerStore.d.ts +3 -0
- package/lib/commandCreators/atomic/heaterShakerCloseLatch.d.ts +3 -0
- package/lib/commandCreators/atomic/heaterShakerDeactivateHeater.d.ts +3 -0
- package/lib/commandCreators/atomic/heaterShakerOpenLatch.d.ts +3 -0
- package/lib/commandCreators/atomic/heaterShakerSetTargetShakeSpeed.d.ts +3 -0
- package/lib/commandCreators/atomic/heaterShakerStopShake.d.ts +3 -0
- package/lib/commandCreators/atomic/index.d.ts +36 -0
- package/lib/commandCreators/atomic/liquidProbe.d.ts +3 -0
- package/lib/commandCreators/atomic/moveLabware.d.ts +5 -0
- package/lib/commandCreators/atomic/moveToAddressableArea.d.ts +7 -0
- package/lib/commandCreators/atomic/moveToAddressableAreaForDropTip.d.ts +3 -0
- package/lib/commandCreators/atomic/moveToWell.d.ts +4 -0
- package/lib/commandCreators/atomic/pickUpTip.d.ts +9 -0
- package/lib/commandCreators/atomic/prepareToAspirate.d.ts +3 -0
- package/lib/commandCreators/atomic/setTemperature.d.ts +4 -0
- package/lib/commandCreators/atomic/thermocyclerCloseLid.d.ts +3 -0
- package/lib/commandCreators/atomic/thermocyclerDeactivateBlock.d.ts +3 -0
- package/lib/commandCreators/atomic/thermocyclerDeactivateLid.d.ts +3 -0
- package/lib/commandCreators/atomic/thermocyclerOpenLid.d.ts +3 -0
- package/lib/commandCreators/atomic/thermocyclerSetTargetBlockTemperature.d.ts +3 -0
- package/lib/commandCreators/atomic/thermocyclerSetTargetLidTemperature.d.ts +3 -0
- package/lib/commandCreators/atomic/thermocyclerStartRunExtendedProfile.d.ts +7 -0
- package/lib/commandCreators/atomic/touchTip.d.ts +7 -0
- package/lib/commandCreators/atomic/waitForTasks.d.ts +3 -0
- package/lib/commandCreators/atomic/waitForTemperature.d.ts +4 -0
- package/lib/commandCreators/compound/__tests__/absorbanceReaderCloseInitialize.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/absorbanceReaderCloseRead.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/airGapInTrash.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/airGapInWasteChute.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/airGapInWell.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/blowOutInTrash.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/blowOutinWasteChute.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/consolidate.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/dispenseInTrash.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/dispenseInWasteChute.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/distribute.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/dropTipInTrash.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/dropTipInWasteChute.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/heaterShaker.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/mix.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/replaceTip.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/thermocyclerProfileStep.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/thermocyclerStateStep.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/transfer.test.d.ts +1 -0
- package/lib/commandCreators/compound/__tests__/waitForModuleTask.test.d.ts +1 -0
- package/lib/commandCreators/compound/absorbanceReaderCloseInitialize.d.ts +2 -0
- package/lib/commandCreators/compound/absorbanceReaderCloseRead.d.ts +2 -0
- package/lib/commandCreators/compound/airGapInTrash.d.ts +9 -0
- package/lib/commandCreators/compound/airGapInWasteChute.d.ts +9 -0
- package/lib/commandCreators/compound/airGapInWell.d.ts +12 -0
- package/lib/commandCreators/compound/blowOutInTrash.d.ts +8 -0
- package/lib/commandCreators/compound/blowOutInWasteChute.d.ts +8 -0
- package/lib/commandCreators/compound/consolidate.d.ts +2 -0
- package/lib/commandCreators/compound/dispenseInTrash.d.ts +9 -0
- package/lib/commandCreators/compound/dispenseInWasteChute.d.ts +9 -0
- package/lib/commandCreators/compound/distribute.d.ts +2 -0
- package/lib/commandCreators/compound/dropTipInTrash.d.ts +7 -0
- package/lib/commandCreators/compound/dropTipInWasteChute.d.ts +7 -0
- package/lib/commandCreators/compound/heaterShaker.d.ts +2 -0
- package/lib/commandCreators/compound/index.d.ts +20 -0
- package/lib/commandCreators/compound/mix.d.ts +19 -0
- package/lib/commandCreators/compound/replaceTip.d.ts +21 -0
- package/lib/commandCreators/compound/thermocyclerProfileStep.d.ts +2 -0
- package/lib/commandCreators/compound/thermocyclerStateStep.d.ts +2 -0
- package/lib/commandCreators/compound/transfer.d.ts +2 -0
- package/lib/commandCreators/compound/waitForModuleTask.d.ts +6 -0
- package/lib/commandCreators/index.d.ts +2 -0
- package/lib/constants.d.ts +55 -0
- package/lib/errorCreators.d.ts +89 -0
- package/lib/fixtures/__tests__/fixtureGeneration.test.d.ts +1 -0
- package/lib/fixtures/commandFixtures.d.ts +511 -0
- package/lib/fixtures/data.d.ts +12 -0
- package/lib/fixtures/index.d.ts +3 -0
- package/lib/fixtures/robotStateFixtures.d.ts +39 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/dispenseUpdateLiquidState.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/forAspirate.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/forBlowout.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/forDropTip.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/forMoveLabware.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/forPickUpTip.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/heaterShakerUpdates.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/stackerUpdates.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/temperatureUpdates.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/thermocyclerUpdates.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/updateMagneticModule.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/absorbanceReaderUpdates.d.ts +5 -0
- package/lib/getNextRobotStateAndWarnings/dispenseUpdateLiquidState.d.ts +15 -0
- package/lib/getNextRobotStateAndWarnings/forAirGapInPlace.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forAspirate.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forBlowout.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forConfigureNozzleLayout.d.ts +11 -0
- package/lib/getNextRobotStateAndWarnings/forDispense.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forDropTip.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forLoadLiquid.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forMoveLabware.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forMoveToAddressableArea.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forMoveToWell.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forPickUpTip.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forWaitForTasks.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/heaterShakerUpdates.d.ts +9 -0
- package/lib/getNextRobotStateAndWarnings/inPlaceCommandUpdates.d.ts +4 -0
- package/lib/getNextRobotStateAndWarnings/index.d.ts +4 -0
- package/lib/getNextRobotStateAndWarnings/magnetUpdates.d.ts +4 -0
- package/lib/getNextRobotStateAndWarnings/stackerUpdates.d.ts +9 -0
- package/lib/getNextRobotStateAndWarnings/temperatureUpdates.d.ts +5 -0
- package/lib/getNextRobotStateAndWarnings/thermocyclerUpdates.d.ts +22 -0
- package/lib/index.cjs +197 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.mjs +16066 -0
- package/lib/robotStateSelectors.d.ts +31 -0
- package/lib/types.d.ts +693 -0
- package/lib/utils/__tests__/blowoutUtil.test.d.ts +1 -0
- package/lib/utils/__tests__/delayLocationHelper.test.d.ts +1 -0
- package/lib/utils/__tests__/getActiveNozzleAmount.test.d.ts +1 -0
- package/lib/utils/__tests__/getIsSafePipetteMovement.test.d.ts +1 -0
- package/lib/utils/__tests__/getLabwareSlot.test.d.ts +1 -0
- package/lib/utils/__tests__/glue.test.d.ts +1 -0
- package/lib/utils/__tests__/liquidClassUtils.test.d.ts +1 -0
- package/lib/utils/__tests__/misc.test.d.ts +1 -0
- package/lib/utils/__tests__/modulePipetteCollision.test.d.ts +1 -0
- package/lib/utils/__tests__/pythonFileUtils.test.d.ts +1 -0
- package/lib/utils/__tests__/pythonFormat.test.d.ts +1 -0
- package/lib/utils/__tests__/removePairs.test.d.ts +1 -0
- package/lib/utils/__tests__/safePipetteMovements.test.d.ts +1 -0
- package/lib/utils/__tests__/stripNoOpMixCommands.test.d.ts +1 -0
- package/lib/utils/__tests__/swatchColors.test.d.ts +1 -0
- package/lib/utils/__tests__/thermocyclerProfileConversions.test.d.ts +1 -0
- package/lib/utils/__tests__/traversals.test.d.ts +1 -0
- package/lib/utils/__tests__/utils.test.d.ts +1 -0
- package/lib/utils/absorbanceReaderCollision.d.ts +2 -0
- package/lib/utils/commandCreatorArgsGetters.d.ts +5 -0
- package/lib/utils/commandCreatorsTimeline.d.ts +2 -0
- package/lib/utils/constructInvariantContextFromAnalysis.d.ts +3 -0
- package/lib/utils/createTimelineFromRunCommands.d.ts +11 -0
- package/lib/utils/curryCommandCreator.d.ts +8 -0
- package/lib/utils/getActiveNozzleAmount.d.ts +7 -0
- package/lib/utils/getLabwareSlot.d.ts +2 -0
- package/lib/utils/getNozzleConfig.d.ts +2 -0
- package/lib/utils/heaterShakerCollision.d.ts +9 -0
- package/lib/utils/index.d.ts +22 -0
- package/lib/utils/liquidClassUtils.d.ts +15 -0
- package/lib/utils/liquidUtils.d.ts +13 -0
- package/lib/utils/misc.d.ts +180 -0
- package/lib/utils/modulePipetteCollision.d.ts +7 -0
- package/lib/utils/pythonFileUtils.d.ts +30 -0
- package/lib/utils/pythonFormat.d.ts +29 -0
- package/lib/utils/reduceCommandCreators.d.ts +2 -0
- package/lib/utils/removePairs.d.ts +1 -0
- package/lib/utils/safePipetteMovements.d.ts +49 -0
- package/lib/utils/stripNoOpCommands.d.ts +3 -0
- package/lib/utils/thermocyclerPipetteCollision.d.ts +2 -0
- package/lib/utils/thermocyclerProfileConversions.d.ts +19 -0
- package/lib/utils/thermocyclerStateDiff.d.ts +10 -0
- package/lib/utils/traversals.d.ts +127 -0
- package/lib/warningCreators.d.ts +7 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CommandCreatorArgs } from '../types';
|
|
2
|
+
/** If command creator is of a type that uses a pipette, get the pipetteId */
|
|
3
|
+
export declare const getPipetteIdFromCCArgs: (args: CommandCreatorArgs) => string | null;
|
|
4
|
+
/** If command creator is of a type that doesn't ever have wells, return true */
|
|
5
|
+
export declare const getHasNoWellsFromCCArgs: (stepArgs: CommandCreatorArgs) => boolean;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CompletedProtocolAnalysis, ProtocolAnalysisOutput } from '@opentrons/shared-data';
|
|
2
|
+
import type { InvariantContext } from '../types';
|
|
3
|
+
export declare function constructInvariantContextFromAnalysis(analysis: ProtocolAnalysisOutput | CompletedProtocolAnalysis, config: ProtocolAnalysisOutput['config'], createdDate: Date): InvariantContext;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RunTimeCommand } from '@opentrons/shared-data';
|
|
2
|
+
import type { InvariantContext, RobotStateAndWarnings } from '../types';
|
|
3
|
+
export type RunCommandTimelineFrame = RobotStateAndWarnings & {
|
|
4
|
+
command: RunTimeCommand;
|
|
5
|
+
};
|
|
6
|
+
interface ResultingTimelineFrame {
|
|
7
|
+
frame: RunCommandTimelineFrame;
|
|
8
|
+
invariantContext: InvariantContext;
|
|
9
|
+
}
|
|
10
|
+
export declare function getResultingTimelineFrameFromRunCommands(commands: RunTimeCommand[], invariantContext: InvariantContext): ResultingTimelineFrame;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CommandCreator, CurriedCommandCreator } from '../types';
|
|
2
|
+
/** Curry a command creator so its args are baked-in,
|
|
3
|
+
* but it is still open to receiving different input states */
|
|
4
|
+
export declare function curryCommandCreator<Args>(commandCreator: CommandCreator<Args>, args: Args): CurriedCommandCreator;
|
|
5
|
+
/** Curry a CommandCreator but discard any Python code in it.
|
|
6
|
+
* Useful for compound commands when you need to suppress the Python for some of
|
|
7
|
+
* the constituent atomic commands. */
|
|
8
|
+
export declare function curryWithoutPython<Args>(commandCreator: CommandCreator<Args>, args: Args): CurriedCommandCreator;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ActiveNozzleNumber, NozzleConfigurationStyle, PipetteV2Specs, PrimaryNozzleConfigurationStyle } from '@opentrons/shared-data';
|
|
2
|
+
export interface ActiveNozzleAmountProps {
|
|
3
|
+
nozzles: NozzleConfigurationStyle | undefined;
|
|
4
|
+
pipetteSpec: PipetteV2Specs;
|
|
5
|
+
primaryNozzle: PrimaryNozzleConfigurationStyle | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare const getActiveNozzleAmount: (props: ActiveNozzleAmountProps) => ActiveNozzleNumber;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PipetteV2Specs, RobotType } from '@opentrons/shared-data';
|
|
2
|
+
import type { DeckSlot, LabwareEntities, LabwareEntity, RobotState } from '../types';
|
|
3
|
+
export declare const getIsHeaterShakerEastWestWithLatchOpen: (hwModules: RobotState['modules'], slot: DeckSlot) => boolean;
|
|
4
|
+
export declare const getIsHeaterShakerEastWestMultiChannelPipette: (hwModules: RobotState['modules'], slot: DeckSlot, pipetteSpecs: PipetteV2Specs) => boolean;
|
|
5
|
+
export declare const getIsHeaterShakerNorthSouthOfNonTiprackWithMultiChannelPipette: (hwModules: RobotState['modules'], slot: DeckSlot, pipetteSpecs: PipetteV2Specs, labwareEntity: LabwareEntity) => boolean;
|
|
6
|
+
export declare const getIsTallLabwareEastWestOfHeaterShaker: (labwareState: RobotState['labware'], labwareEntities: LabwareEntities, heaterShakerSlot: string) => boolean;
|
|
7
|
+
export declare const pipetteIntoHeaterShakerLatchOpen: (modules: RobotState['modules'], labware: RobotState['labware'], labwareId: string) => boolean;
|
|
8
|
+
export declare const pipetteAdjacentHeaterShakerWhileShaking: (hwModules: RobotState['modules'], slot: DeckSlot, robotType: RobotType) => boolean;
|
|
9
|
+
export declare const pipetteIntoHeaterShakerWhileShaking: (modules: RobotState['modules'], labware: RobotState['labware'], labwareId: string) => boolean;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { absorbanceReaderCollision } from './absorbanceReaderCollision';
|
|
2
|
+
import { commandCreatorsTimeline } from './commandCreatorsTimeline';
|
|
3
|
+
import { curryCommandCreator, curryWithoutPython } from './curryCommandCreator';
|
|
4
|
+
import { getLabwareSlot } from './getLabwareSlot';
|
|
5
|
+
import { modulePipetteCollision } from './modulePipetteCollision';
|
|
6
|
+
import { reduceCommandCreators } from './reduceCommandCreators';
|
|
7
|
+
import { thermocyclerPipetteCollision } from './thermocyclerPipetteCollision';
|
|
8
|
+
export { absorbanceReaderCollision, commandCreatorsTimeline, curryCommandCreator, curryWithoutPython, reduceCommandCreators, modulePipetteCollision, thermocyclerPipetteCollision, getLabwareSlot, };
|
|
9
|
+
export * from './commandCreatorArgsGetters';
|
|
10
|
+
export * from './constructInvariantContextFromAnalysis';
|
|
11
|
+
export * from './createTimelineFromRunCommands';
|
|
12
|
+
export * from './getNozzleConfig';
|
|
13
|
+
export * from './heaterShakerCollision';
|
|
14
|
+
export * from './liquidClassUtils';
|
|
15
|
+
export * from './liquidUtils';
|
|
16
|
+
export * from './misc';
|
|
17
|
+
export * from './pythonFileUtils';
|
|
18
|
+
export * from './pythonFormat';
|
|
19
|
+
export * from './safePipetteMovements';
|
|
20
|
+
export * from './thermocyclerProfileConversions';
|
|
21
|
+
export * from './traversals';
|
|
22
|
+
export declare const uuid: () => string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ByTipTypeSetting } from '@opentrons/shared-data';
|
|
2
|
+
import type { ConsolidateArgs, DistributeArgs, LabwareEntities, TransferArgs } from '../types';
|
|
3
|
+
interface CustomLiquidClassPropertiesProps {
|
|
4
|
+
args: TransferArgs | ConsolidateArgs | DistributeArgs;
|
|
5
|
+
pipetteName: string;
|
|
6
|
+
tiprackUri: string;
|
|
7
|
+
liquidClassValuesForTip: ByTipTypeSetting | null;
|
|
8
|
+
}
|
|
9
|
+
export declare const getCustomLiquidClassProperties: (props: CustomLiquidClassPropertiesProps) => string;
|
|
10
|
+
export declare const getLiquidClassName: (liquidClass: string, showBase?: boolean) => string;
|
|
11
|
+
export declare const getPythonAssignTipRacksString: (args: {
|
|
12
|
+
labwareEntities: LabwareEntities;
|
|
13
|
+
tiprackIds: string[];
|
|
14
|
+
}) => string;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LabwareDefinition2 } from '@opentrons/shared-data';
|
|
2
|
+
import type { SingleLabwareLiquidState, WellContents, WellContentsByNumber } from '../types';
|
|
3
|
+
/** All wells for labware, in arbitrary order. */
|
|
4
|
+
export declare function getAllWellsForLabware(def: LabwareDefinition2): string[];
|
|
5
|
+
export type ContentsByWell = Record<string, WellContents> | null;
|
|
6
|
+
export declare const _wellContentsForLabware: (labwareLiquids: SingleLabwareLiquidState, labwareDef: LabwareDefinition2) => ContentsByWell;
|
|
7
|
+
export declare const getVolumesPerLiquid: (wellContents: ContentsByWell, individualIds: string[]) => Record<string, WellContentsByNumber>;
|
|
8
|
+
export declare const getLiquidIdsOnLabwareStack: (wellContents: ContentsByWell[]) => string[];
|
|
9
|
+
export declare const getLiquidIdsOnLabware: (wellContents: ContentsByWell) => string[];
|
|
10
|
+
export declare const MIXED_WELL_COLOR = "#737578";
|
|
11
|
+
export declare const swatchColors: (ingredGroupId: string) => string;
|
|
12
|
+
export type WellFill = Record<string, string>;
|
|
13
|
+
export declare const wellFillFromWellContents: (wellContents: ContentsByWell, displayColors: Record<string, string>) => WellFill;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { COLUMN_4_SLOTS } from '../constants';
|
|
2
|
+
import type { ActiveNozzleNumber, AddressableAreaName, BlowoutParams, CutoutFixtureId, CutoutId, LabwareDefinition2, LabwareLocationSequence, LoadLabwareRunTimeCommand, LoadLidParams, LoadLidStackRunTimeCommand, NozzleConfigurationStyle, PipetteChannels, PipetteV2Specs, PositionReference, PrimaryNozzleConfigurationStyle, RobotType } from '@opentrons/shared-data';
|
|
3
|
+
import type { CommandCreator, CurriedCommandCreator, FlexStackerModuleState, InvariantContext, LabwareEntities, LabwareTemporalProperties, LocationLiquidState, ModuleEntities, PathOption, RobotState, SourceAndDest, StagingAreaEntities, TrashBinEntities, WasteChuteEntities } from '../types';
|
|
4
|
+
export declare const AIR: '__air__';
|
|
5
|
+
export declare const SOURCE_WELL_BLOWOUT_DESTINATION: 'source_well';
|
|
6
|
+
export declare const DEST_WELL_BLOWOUT_DESTINATION: 'dest_well';
|
|
7
|
+
type trashOrLabware = 'wasteChute' | 'trashBin' | 'labware' | null;
|
|
8
|
+
export declare const getCutoutIdByAddressableArea: (addressableAreaName: AddressableAreaName, cutoutFixtureId: CutoutFixtureId, robotType: RobotType) => CutoutId;
|
|
9
|
+
export declare function getWasteChuteAddressableAreaNamePip(channels: PipetteChannels): AddressableAreaName;
|
|
10
|
+
export declare function getTrashBinAddressableAreaName(trashLocation: CutoutId): AddressableAreaName;
|
|
11
|
+
export declare function getTrashLocationFromAddressableAreaName(addressableAreaName: AddressableAreaName): CutoutId | null;
|
|
12
|
+
export declare function getTrashOrLabware(labwareEntities: LabwareEntities, wasteChuteEntities: WasteChuteEntities, trashBinEntities: TrashBinEntities, destinationId: string): trashOrLabware;
|
|
13
|
+
export declare function repeatArray<T>(array: T[], repeats: number): T[];
|
|
14
|
+
/** Total volume of a location ("air" is not included in the sum) */
|
|
15
|
+
export declare function getLocationTotalVolume(loc: LocationLiquidState): number;
|
|
16
|
+
/** Breaks a liquid volume state into 2 parts. Assumes all liquids are evenly mixed. */
|
|
17
|
+
export declare function splitLiquid(volume: number, sourceLiquidState: LocationLiquidState): SourceAndDest;
|
|
18
|
+
/** The converse of splitLiquid. Adds all of one liquid to the other.
|
|
19
|
+
* The args are called 'source' and 'dest', but here they're interchangable.
|
|
20
|
+
*/
|
|
21
|
+
export declare function mergeLiquid(source: LocationLiquidState, dest: LocationLiquidState): LocationLiquidState;
|
|
22
|
+
export declare function getWellsForTips(channels: ActiveNozzleNumber, labwareDef: LabwareDefinition2, well: string): {
|
|
23
|
+
wellsForTips: string[];
|
|
24
|
+
allWellsShared: boolean;
|
|
25
|
+
};
|
|
26
|
+
export declare const mixBlowoutLocationHelper: (args: {
|
|
27
|
+
pipette: BlowoutParams['pipetteId'];
|
|
28
|
+
sourceLabwareId: string;
|
|
29
|
+
sourceWell: BlowoutParams['wellName'];
|
|
30
|
+
destLabwareId: string;
|
|
31
|
+
blowoutLocation: string | null | undefined;
|
|
32
|
+
flowRate: number;
|
|
33
|
+
offsetFromTopMm: number;
|
|
34
|
+
invariantContext: InvariantContext;
|
|
35
|
+
destWell: BlowoutParams['wellName'] | null;
|
|
36
|
+
}) => CurriedCommandCreator[];
|
|
37
|
+
export declare function createEmptyLiquidState(invariantContext: InvariantContext): RobotState['liquidState'];
|
|
38
|
+
export declare function createTipLiquidState<T>(channels: number, contents: T): Record<string, T>;
|
|
39
|
+
export declare const getDispenseAirGapLocation: (args: {
|
|
40
|
+
destLabware: string;
|
|
41
|
+
destWell: string;
|
|
42
|
+
sourceWell?: string;
|
|
43
|
+
sourceLabware?: string;
|
|
44
|
+
blowoutLocation?: string | null;
|
|
45
|
+
}) => {
|
|
46
|
+
dispenseAirGapLabware: string;
|
|
47
|
+
dispenseAirGapWell: string;
|
|
48
|
+
};
|
|
49
|
+
export declare function makeInitialRobotState(args: {
|
|
50
|
+
invariantContext: InvariantContext;
|
|
51
|
+
labwareLocations: RobotState['labware'];
|
|
52
|
+
moduleLocations: RobotState['modules'];
|
|
53
|
+
pipetteLocations: RobotState['pipettes'];
|
|
54
|
+
}): RobotState;
|
|
55
|
+
export declare const getTiprackHasTips: (tipState: RobotState['tipState'], labwareId: string) => boolean;
|
|
56
|
+
export declare const getLabwareHasLiquid: (liquidState: RobotState['liquidState'], labwareId: string) => boolean;
|
|
57
|
+
interface DispenseLocationHelperArgs {
|
|
58
|
+
destinationId: string;
|
|
59
|
+
pipetteId: string;
|
|
60
|
+
volume: number;
|
|
61
|
+
flowRate: number;
|
|
62
|
+
xOffset: number;
|
|
63
|
+
yOffset: number;
|
|
64
|
+
tipRack: string;
|
|
65
|
+
primaryNozzle: PrimaryNozzleConfigurationStyle;
|
|
66
|
+
nozzles: NozzleConfigurationStyle;
|
|
67
|
+
offsetFromBottomMm?: number;
|
|
68
|
+
well?: string;
|
|
69
|
+
}
|
|
70
|
+
export declare const dispenseLocationHelper: CommandCreator<DispenseLocationHelperArgs>;
|
|
71
|
+
interface MoveHelperArgs {
|
|
72
|
+
destinationId: string;
|
|
73
|
+
pipetteId: string;
|
|
74
|
+
zOffset: number;
|
|
75
|
+
primaryNozzle: PrimaryNozzleConfigurationStyle;
|
|
76
|
+
well?: string;
|
|
77
|
+
}
|
|
78
|
+
export declare const moveHelper: CommandCreator<MoveHelperArgs>;
|
|
79
|
+
interface AirGapLocationArgs {
|
|
80
|
+
destinationId: string;
|
|
81
|
+
destWell: string | null;
|
|
82
|
+
flowRate: number;
|
|
83
|
+
pipetteId: string;
|
|
84
|
+
volume: number;
|
|
85
|
+
blowOutLocation?: string | null;
|
|
86
|
+
sourceId?: string;
|
|
87
|
+
sourceWell?: string;
|
|
88
|
+
}
|
|
89
|
+
export declare const airGapLocationHelper: CommandCreator<AirGapLocationArgs>;
|
|
90
|
+
interface DelayLocationHelperArgs {
|
|
91
|
+
pipetteId: string;
|
|
92
|
+
destinationId: string;
|
|
93
|
+
well: string | null;
|
|
94
|
+
zOffset: number;
|
|
95
|
+
seconds: number;
|
|
96
|
+
}
|
|
97
|
+
export declare const delayLocationHelper: CommandCreator<DelayLocationHelperArgs>;
|
|
98
|
+
export declare const getSlotInLocationStack: (stack: string[] | null, isStacker?: boolean) => string;
|
|
99
|
+
export declare const getTopLocationInStack: (stack?: string[]) => string;
|
|
100
|
+
export declare const getNearestParentInStack: (stack: string[]) => string | null;
|
|
101
|
+
export declare const getLargestStackInSlot: (labwareState: RobotState['labware'], slot: string) => string[];
|
|
102
|
+
/** Single-slot deck id (e.g. A3) for a staging-area slot (e.g. A4) on Flex. */
|
|
103
|
+
export declare const getFlexStackerCutoutBaseDeckSlotId: (column4StagingSlotId: (typeof COLUMN_4_SLOTS)[number]) => string;
|
|
104
|
+
export declare const column4StagingSlotIdFromFlexStackerShuttleAddressableArea: (addressableAreaName: AddressableAreaName) => (typeof COLUMN_4_SLOTS)[number] | null;
|
|
105
|
+
/** Deck slot id used as the stack suffix for labware on the stacker shuttle. */
|
|
106
|
+
export declare const deckSlotKeyForFlexStackerShuttleAddressableArea: (addressableAreaName: AddressableAreaName) => string | null;
|
|
107
|
+
/**
|
|
108
|
+
* Staging column ids (A4, B4, …) are the same physical cutout as the stacker's
|
|
109
|
+
* module slot (A3, B3, …). Labware on the shuttle uses the module slot in
|
|
110
|
+
* `labware.stack`; normalize here so stack-height checks match.
|
|
111
|
+
*/
|
|
112
|
+
export declare const resolveDeckSlotKeyForLabwareStackInSlot: (deckSlotKey: string | null, modules: RobotState['modules'], moduleEntities: ModuleEntities) => string | null;
|
|
113
|
+
export declare const getFlexStackerShuttleAddressableArea: (moduleSlot: string) => AddressableAreaName | null;
|
|
114
|
+
interface CompatibleWithStack {
|
|
115
|
+
isCompatible: boolean;
|
|
116
|
+
isAboveStackLimit: boolean;
|
|
117
|
+
}
|
|
118
|
+
export declare const getIsLabwareCompatibleWithStack: (labwareId: string, stack: string[], labwareEntities: LabwareEntities, moduleEntities: ModuleEntities) => CompatibleWithStack;
|
|
119
|
+
export declare const getModuleIdFromRobotStateStack: (modules: RobotState['modules'], stack?: string[]) => string | null;
|
|
120
|
+
/**
|
|
121
|
+
* Get the full stack in a slot given labware state
|
|
122
|
+
* If the slot is offDeck, the offDeckOverrideId must be provided to override the offDeck slot,
|
|
123
|
+
* since different offDeck stacks specify the same base "slot" being offDeck
|
|
124
|
+
* @param labware - The labware object containing all labware entities
|
|
125
|
+
* @param slot - The slot to get the full stack from
|
|
126
|
+
* @param offDeckOverrideId - Labware ID for an offDeck stack
|
|
127
|
+
* @returns The top full stack from the labware object
|
|
128
|
+
*/
|
|
129
|
+
export declare const getFullStackFromLabwares: (labware: {
|
|
130
|
+
[labwareId: string]: LabwareTemporalProperties;
|
|
131
|
+
}, slot: string, offDeckOverrideId?: string) => string[];
|
|
132
|
+
export declare const getTopmostLabwareOnModuleFromStackRobotState: (moduleId: string, labware: {
|
|
133
|
+
[labwareId: string]: LabwareTemporalProperties;
|
|
134
|
+
}) => string;
|
|
135
|
+
export interface ReferenceVolumes {
|
|
136
|
+
pushOut: number;
|
|
137
|
+
airGap: ValueByLiquidHandlingType;
|
|
138
|
+
correction: ValueByLiquidHandlingType;
|
|
139
|
+
flowRate: ValueByLiquidHandlingType;
|
|
140
|
+
conditioning?: number;
|
|
141
|
+
disposal?: number;
|
|
142
|
+
}
|
|
143
|
+
interface ValueByLiquidHandlingType {
|
|
144
|
+
aspirate: number;
|
|
145
|
+
dispense: number;
|
|
146
|
+
}
|
|
147
|
+
export declare const getTransferPlanAndReferenceVolumes: (args: {
|
|
148
|
+
pipetteSpecs: PipetteV2Specs;
|
|
149
|
+
tiprackDefinition: LabwareDefinition2 | null;
|
|
150
|
+
volume: number;
|
|
151
|
+
path: PathOption;
|
|
152
|
+
numAspirateWells: number;
|
|
153
|
+
numDispenseWells: number;
|
|
154
|
+
aspirateAirGapByVolume: Array<[number, number]>;
|
|
155
|
+
conditioningByVolume: Array<[number, number]> | null;
|
|
156
|
+
disposalByVolume: Array<[number, number]> | null;
|
|
157
|
+
}) => {
|
|
158
|
+
referenceVolumes: ReferenceVolumes;
|
|
159
|
+
multiWellHandling: {
|
|
160
|
+
isSupported: boolean;
|
|
161
|
+
numWellsToFitInTip?: number;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
export declare const getIsRetractSafeForAirGap: (args: {
|
|
165
|
+
retractZOffset: number;
|
|
166
|
+
retractPositionReference: PositionReference;
|
|
167
|
+
labwareEntities: LabwareEntities;
|
|
168
|
+
labwareId: string;
|
|
169
|
+
well: string | null;
|
|
170
|
+
}) => boolean;
|
|
171
|
+
export declare const getStackForLabwareLocation: (locationSequence: LabwareLocationSequence) => string[];
|
|
172
|
+
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
|
+
export declare const getIsSlotAHopper: (slot: string) => boolean;
|
|
177
|
+
export declare const getLabwareIdOnShuttle: (stackerState: FlexStackerModuleState) => string | null;
|
|
178
|
+
export declare const labwareMatchesLabwareInHopper: (labwareId: string, invariantContext: InvariantContext, stackerState: FlexStackerModuleState | null) => boolean;
|
|
179
|
+
export declare const getIsSpaceInHopper: (stackerState: FlexStackerModuleState | null, labwareEntities: LabwareEntities) => boolean;
|
|
180
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { InvariantContext, RobotState } from '../types';
|
|
2
|
+
export declare const modulePipetteCollision: (args: {
|
|
3
|
+
pipette: string | null | undefined;
|
|
4
|
+
labware: string | null | undefined;
|
|
5
|
+
invariantContext: InvariantContext;
|
|
6
|
+
prevRobotState: RobotState;
|
|
7
|
+
}) => boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ProtocolFile, RobotType } from '@opentrons/shared-data';
|
|
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";
|
|
5
|
+
export declare function pythonImports(): string;
|
|
6
|
+
export declare function pythonMetadata(fileMetadata: ProtocolFile<{}>['metadata'] & {
|
|
7
|
+
protocolDesigner?: string;
|
|
8
|
+
} & {
|
|
9
|
+
internalAppBuildDate?: string;
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function pythonRequirements(robotType: RobotType): string;
|
|
12
|
+
export declare function getLoadModules(moduleEntities: ModuleEntities, moduleRobotState: TimelineFrame['modules']): string;
|
|
13
|
+
export declare function getLoadAdapters(moduleEntities: ModuleEntities, labwareEntities: LabwareEntities, labwareRobotState: TimelineFrame['labware']): string;
|
|
14
|
+
export declare const getLoadLidStacks: (allLabwareEntities: LabwareEntities, labwareRobotState: TimelineFrame['labware']) => string;
|
|
15
|
+
export declare function getLoadLabware(moduleRobotState: TimelineFrame['modules'], moduleEntities: ModuleEntities, allLabwareEntities: LabwareEntities, labwareRobotState: TimelineFrame['labware'], labwareNicknamesById: Record<string, string>): string;
|
|
16
|
+
export declare function getLoadPipettes(pipetteEntities: PipetteEntities, pipetteRobotState: TimelineFrame['pipettes']): string;
|
|
17
|
+
export declare function getDefineLiquids(liquidEntities: LiquidEntities): string;
|
|
18
|
+
export declare function getLoadLiquids(liquidsByLabwareId: LabwareLiquidState, liquidEntities: LiquidEntities, labwareEntities: LabwareEntities): string;
|
|
19
|
+
export declare function getLoadLiquidClasses(allUniqueLiquidClassesFromForms: string[]): string;
|
|
20
|
+
export declare function getLoadTrashBins(trashBinEntities: TrashBinEntities): string;
|
|
21
|
+
export declare function getLoadWasteChute(wasteChuteEntities: WasteChuteEntities): string;
|
|
22
|
+
export declare function stepCommands(robotStateTimeline: Timeline): string;
|
|
23
|
+
export declare function pythonDefRun(invariantContext: InvariantContext, robotState: TimelineFrame, robotStateTimeline: Timeline, liquidsByLabwareId: LabwareLiquidState, labwareNicknamesById: Record<string, string>, robotType: RobotType, allUniqueLiquidClassesFromForms: string[]): string;
|
|
24
|
+
export declare function pythonCustomLabwareDict(labwareEntities: LabwareEntities): string;
|
|
25
|
+
export declare const formatChangeTipArg: (changeTip: ChangeTipOptions) => string;
|
|
26
|
+
export declare const getSetStoredLabware: (moduleEntities: ModuleEntities, labwareEntities: LabwareEntities, labware: {
|
|
27
|
+
[labwareId: string]: LabwareTemporalProperties;
|
|
28
|
+
}, modules: {
|
|
29
|
+
[moduleId: string]: ModuleTemporalProperties;
|
|
30
|
+
}, robotStateTimeline: Timeline) => string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Utility functions for Python code generation. */
|
|
2
|
+
import type { WellLocation } from '@opentrons/shared-data/command/types/support';
|
|
3
|
+
/** The variable name for the ProtocolContext object in the run() function.
|
|
4
|
+
* Our docs call it `protocol`, which is slightly misleading since the object is not
|
|
5
|
+
* the protocol itself, but we'll try to stay consistent with the docs.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PROTOCOL_CONTEXT_NAME = "protocol";
|
|
8
|
+
/** The variable name for defining a labware that is off-deck or being moved to off-deck */
|
|
9
|
+
export declare const OFF_DECK = "protocol_api.OFF_DECK";
|
|
10
|
+
/** The variable name for the Python dict containing the custom labware defintions. */
|
|
11
|
+
export declare const CUSTOM_LABWARE_DICT_NAME = "CUSTOM_LABWARE";
|
|
12
|
+
export declare const INDENT = " ";
|
|
13
|
+
/** Indent each of the lines in `text`. */
|
|
14
|
+
export declare function indentPyLines(text: string): string;
|
|
15
|
+
/** Render an arbitrary JavaScript value to Python. */
|
|
16
|
+
export declare function formatPyValue(value: any): string;
|
|
17
|
+
/** Render the string value to Python. */
|
|
18
|
+
export declare function formatPyStr(str: string): string;
|
|
19
|
+
/** Render an array value as a Python tuple. */
|
|
20
|
+
export declare function formatPyTuple(list: any[]): string;
|
|
21
|
+
/** Render an array value as a Python list. */
|
|
22
|
+
export declare function formatPyList(list: any[]): string;
|
|
23
|
+
/** Render an object as a Python dict. */
|
|
24
|
+
export declare function formatPyDict(dict: Record<string, any>): string;
|
|
25
|
+
/** Render a WellLocation to Python.
|
|
26
|
+
* Append the returned string to a Python well reference to get the wellLocation relative to the well.
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatPyWellLocation(wellLocation?: WellLocation): string;
|
|
29
|
+
export declare function getChunkForIndentingLists(lists: string[], size: number): string[][];
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { CommandCreatorResult, CurriedCommandCreator, InvariantContext, RobotState } from '../types';
|
|
2
|
+
export declare const reduceCommandCreators: (commandCreators: CurriedCommandCreator[], invariantContext: InvariantContext, initialRobotState: RobotState) => CommandCreatorResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function removePairs<T>(input: T[], excludeWhen: (arg0: T, arg1: T) => boolean): T[];
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { AddressableArea, CoordinateTuple, CutoutId, LabwareDefinition, NozzleConfigurationStyle, PipetteChannels, PrimaryNozzleConfigurationStyle } from '@opentrons/shared-data';
|
|
2
|
+
import type { InvariantContext, RobotState, TipState } from '../types';
|
|
3
|
+
interface SlotInfo {
|
|
4
|
+
addressableArea: AddressableArea | null;
|
|
5
|
+
position: CoordinateTuple | null;
|
|
6
|
+
}
|
|
7
|
+
export interface Point {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
z?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const getCutoutIdFromSlot: (slotInfo: SlotInfo) => CutoutId | null;
|
|
13
|
+
export declare const getIsSafePipetteMovement: (args: {
|
|
14
|
+
robotState: RobotState;
|
|
15
|
+
invariantContext: InvariantContext;
|
|
16
|
+
pipetteId: string;
|
|
17
|
+
labwareId: string;
|
|
18
|
+
wellLocationOffset?: Point;
|
|
19
|
+
wellTargetName?: string;
|
|
20
|
+
primaryNozzle: PrimaryNozzleConfigurationStyle;
|
|
21
|
+
nozzleConfiguration: NozzleConfigurationStyle;
|
|
22
|
+
}) => boolean;
|
|
23
|
+
interface TipPickupAvailability {
|
|
24
|
+
isSafe: boolean;
|
|
25
|
+
isComplete?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const getIsSafePickupWithinTiprack: (args: {
|
|
28
|
+
tipState: Record<string, TipState>;
|
|
29
|
+
primaryNozzle: PrimaryNozzleConfigurationStyle;
|
|
30
|
+
channels: PipetteChannels;
|
|
31
|
+
nozzleConfiguration: NozzleConfigurationStyle;
|
|
32
|
+
wellName: string;
|
|
33
|
+
tiprackDef: LabwareDefinition;
|
|
34
|
+
tipsToIgnore?: string[];
|
|
35
|
+
}) => TipPickupAvailability;
|
|
36
|
+
export declare const getTipRowName: (wellName: string) => string;
|
|
37
|
+
export declare const getTipColumnName: (wellName: string) => string;
|
|
38
|
+
export declare const getTipColumnIndex: (wellName: string) => number;
|
|
39
|
+
export declare const getDefaultPrimaryNozzle: (args: {
|
|
40
|
+
nozzles: NozzleConfigurationStyle;
|
|
41
|
+
channels: PipetteChannels;
|
|
42
|
+
}) => PrimaryNozzleConfigurationStyle;
|
|
43
|
+
export declare const getTargetTipsFromWellSets: (args: {
|
|
44
|
+
wellSets: string[][];
|
|
45
|
+
nozzles: NozzleConfigurationStyle;
|
|
46
|
+
channels: PipetteChannels;
|
|
47
|
+
primaryNozzle: string;
|
|
48
|
+
}) => string[];
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AtomicProfileStep, TCExtendedProfileParams } from '@opentrons/shared-data';
|
|
2
|
+
type ProfileElements = TCExtendedProfileParams['profileElements'];
|
|
3
|
+
interface ThermocyclerProfileRepetitionsForPython {
|
|
4
|
+
repeatingProfileSteps: AtomicProfileStep[];
|
|
5
|
+
numRepetitions: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Protocol Engine and step-generation specify Thermocycler profiles as an array of
|
|
9
|
+
* loops. The Python Protocol API's `execute_profile()` method, on the other hand,
|
|
10
|
+
* currently only takes a single loop.
|
|
11
|
+
*
|
|
12
|
+
* This converts the array-of-loops format to the single-loop format.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getThermocyclerProfileRepetitionsForPython(profileElements: ProfileElements): ThermocyclerProfileRepetitionsForPython;
|
|
15
|
+
/**
|
|
16
|
+
* Unroll a Thermocycler profile's cycles into an equivalent flat list of steps.
|
|
17
|
+
*/
|
|
18
|
+
export declare function unrollThermocyclerProfile(profileElements: ProfileElements): AtomicProfileStep[];
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ThermocyclerModuleState, ThermocyclerStateStepArgs } from '../types';
|
|
2
|
+
export interface Diff {
|
|
3
|
+
lidOpen: boolean;
|
|
4
|
+
lidClosed: boolean;
|
|
5
|
+
setBlockTemperature: boolean;
|
|
6
|
+
deactivateBlockTemperature: boolean;
|
|
7
|
+
setLidTemperature: boolean;
|
|
8
|
+
deactivateLidTemperature: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const thermocyclerStateDiff: (prevThermocyclerState: ThermocyclerModuleState, args: ThermocyclerStateStepArgs) => Diff;
|