mirror of
https://github.com/multica-ai/multica.git
synced 2026-08-04 07:34:25 +02:00
* feat(onboarding): simplify runtime bootstrap * fix(onboarding): close private-helper reuse hole and guide-issue nav race - server: when bootstrap looks for an existing Multica Helper, require Visibility="workspace" so a private helper owned by another member can't be auto-assigned to the onboarding issue (and trigger a task as that private agent), which would have bypassed canAccessPrivateAgent. - web onboarding page: refreshMe() inside bootstrap flips hasOnboarded before onComplete fires, letting the guard's router.replace overtake onComplete's router.push to the new guide issue. Mark the page as "completing" right before navigating so the guard stays silent during the in-flight transition. Co-authored-by: multica-agent <github@multica.ai> * fix(runtimes): escape daemon command literals to satisfy i18next/no-literal-string Co-authored-by: multica-agent <github@multica.ai> --------- Co-authored-by: multica-agent <github@multica.ai> Co-authored-by: Lambda <lambda@multica.ai>
25 lines
823 B
TypeScript
25 lines
823 B
TypeScript
import type { OnboardingStep } from "./types";
|
|
|
|
/**
|
|
* Canonical order of the persisted onboarding steps.
|
|
*
|
|
* Single source of truth for "what step comes after what" — consumed
|
|
* by the UI progress indicator to compute `index of current_step` and
|
|
* `total step count`. Inserting, reordering, or removing a step only
|
|
* requires changing this array; every call site that reads it updates
|
|
* automatically.
|
|
*
|
|
* Intentionally excludes "welcome": welcome is a first-entry product
|
|
* intro, not a persisted step. It doesn't show a progress indicator
|
|
* for the same reason — users shouldn't think of reading the intro
|
|
* as progress toward completing setup.
|
|
*/
|
|
export const ONBOARDING_STEP_ORDER: readonly OnboardingStep[] = [
|
|
"source",
|
|
"role",
|
|
"use_case",
|
|
"workspace",
|
|
"runtime",
|
|
"teammate",
|
|
] as const;
|