MCPcopy Create free account
hub / github.com/Thunder-Compute/thunder-cli / trySkipCurrentStep

Method trySkipCurrentStep

tui/create.go:179–223  ·  view source on GitHub ↗

trySkipCurrentStep is the core hybrid-mode method. It loops forward through steps, auto-filling each one from presets if the preset value is valid given the current config state. Called after every step transition.

()

Source from the content-addressed store, hash-verified

177// steps, auto-filling each one from presets if the preset value is valid given
178// the current config state. Called after every step transition.
179func (m *createModel) trySkipCurrentStep() tea.Cmd {
180 for {
181 skipped := false
182
183 switch m.step {
184 case stepGPU:
185 if m.presets != nil && m.presets.GPUType != nil {
186 canonical, ok := resolveGPU(*m.presets.GPUType)
187 if ok && m.specs.IsGPUTypeAvailable(canonical) {
188 m.config.GPUType = canonical
189 m.skippedSteps[stepGPU] = true
190 skipped = true
191 }
192 }
193
194 case stepCompute:
195 skipped = m.trySkipCompute()
196
197 case stepTemplate:
198 return m.trySkipTemplate()
199
200 case stepDiskSize:
201 if m.presets != nil && m.presets.DiskSizeGB != nil {
202 v := *m.presets.DiskSizeGB
203 minDisk, maxDisk := m.specs.StorageRange(m.config.GPUType, m.config.NumGPUs)
204 if v >= minDisk && v <= maxDisk {
205 m.config.DiskSizeGB = v
206 m.skippedSteps[stepDiskSize] = true
207 skipped = true
208 }
209 }
210
211 case stepConfirmation:
212 m.initStep()
213 return nil
214 }
215
216 if !skipped {
217 m.initStep()
218 return nil
219 }
220
221 m.step++
222 }
223}
224
225// trySkipCompute handles the complex compute step with its sub-phases.
226func (m *createModel) trySkipCompute() bool {

Callers 4

trySkipTemplateMethod · 0.95
UpdateMethod · 0.95
handleEnterMethod · 0.95

Calls 6

trySkipComputeMethod · 0.95
trySkipTemplateMethod · 0.95
initStepMethod · 0.95
resolveGPUFunction · 0.85
IsGPUTypeAvailableMethod · 0.80
StorageRangeMethod · 0.80

Tested by

no test coverage detected