Class: Ace::Llm::Providers::Cli::Atoms::AuthChecker
- Inherits:
-
Object
- Object
- Ace::Llm::Providers::Cli::Atoms::AuthChecker
- Defined in:
- lib/ace/llm/providers/cli/atoms/auth_checker.rb
Overview
Checks authentication status for CLI-based LLM providers
Class Method Summary collapse
-
.check(provider) ⇒ Hash
Check authentication for a specific provider.
- .check_claude ⇒ Object
- .check_codex ⇒ Object
- .check_codexoss ⇒ Object
- .check_opencode ⇒ Object
Class Method Details
.check(provider) ⇒ Hash
Check authentication for a specific provider
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ace/llm/providers/cli/atoms/auth_checker.rb', line 15 def self.check(provider) case provider when "claude" then check_claude when "codex" then check_codex when "opencode" then check_opencode when "codexoss" then check_codexoss else {authenticated: false, message: "Unknown provider: #{provider}"} end end |
.check_claude ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ace/llm/providers/cli/atoms/auth_checker.rb', line 26 def self.check_claude stdout, _, status = Open3.capture3("claude", "--version") if status.success? && (stdout.include?("Claude") || stdout.include?("claude")) {authenticated: true, message: "Authenticated"} else {authenticated: false, message: "Run: claude setup-token"} end rescue Errno::ENOENT, Errno::EACCES {authenticated: false, message: "Authentication check failed"} end |
.check_codex ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/ace/llm/providers/cli/atoms/auth_checker.rb', line 37 def self.check_codex _, _, status = Open3.capture3("codex", "--help") if status.success? {authenticated: true, message: "Authenticated"} else {authenticated: false, message: "Run: codex login"} end rescue Errno::ENOENT, Errno::EACCES {authenticated: false, message: "Authentication check failed"} end |
.check_codexoss ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/ace/llm/providers/cli/atoms/auth_checker.rb', line 59 def self.check_codexoss stdout, _, status = Open3.capture3("codex-oss", "--version") if status.success? && stdout.include?("codex") {authenticated: true, message: "Configured"} else {authenticated: false, message: "Run: codex-oss init"} end rescue Errno::ENOENT, Errno::EACCES {authenticated: false, message: "Configuration check failed"} end |
.check_opencode ⇒ Object
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/ace/llm/providers/cli/atoms/auth_checker.rb', line 48 def self.check_opencode _, _, status = Open3.capture3("opencode", "--version") if status.success? {authenticated: true, message: "Authenticated"} else {authenticated: false, message: "Run: opencode auth"} end rescue Errno::ENOENT, Errno::EACCES {authenticated: false, message: "Authentication check failed"} end |