legion-tty 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +1 -1
- data/lib/legion/tty/app.rb +26 -6
- data/lib/legion/tty/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65caf994766a2f1031423310b3ccb27998e8132e4d15973f2cf0e0e5b10fa60a
|
|
4
|
+
data.tar.gz: d3029f10a4a8cc27f930961dffc67f7314ec3e2d326ae7aac15f6266ff598d99
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 89d35f0381e976760f62c11bb6f4101546a409b311571b816c2b44c4b12382fe07964041325ac405fa8863b3701635e172f63e5d8a4e4c98518fd3e445e90ef2
|
|
7
|
+
data.tar.gz: 3dda102b9d1262ee74355120f8d682e198f06af5f820ad074c896ba598e53e10f54bd3825f66018e0485cbf5094ce01db4eb55c5249ab35c3b4627789d877fbd
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Rich terminal UI for the LegionIO async cognition engine.
|
|
4
4
|
|
|
5
|
-
**Version**: 0.2.
|
|
5
|
+
**Version**: 0.2.9
|
|
6
6
|
|
|
7
7
|
Think Claude Code meets Codex CLI, but for LegionIO: onboarding wizard with identity detection, streaming AI chat shell, operational dashboard, and session persistence - all rendered with the [tty-ruby](https://ttytoolkit.org/) gem ecosystem.
|
|
8
8
|
|
data/lib/legion/tty/app.rb
CHANGED
|
@@ -93,12 +93,7 @@ module Legion
|
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
def setup_llm
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
provider = @credentials[:provider].to_sym
|
|
99
|
-
api_key = @credentials[:api_key]
|
|
100
|
-
configure_llm_provider(provider, api_key)
|
|
101
|
-
@llm_chat = create_llm_chat(provider)
|
|
96
|
+
@llm_chat = try_settings_llm || try_credentials_llm
|
|
102
97
|
rescue StandardError
|
|
103
98
|
@llm_chat = nil
|
|
104
99
|
end
|
|
@@ -145,6 +140,31 @@ module Legion
|
|
|
145
140
|
|
|
146
141
|
private
|
|
147
142
|
|
|
143
|
+
def try_settings_llm
|
|
144
|
+
require 'legion/llm'
|
|
145
|
+
require 'legion/settings'
|
|
146
|
+
Legion::LLM.start unless Legion::LLM.started?
|
|
147
|
+
return nil unless Legion::LLM.started?
|
|
148
|
+
|
|
149
|
+
provider = Legion::LLM.settings[:default_provider]
|
|
150
|
+
return nil unless provider
|
|
151
|
+
|
|
152
|
+
Legion::LLM.chat(provider: provider)
|
|
153
|
+
rescue LoadError, StandardError
|
|
154
|
+
nil
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def try_credentials_llm
|
|
158
|
+
return nil unless @credentials[:provider] && @credentials[:api_key]
|
|
159
|
+
|
|
160
|
+
provider = @credentials[:provider].to_sym
|
|
161
|
+
api_key = @credentials[:api_key]
|
|
162
|
+
configure_llm_provider(provider, api_key)
|
|
163
|
+
create_llm_chat(provider)
|
|
164
|
+
rescue StandardError
|
|
165
|
+
nil
|
|
166
|
+
end
|
|
167
|
+
|
|
148
168
|
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
|
149
169
|
def save_identity(data)
|
|
150
170
|
identity = {
|
data/lib/legion/tty/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: legion-tty
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esity
|
|
@@ -243,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
243
243
|
- !ruby/object:Gem::Version
|
|
244
244
|
version: '0'
|
|
245
245
|
requirements: []
|
|
246
|
-
rubygems_version:
|
|
246
|
+
rubygems_version: 4.0.8
|
|
247
247
|
specification_version: 4
|
|
248
248
|
summary: Interactive terminal UI for the LegionIO framework
|
|
249
249
|
test_files: []
|