package cmd import ( "fmt" "github.com/browseros-ai/BrowserOS/packages/browseros/tools/bdev/internal/repo" "github.com/browseros-ai/BrowserOS/packages/browseros/tools/bdev/internal/workspace" "github.com/spf13/cobra" ) func repoInfo() (*repo.Info, error) { return appState.RepoInfo() } func resolveWorkspace(positional []string, src string) (workspace.Entry, error) { name := "" if len(positional) > 0 { name = positional[0] } return appState.ResolveWorkspace(name, src) } func splitWorkspaceAndFilters(cmd *cobra.Command, args []string) ([]string, []string) { atDash := cmd.ArgsLenAtDash() if atDash == -1 { return args, nil } return args[:atDash], args[atDash:] } func ensureRepoConfigured(override string) error { if override == "" && appState.Config.PatchesRepo != "" { return nil } root := override if root == "" { discovered, err := repo.Discover(appState.CWD) if err != nil { return fmt.Errorf(`unable to discover patches repo; pass --patches-repo or run from packages/browseros`) } root = discovered } info, err := repo.Load(root) if err != nil { return err } appState.Config.PatchesRepo = info.Root return nil }