hellm 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c138b33e657f7ed52bdc37c4b9883574eeef25b6e479d4760922f6e4300a5c30
4
- data.tar.gz: be896fe016921e7e0ce7924512ca5277b96d83bdd49b90182996002d0fc73ca6
3
+ metadata.gz: 85820167c185b4609e3b81e23a3280063d41c85d70c5880b9e3b676dc378a193
4
+ data.tar.gz: e24df7e76af2cae1500adfc01bc9f4ef75ffe8641acdbc8a33fad7ffc92c028a
5
5
  SHA512:
6
- metadata.gz: d516481c8315a8133db672a29c166b45962433693553d15ce725fbf6a0c3070933184cf2b861b82be33ea0b8b5a51ec18e110962d88dccea83583a0c13f49550
7
- data.tar.gz: 205aecc4a739328e1860b00a5681a4de55eb5c72172cd174e088d864b86f5c2d920e0b6936f706445e4d5108402cd2301748ccf9618b74b9ea29475a5145315c
6
+ metadata.gz: 6c0bedef17b6862c8302f14f51c3c9cdfaace1a07f40523574c9316ce6b3d775e0000edce7f83168bb7da50e1c24c5458ab29d0ce19fde3bdf1290a648e9cc53
7
+ data.tar.gz: 50342bcd317ac5427189e1318233e6902e73a80cd3d9bca2cd6521331c95d34d72cf4ae43daf72bbf181df640a4a06fa785c0673e52d96051b42c19bb296fd19
data/README.md CHANGED
@@ -48,6 +48,7 @@ hellm Alfred "Tell me your favorite color and which month fits it."
48
48
  The framework provides the following tools for agents to use:
49
49
 
50
50
  * `calculator` - a simple calculator for basic arithmetic operations.
51
+ * `web` - fetches web pages or other content from URLs.
51
52
 
52
53
 
53
54
  ### Custom Tools
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: Alfred
3
3
  description: "General purpose agent."
4
- tools: [agent]
4
+ tools: [agent, web]
5
5
  agents: [Mathematician]
6
6
  ---
7
7
 
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/bash
2
+
3
+ ../bin/hellm Alfred what products is ubity advertising on its homepage at https://ubity.io
data/lib/hellm/builder.rb CHANGED
@@ -1,8 +1,9 @@
1
+ require_relative "markdown_file"
2
+ require_relative "stream_adapter"
1
3
  require_relative "agent"
2
4
  require_relative "skill"
3
- require_relative "stream_adapter"
4
5
  require_relative "tools/skill_tool"
5
- require_relative "markdown_file"
6
+ require_relative "tools/web_tool"
6
7
 
7
8
  class Hellm::Builder
8
9
  attr_accessor :project_dir, :hellm_dir, :stream_adapter
@@ -42,6 +43,7 @@ class Hellm::Builder
42
43
  private
43
44
  def add_builtin_tools_to_registry
44
45
  Hellm::Tools::Registry.instance.add(:calculator) { Langchain::Tool::Calculator.new }
46
+ Hellm::Tools::Registry.instance.add(:web) { Hellm::Tools::WebTool.new }
45
47
  end
46
48
 
47
49
  def get_skills_from_project_dir
@@ -0,0 +1,32 @@
1
+ require "open-uri"
2
+ require "nokogiri"
3
+
4
+ module Hellm::Tools
5
+ class WebTool
6
+ extend Langchain::ToolDefinition
7
+
8
+ define_function :read, description: "Reads content from a URL. Use this function when you want to get text/binary raw data from the response, e.g. to check the HTML-code of a page." do
9
+ property :url, type: "string", description: "The URL to read from."
10
+ end
11
+
12
+ define_function :read_text, description: "Reads HTML text content from a URL. Use this function to extract text only from a HTML page." do
13
+ property :url, type: "string", description: "The URL to read from."
14
+ end
15
+
16
+ def read(url:)
17
+ URI.open(url).read
18
+ rescue StandardError => e
19
+ "Failed to read from URL #{url}: #{e.message}"
20
+ end
21
+
22
+ def read_text(url:)
23
+ html_content = URI.open(url).read
24
+ text = Nokogiri::HTML(html_content).text
25
+ lines = text.lines.map(&:strip).reject(&:empty?)
26
+ lines.join("\n")
27
+ rescue StandardError => e
28
+ "Failed to extract text from URL #{url}: #{e.message}"
29
+ end
30
+
31
+ end
32
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hellm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ubity UG
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.6.5
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.19.4
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.19.4
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: google_search_results
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -102,7 +116,8 @@ files:
102
116
  - example/.hellm/agents/alfred.agent.md
103
117
  - example/.hellm/agents/mathematician.agent.md
104
118
  - example/.hellm/skills/farben/SKILL.md
105
- - example/example.sh
119
+ - example/example1.sh
120
+ - example/example2.sh
106
121
  - lib/hellm.rb
107
122
  - lib/hellm/agent.rb
108
123
  - lib/hellm/builder.rb
@@ -112,6 +127,7 @@ files:
112
127
  - lib/hellm/tools/agent_tool_factory.rb
113
128
  - lib/hellm/tools/registry.rb
114
129
  - lib/hellm/tools/skill_tool.rb
130
+ - lib/hellm/tools/web_tool.rb
115
131
  - lib/hellm/version.rb
116
132
  - sig/hellm.rbs
117
133
  homepage: https://gitlab.com/ubity/gems/hellm
File without changes