omniai-tools 0.2.0 → 0.3.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 +4 -4
- data/README.md +4 -4
- data/lib/omniai/tools/disk/file_delete_tool.rb +2 -2
- data/lib/omniai/tools/disk/file_move_tool.rb +2 -2
- data/lib/omniai/tools/disk/file_read_tool.rb +1 -1
- data/lib/omniai/tools/disk/file_replace_tool.rb +1 -1
- data/lib/omniai/tools/disk/file_write_tool.rb +1 -1
- data/lib/omniai/tools/disk/summary_tool.rb +1 -1
- data/lib/omniai/tools/docker/compose_run_tool.rb +5 -5
- data/lib/omniai/tools/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbc1dae9ab7fe238fadd4c48d660f342e851b1803e3e33e22c487ceabd3bf32b
|
4
|
+
data.tar.gz: cf37310371a1711adaedea7609ce340552c7858faab4d9b60c6d26919864490a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 766b80d9ab2b3bf459eeee00473c69f352fd4e61b70a4be9531a76b164d1e1fbc7373fe634033f19c519dc56098b77e536431d53a46bd91bde017887ed91f61a
|
7
|
+
data.tar.gz: 1fc747fda798976e4c13e4c0fd208a83253b61d8f1b473029e085308f7603f7d20e616f32c9b0e564952e6f48cf4e1eb10cc5570d8d6525c6c4a9728449e5b08
|
data/README.md
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
[](https://omniai-tools.ksylvest.com)
|
7
7
|
[](https://circleci.com/gh/ksylvest/omniai-tools)
|
8
8
|
|
9
|
-
`OmniAI::Tools` is a library of pre-built tools to simplify integrating common tasks
|
9
|
+
`OmniAI::Tools` is a library of pre-built tools to simplify integrating common tasks with [OmniAI](https://github.com/ksylvest/omniai).
|
10
10
|
|
11
11
|
## Disk
|
12
12
|
|
13
|
-
Disk tools are focused on creating
|
13
|
+
Disk tools are focused on creating, updating, and deleting files and directories within a "root":
|
14
14
|
|
15
15
|
```ruby
|
16
16
|
require "omniai/openai"
|
@@ -53,7 +53,7 @@ end
|
|
53
53
|
|
54
54
|
## Docker
|
55
55
|
|
56
|
-
|
56
|
+
Docker tools are focused on running commands through Docker via Compose:
|
57
57
|
|
58
58
|
```ruby
|
59
59
|
require "omniai/openai"
|
@@ -72,7 +72,7 @@ tools = [
|
|
72
72
|
puts "Type 'exit' or 'quit' to leave."
|
73
73
|
|
74
74
|
prompt = OmniAI::Chat::Prompt.build do |builder|
|
75
|
-
builder.system "Use tools to interact with
|
75
|
+
builder.system "Use tools to interact with Docker."
|
76
76
|
end
|
77
77
|
|
78
78
|
loop do
|
@@ -7,9 +7,9 @@ module OmniAI
|
|
7
7
|
# tool = OmniAI::Tools::Disk::FileDeleteTool.new(root: "./project")
|
8
8
|
# tool.execute(path: "./README.md")
|
9
9
|
class FileDeleteTool < BaseTool
|
10
|
-
description "
|
10
|
+
description "Deletes a file."
|
11
11
|
|
12
|
-
parameter :path, :string, description: "a path to the
|
12
|
+
parameter :path, :string, description: "a path to the file (e.g. `./README.md`)"
|
13
13
|
|
14
14
|
required %i[path]
|
15
15
|
|
@@ -4,13 +4,13 @@ module OmniAI
|
|
4
4
|
module Tools
|
5
5
|
module Disk
|
6
6
|
# @example
|
7
|
-
# tool = OmniAI::Tools::Disk::
|
7
|
+
# tool = OmniAI::Tools::Disk::FileMoveTool.new(root: "./project")
|
8
8
|
# tool.execute(
|
9
9
|
# old_path: "./README.txt",
|
10
10
|
# new_path: "./README.md",
|
11
11
|
# )
|
12
12
|
class FileMoveTool < BaseTool
|
13
|
-
description "
|
13
|
+
description "Moves a file."
|
14
14
|
|
15
15
|
parameter :old_path, :string, description: "a path (e.g. `./old.rb`)"
|
16
16
|
parameter :new_path, :string, description: "a path (e.g. `./new.rb`)"
|
@@ -7,7 +7,7 @@ module OmniAI
|
|
7
7
|
# tool = OmniAI::Tools::Disk::FileReadTool.new(root: "./project")
|
8
8
|
# tool.execute(path: "./README.md") # => "..."
|
9
9
|
class FileReadTool < BaseTool
|
10
|
-
description "
|
10
|
+
description "Reads the contents of a file."
|
11
11
|
|
12
12
|
parameter :path, :string, description: "a path (e.g. `./main.rb`)"
|
13
13
|
|
@@ -11,7 +11,7 @@ module OmniAI
|
|
11
11
|
# path: "README.md"
|
12
12
|
# )
|
13
13
|
class FileReplaceTool < BaseTool
|
14
|
-
description "
|
14
|
+
description "Replaces a specific string in a file (old_text => new_text)."
|
15
15
|
|
16
16
|
parameter :old_text, :string, description: "the old text (e.g. `puts 'ABC'`)"
|
17
17
|
parameter :new_text, :string, description: "the new text (e.g. `puts 'DEF'`)"
|
@@ -7,7 +7,7 @@ module OmniAI
|
|
7
7
|
# tool = OmniAI::Tools::Disk::FileWriteTool.new(root: "./project")
|
8
8
|
# tool.execute(path: "./README.md", text: "Hello World")
|
9
9
|
class FileWriteTool < BaseTool
|
10
|
-
description "
|
10
|
+
description "Writes the contents of a file."
|
11
11
|
|
12
12
|
parameter :path, :string, description: "a path for the file (e.g. `./main.rb`)"
|
13
13
|
parameter :text, :string, description: "the text to write to the file (e.g. `puts 'Hello World'`)"
|
@@ -7,7 +7,7 @@ module OmniAI
|
|
7
7
|
# tool = OmniAI::Tools::Disk::SummaryTool.new(root: "./project")
|
8
8
|
# tool.execute
|
9
9
|
class SummaryTool < BaseTool
|
10
|
-
description "
|
10
|
+
description "Summarizes the contents (files and directories) of the project."
|
11
11
|
|
12
12
|
# @return [String]
|
13
13
|
def execute
|
@@ -9,12 +9,12 @@ module OmniAI
|
|
9
9
|
# tool = OmniAI::Tools::Docker::ComposeRunTool.new(root: "./project")
|
10
10
|
# tool.execute(service: "app", command: "rspec" args: ["spec/main_spec.rb"])
|
11
11
|
class ComposeRunTool < BaseTool
|
12
|
-
description "
|
12
|
+
description "Runs a command via Docker with arguments on the project (e.g. `rspec spec/main_spec.rb`)."
|
13
13
|
|
14
|
-
parameter :service, :string, description: "
|
15
|
-
parameter :command, :string, description: "
|
16
|
-
parameter :args, :array, description: "
|
17
|
-
items: OmniAI::Tool::Property.string(description: "
|
14
|
+
parameter :service, :string, description: "The service to run the command on (e.g. `app`)."
|
15
|
+
parameter :command, :string, description: "The command to run (e.g. `rspec`)."
|
16
|
+
parameter :args, :array, description: "The arguments for the command.",
|
17
|
+
items: OmniAI::Tool::Property.string(description: "An argument for the command (e.g. `spec/main_spec.rb`).")
|
18
18
|
|
19
19
|
# @param service [String]
|
20
20
|
# @param command [String]
|
data/lib/omniai/tools/version.rb
CHANGED