sublayer 0.2.4 → 0.2.6

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.
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 +4 -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.6
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-30 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