aia 0.5.14 → 0.5.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/.semver +1 -1
  3. data/CHANGELOG.md +4 -0
  4. data/README.md +5 -4
  5. data/lib/aia/main.rb +19 -10
  6. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a4bc8019b9ad41da7d884ad4d86b3489afd2487b8ce7be78dd10ca8e963f454
4
- data.tar.gz: d374c91f50ea29bb1dd0d9fab5c924ab7741676c45cf75de6999f3f965c1d8a1
3
+ metadata.gz: 2d027907d70cb497a761f25ad65c2e9429f312cc9694466bf9a8db612a1ead0a
4
+ data.tar.gz: b76efb7bd589a685e9380d969db85f3df88c36fe888fd03e44819d26e339a353
5
5
  SHA512:
6
- metadata.gz: 4a2a194377c2b871a13e951a423bd1cede4b06be631ba0a3986cd8b3bddb80bb3cdd0c831207df08da7cabbdcb697d290bef6c083c54054d550c942909dbdd16
7
- data.tar.gz: 79921b2f9899a2a86a86a18ae4cf2d9fe988a94e2bb70ae4dcd1998c3f721661b9a4587f4585219666b2d942d6ef500015fe9f4cfd60cae3982cb143b62bc366
6
+ metadata.gz: b83635891018c810bf7c794a66bb7c0842e28d9152ceb444f5105468928b419575ce7f3f88e70528ef8dc87b46ab2246525e43726f9480a2f2ce8be00a850270
7
+ data.tar.gz: 979137d859737b3dec4f264d1e6c6611131b5fbbcb4682ec1dd5843a69c147754b0937414f9c891cc1e8b0a09d95129af83ba1432bc9b01e8465ff7562245ca9
data/.semver CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 5
4
- :patch: 14
4
+ :patch: 15
5
5
  :special: ''
6
6
  :metadata: ''
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.15] 2024-03-30
4
+ - Added the ability to accept piped in text to be appeded to the end of the prompt text: curl $URL | aia ad_hoc
5
+ - Fixed bugs with entering directives as follow-up prompts during a chat session
6
+
3
7
  ## [0.5.14] 2024-03-09
4
8
  - Directly access OpenAI to do text to speech when using the `--speak` option
5
9
  - Added --voice to specify which voice to use
data/README.md CHANGED
@@ -6,15 +6,16 @@ It leverages the `prompt_manager` gem to manage prompts for the `mods` and `sgpt
6
6
 
7
7
  **Most Recent Change**: Refer to the [Changelog](CHANGELOG.md)
8
8
 
9
+ > v0.5.15
10
+ > - Support piped content by appending to end of prompt text
11
+ > - fixed bugs with directives entered as follow-up while in chat mode
12
+ >
9
13
  > v0.5.14
10
14
  > - Directly access OpenAI to do text to speech when using the `--speak` option
11
15
  > - Added --voice to specify which voice to use
12
16
  > - Added --speech_model to specify which TTS model to use
13
17
  >
14
- > v0.5.13
15
- > - Added an initial integration for CLI-tool `llm` as a backend processor
16
- > Its primary feature is its **ability to use local LLMs and APIs to keep all processing within your local workstation.**
17
- >
18
+
18
19
 
19
20
  <!-- Tocer[start]: Auto-generated, don't remove. -->
20
21
 
data/lib/aia/main.rb CHANGED
@@ -20,11 +20,16 @@ class AIA::Main
20
20
  include AIA::DynamicContent
21
21
  include AIA::UserQuery
22
22
 
23
- attr_accessor :logger, :tools, :backend, :directive_output
23
+ attr_accessor :logger, :tools, :backend, :directive_output, :piped_content
24
24
 
25
25
  attr_reader :spinner
26
26
 
27
27
  def initialize(args= ARGV)
28
+ unless $stdin.tty?
29
+ @piped_content = $stdin.readlines.join.chomp
30
+ $stdin.reopen("/dev/tty")
31
+ end
32
+
28
33
  @directive_output = ""
29
34
  AIA::Tools.load_tools
30
35
 
@@ -48,6 +53,8 @@ class AIA::Main
48
53
 
49
54
  @prompt = AIA::Prompt.new.prompt
50
55
 
56
+ @prompt.text += piped_content unless piped_content.nil?
57
+
51
58
  # TODO: still should verify that the tools are ion the $PATH
52
59
  # tools.class.verify_tools
53
60
  end
@@ -63,7 +70,7 @@ class AIA::Main
63
70
  # This will be recursive with the new options
64
71
  # --next and --pipeline
65
72
  def call
66
- directive_output = @directives_processor.execute_my_directives
73
+ @directive_output = @directives_processor.execute_my_directives
67
74
 
68
75
  if AIA.config.chat?
69
76
  AIA.config.out_file = STDOUT
@@ -95,7 +102,7 @@ class AIA::Main
95
102
 
96
103
  the_prompt = @prompt.to_s
97
104
 
98
- the_prompt.prepend(directive_output + "\n") unless directive_output.nil? || directive_output.empty?
105
+ the_prompt.prepend(@directive_output + "\n") unless @directive_output.nil? || @directive_output.empty?
99
106
 
100
107
  if AIA.config.terse?
101
108
  the_prompt.prepend "Be terse in your response. "
@@ -191,9 +198,10 @@ class AIA::Main
191
198
  directive = parts.shift
192
199
  parameters = parts.join(' ')
193
200
  AIA.config.directives << [directive, parameters]
194
- directive_output = @directives_processor.execute_my_directives
201
+
202
+ @directive_output = @directives_processor.execute_my_directives
195
203
  else
196
- directive_output = ""
204
+ @directive_output = ""
197
205
  end
198
206
 
199
207
  result
@@ -210,18 +218,19 @@ class AIA::Main
210
218
  the_prompt_text = render_env(the_prompt_text) if AIA.config.shell?
211
219
 
212
220
  if handle_directives(the_prompt_text)
213
- unless directive_output.nil?
214
- the_prompt_text = insert_terse_phrase(the_prompt_text)
215
- the_prompt_text << directive_output
221
+ if @directive_output.nil? || @directive_output.empty?
222
+ # Do nothing
223
+ else
224
+ the_prompt_text = @directive_output
225
+ the_prompt_text = render_erb(the_prompt_text) if AIA.config.erb?
226
+ the_prompt_text = render_env(the_prompt_text) if AIA.config.shell?
216
227
  result = get_and_display_result(the_prompt_text)
217
-
218
228
  log_the_follow_up(the_prompt_text, result)
219
229
  AIA.speak result
220
230
  end
221
231
  else
222
232
  the_prompt_text = insert_terse_phrase(the_prompt_text)
223
233
  result = get_and_display_result(the_prompt_text)
224
-
225
234
  log_the_follow_up(the_prompt_text, result)
226
235
  AIA.speak result
227
236
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.14
4
+ version: 0.5.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dewayne VanHoozer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-09 00:00:00.000000000 Z
11
+ date: 2024-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie
@@ -316,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
316
  - !ruby/object:Gem::Version
317
317
  version: '0'
318
318
  requirements: []
319
- rubygems_version: 3.5.6
319
+ rubygems_version: 3.5.7
320
320
  signing_key:
321
321
  specification_version: 4
322
322
  summary: AI Assistant (aia) a command-line (CLI) utility