feat: cover letter training export (Phase 1) #111
6 changed files with 10 additions and 8 deletions
|
|
@ -43,13 +43,14 @@ export interface WizardInferenceData {
|
||||||
testMessage: string
|
testMessage: string
|
||||||
}
|
}
|
||||||
|
|
||||||
// Total mandatory steps (integrations step 7 is optional/skip-able)
|
// Total mandatory steps (integrations step 8 is optional/skip-able)
|
||||||
export const WIZARD_STEPS = 7
|
export const WIZARD_STEPS = 8
|
||||||
export const STEP_LABELS = ['Hardware', 'Tier', 'Resume', 'Identity', 'Inference', 'Search', 'Integrations']
|
export const STEP_LABELS = ['Hardware', 'Tier', 'Resume', 'Training', 'Identity', 'Inference', 'Search', 'Integrations']
|
||||||
export const STEP_ROUTES = [
|
export const STEP_ROUTES = [
|
||||||
'/setup/hardware',
|
'/setup/hardware',
|
||||||
'/setup/tier',
|
'/setup/tier',
|
||||||
'/setup/resume',
|
'/setup/resume',
|
||||||
|
'/setup/training',
|
||||||
'/setup/identity',
|
'/setup/identity',
|
||||||
'/setup/inference',
|
'/setup/inference',
|
||||||
'/setup/search',
|
'/setup/search',
|
||||||
|
|
@ -163,7 +164,7 @@ export const useWizardStore = defineStore('wizard', () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resume at next step after last completed
|
// Resume at next step after last completed
|
||||||
const resumeAt = Math.max(1, Math.min(data.wizard_step + 1, 7))
|
const resumeAt = Math.max(1, Math.min(data.wizard_step + 1, 8))
|
||||||
currentStep.value = resumeAt
|
currentStep.value = resumeAt
|
||||||
return routeForStep(resumeAt)
|
return routeForStep(resumeAt)
|
||||||
} finally {
|
} finally {
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ async function checkLocalModel() {
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
store.startPolling()
|
store.startPolling()
|
||||||
|
await store.loadStatus()
|
||||||
await store.loadPairs()
|
await store.loadPairs()
|
||||||
await store.loadDbPairs()
|
await store.loadDbPairs()
|
||||||
if (store.step === 3 && !config.isCloud) await checkLocalModel()
|
if (store.step === 3 && !config.isCloud) await checkLocalModel()
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ async function next() {
|
||||||
}
|
}
|
||||||
|
|
||||||
wizard.identity = { ...form }
|
wizard.identity = { ...form }
|
||||||
const ok = await wizard.saveStep(4, {
|
const ok = await wizard.saveStep(5, {
|
||||||
name: form.name,
|
name: form.name,
|
||||||
email: form.email,
|
email: form.email,
|
||||||
phone: form.phone,
|
phone: form.phone,
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ async function next() {
|
||||||
})
|
})
|
||||||
wizard.inference.services = svcMap
|
wizard.inference.services = svcMap
|
||||||
|
|
||||||
const ok = await wizard.saveStep(5, {
|
const ok = await wizard.saveStep(6, {
|
||||||
anthropic_key: form.anthropicKey,
|
anthropic_key: form.anthropicKey,
|
||||||
openai_url: form.openaiUrl,
|
openai_url: form.openaiUrl,
|
||||||
openai_key: form.openaiKey,
|
openai_key: form.openaiKey,
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ function back() { router.push('/setup/search') }
|
||||||
|
|
||||||
async function finish() {
|
async function finish() {
|
||||||
// Save integration selections (step 7) then mark wizard complete
|
// Save integration selections (step 7) then mark wizard complete
|
||||||
await wizard.saveStep(7, { integrations: [...checkedIds.value] })
|
await wizard.saveStep(8, { integrations: [...checkedIds.value] })
|
||||||
const ok = await wizard.complete()
|
const ok = await wizard.complete()
|
||||||
if (ok) router.replace('/')
|
if (ok) router.replace('/')
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -143,7 +143,7 @@ async function next() {
|
||||||
wizard.search.titles = [...form.titles]
|
wizard.search.titles = [...form.titles]
|
||||||
wizard.search.locations = [...form.locations]
|
wizard.search.locations = [...form.locations]
|
||||||
|
|
||||||
const ok = await wizard.saveStep(6, {
|
const ok = await wizard.saveStep(7, {
|
||||||
search: {
|
search: {
|
||||||
titles: form.titles,
|
titles: form.titles,
|
||||||
locations: form.locations,
|
locations: form.locations,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue