@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.
Files changed (222) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +19 -0
  3. package/lib/__tests__/robotStateSelectors.test.d.ts +1 -0
  4. package/lib/__tests__/waitForTasks.test.d.ts +1 -0
  5. package/lib/__utils__/index.d.ts +1 -0
  6. package/lib/__utils__/makeImmutableStateUpdater.d.ts +4 -0
  7. package/lib/__utils__/testMatchers.d.ts +2 -0
  8. package/lib/commandCreators/atomic/__tests__/absorbanceReaderCloseLid.test.d.ts +1 -0
  9. package/lib/commandCreators/atomic/__tests__/absorbanceReaderOpenLid.test.d.ts +1 -0
  10. package/lib/commandCreators/atomic/__tests__/aspirate.test.d.ts +1 -0
  11. package/lib/commandCreators/atomic/__tests__/aspirateInPlace.test.d.ts +1 -0
  12. package/lib/commandCreators/atomic/__tests__/blowOutInPlace.test.d.ts +1 -0
  13. package/lib/commandCreators/atomic/__tests__/blowOutInWell.test.d.ts +1 -0
  14. package/lib/commandCreators/atomic/__tests__/captureImage.test.d.ts +1 -0
  15. package/lib/commandCreators/atomic/__tests__/comment.test.d.ts +1 -0
  16. package/lib/commandCreators/atomic/__tests__/configureForVolume.test.d.ts +1 -0
  17. package/lib/commandCreators/atomic/__tests__/configureNozzleLayout.test.d.ts +1 -0
  18. package/lib/commandCreators/atomic/__tests__/deactivateTemperature.test.d.ts +1 -0
  19. package/lib/commandCreators/atomic/__tests__/delay.test.d.ts +1 -0
  20. package/lib/commandCreators/atomic/__tests__/disengageMagnet.test.d.ts +1 -0
  21. package/lib/commandCreators/atomic/__tests__/dispense.test.d.ts +1 -0
  22. package/lib/commandCreators/atomic/__tests__/dispenseInPlace.test.d.ts +1 -0
  23. package/lib/commandCreators/atomic/__tests__/dropTip.test.d.ts +1 -0
  24. package/lib/commandCreators/atomic/__tests__/dropTipInPlace.test.d.ts +1 -0
  25. package/lib/commandCreators/atomic/__tests__/engageMagnet.test.d.ts +1 -0
  26. package/lib/commandCreators/atomic/__tests__/flexStackerEmpty.test.d.ts +1 -0
  27. package/lib/commandCreators/atomic/__tests__/flexStackerFillItems.test.d.ts +1 -0
  28. package/lib/commandCreators/atomic/__tests__/flexStackerRetrieve.test.d.ts +1 -0
  29. package/lib/commandCreators/atomic/__tests__/flexStackerStore.test.d.ts +1 -0
  30. package/lib/commandCreators/atomic/__tests__/heaterShakerOpenLatch.test.d.ts +1 -0
  31. package/lib/commandCreators/atomic/__tests__/liquidProbe.test.d.ts +1 -0
  32. package/lib/commandCreators/atomic/__tests__/moveLabware.test.d.ts +1 -0
  33. package/lib/commandCreators/atomic/__tests__/moveToAddressableArea.test.d.ts +1 -0
  34. package/lib/commandCreators/atomic/__tests__/moveToAddressableAreaForDropTip.test.d.ts +1 -0
  35. package/lib/commandCreators/atomic/__tests__/moveToWell.test.d.ts +1 -0
  36. package/lib/commandCreators/atomic/__tests__/pickUpTip.test.d.ts +1 -0
  37. package/lib/commandCreators/atomic/__tests__/prepareToAspirate.test.d.ts +1 -0
  38. package/lib/commandCreators/atomic/__tests__/setTemperature.test.d.ts +1 -0
  39. package/lib/commandCreators/atomic/__tests__/thermocyclerAtomicCommands.test.d.ts +1 -0
  40. package/lib/commandCreators/atomic/__tests__/thermocyclerCloseLid.test.d.ts +1 -0
  41. package/lib/commandCreators/atomic/__tests__/touchTip.test.d.ts +1 -0
  42. package/lib/commandCreators/atomic/__tests__/waitForTemperature.test.d.ts +1 -0
  43. package/lib/commandCreators/atomic/absorbanceReaderCloseLid.d.ts +3 -0
  44. package/lib/commandCreators/atomic/absorbanceReaderInitialize.d.ts +3 -0
  45. package/lib/commandCreators/atomic/absorbanceReaderOpenLid.d.ts +3 -0
  46. package/lib/commandCreators/atomic/absorbanceReaderRead.d.ts +3 -0
  47. package/lib/commandCreators/atomic/airGapInPlace.d.ts +3 -0
  48. package/lib/commandCreators/atomic/aspirate.d.ts +10 -0
  49. package/lib/commandCreators/atomic/aspirateInPlace.d.ts +3 -0
  50. package/lib/commandCreators/atomic/blowOutInPlace.d.ts +3 -0
  51. package/lib/commandCreators/atomic/blowOutInWell.d.ts +3 -0
  52. package/lib/commandCreators/atomic/captureImage.d.ts +3 -0
  53. package/lib/commandCreators/atomic/comment.d.ts +3 -0
  54. package/lib/commandCreators/atomic/configureForVolume.d.ts +3 -0
  55. package/lib/commandCreators/atomic/configureNozzleLayout.d.ts +3 -0
  56. package/lib/commandCreators/atomic/deactivateTemperature.d.ts +4 -0
  57. package/lib/commandCreators/atomic/delay.d.ts +3 -0
  58. package/lib/commandCreators/atomic/disengageMagnet.d.ts +4 -0
  59. package/lib/commandCreators/atomic/dispense.d.ts +10 -0
  60. package/lib/commandCreators/atomic/dispenseInPlace.d.ts +7 -0
  61. package/lib/commandCreators/atomic/dropTip.d.ts +13 -0
  62. package/lib/commandCreators/atomic/dropTipInPlace.d.ts +3 -0
  63. package/lib/commandCreators/atomic/engageMagnet.d.ts +4 -0
  64. package/lib/commandCreators/atomic/flexStackerEmpty.d.ts +3 -0
  65. package/lib/commandCreators/atomic/flexStackerFillItems.d.ts +2 -0
  66. package/lib/commandCreators/atomic/flexStackerRetrieve.d.ts +3 -0
  67. package/lib/commandCreators/atomic/flexStackerStore.d.ts +3 -0
  68. package/lib/commandCreators/atomic/heaterShakerCloseLatch.d.ts +3 -0
  69. package/lib/commandCreators/atomic/heaterShakerDeactivateHeater.d.ts +3 -0
  70. package/lib/commandCreators/atomic/heaterShakerOpenLatch.d.ts +3 -0
  71. package/lib/commandCreators/atomic/heaterShakerSetTargetShakeSpeed.d.ts +3 -0
  72. package/lib/commandCreators/atomic/heaterShakerStopShake.d.ts +3 -0
  73. package/lib/commandCreators/atomic/index.d.ts +36 -0
  74. package/lib/commandCreators/atomic/liquidProbe.d.ts +3 -0
  75. package/lib/commandCreators/atomic/moveLabware.d.ts +5 -0
  76. package/lib/commandCreators/atomic/moveToAddressableArea.d.ts +7 -0
  77. package/lib/commandCreators/atomic/moveToAddressableAreaForDropTip.d.ts +3 -0
  78. package/lib/commandCreators/atomic/moveToWell.d.ts +4 -0
  79. package/lib/commandCreators/atomic/pickUpTip.d.ts +9 -0
  80. package/lib/commandCreators/atomic/prepareToAspirate.d.ts +3 -0
  81. package/lib/commandCreators/atomic/setTemperature.d.ts +4 -0
  82. package/lib/commandCreators/atomic/thermocyclerCloseLid.d.ts +3 -0
  83. package/lib/commandCreators/atomic/thermocyclerDeactivateBlock.d.ts +3 -0
  84. package/lib/commandCreators/atomic/thermocyclerDeactivateLid.d.ts +3 -0
  85. package/lib/commandCreators/atomic/thermocyclerOpenLid.d.ts +3 -0
  86. package/lib/commandCreators/atomic/thermocyclerSetTargetBlockTemperature.d.ts +3 -0
  87. package/lib/commandCreators/atomic/thermocyclerSetTargetLidTemperature.d.ts +3 -0
  88. package/lib/commandCreators/atomic/thermocyclerStartRunExtendedProfile.d.ts +7 -0
  89. package/lib/commandCreators/atomic/touchTip.d.ts +7 -0
  90. package/lib/commandCreators/atomic/waitForTasks.d.ts +3 -0
  91. package/lib/commandCreators/atomic/waitForTemperature.d.ts +4 -0
  92. package/lib/commandCreators/compound/__tests__/absorbanceReaderCloseInitialize.test.d.ts +1 -0
  93. package/lib/commandCreators/compound/__tests__/absorbanceReaderCloseRead.test.d.ts +1 -0
  94. package/lib/commandCreators/compound/__tests__/airGapInTrash.test.d.ts +1 -0
  95. package/lib/commandCreators/compound/__tests__/airGapInWasteChute.test.d.ts +1 -0
  96. package/lib/commandCreators/compound/__tests__/airGapInWell.test.d.ts +1 -0
  97. package/lib/commandCreators/compound/__tests__/blowOutInTrash.test.d.ts +1 -0
  98. package/lib/commandCreators/compound/__tests__/blowOutinWasteChute.test.d.ts +1 -0
  99. package/lib/commandCreators/compound/__tests__/consolidate.test.d.ts +1 -0
  100. package/lib/commandCreators/compound/__tests__/dispenseInTrash.test.d.ts +1 -0
  101. package/lib/commandCreators/compound/__tests__/dispenseInWasteChute.test.d.ts +1 -0
  102. package/lib/commandCreators/compound/__tests__/distribute.test.d.ts +1 -0
  103. package/lib/commandCreators/compound/__tests__/dropTipInTrash.test.d.ts +1 -0
  104. package/lib/commandCreators/compound/__tests__/dropTipInWasteChute.test.d.ts +1 -0
  105. package/lib/commandCreators/compound/__tests__/heaterShaker.test.d.ts +1 -0
  106. package/lib/commandCreators/compound/__tests__/mix.test.d.ts +1 -0
  107. package/lib/commandCreators/compound/__tests__/replaceTip.test.d.ts +1 -0
  108. package/lib/commandCreators/compound/__tests__/thermocyclerProfileStep.test.d.ts +1 -0
  109. package/lib/commandCreators/compound/__tests__/thermocyclerStateStep.test.d.ts +1 -0
  110. package/lib/commandCreators/compound/__tests__/transfer.test.d.ts +1 -0
  111. package/lib/commandCreators/compound/__tests__/waitForModuleTask.test.d.ts +1 -0
  112. package/lib/commandCreators/compound/absorbanceReaderCloseInitialize.d.ts +2 -0
  113. package/lib/commandCreators/compound/absorbanceReaderCloseRead.d.ts +2 -0
  114. package/lib/commandCreators/compound/airGapInTrash.d.ts +9 -0
  115. package/lib/commandCreators/compound/airGapInWasteChute.d.ts +9 -0
  116. package/lib/commandCreators/compound/airGapInWell.d.ts +12 -0
  117. package/lib/commandCreators/compound/blowOutInTrash.d.ts +8 -0
  118. package/lib/commandCreators/compound/blowOutInWasteChute.d.ts +8 -0
  119. package/lib/commandCreators/compound/consolidate.d.ts +2 -0
  120. package/lib/commandCreators/compound/dispenseInTrash.d.ts +9 -0
  121. package/lib/commandCreators/compound/dispenseInWasteChute.d.ts +9 -0
  122. package/lib/commandCreators/compound/distribute.d.ts +2 -0
  123. package/lib/commandCreators/compound/dropTipInTrash.d.ts +7 -0
  124. package/lib/commandCreators/compound/dropTipInWasteChute.d.ts +7 -0
  125. package/lib/commandCreators/compound/heaterShaker.d.ts +2 -0
  126. package/lib/commandCreators/compound/index.d.ts +20 -0
  127. package/lib/commandCreators/compound/mix.d.ts +19 -0
  128. package/lib/commandCreators/compound/replaceTip.d.ts +21 -0
  129. package/lib/commandCreators/compound/thermocyclerProfileStep.d.ts +2 -0
  130. package/lib/commandCreators/compound/thermocyclerStateStep.d.ts +2 -0
  131. package/lib/commandCreators/compound/transfer.d.ts +2 -0
  132. package/lib/commandCreators/compound/waitForModuleTask.d.ts +6 -0
  133. package/lib/commandCreators/index.d.ts +2 -0
  134. package/lib/constants.d.ts +55 -0
  135. package/lib/errorCreators.d.ts +89 -0
  136. package/lib/fixtures/__tests__/fixtureGeneration.test.d.ts +1 -0
  137. package/lib/fixtures/commandFixtures.d.ts +511 -0
  138. package/lib/fixtures/data.d.ts +12 -0
  139. package/lib/fixtures/index.d.ts +3 -0
  140. package/lib/fixtures/robotStateFixtures.d.ts +39 -0
  141. package/lib/getNextRobotStateAndWarnings/__tests__/dispenseUpdateLiquidState.test.d.ts +1 -0
  142. package/lib/getNextRobotStateAndWarnings/__tests__/forAspirate.test.d.ts +1 -0
  143. package/lib/getNextRobotStateAndWarnings/__tests__/forBlowout.test.d.ts +1 -0
  144. package/lib/getNextRobotStateAndWarnings/__tests__/forDropTip.test.d.ts +1 -0
  145. package/lib/getNextRobotStateAndWarnings/__tests__/forMoveLabware.test.d.ts +1 -0
  146. package/lib/getNextRobotStateAndWarnings/__tests__/forPickUpTip.test.d.ts +1 -0
  147. package/lib/getNextRobotStateAndWarnings/__tests__/heaterShakerUpdates.test.d.ts +1 -0
  148. package/lib/getNextRobotStateAndWarnings/__tests__/stackerUpdates.test.d.ts +1 -0
  149. package/lib/getNextRobotStateAndWarnings/__tests__/temperatureUpdates.test.d.ts +1 -0
  150. package/lib/getNextRobotStateAndWarnings/__tests__/thermocyclerUpdates.test.d.ts +1 -0
  151. package/lib/getNextRobotStateAndWarnings/__tests__/updateMagneticModule.test.d.ts +1 -0
  152. package/lib/getNextRobotStateAndWarnings/absorbanceReaderUpdates.d.ts +5 -0
  153. package/lib/getNextRobotStateAndWarnings/dispenseUpdateLiquidState.d.ts +15 -0
  154. package/lib/getNextRobotStateAndWarnings/forAirGapInPlace.d.ts +3 -0
  155. package/lib/getNextRobotStateAndWarnings/forAspirate.d.ts +3 -0
  156. package/lib/getNextRobotStateAndWarnings/forBlowout.d.ts +3 -0
  157. package/lib/getNextRobotStateAndWarnings/forConfigureNozzleLayout.d.ts +11 -0
  158. package/lib/getNextRobotStateAndWarnings/forDispense.d.ts +3 -0
  159. package/lib/getNextRobotStateAndWarnings/forDropTip.d.ts +3 -0
  160. package/lib/getNextRobotStateAndWarnings/forLoadLiquid.d.ts +3 -0
  161. package/lib/getNextRobotStateAndWarnings/forMoveLabware.d.ts +3 -0
  162. package/lib/getNextRobotStateAndWarnings/forMoveToAddressableArea.d.ts +3 -0
  163. package/lib/getNextRobotStateAndWarnings/forMoveToWell.d.ts +3 -0
  164. package/lib/getNextRobotStateAndWarnings/forPickUpTip.d.ts +3 -0
  165. package/lib/getNextRobotStateAndWarnings/forWaitForTasks.d.ts +3 -0
  166. package/lib/getNextRobotStateAndWarnings/heaterShakerUpdates.d.ts +9 -0
  167. package/lib/getNextRobotStateAndWarnings/inPlaceCommandUpdates.d.ts +4 -0
  168. package/lib/getNextRobotStateAndWarnings/index.d.ts +4 -0
  169. package/lib/getNextRobotStateAndWarnings/magnetUpdates.d.ts +4 -0
  170. package/lib/getNextRobotStateAndWarnings/stackerUpdates.d.ts +9 -0
  171. package/lib/getNextRobotStateAndWarnings/temperatureUpdates.d.ts +5 -0
  172. package/lib/getNextRobotStateAndWarnings/thermocyclerUpdates.d.ts +22 -0
  173. package/lib/index.cjs +197 -0
  174. package/lib/index.d.ts +8 -0
  175. package/lib/index.mjs +16066 -0
  176. package/lib/robotStateSelectors.d.ts +31 -0
  177. package/lib/types.d.ts +693 -0
  178. package/lib/utils/__tests__/blowoutUtil.test.d.ts +1 -0
  179. package/lib/utils/__tests__/delayLocationHelper.test.d.ts +1 -0
  180. package/lib/utils/__tests__/getActiveNozzleAmount.test.d.ts +1 -0
  181. package/lib/utils/__tests__/getIsSafePipetteMovement.test.d.ts +1 -0
  182. package/lib/utils/__tests__/getLabwareSlot.test.d.ts +1 -0
  183. package/lib/utils/__tests__/glue.test.d.ts +1 -0
  184. package/lib/utils/__tests__/liquidClassUtils.test.d.ts +1 -0
  185. package/lib/utils/__tests__/misc.test.d.ts +1 -0
  186. package/lib/utils/__tests__/modulePipetteCollision.test.d.ts +1 -0
  187. package/lib/utils/__tests__/pythonFileUtils.test.d.ts +1 -0
  188. package/lib/utils/__tests__/pythonFormat.test.d.ts +1 -0
  189. package/lib/utils/__tests__/removePairs.test.d.ts +1 -0
  190. package/lib/utils/__tests__/safePipetteMovements.test.d.ts +1 -0
  191. package/lib/utils/__tests__/stripNoOpMixCommands.test.d.ts +1 -0
  192. package/lib/utils/__tests__/swatchColors.test.d.ts +1 -0
  193. package/lib/utils/__tests__/thermocyclerProfileConversions.test.d.ts +1 -0
  194. package/lib/utils/__tests__/traversals.test.d.ts +1 -0
  195. package/lib/utils/__tests__/utils.test.d.ts +1 -0
  196. package/lib/utils/absorbanceReaderCollision.d.ts +2 -0
  197. package/lib/utils/commandCreatorArgsGetters.d.ts +5 -0
  198. package/lib/utils/commandCreatorsTimeline.d.ts +2 -0
  199. package/lib/utils/constructInvariantContextFromAnalysis.d.ts +3 -0
  200. package/lib/utils/createTimelineFromRunCommands.d.ts +11 -0
  201. package/lib/utils/curryCommandCreator.d.ts +8 -0
  202. package/lib/utils/getActiveNozzleAmount.d.ts +7 -0
  203. package/lib/utils/getLabwareSlot.d.ts +2 -0
  204. package/lib/utils/getNozzleConfig.d.ts +2 -0
  205. package/lib/utils/heaterShakerCollision.d.ts +9 -0
  206. package/lib/utils/index.d.ts +22 -0
  207. package/lib/utils/liquidClassUtils.d.ts +15 -0
  208. package/lib/utils/liquidUtils.d.ts +13 -0
  209. package/lib/utils/misc.d.ts +180 -0
  210. package/lib/utils/modulePipetteCollision.d.ts +7 -0
  211. package/lib/utils/pythonFileUtils.d.ts +30 -0
  212. package/lib/utils/pythonFormat.d.ts +29 -0
  213. package/lib/utils/reduceCommandCreators.d.ts +2 -0
  214. package/lib/utils/removePairs.d.ts +1 -0
  215. package/lib/utils/safePipetteMovements.d.ts +49 -0
  216. package/lib/utils/stripNoOpCommands.d.ts +3 -0
  217. package/lib/utils/thermocyclerPipetteCollision.d.ts +2 -0
  218. package/lib/utils/thermocyclerProfileConversions.d.ts +19 -0
  219. package/lib/utils/thermocyclerStateDiff.d.ts +10 -0
  220. package/lib/utils/traversals.d.ts +127 -0
  221. package/lib/warningCreators.d.ts +7 -0
  222. package/package.json +45 -0
@@ -0,0 +1,127 @@
1
+ import type { AddressableAreaName, DeckConfiguration, DeckDefinition, LoadedLabwareLocation } from '@opentrons/shared-data';
2
+ import type { LabwareEntities, ModuleEntities, RobotState } from '../types';
3
+ type LabwareLocationCache = Map<LoadedLabwareLocation, LoadedLabwareLocation[]>;
4
+ /**
5
+ * Recursively computes the full stack of labware nodes from the given node upwards
6
+ * (top-down), collecting each node until a non-labware node is reached.
7
+ *
8
+ * @param args.node The labware or location node to get the full stack for.
9
+ * @param args.robotState The current robot state containing all labware.
10
+ * @param args.stack (Optional) The stack collected so far, used in recursion.
11
+ * @param args.memo (Optional) A memoization map to cache computed stacks for nodes.
12
+ * @returns An object containing the complete stack and an updated memo map.
13
+ */
14
+ export declare const getFullStackFromNodeTopDownRecursive: (args: {
15
+ node: LoadedLabwareLocation;
16
+ robotState: RobotState;
17
+ stack?: LoadedLabwareLocation[];
18
+ memo?: LabwareLocationCache;
19
+ }) => {
20
+ stack: LoadedLabwareLocation[];
21
+ memo: LabwareLocationCache;
22
+ };
23
+ /**
24
+ * Finds the ID of the module associated with the provided node's stack, if any.
25
+ *
26
+ * @param args.node The labware/location node whose stack will be searched for a parent module.
27
+ * @param args.robotState The current robot state including modules.
28
+ * @param args.deckDef The deck definition, needed for cutout fixtures.
29
+ * @param args.deckConfiguration The configuration of the deck, including cutout mappings.
30
+ * @returns The string module id if found, or null otherwise.
31
+ */
32
+ export declare const getNodeParentModuleId: (args: {
33
+ node: LoadedLabwareLocation;
34
+ robotState: RobotState;
35
+ deckDef: DeckDefinition;
36
+ deckConfiguration: DeckConfiguration;
37
+ }) => string | null;
38
+ /**
39
+ * Finds the largest stack (with deepest nesting) that contains the specified labware.
40
+ *
41
+ * @param args.labwareId The id of the labware to search for within stacks.
42
+ * @param args.robotState The current robot state to extract stacks from.
43
+ * @returns The largest LoadedLabwareLocation[] stack that contains the target labware.
44
+ */
45
+ export declare const getLargestStackContainingLabware: (args: {
46
+ labwareId: string;
47
+ robotState: RobotState;
48
+ }) => LoadedLabwareLocation[];
49
+ /**
50
+ * Gets all unique, largest stacks of labware present in the current robot state.
51
+ *
52
+ * @param robotState The current robot state.
53
+ * @returns An array of LoadedLabwareLocation[]—one for each largest stack (per root).
54
+ */
55
+ export declare const getAllLargestStacks: (robotState: RobotState) => LoadedLabwareLocation[][];
56
+ export declare const getAddressableAreaFromModule: (args: {
57
+ moduleId: string;
58
+ robotState: RobotState;
59
+ moduleEntities: ModuleEntities;
60
+ deckDef: DeckDefinition;
61
+ }) => AddressableAreaName | null;
62
+ /**
63
+ * Gets the addressable area name for a given labware location.
64
+ *
65
+ * @param args.location The labware location to get the addressable area name for.
66
+ * @param args.robotState The current robot state.
67
+ * @param args.moduleEntities The module entities.
68
+ * @param args.deckDef The deck definition.
69
+ * @returns The addressable area name, or null if no addressable area name is found.
70
+ */
71
+ export declare const getAddressableAreaNameFromLabwareLocation: (args: {
72
+ location: LoadedLabwareLocation;
73
+ robotState: RobotState;
74
+ moduleEntities: ModuleEntities;
75
+ deckDef: DeckDefinition;
76
+ }) => AddressableAreaName | null;
77
+ /**
78
+ * Gets all provided addressable areas in the deck configuration.
79
+ * The returned addressable areas should be the uppermost provided areas.
80
+ * For example, if a magnetic block is configured in slot C1, addressable
81
+ * area C1 should not be returned, but rather magneticBlockV1C1 should be.
82
+ *
83
+ * @param args.deckConfiguration The deck configuration.
84
+ * @param args.deckDefinition The deck definition.
85
+ * @returns An array of AddressableAreaName.
86
+ */
87
+ export declare const getAllProvidedAddressableAreasFromDeckConfig: (args: {
88
+ deckConfiguration: DeckConfiguration;
89
+ deckDefinition: DeckDefinition;
90
+ }) => Set<AddressableAreaName>;
91
+ export declare const getProvidedAddressableAreasExposed: (args: {
92
+ robotState: RobotState;
93
+ deckConfiguration: DeckConfiguration;
94
+ deckDefinition: DeckDefinition;
95
+ moduleEntities: ModuleEntities;
96
+ }) => Set<AddressableAreaName>;
97
+ /**
98
+ * Protocol Designer stack strings (top → bottom) map to PE `LoadedLabwareLocation`
99
+ * for the immediate parent of `subjectLabwareId`.
100
+ */
101
+ export declare const getStackedOnNodeFromPdStack: (args: {
102
+ stack: string[];
103
+ subjectLabwareId: string;
104
+ moduleEntities: ModuleEntities;
105
+ labwareEntityIds: ReadonlySet<string>;
106
+ modules: RobotState['modules'];
107
+ }) => LoadedLabwareLocation | undefined;
108
+ /**
109
+ * When exactly two labware share the same object `stackedOnNode` (non-hopper), and one labware
110
+ * footprint strictly exceeds the other in both X and Y, set `contains` on the **larger** labware
111
+ * to the id of the smaller-footprint labware. Groups of size other than 2, ties, or missing defs are skipped.
112
+ */
113
+ export declare const assignContainsAmongSiblings: (labware: RobotState['labware'], labwareEntities: LabwareEntities) => RobotState['labware'];
114
+ /**
115
+ * Ensures each labware row has `stackedOnNode` for stack-graph traversals.
116
+ * Fills from Protocol Designer-style `stack` via {@link getStackedOnNodeFromPdStack} when missing.
117
+ *
118
+ * When `labwareEntities` is passed, pairs of labware that share the same eligible parent
119
+ * `stackedOnNode` may set `contains` on the larger footprint to the smaller labware id.
120
+ *
121
+ * **Protocol Designer:** call once when composing initial robot state (see PD
122
+ * {@link getInitialEnrichedRobotState}). After that, timeline `robotState` frames should keep this metadata
123
+ * current via command-specific updaters (`forMoveLabware`, stacker handlers, etc.), not by
124
+ * re-running this helper on every active step.
125
+ */
126
+ export declare const enrichRobotStateForStackGraphTraversals: (robotState: RobotState, moduleEntities: ModuleEntities, labwareEntities: LabwareEntities) => RobotState;
127
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { CommandCreatorWarning } from './types';
2
+ export declare function aspirateMoreThanWellContents(): CommandCreatorWarning;
3
+ export declare function aspirateFromPristineWell(): CommandCreatorWarning;
4
+ export declare function labwareInWasteChuteHasLiquid(): CommandCreatorWarning;
5
+ export declare function tiprackInWasteChuteHasTips(): CommandCreatorWarning;
6
+ export declare function potentiallyUnreachableTemp(): CommandCreatorWarning;
7
+ export declare function waitingForNonexistentTask(): CommandCreatorWarning;
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "repository": {
3
+ "type": "git",
4
+ "url": "https://github.com/Opentrons/opentrons.git"
5
+ },
6
+ "author": {
7
+ "name": "Opentrons Labworks",
8
+ "email": "engineering@opentrons.com"
9
+ },
10
+ "name": "@opentrons/step-generation",
11
+ "productName": "Opentrons Step Generation",
12
+ "version": "0.3.0-alpha.0",
13
+ "description": "Step generation",
14
+ "main": "lib/index.cjs",
15
+ "types": "lib/index.d.ts",
16
+ "module": "lib/index.mjs",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./lib/index.d.ts",
20
+ "import": "./lib/index.mjs",
21
+ "require": "./lib/index.cjs"
22
+ },
23
+ "./package.json": "./package.json"
24
+ },
25
+ "files": [
26
+ "lib/",
27
+ "README.md",
28
+ "LICENSE"
29
+ ],
30
+ "bugs": {
31
+ "url": "https://github.com/Opentrons/opentrons/issues"
32
+ },
33
+ "homepage": "https://github.com/Opentrons/opentrons",
34
+ "license": "Apache-2.0",
35
+ "dependencies": {
36
+ "@opentrons/shared-data": "0.3.0-alpha.0",
37
+ "core-js": "3.2.1",
38
+ "immer": "^10.1.3",
39
+ "lodash": "4.18.1",
40
+ "uuid": "3.3.2"
41
+ },
42
+ "devDependencies": {
43
+ "@types/lodash": "4.17.24"
44
+ }
45
+ }