sublayer 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sublayer +1 -1
  3. data/lib/sublayer/cli/commands/action.rb +65 -0
  4. data/lib/sublayer/cli/commands/agent.rb +79 -0
  5. data/lib/sublayer/cli/commands/generator.rb +68 -0
  6. data/lib/sublayer/cli/commands/generators/example_action_api_call.rb +23 -0
  7. data/lib/sublayer/cli/commands/generators/example_action_file_manipulation.rb +12 -0
  8. data/lib/sublayer/cli/commands/generators/example_agent.rb +33 -0
  9. data/lib/sublayer/cli/commands/generators/example_generator.rb +26 -0
  10. data/lib/sublayer/cli/commands/generators/sublayer_action_generator.rb +55 -0
  11. data/lib/sublayer/cli/commands/generators/sublayer_agent_generator.rb +61 -0
  12. data/lib/sublayer/cli/commands/generators/sublayer_generator_generator.rb +96 -0
  13. data/lib/sublayer/cli/commands/new_project.rb +116 -0
  14. data/lib/sublayer/cli/commands/subcommand_base.rb +13 -0
  15. data/lib/sublayer/{templates/cli/PROJECT_NAME.gemspec → cli/templates/cli/%project_name%.gemspec.tt} +7 -7
  16. data/lib/sublayer/{templates/cli/README.md → cli/templates/cli/README.md.tt} +2 -2
  17. data/lib/sublayer/cli/templates/cli/bin/%project_name%.tt +5 -0
  18. data/lib/sublayer/{templates/cli/lib/PROJECT_NAME/actions/example_action.rb → cli/templates/cli/lib/%project_name%/actions/example_action.rb.tt} +1 -1
  19. data/lib/sublayer/{templates/cli/lib/PROJECT_NAME/agents/example_agent.rb → cli/templates/cli/lib/%project_name%/agents/example_agent.rb.tt} +1 -1
  20. data/lib/sublayer/cli/templates/cli/lib/%project_name%/cli.rb.tt +13 -0
  21. data/lib/sublayer/{templates/cli/lib/PROJECT_NAME/commands/base_command.rb → cli/templates/cli/lib/%project_name%/commands/base_command.rb.tt} +1 -1
  22. data/lib/sublayer/{templates/cli/lib/PROJECT_NAME/commands/example_command.rb → cli/templates/cli/lib/%project_name%/commands/example_command.rb.tt} +2 -2
  23. data/lib/sublayer/{templates/cli/lib/PROJECT_NAME/config.rb → cli/templates/cli/lib/%project_name%/config.rb.tt} +1 -1
  24. data/lib/sublayer/{templates/cli/lib/PROJECT_NAME/generators/example_generator.rb → cli/templates/cli/lib/%project_name%/generators/example_generator.rb.tt} +1 -1
  25. data/lib/sublayer/{templates/cli/lib/PROJECT_NAME/version.rb → cli/templates/cli/lib/%project_name%/version.rb.tt} +1 -1
  26. data/lib/sublayer/cli/templates/cli/lib/%project_name%.rb.tt +21 -0
  27. data/lib/sublayer/{templates/quick_script/project_name.rb → cli/templates/quick_script/%project_name%.rb} +2 -2
  28. data/lib/sublayer/{templates/quick_script/README.md → cli/templates/quick_script/README.md.tt} +3 -3
  29. data/lib/sublayer/cli.rb +46 -178
  30. data/lib/sublayer/components/output_adapters/single_integer.rb +25 -0
  31. data/lib/sublayer/providers/gemini.rb +10 -22
  32. data/lib/sublayer/version.rb +1 -1
  33. data/lib/sublayer.rb +0 -1
  34. data/sublayer.gemspec +0 -7
  35. metadata +36 -121
  36. data/lib/sublayer/templates/cli/bin/PROJECT_NAME +0 -5
  37. data/lib/sublayer/templates/cli/lib/PROJECT_NAME/cli.rb +0 -13
  38. data/lib/sublayer/templates/cli/lib/project_name.rb +0 -21
  39. /data/lib/sublayer/{templates → cli/templates}/cli/.gitignore +0 -0
  40. /data/lib/sublayer/{templates → cli/templates}/cli/Gemfile +0 -0
  41. /data/lib/sublayer/{templates/cli/lib/PROJECT_NAME → cli/templates/cli/lib/%project_name%}/config/.keep +0 -0
  42. /data/lib/sublayer/{templates → cli/templates}/cli/spec/.keep +0 -0
  43. /data/lib/sublayer/{templates → cli/templates}/quick_script/actions/example_action.rb +0 -0
  44. /data/lib/sublayer/{templates → cli/templates}/quick_script/agents/example_agent.rb +0 -0
  45. /data/lib/sublayer/{templates → cli/templates}/quick_script/generators/example_generator.rb +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sublayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Werner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-19 00:00:00.000000000 Z
11
+ date: 2024-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-openai
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: colorize
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: activesupport
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +52,6 @@ dependencies:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: nokogiri
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 1.16.5
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 1.16.5
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: httparty
85
57
  requirement: !ruby/object:Gem::Requirement
@@ -108,62 +80,6 @@ dependencies:
108
80
  - - ">="
109
81
  - !ruby/object:Gem::Version
110
82
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: tty-prompt
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.23'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '0.23'
125
- - !ruby/object:Gem::Dependency
126
- name: tty-progressbar
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0.18'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '0.18'
139
- - !ruby/object:Gem::Dependency
140
- name: tty-command
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '0.10'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '0.10'
153
- - !ruby/object:Gem::Dependency
154
- name: tty-file
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '0.10'
160
- type: :runtime
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '0.10'
167
83
  - !ruby/object:Gem::Dependency
168
84
  name: thor
169
85
  requirement: !ruby/object:Gem::Requirement
@@ -234,20 +150,6 @@ dependencies:
234
150
  - - "~>"
235
151
  - !ruby/object:Gem::Version
236
152
  version: '3'
237
- - !ruby/object:Gem::Dependency
238
- name: clag
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
153
  description: A DSL and framework for building AI powered applications through the
252
154
  use of Generators, Actions, Tasks, and Agents
253
155
  email:
@@ -265,11 +167,45 @@ files:
265
167
  - lib/sublayer/actions/base.rb
266
168
  - lib/sublayer/agents/base.rb
267
169
  - lib/sublayer/cli.rb
170
+ - lib/sublayer/cli/commands/action.rb
171
+ - lib/sublayer/cli/commands/agent.rb
172
+ - lib/sublayer/cli/commands/generator.rb
173
+ - lib/sublayer/cli/commands/generators/example_action_api_call.rb
174
+ - lib/sublayer/cli/commands/generators/example_action_file_manipulation.rb
175
+ - lib/sublayer/cli/commands/generators/example_agent.rb
176
+ - lib/sublayer/cli/commands/generators/example_generator.rb
177
+ - lib/sublayer/cli/commands/generators/sublayer_action_generator.rb
178
+ - lib/sublayer/cli/commands/generators/sublayer_agent_generator.rb
179
+ - lib/sublayer/cli/commands/generators/sublayer_generator_generator.rb
180
+ - lib/sublayer/cli/commands/new_project.rb
181
+ - lib/sublayer/cli/commands/subcommand_base.rb
182
+ - lib/sublayer/cli/templates/cli/%project_name%.gemspec.tt
183
+ - lib/sublayer/cli/templates/cli/.gitignore
184
+ - lib/sublayer/cli/templates/cli/Gemfile
185
+ - lib/sublayer/cli/templates/cli/README.md.tt
186
+ - lib/sublayer/cli/templates/cli/bin/%project_name%.tt
187
+ - lib/sublayer/cli/templates/cli/lib/%project_name%.rb.tt
188
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/actions/example_action.rb.tt
189
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/agents/example_agent.rb.tt
190
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/cli.rb.tt
191
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/commands/base_command.rb.tt
192
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/commands/example_command.rb.tt
193
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/config.rb.tt
194
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/config/.keep
195
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/generators/example_generator.rb.tt
196
+ - lib/sublayer/cli/templates/cli/lib/%project_name%/version.rb.tt
197
+ - lib/sublayer/cli/templates/cli/spec/.keep
198
+ - lib/sublayer/cli/templates/quick_script/%project_name%.rb
199
+ - lib/sublayer/cli/templates/quick_script/README.md.tt
200
+ - lib/sublayer/cli/templates/quick_script/actions/example_action.rb
201
+ - lib/sublayer/cli/templates/quick_script/agents/example_agent.rb
202
+ - lib/sublayer/cli/templates/quick_script/generators/example_generator.rb
268
203
  - lib/sublayer/components/output_adapters.rb
269
204
  - lib/sublayer/components/output_adapters/formattable.rb
270
205
  - lib/sublayer/components/output_adapters/list_of_named_strings.rb
271
206
  - lib/sublayer/components/output_adapters/list_of_strings.rb
272
207
  - lib/sublayer/components/output_adapters/named_strings.rb
208
+ - lib/sublayer/components/output_adapters/single_integer.rb
273
209
  - lib/sublayer/components/output_adapters/single_string.rb
274
210
  - lib/sublayer/components/output_adapters/string_selection_from_list.rb
275
211
  - lib/sublayer/generators/base.rb
@@ -281,27 +217,6 @@ files:
281
217
  - lib/sublayer/providers/gemini.rb
282
218
  - lib/sublayer/providers/open_ai.rb
283
219
  - lib/sublayer/tasks/base.rb
284
- - lib/sublayer/templates/cli/.gitignore
285
- - lib/sublayer/templates/cli/Gemfile
286
- - lib/sublayer/templates/cli/PROJECT_NAME.gemspec
287
- - lib/sublayer/templates/cli/README.md
288
- - lib/sublayer/templates/cli/bin/PROJECT_NAME
289
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/actions/example_action.rb
290
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/agents/example_agent.rb
291
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/cli.rb
292
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/commands/base_command.rb
293
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/commands/example_command.rb
294
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/config.rb
295
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/config/.keep
296
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/generators/example_generator.rb
297
- - lib/sublayer/templates/cli/lib/PROJECT_NAME/version.rb
298
- - lib/sublayer/templates/cli/lib/project_name.rb
299
- - lib/sublayer/templates/cli/spec/.keep
300
- - lib/sublayer/templates/quick_script/README.md
301
- - lib/sublayer/templates/quick_script/actions/example_action.rb
302
- - lib/sublayer/templates/quick_script/agents/example_agent.rb
303
- - lib/sublayer/templates/quick_script/generators/example_generator.rb
304
- - lib/sublayer/templates/quick_script/project_name.rb
305
220
  - lib/sublayer/triggers/base.rb
306
221
  - lib/sublayer/triggers/file_change.rb
307
222
  - lib/sublayer/version.rb
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require_relative "../lib/project_name"
4
-
5
- ProjectName::CLI.start(ARGV)
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ProjectName
4
- class CLI < Thor
5
- ProjectName::Commands.constants.reject{ |command_class| command_class == :BaseCommand }.each do |command_class|
6
- command = ProjectName::Commands.const_get(command_class)
7
- desc command.command_name, command.description
8
- define_method(command.command_name) do |*args|
9
- command.new(options).execute(*args)
10
- end
11
- end
12
- end
13
- end
@@ -1,21 +0,0 @@
1
- require "yaml"
2
- require "thor"
3
- require "sublayer"
4
- require_relative "PROJECT_NAME/version"
5
- require_relative "PROJECT_NAME/config"
6
-
7
- Dir[File.join(__dir__, "PROJECT_NAME", "commands", "*.rb")].each { |file| require file }
8
- Dir[File.join(__dir__, "PROJECT_NAME", "generators", "*.rb")].each { |file| require file }
9
- Dir[File.join(__dir__, "PROJECT_NAME", "actions", "*.rb")].each { |file| require file }
10
- Dir[File.join(__dir__, "PROJECT_NAME", "agents", "*.rb")].each { |file| require file }
11
-
12
- require_relative "PROJECT_NAME/cli"
13
-
14
- module ProjectName
15
- class Error < StandardError; end
16
- Config.load
17
-
18
- def self.root
19
- File.dirname __dir__
20
- end
21
- end