mirror of
https://github.com/stablyai/orca.git
synced 2026-10-09 08:02:35 +00:00
Add GitHub and Linear onboarding setup (#2275)
Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
@@ -28,7 +28,7 @@ export const DEFAULT_APP_FONT_FAMILY = 'Geist'
|
||||
|
||||
// Why: the onboarding wizard's last step index. Centralized so backfill,
|
||||
// clamps, and UI step references all agree on the same upper bound.
|
||||
export const ONBOARDING_FINAL_STEP = 4
|
||||
export const ONBOARDING_FINAL_STEP = 5
|
||||
|
||||
export const ORCA_BROWSER_PARTITION = 'persist:orca-browser'
|
||||
// Why: blank browser tabs must start from an inert guest URL that does not
|
||||
|
||||
@@ -353,7 +353,27 @@ const onboardingFailureReasonSchema = z.enum([
|
||||
'cancelled',
|
||||
'unknown'
|
||||
])
|
||||
const onboardingValueKindSchema = z.enum(['agent', 'theme', 'notifications', 'repo'])
|
||||
const onboardingValueKindSchema = z.enum([
|
||||
'agent',
|
||||
'theme',
|
||||
'notifications',
|
||||
'integrations',
|
||||
'repo'
|
||||
])
|
||||
const onboardingTaskSourcesGithubStatusSchema = z.enum([
|
||||
'connected',
|
||||
'not_authenticated',
|
||||
'not_installed',
|
||||
'checking',
|
||||
'unknown'
|
||||
])
|
||||
const onboardingTaskSourcesLinearStatusSchema = z.enum([
|
||||
'connected',
|
||||
'not_connected',
|
||||
'checking',
|
||||
'unknown'
|
||||
])
|
||||
const onboardingTaskSourcesExitActionSchema = z.enum(['continue', 'skip_to_project_setup'])
|
||||
// `dismissed` from `OnboardingChecklistState` is intentionally excluded —
|
||||
// it is a UI panel-visibility flag, not an activation event, so it never
|
||||
// fires `activation_checklist_item_completed`. Keep this list in sync with
|
||||
@@ -465,6 +485,16 @@ const onboardingStep4PathFailedSchema = z
|
||||
cohort: cohortSchema
|
||||
})
|
||||
.strict()
|
||||
const onboardingTaskSourcesSnapshotSchema = z
|
||||
.object({
|
||||
github_status: onboardingTaskSourcesGithubStatusSchema,
|
||||
linear_status: onboardingTaskSourcesLinearStatusSchema,
|
||||
exit_action: onboardingTaskSourcesExitActionSchema,
|
||||
duration_ms: z.number().int().nonnegative().optional(),
|
||||
advanced_via: advancedViaSchema,
|
||||
cohort: cohortSchema
|
||||
})
|
||||
.strict()
|
||||
const onboardingCompletedSchema = z
|
||||
.object({
|
||||
path: onboardingPathSchema,
|
||||
@@ -704,6 +734,7 @@ export const eventSchemas = {
|
||||
onboarding_step_skipped: onboardingStepSkippedSchema,
|
||||
onboarding_step4_path_clicked: onboardingStep4PathClickedSchema,
|
||||
onboarding_step4_path_failed: onboardingStep4PathFailedSchema,
|
||||
onboarding_task_sources_snapshot: onboardingTaskSourcesSnapshotSchema,
|
||||
onboarding_completed: onboardingCompletedSchema,
|
||||
onboarding_dismissed: onboardingDismissedSchema,
|
||||
onboarding_agent_picked: onboardingAgentPickedSchema,
|
||||
@@ -810,6 +841,7 @@ type _OnboardingCohortRoster =
|
||||
| 'onboarding_step_skipped'
|
||||
| 'onboarding_step4_path_clicked'
|
||||
| 'onboarding_step4_path_failed'
|
||||
| 'onboarding_task_sources_snapshot'
|
||||
| 'onboarding_completed'
|
||||
| 'onboarding_dismissed'
|
||||
| 'onboarding_agent_picked'
|
||||
|
||||
Reference in New Issue
Block a user