Spaces:
Sleeping
Sleeping
| /** | |
| * Bootstrap module β matches original rust/crates/runtime/src/bootstrap.rs exactly. | |
| * | |
| * Provides: | |
| * - BootstrapPhase enum (12 phases) | |
| * - BootstrapPlan with claw_default() and from_phases() | |
| */ | |
| // βββ BootstrapPhase βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| export enum BootstrapPhase { | |
| CliEntry = "CliEntry", | |
| FastPathVersion = "FastPathVersion", | |
| StartupProfiler = "StartupProfiler", | |
| SystemPromptFastPath = "SystemPromptFastPath", | |
| ChromeMcpFastPath = "ChromeMcpFastPath", | |
| DaemonWorkerFastPath = "DaemonWorkerFastPath", | |
| BridgeFastPath = "BridgeFastPath", | |
| DaemonFastPath = "DaemonFastPath", | |
| BackgroundSessionFastPath = "BackgroundSessionFastPath", | |
| TemplateFastPath = "TemplateFastPath", | |
| EnvironmentRunnerFastPath = "EnvironmentRunnerFastPath", | |
| MainRuntime = "MainRuntime", | |
| } | |
| // βββ BootstrapPlan ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| export class BootstrapPlan { | |
| private _phases: BootstrapPhase[]; | |
| private constructor(phases: BootstrapPhase[]) { | |
| this._phases = phases; | |
| } | |
| /** | |
| * Matches original BootstrapPlan::claw_default() β the standard 12-phase | |
| * bootstrap sequence used by the claw CLI. | |
| */ | |
| static clawDefault(): BootstrapPlan { | |
| return BootstrapPlan.fromPhases([ | |
| BootstrapPhase.CliEntry, | |
| BootstrapPhase.FastPathVersion, | |
| BootstrapPhase.StartupProfiler, | |
| BootstrapPhase.SystemPromptFastPath, | |
| BootstrapPhase.ChromeMcpFastPath, | |
| BootstrapPhase.DaemonWorkerFastPath, | |
| BootstrapPhase.BridgeFastPath, | |
| BootstrapPhase.DaemonFastPath, | |
| BootstrapPhase.BackgroundSessionFastPath, | |
| BootstrapPhase.TemplateFastPath, | |
| BootstrapPhase.EnvironmentRunnerFastPath, | |
| BootstrapPhase.MainRuntime, | |
| ]); | |
| } | |
| /** | |
| * Matches original BootstrapPlan::from_phases() β deduplicates phases | |
| * while preserving order. | |
| */ | |
| static fromPhases(phases: BootstrapPhase[]): BootstrapPlan { | |
| const deduped: BootstrapPhase[] = []; | |
| for (const phase of phases) { | |
| if (!deduped.includes(phase)) { | |
| deduped.push(phase); | |
| } | |
| } | |
| return new BootstrapPlan(deduped); | |
| } | |
| phases(): BootstrapPhase[] { | |
| return [...this._phases]; | |
| } | |
| } | |