| 157 | |
| 158 | /** Where on disk the `zen` shim is currently installed (or could be). */ |
| 159 | export interface CliInstallStatus { |
| 160 | /** True if the wrapper script is shipped with this build. False in |
| 161 | * dev runs where electron-vite has not bundled the CLI yet. */ |
| 162 | available: boolean |
| 163 | /** Reason the wrapper is unavailable, if available is false. */ |
| 164 | reason: string | null |
| 165 | /** Where the next install would land. Picked dynamically from the |
| 166 | * user's PATH preferring user-writable locations like ~/.local/bin |
| 167 | * so installs don't need a sudo prompt. */ |
| 168 | defaultTarget: string |
| 169 | /** True when defaultTarget is not user-writable and we'd need to |
| 170 | * invoke osascript / pkexec to symlink there. */ |
| 171 | requiresSudo: boolean |
| 172 | /** Whether the directory containing defaultTarget is on the user's |
| 173 | * $PATH. False means we'd install but the binary wouldn't be |
| 174 | * callable until the user updates their shell config. */ |
| 175 | targetOnPath: boolean |
| 176 | /** Shell override the user can paste into ~/.zshrc / ~/.bashrc to |
| 177 | * put the chosen directory on PATH. Null when targetOnPath is true |
| 178 | * or when nothing helpful applies. */ |
| 179 | pathHint: string | null |
| 180 | /** Absolute path of an existing install if found. Null when none. */ |
| 181 | installedAt: string | null |
| 182 | /** True when an install exists AND points at the wrapper for this |
| 183 | * build. False when something else owns the symlink. */ |
| 184 | installedByThisApp: boolean |
| 185 | /** Whether this platform supports installing the CLI from Settings. |
| 186 | * False on Windows for now (different install model). */ |
| 187 | supportedPlatform: boolean |
| 188 | } |
| 189 | |
| 190 | export interface RaycastExtensionStatus { |
| 191 | /** True when this build can attempt a local Raycast extension install. */ |
nothing calls this directly
no outgoing calls
no test coverage detected