| 300 | for i := range splashCode { |
| 301 | lines = append(lines, " "+styleDim.Render(splashCode[i])+styleHamr.Render(splashHamr[i])) |
| 302 | } |
| 303 | lines = append(lines, |
| 304 | "", styleDim.Render(" It's hamr time!"), |
| 305 | "", styleDim.Render(fmt.Sprintf(" codehamr %s · %s @ %s", |
| 306 | m.Version, m.cfg.ActiveProfile().LLM, m.cfg.Active)), |
| 307 | "", |
| 308 | styleDim.Render(" AI systems can make mistakes. Codehamr executes their commands with full shell and filesystem access."), |
| 309 | styleDim.Render(" Run inside a devcontainer or VM where it cannot cause damage outside the sandbox."), |
| 310 | "", |
| 311 | ) |
| 312 | if noPosixShell { |
| 313 | lines = append(lines, styleError.Render(posixShellWarning), "") |
| 314 | } |
| 315 | return lines |
| 316 | } |
| 317 | lines := []string{ |
| 318 | "", |
| 319 | styleHamr.Render(" codehamr"), |
| 320 | styleDim.Render(fmt.Sprintf(" %s · %s @ %s", |
| 321 | m.Version, m.cfg.ActiveProfile().LLM, m.cfg.Active)), |
| 322 | "", |
| 323 | styleDim.Render(" Sandboxed AI shell - run in a devcontainer or VM."), |
| 324 | "", |
| 325 | } |
| 326 | if noPosixShell { |
| 327 | lines = append(lines, styleError.Render(posixShellWarning), "") |
| 328 | } |
| 329 | return lines |
| 330 | } |
| 331 | |