Module: Harnex::Adapters
- Defined in:
- lib/harnex/adapters.rb,
lib/harnex/adapters/base.rb,
lib/harnex/adapters/codex.rb,
lib/harnex/adapters/claude.rb,
lib/harnex/adapters/generic.rb,
lib/harnex/adapters/opencode.rb,
lib/harnex/adapters/codex_appserver.rb
Defined Under Namespace
Classes: Base, Claude, Codex, CodexAppServer, Generic, Opencode
Class Method Summary
collapse
Class Method Details
.build(key, extra_args = [], legacy_pty: false) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/harnex/adapters.rb', line 28
def build(key, = [], legacy_pty: false)
key_str = key.to_s
if key_str == "codex"
return legacy_pty ? Codex.new() : CodexAppServer.new()
end
adapter_class = registry[key_str]
return adapter_class.new() if adapter_class
Generic.new(key_str, )
end
|
.codex_appserver_enabled? ⇒ Boolean
Phase 3 flipped the default — ‘codex` resolves to CodexAppServer. Legacy PTY adapter is reachable via `legacy_pty: true` (driven by `harnex run codex –legacy-pty`); kept as a long-term supported fallback for interactive/TUI use cases.
24
25
26
|
# File 'lib/harnex/adapters.rb', line 24
def codex_appserver_enabled?
true
end
|
.known ⇒ Object
12
13
14
|
# File 'lib/harnex/adapters.rb', line 12
def known
registry.keys.sort
end
|
.registry ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/harnex/adapters.rb', line 40
def registry
@registry ||= {
"claude" => Claude,
"codex" => Codex,
"opencode" => Opencode
}
end
|
.supported?(key) ⇒ Boolean
16
17
18
|
# File 'lib/harnex/adapters.rb', line 16
def supported?(key)
!key.to_s.strip.empty?
end
|