ruboty-ai_agent 0.1.0
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 +7 -0
- data/.gitignore +19 -0
- data/.rspec +3 -0
- data/.rubocop.yml +45 -0
- data/AGENTS.md +22 -0
- data/CHANGELOG.md +3 -0
- data/CLAUDE.md +1 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +14 -0
- data/README.md +118 -0
- data/Rakefile +47 -0
- data/Steepfile +12 -0
- data/bin/console +15 -0
- data/bin/ruboty +34 -0
- data/bin/setup +8 -0
- data/lib/ruboty/ai_agent/actions/add_ai_command.rb +22 -0
- data/lib/ruboty/ai_agent/actions/add_ai_memory.rb +20 -0
- data/lib/ruboty/ai_agent/actions/add_mcp.rb +94 -0
- data/lib/ruboty/ai_agent/actions/base.rb +43 -0
- data/lib/ruboty/ai_agent/actions/chat.rb +64 -0
- data/lib/ruboty/ai_agent/actions/list_ai_commands.rb +19 -0
- data/lib/ruboty/ai_agent/actions/list_ai_memories.rb +18 -0
- data/lib/ruboty/ai_agent/actions/list_mcp.rb +18 -0
- data/lib/ruboty/ai_agent/actions/remove_ai_command.rb +18 -0
- data/lib/ruboty/ai_agent/actions/remove_ai_memory.rb +25 -0
- data/lib/ruboty/ai_agent/actions/remove_mcp.rb +24 -0
- data/lib/ruboty/ai_agent/actions/set_system_prompt.rb +31 -0
- data/lib/ruboty/ai_agent/actions/show_system_prompt.rb +30 -0
- data/lib/ruboty/ai_agent/actions.rb +22 -0
- data/lib/ruboty/ai_agent/agent.rb +71 -0
- data/lib/ruboty/ai_agent/cached_value.rb +43 -0
- data/lib/ruboty/ai_agent/chat_message.rb +60 -0
- data/lib/ruboty/ai_agent/chat_thread.rb +31 -0
- data/lib/ruboty/ai_agent/chat_thread_associations.rb +34 -0
- data/lib/ruboty/ai_agent/chat_thread_messages.rb +17 -0
- data/lib/ruboty/ai_agent/commands/base.rb +39 -0
- data/lib/ruboty/ai_agent/commands/clear.rb +29 -0
- data/lib/ruboty/ai_agent/commands/compact.rb +80 -0
- data/lib/ruboty/ai_agent/commands/usage.rb +52 -0
- data/lib/ruboty/ai_agent/commands.rb +33 -0
- data/lib/ruboty/ai_agent/database/query_methods.rb +84 -0
- data/lib/ruboty/ai_agent/database.rb +40 -0
- data/lib/ruboty/ai_agent/global_settings.rb +33 -0
- data/lib/ruboty/ai_agent/http_mcp_client.rb +215 -0
- data/lib/ruboty/ai_agent/llm/openai/model.rb +29 -0
- data/lib/ruboty/ai_agent/llm/openai.rb +181 -0
- data/lib/ruboty/ai_agent/llm/response.rb +21 -0
- data/lib/ruboty/ai_agent/llm.rb +11 -0
- data/lib/ruboty/ai_agent/mcp_clients.rb +48 -0
- data/lib/ruboty/ai_agent/mcp_configuration.rb +31 -0
- data/lib/ruboty/ai_agent/record_set.rb +71 -0
- data/lib/ruboty/ai_agent/recordable.rb +116 -0
- data/lib/ruboty/ai_agent/token_usage.rb +45 -0
- data/lib/ruboty/ai_agent/tool.rb +29 -0
- data/lib/ruboty/ai_agent/user.rb +52 -0
- data/lib/ruboty/ai_agent/user_ai_memories.rb +17 -0
- data/lib/ruboty/ai_agent/user_associations.rb +34 -0
- data/lib/ruboty/ai_agent/user_mcp_caches.rb +90 -0
- data/lib/ruboty/ai_agent/user_mcp_client.rb +93 -0
- data/lib/ruboty/ai_agent/user_mcp_configurations.rb +15 -0
- data/lib/ruboty/ai_agent/user_mcp_tools_caches.rb +14 -0
- data/lib/ruboty/ai_agent/version.rb +7 -0
- data/lib/ruboty/ai_agent.rb +40 -0
- data/lib/ruboty/handlers/ai_agent.rb +84 -0
- data/rbs_collection.yaml +23 -0
- data/ruboty-ai_agent.gemspec +49 -0
- data/script/generate-concern-rbs.rb +351 -0
- data/script/generate-data-rbs.rb +250 -0
- data/script/generate-memorized-ivar-rbs.rb +292 -0
- data/sig/generated/ruboty/ai_agent/actions/add_ai_command.rbs +16 -0
- data/sig/generated/ruboty/ai_agent/actions/add_ai_memory.rbs +14 -0
- data/sig/generated/ruboty/ai_agent/actions/add_mcp.rbs +26 -0
- data/sig/generated/ruboty/ai_agent/actions/base.rbs +34 -0
- data/sig/generated/ruboty/ai_agent/actions/chat.rbs +17 -0
- data/sig/generated/ruboty/ai_agent/actions/list_ai_commands.rbs +13 -0
- data/sig/generated/ruboty/ai_agent/actions/list_ai_memories.rbs +12 -0
- data/sig/generated/ruboty/ai_agent/actions/list_mcp.rbs +12 -0
- data/sig/generated/ruboty/ai_agent/actions/remove_ai_command.rbs +14 -0
- data/sig/generated/ruboty/ai_agent/actions/remove_ai_memory.rbs +14 -0
- data/sig/generated/ruboty/ai_agent/actions/remove_mcp.rbs +14 -0
- data/sig/generated/ruboty/ai_agent/actions/set_system_prompt.rbs +16 -0
- data/sig/generated/ruboty/ai_agent/actions/show_system_prompt.rbs +12 -0
- data/sig/generated/ruboty/ai_agent/actions.rbs +9 -0
- data/sig/generated/ruboty/ai_agent/agent.rbs +29 -0
- data/sig/generated/ruboty/ai_agent/cached_value.rbs +28 -0
- data/sig/generated/ruboty/ai_agent/chat_message.rbs +34 -0
- data/sig/generated/ruboty/ai_agent/chat_thread.rbs +22 -0
- data/sig/generated/ruboty/ai_agent/chat_thread_associations.rbs +21 -0
- data/sig/generated/ruboty/ai_agent/chat_thread_messages.rbs +13 -0
- data/sig/generated/ruboty/ai_agent/commands/base.rbs +40 -0
- data/sig/generated/ruboty/ai_agent/commands/clear.rbs +20 -0
- data/sig/generated/ruboty/ai_agent/commands/compact.rbs +30 -0
- data/sig/generated/ruboty/ai_agent/commands/usage.rbs +26 -0
- data/sig/generated/ruboty/ai_agent/commands.rbs +13 -0
- data/sig/generated/ruboty/ai_agent/database/query_methods.rbs +39 -0
- data/sig/generated/ruboty/ai_agent/database.rbs +27 -0
- data/sig/generated/ruboty/ai_agent/global_settings.rbs +23 -0
- data/sig/generated/ruboty/ai_agent/http_mcp_client.rbs +62 -0
- data/sig/generated/ruboty/ai_agent/llm/openai/model.rbs +21 -0
- data/sig/generated/ruboty/ai_agent/llm/openai.rbs +54 -0
- data/sig/generated/ruboty/ai_agent/llm/response.rbs +29 -0
- data/sig/generated/ruboty/ai_agent/llm.rbs +9 -0
- data/sig/generated/ruboty/ai_agent/mcp_clients.rbs +24 -0
- data/sig/generated/ruboty/ai_agent/mcp_configuration.rbs +35 -0
- data/sig/generated/ruboty/ai_agent/record_set.rbs +42 -0
- data/sig/generated/ruboty/ai_agent/recordable.rbs +56 -0
- data/sig/generated/ruboty/ai_agent/token_usage.rbs +30 -0
- data/sig/generated/ruboty/ai_agent/tool.rbs +27 -0
- data/sig/generated/ruboty/ai_agent/user.rbs +35 -0
- data/sig/generated/ruboty/ai_agent/user_ai_memories.rbs +11 -0
- data/sig/generated/ruboty/ai_agent/user_associations.rbs +21 -0
- data/sig/generated/ruboty/ai_agent/user_mcp_caches.rbs +44 -0
- data/sig/generated/ruboty/ai_agent/user_mcp_client.rbs +58 -0
- data/sig/generated/ruboty/ai_agent/user_mcp_configurations.rbs +11 -0
- data/sig/generated/ruboty/ai_agent/user_mcp_tools_caches.rbs +11 -0
- data/sig/generated/ruboty/ai_agent/version.rbs +7 -0
- data/sig/generated/ruboty/ai_agent.rbs +9 -0
- data/sig/generated/ruboty/handlers/ai_agent.rbs +32 -0
- data/sig/generated-by-scripts/concerns.rbs +27 -0
- data/sig/generated-by-scripts/memorized_ivars.rbs +42 -0
- data/sig-lib/event_stream_parser/event_stream_parser.rbs +21 -0
- data/sig-lib/mem/mem.rbs +19 -0
- data/sig-lib/ruboty/ruboty.rbs +421 -0
- metadata +263 -0
@@ -0,0 +1,421 @@
|
|
1
|
+
module Ruboty
|
2
|
+
extend Mem
|
3
|
+
|
4
|
+
def self.actions: () -> untyped
|
5
|
+
|
6
|
+
def self.die: (untyped message) -> untyped
|
7
|
+
|
8
|
+
alias self.handlers self.handlers_with_memoize
|
9
|
+
|
10
|
+
def self.handlers=: (untyped value) -> untyped
|
11
|
+
|
12
|
+
def self.handlers_with_memoize: (*untyped args) { (*untyped) -> untyped } -> untyped
|
13
|
+
|
14
|
+
alias self.handlers_without_memoize self.handlers
|
15
|
+
|
16
|
+
def self.logger: () -> untyped
|
17
|
+
|
18
|
+
def self.unmemoize_handlers: () -> untyped
|
19
|
+
|
20
|
+
VERSION: ::String
|
21
|
+
|
22
|
+
class Action
|
23
|
+
def self.prefix_pattern: (untyped robot_name) -> untyped
|
24
|
+
|
25
|
+
def <=>: (untyped action) -> untyped
|
26
|
+
|
27
|
+
def all?: () -> untyped
|
28
|
+
|
29
|
+
def call: (untyped handler, untyped message, ?untyped options) -> untyped
|
30
|
+
|
31
|
+
def description: () -> untyped
|
32
|
+
|
33
|
+
def hidden?: () -> untyped
|
34
|
+
|
35
|
+
def missing?: () -> untyped
|
36
|
+
|
37
|
+
def name: () -> untyped
|
38
|
+
|
39
|
+
def options: () -> untyped
|
40
|
+
|
41
|
+
def pattern: () -> untyped
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def initialize: (untyped pattern, ?untyped options) -> void
|
46
|
+
|
47
|
+
def pattern_with: (untyped robot_name) -> untyped
|
48
|
+
end
|
49
|
+
|
50
|
+
module Actions
|
51
|
+
class Base
|
52
|
+
def message: () -> untyped
|
53
|
+
|
54
|
+
private
|
55
|
+
|
56
|
+
def initialize: (untyped message) -> void
|
57
|
+
end
|
58
|
+
|
59
|
+
class Help < ::Ruboty::Actions::Base
|
60
|
+
def call: () -> untyped
|
61
|
+
|
62
|
+
private
|
63
|
+
|
64
|
+
def all_descriptions: () -> untyped
|
65
|
+
|
66
|
+
def filtered_descriptions: () -> untyped
|
67
|
+
end
|
68
|
+
|
69
|
+
class Ping < ::Ruboty::Actions::Base
|
70
|
+
def call: () -> untyped
|
71
|
+
|
72
|
+
private
|
73
|
+
|
74
|
+
def ping: () -> untyped
|
75
|
+
|
76
|
+
def pong: () -> untyped
|
77
|
+
end
|
78
|
+
|
79
|
+
class Whoami < ::Ruboty::Actions::Base
|
80
|
+
def call: () -> untyped
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
class AdapterBuilder
|
85
|
+
def self.adapter_classes: () -> untyped
|
86
|
+
|
87
|
+
def build: () -> untyped
|
88
|
+
|
89
|
+
def robot: () -> untyped
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
def adapter_class: () -> untyped
|
94
|
+
|
95
|
+
def initialize: (untyped robot) -> void
|
96
|
+
end
|
97
|
+
|
98
|
+
module Adapters
|
99
|
+
class Base
|
100
|
+
include Ruboty::Env::Validatable
|
101
|
+
|
102
|
+
extend Ruboty::Env::Validatable::ClassMethods
|
103
|
+
|
104
|
+
def self.inherited: (untyped child_class) -> untyped
|
105
|
+
|
106
|
+
def robot: () -> untyped
|
107
|
+
|
108
|
+
private
|
109
|
+
|
110
|
+
def initialize: (untyped robot) -> void
|
111
|
+
end
|
112
|
+
|
113
|
+
class Shell < ::Ruboty::Adapters::Base
|
114
|
+
def run: () -> untyped
|
115
|
+
|
116
|
+
def say: (untyped message) -> untyped
|
117
|
+
|
118
|
+
def stopped: () -> untyped
|
119
|
+
|
120
|
+
def stopped=: (untyped) -> untyped
|
121
|
+
|
122
|
+
private
|
123
|
+
|
124
|
+
def explain: () -> untyped
|
125
|
+
|
126
|
+
def history_file: () -> untyped
|
127
|
+
|
128
|
+
def history_pathname: () -> untyped
|
129
|
+
|
130
|
+
def initialize: (*untyped args) -> void
|
131
|
+
|
132
|
+
def listen: () -> untyped
|
133
|
+
|
134
|
+
def read: () -> untyped
|
135
|
+
|
136
|
+
def remember: () -> untyped
|
137
|
+
|
138
|
+
def step: () -> untyped
|
139
|
+
|
140
|
+
def stop: () -> untyped
|
141
|
+
|
142
|
+
def stopped?: () -> untyped
|
143
|
+
|
144
|
+
PROMPT: ::String
|
145
|
+
|
146
|
+
SOURCE: ::String
|
147
|
+
|
148
|
+
USAGE: ::String
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
module Brains
|
153
|
+
class Base
|
154
|
+
include Ruboty::Env::Validatable
|
155
|
+
|
156
|
+
extend Ruboty::Env::Validatable::ClassMethods
|
157
|
+
|
158
|
+
def self.brain_classes: () -> untyped
|
159
|
+
|
160
|
+
def self.find_class: () -> untyped
|
161
|
+
|
162
|
+
def self.inherited: (untyped child) -> untyped
|
163
|
+
|
164
|
+
def data: () -> untyped
|
165
|
+
|
166
|
+
private
|
167
|
+
|
168
|
+
def initialize: () -> void
|
169
|
+
end
|
170
|
+
|
171
|
+
class Memory < ::Ruboty::Brains::Base
|
172
|
+
def data: () -> untyped
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
class CommandBuilder
|
177
|
+
include Mem
|
178
|
+
|
179
|
+
extend Mem::ClassMethods
|
180
|
+
|
181
|
+
def arguments: () -> untyped
|
182
|
+
|
183
|
+
def build: () -> untyped
|
184
|
+
|
185
|
+
private
|
186
|
+
|
187
|
+
def command_class: () -> untyped
|
188
|
+
|
189
|
+
def initialize: (?untyped arguments) -> void
|
190
|
+
|
191
|
+
alias options options_with_memoize
|
192
|
+
|
193
|
+
def options_with_memoize: (*untyped args) { (*untyped) -> untyped } -> untyped
|
194
|
+
|
195
|
+
alias options_without_memoize options
|
196
|
+
|
197
|
+
def unmemoize_options: () -> untyped
|
198
|
+
end
|
199
|
+
|
200
|
+
module Commands
|
201
|
+
class Base
|
202
|
+
def options: () -> untyped
|
203
|
+
|
204
|
+
private
|
205
|
+
|
206
|
+
def initialize: (untyped options) -> void
|
207
|
+
end
|
208
|
+
|
209
|
+
class Generate < ::Ruboty::Commands::Base
|
210
|
+
def call: () -> untyped
|
211
|
+
|
212
|
+
private
|
213
|
+
|
214
|
+
def copy: () -> untyped
|
215
|
+
|
216
|
+
def destination_path: () -> untyped
|
217
|
+
|
218
|
+
def die: () -> untyped
|
219
|
+
|
220
|
+
def templates_directory_path: () -> untyped
|
221
|
+
|
222
|
+
def valid?: () -> untyped
|
223
|
+
end
|
224
|
+
|
225
|
+
class Help < ::Ruboty::Commands::Base
|
226
|
+
def call: () -> untyped
|
227
|
+
end
|
228
|
+
|
229
|
+
class Run < ::Ruboty::Commands::Base
|
230
|
+
def call: () -> untyped
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
class Env
|
235
|
+
def description: () -> untyped
|
236
|
+
|
237
|
+
def key: () -> untyped
|
238
|
+
|
239
|
+
def options: () -> untyped
|
240
|
+
|
241
|
+
def to_usage: () -> untyped
|
242
|
+
|
243
|
+
def validate: () -> untyped
|
244
|
+
|
245
|
+
private
|
246
|
+
|
247
|
+
def error: () -> untyped
|
248
|
+
|
249
|
+
def initialize: (untyped key, untyped description, ?untyped options) -> void
|
250
|
+
|
251
|
+
def missing?: () -> untyped
|
252
|
+
|
253
|
+
def required?: () -> untyped
|
254
|
+
|
255
|
+
class MissingRequiredKeyError < ::StandardError
|
256
|
+
end
|
257
|
+
|
258
|
+
module Validatable
|
259
|
+
extend ActiveSupport::Concern
|
260
|
+
|
261
|
+
def validate: () -> untyped
|
262
|
+
|
263
|
+
def validate!: () -> untyped
|
264
|
+
|
265
|
+
module ClassMethods
|
266
|
+
def env: (untyped key, untyped description, ?untyped options) -> untyped
|
267
|
+
|
268
|
+
def envs: () -> untyped
|
269
|
+
|
270
|
+
def usage: () -> untyped
|
271
|
+
end
|
272
|
+
end
|
273
|
+
|
274
|
+
class ValidationError < ::StandardError
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
278
|
+
module Handlers
|
279
|
+
class Base
|
280
|
+
include Ruboty::Env::Validatable
|
281
|
+
|
282
|
+
extend Ruboty::Env::Validatable::ClassMethods
|
283
|
+
|
284
|
+
extend Mem
|
285
|
+
|
286
|
+
alias self.actions self.actions_with_memoize
|
287
|
+
|
288
|
+
def self.actions=: (untyped value) -> untyped
|
289
|
+
|
290
|
+
def self.actions_with_memoize: (*untyped args) { (*untyped) -> untyped } -> untyped
|
291
|
+
|
292
|
+
alias self.actions_without_memoize self.actions
|
293
|
+
|
294
|
+
def self.inherited: (untyped child) -> untyped
|
295
|
+
|
296
|
+
def self.on: (untyped pattern, ?untyped options) -> untyped
|
297
|
+
|
298
|
+
def self.unmemoize_actions: () -> untyped
|
299
|
+
|
300
|
+
def call: (untyped message, ?untyped options) -> untyped
|
301
|
+
|
302
|
+
def robot: () -> untyped
|
303
|
+
|
304
|
+
private
|
305
|
+
|
306
|
+
def initialize: (untyped robot) -> void
|
307
|
+
end
|
308
|
+
|
309
|
+
class Help < ::Ruboty::Handlers::Base
|
310
|
+
def help: (untyped message) -> untyped
|
311
|
+
end
|
312
|
+
|
313
|
+
class Ping < ::Ruboty::Handlers::Base
|
314
|
+
def ping: (untyped message) -> untyped
|
315
|
+
end
|
316
|
+
|
317
|
+
class Whoami < ::Ruboty::Handlers::Base
|
318
|
+
def whoami: (untyped message) -> untyped
|
319
|
+
end
|
320
|
+
end
|
321
|
+
|
322
|
+
class Message
|
323
|
+
def []: (untyped index) -> untyped
|
324
|
+
|
325
|
+
def body: () -> untyped
|
326
|
+
|
327
|
+
def from: () -> untyped
|
328
|
+
|
329
|
+
def from_name: () -> untyped
|
330
|
+
|
331
|
+
def match: (untyped pattern) -> untyped
|
332
|
+
|
333
|
+
def match_data: () -> untyped
|
334
|
+
|
335
|
+
def original: () -> untyped
|
336
|
+
|
337
|
+
def reply: (untyped body, ?untyped options) -> untyped
|
338
|
+
|
339
|
+
def robot: () -> untyped
|
340
|
+
|
341
|
+
def to: () -> untyped
|
342
|
+
|
343
|
+
private
|
344
|
+
|
345
|
+
def initialize: (untyped original) -> void
|
346
|
+
end
|
347
|
+
|
348
|
+
class Robot
|
349
|
+
include Mem
|
350
|
+
|
351
|
+
extend Mem::ClassMethods
|
352
|
+
|
353
|
+
alias brain brain_with_memoize
|
354
|
+
|
355
|
+
def brain=: (untyped value) -> untyped
|
356
|
+
|
357
|
+
def brain_with_memoize: (*untyped args) { (*untyped) -> untyped } -> untyped
|
358
|
+
|
359
|
+
alias brain_without_memoize brain
|
360
|
+
|
361
|
+
def name: () -> untyped
|
362
|
+
|
363
|
+
def options: () -> untyped
|
364
|
+
|
365
|
+
def receive: (untyped attributes) -> untyped
|
366
|
+
|
367
|
+
def run: () -> untyped
|
368
|
+
|
369
|
+
def say: (*untyped args) -> untyped
|
370
|
+
|
371
|
+
def unmemoize_brain: () -> untyped
|
372
|
+
|
373
|
+
private
|
374
|
+
|
375
|
+
def adapt: () -> untyped
|
376
|
+
|
377
|
+
alias adapter adapter_with_memoize
|
378
|
+
|
379
|
+
def adapter_with_memoize: (*untyped args) { (*untyped) -> untyped } -> untyped
|
380
|
+
|
381
|
+
alias adapter_without_memoize adapter
|
382
|
+
|
383
|
+
def bundle: () -> untyped
|
384
|
+
|
385
|
+
def daemon: () -> untyped
|
386
|
+
|
387
|
+
def dotenv: () -> untyped
|
388
|
+
|
389
|
+
alias env env_with_memoize
|
390
|
+
|
391
|
+
def env_with_memoize: (*untyped args) { (*untyped) -> untyped } -> untyped
|
392
|
+
|
393
|
+
alias env_without_memoize env
|
394
|
+
|
395
|
+
def handle: () -> untyped
|
396
|
+
|
397
|
+
alias handlers handlers_with_memoize
|
398
|
+
|
399
|
+
def handlers_with_memoize: (*untyped args) { (*untyped) -> untyped } -> untyped
|
400
|
+
|
401
|
+
alias handlers_without_memoize handlers
|
402
|
+
|
403
|
+
def initialize: (?untyped options) -> void
|
404
|
+
|
405
|
+
def pid: () -> untyped
|
406
|
+
|
407
|
+
def remember: () -> untyped
|
408
|
+
|
409
|
+
def setup: () -> untyped
|
410
|
+
|
411
|
+
def unmemoize_adapter: () -> untyped
|
412
|
+
|
413
|
+
def unmemoize_env: () -> untyped
|
414
|
+
|
415
|
+
def unmemoize_handlers: () -> untyped
|
416
|
+
|
417
|
+
DEFAULT_ENV: ::String
|
418
|
+
|
419
|
+
DEFAULT_ROBOT_NAME: ::String
|
420
|
+
end
|
421
|
+
end
|
metadata
ADDED
@@ -0,0 +1,263 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ruboty-ai_agent
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tomoya Chiba
|
8
|
+
bindir: exe
|
9
|
+
cert_chain: []
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
|
+
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: bundler
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '2'
|
19
|
+
type: :development
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - "~>"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '2'
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rake
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '13'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '13'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: rspec
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '3.0'
|
47
|
+
type: :development
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: webmock
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.0'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '3.0'
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: event_stream_parser
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '1.0'
|
75
|
+
type: :runtime
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '1.0'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: openai
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 0.22.0
|
89
|
+
type: :runtime
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 0.22.0
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: ruboty
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '1.3'
|
103
|
+
type: :runtime
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '1.3'
|
110
|
+
description: A Ruboty plugin that uses AI to generate responses.
|
111
|
+
email:
|
112
|
+
- tomo.asleep@gmail.com
|
113
|
+
executables: []
|
114
|
+
extensions: []
|
115
|
+
extra_rdoc_files: []
|
116
|
+
files:
|
117
|
+
- ".gitignore"
|
118
|
+
- ".rspec"
|
119
|
+
- ".rubocop.yml"
|
120
|
+
- AGENTS.md
|
121
|
+
- CHANGELOG.md
|
122
|
+
- CLAUDE.md
|
123
|
+
- CODE_OF_CONDUCT.md
|
124
|
+
- Gemfile
|
125
|
+
- README.md
|
126
|
+
- Rakefile
|
127
|
+
- Steepfile
|
128
|
+
- bin/console
|
129
|
+
- bin/ruboty
|
130
|
+
- bin/setup
|
131
|
+
- lib/ruboty/ai_agent.rb
|
132
|
+
- lib/ruboty/ai_agent/actions.rb
|
133
|
+
- lib/ruboty/ai_agent/actions/add_ai_command.rb
|
134
|
+
- lib/ruboty/ai_agent/actions/add_ai_memory.rb
|
135
|
+
- lib/ruboty/ai_agent/actions/add_mcp.rb
|
136
|
+
- lib/ruboty/ai_agent/actions/base.rb
|
137
|
+
- lib/ruboty/ai_agent/actions/chat.rb
|
138
|
+
- lib/ruboty/ai_agent/actions/list_ai_commands.rb
|
139
|
+
- lib/ruboty/ai_agent/actions/list_ai_memories.rb
|
140
|
+
- lib/ruboty/ai_agent/actions/list_mcp.rb
|
141
|
+
- lib/ruboty/ai_agent/actions/remove_ai_command.rb
|
142
|
+
- lib/ruboty/ai_agent/actions/remove_ai_memory.rb
|
143
|
+
- lib/ruboty/ai_agent/actions/remove_mcp.rb
|
144
|
+
- lib/ruboty/ai_agent/actions/set_system_prompt.rb
|
145
|
+
- lib/ruboty/ai_agent/actions/show_system_prompt.rb
|
146
|
+
- lib/ruboty/ai_agent/agent.rb
|
147
|
+
- lib/ruboty/ai_agent/cached_value.rb
|
148
|
+
- lib/ruboty/ai_agent/chat_message.rb
|
149
|
+
- lib/ruboty/ai_agent/chat_thread.rb
|
150
|
+
- lib/ruboty/ai_agent/chat_thread_associations.rb
|
151
|
+
- lib/ruboty/ai_agent/chat_thread_messages.rb
|
152
|
+
- lib/ruboty/ai_agent/commands.rb
|
153
|
+
- lib/ruboty/ai_agent/commands/base.rb
|
154
|
+
- lib/ruboty/ai_agent/commands/clear.rb
|
155
|
+
- lib/ruboty/ai_agent/commands/compact.rb
|
156
|
+
- lib/ruboty/ai_agent/commands/usage.rb
|
157
|
+
- lib/ruboty/ai_agent/database.rb
|
158
|
+
- lib/ruboty/ai_agent/database/query_methods.rb
|
159
|
+
- lib/ruboty/ai_agent/global_settings.rb
|
160
|
+
- lib/ruboty/ai_agent/http_mcp_client.rb
|
161
|
+
- lib/ruboty/ai_agent/llm.rb
|
162
|
+
- lib/ruboty/ai_agent/llm/openai.rb
|
163
|
+
- lib/ruboty/ai_agent/llm/openai/model.rb
|
164
|
+
- lib/ruboty/ai_agent/llm/response.rb
|
165
|
+
- lib/ruboty/ai_agent/mcp_clients.rb
|
166
|
+
- lib/ruboty/ai_agent/mcp_configuration.rb
|
167
|
+
- lib/ruboty/ai_agent/record_set.rb
|
168
|
+
- lib/ruboty/ai_agent/recordable.rb
|
169
|
+
- lib/ruboty/ai_agent/token_usage.rb
|
170
|
+
- lib/ruboty/ai_agent/tool.rb
|
171
|
+
- lib/ruboty/ai_agent/user.rb
|
172
|
+
- lib/ruboty/ai_agent/user_ai_memories.rb
|
173
|
+
- lib/ruboty/ai_agent/user_associations.rb
|
174
|
+
- lib/ruboty/ai_agent/user_mcp_caches.rb
|
175
|
+
- lib/ruboty/ai_agent/user_mcp_client.rb
|
176
|
+
- lib/ruboty/ai_agent/user_mcp_configurations.rb
|
177
|
+
- lib/ruboty/ai_agent/user_mcp_tools_caches.rb
|
178
|
+
- lib/ruboty/ai_agent/version.rb
|
179
|
+
- lib/ruboty/handlers/ai_agent.rb
|
180
|
+
- rbs_collection.yaml
|
181
|
+
- ruboty-ai_agent.gemspec
|
182
|
+
- script/generate-concern-rbs.rb
|
183
|
+
- script/generate-data-rbs.rb
|
184
|
+
- script/generate-memorized-ivar-rbs.rb
|
185
|
+
- sig-lib/event_stream_parser/event_stream_parser.rbs
|
186
|
+
- sig-lib/mem/mem.rbs
|
187
|
+
- sig-lib/ruboty/ruboty.rbs
|
188
|
+
- sig/generated-by-scripts/concerns.rbs
|
189
|
+
- sig/generated-by-scripts/memorized_ivars.rbs
|
190
|
+
- sig/generated/ruboty/ai_agent.rbs
|
191
|
+
- sig/generated/ruboty/ai_agent/actions.rbs
|
192
|
+
- sig/generated/ruboty/ai_agent/actions/add_ai_command.rbs
|
193
|
+
- sig/generated/ruboty/ai_agent/actions/add_ai_memory.rbs
|
194
|
+
- sig/generated/ruboty/ai_agent/actions/add_mcp.rbs
|
195
|
+
- sig/generated/ruboty/ai_agent/actions/base.rbs
|
196
|
+
- sig/generated/ruboty/ai_agent/actions/chat.rbs
|
197
|
+
- sig/generated/ruboty/ai_agent/actions/list_ai_commands.rbs
|
198
|
+
- sig/generated/ruboty/ai_agent/actions/list_ai_memories.rbs
|
199
|
+
- sig/generated/ruboty/ai_agent/actions/list_mcp.rbs
|
200
|
+
- sig/generated/ruboty/ai_agent/actions/remove_ai_command.rbs
|
201
|
+
- sig/generated/ruboty/ai_agent/actions/remove_ai_memory.rbs
|
202
|
+
- sig/generated/ruboty/ai_agent/actions/remove_mcp.rbs
|
203
|
+
- sig/generated/ruboty/ai_agent/actions/set_system_prompt.rbs
|
204
|
+
- sig/generated/ruboty/ai_agent/actions/show_system_prompt.rbs
|
205
|
+
- sig/generated/ruboty/ai_agent/agent.rbs
|
206
|
+
- sig/generated/ruboty/ai_agent/cached_value.rbs
|
207
|
+
- sig/generated/ruboty/ai_agent/chat_message.rbs
|
208
|
+
- sig/generated/ruboty/ai_agent/chat_thread.rbs
|
209
|
+
- sig/generated/ruboty/ai_agent/chat_thread_associations.rbs
|
210
|
+
- sig/generated/ruboty/ai_agent/chat_thread_messages.rbs
|
211
|
+
- sig/generated/ruboty/ai_agent/commands.rbs
|
212
|
+
- sig/generated/ruboty/ai_agent/commands/base.rbs
|
213
|
+
- sig/generated/ruboty/ai_agent/commands/clear.rbs
|
214
|
+
- sig/generated/ruboty/ai_agent/commands/compact.rbs
|
215
|
+
- sig/generated/ruboty/ai_agent/commands/usage.rbs
|
216
|
+
- sig/generated/ruboty/ai_agent/database.rbs
|
217
|
+
- sig/generated/ruboty/ai_agent/database/query_methods.rbs
|
218
|
+
- sig/generated/ruboty/ai_agent/global_settings.rbs
|
219
|
+
- sig/generated/ruboty/ai_agent/http_mcp_client.rbs
|
220
|
+
- sig/generated/ruboty/ai_agent/llm.rbs
|
221
|
+
- sig/generated/ruboty/ai_agent/llm/openai.rbs
|
222
|
+
- sig/generated/ruboty/ai_agent/llm/openai/model.rbs
|
223
|
+
- sig/generated/ruboty/ai_agent/llm/response.rbs
|
224
|
+
- sig/generated/ruboty/ai_agent/mcp_clients.rbs
|
225
|
+
- sig/generated/ruboty/ai_agent/mcp_configuration.rbs
|
226
|
+
- sig/generated/ruboty/ai_agent/record_set.rbs
|
227
|
+
- sig/generated/ruboty/ai_agent/recordable.rbs
|
228
|
+
- sig/generated/ruboty/ai_agent/token_usage.rbs
|
229
|
+
- sig/generated/ruboty/ai_agent/tool.rbs
|
230
|
+
- sig/generated/ruboty/ai_agent/user.rbs
|
231
|
+
- sig/generated/ruboty/ai_agent/user_ai_memories.rbs
|
232
|
+
- sig/generated/ruboty/ai_agent/user_associations.rbs
|
233
|
+
- sig/generated/ruboty/ai_agent/user_mcp_caches.rbs
|
234
|
+
- sig/generated/ruboty/ai_agent/user_mcp_client.rbs
|
235
|
+
- sig/generated/ruboty/ai_agent/user_mcp_configurations.rbs
|
236
|
+
- sig/generated/ruboty/ai_agent/user_mcp_tools_caches.rbs
|
237
|
+
- sig/generated/ruboty/ai_agent/version.rbs
|
238
|
+
- sig/generated/ruboty/handlers/ai_agent.rbs
|
239
|
+
homepage: https://github.com/tomoasleep/ruboty-ai_agent
|
240
|
+
licenses: []
|
241
|
+
metadata:
|
242
|
+
allowed_push_host: https://rubygems.org
|
243
|
+
homepage_uri: https://github.com/tomoasleep/ruboty-ai_agent
|
244
|
+
source_code_uri: https://github.com/tomoasleep/ruboty-ai_agent
|
245
|
+
changelog_uri: https://github.com/tomoasleep/ruboty-ai_agent/blob/main/CHANGELOG.md
|
246
|
+
rdoc_options: []
|
247
|
+
require_paths:
|
248
|
+
- lib
|
249
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
250
|
+
requirements:
|
251
|
+
- - ">="
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: 3.1.0
|
254
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
255
|
+
requirements:
|
256
|
+
- - ">="
|
257
|
+
- !ruby/object:Gem::Version
|
258
|
+
version: '0'
|
259
|
+
requirements: []
|
260
|
+
rubygems_version: 3.7.1
|
261
|
+
specification_version: 4
|
262
|
+
summary: A Ruboty plugin that uses AI to generate responses.
|
263
|
+
test_files: []
|