utils 0.64.0 → 0.65.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 04c80c59e58b4eddfd99b4890f90e9b79197a3058650355e93317234ffdacb21
4
- data.tar.gz: 6b169b24ba94fd2c8fa1d64c53d69b3d93c4c60ca5ee8bf85098492f9d446904
3
+ metadata.gz: 8d1633f8d2d41b4f3498a2f8c25abd00d14800cba7d3266e3c95ee23f50c47e8
4
+ data.tar.gz: d928e826ea6a28690d62d7f7051c2424708230e859b787d7914472bfa315dda4
5
5
  SHA512:
6
- metadata.gz: 3f0e39525fe0f42fe02cd834f436b09084d72532e47ee720eea97652420cf2f2502c47a265479c1a3501107fa945ec6433ff053cba78b6a148d7a4ffd797cfd1
7
- data.tar.gz: b370aea11cc359cbf88261f305b2574764243d23c4f402fab14a5e1caf13b3328069a1e6dac82cf5809da6fc4c74fd51d830177d1a38a9ab5d6c961641d9e7e6
6
+ metadata.gz: c80fbe8111a06467d7c02868e010e911c06785783364f1f3047b76f88e0f90a7f70a57b49375fb4351d332068fb04f5cc00c86884918d2477ea5837b6543b7e4
7
+ data.tar.gz: 9b46861f764339dc572741b124c574683d2cbd3f2144751f196c1a96bbe7d9a6115f9ac908b1c0ec22168c48a77253ecee005c75a13f1ad3712ab52adf80b18b
data/Rakefile CHANGED
@@ -28,7 +28,7 @@ GemHadar do
28
28
  dependency 'mize', '~> 0.6'
29
29
  dependency 'search_ui', '~> 0.0'
30
30
  dependency 'all_images', '~> 0.5.0'
31
- dependency 'ollama-ruby'
31
+ dependency 'ollama-ruby', '~> 1.4.0'
32
32
  dependency 'kramdown-ansi', '~> 0.0.1'
33
33
  dependency 'simplecov'
34
34
  dependency 'debug'
data/bin/changes CHANGED
@@ -3,6 +3,8 @@
3
3
  require 'ollama'
4
4
  include Ollama
5
5
  require 'tins/xt'
6
+ require 'utils'
7
+ include Utils::XDGConfig
6
8
 
7
9
  def x(cmd)
8
10
  output = `#{cmd}`
@@ -43,48 +45,23 @@ def compute_change(range_from, range_to)
43
45
  EOT
44
46
  end
45
47
 
46
- base_url = ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST')
47
- model = ENV.fetch('OLLAMA_MODEL', 'llama3.1')
48
+ config = xdg_config('changes')
48
49
 
49
- system = <<~EOT
50
- You are a Ruby programmer generating a change log entry in markdown syntax,
51
- summarizing the code changes for a new version in a professional way.
52
- EOT
53
-
54
- prompt = <<~EOT
55
- - Summarize the changes in the following git log messages as bullet points.
56
- - Don't mention the version of the change set
57
- - Skip bullet points about version bumps.
58
- - List significant changes as bullet points using markdown when applicable.
59
- - Mark all names and values for variables, methods, functions, and
60
- constants, you see in the messages as markdown code surrounded by
61
- backtick characters.
62
- - Mark all version numbers you see in the messages as markdown bold
63
- surrounded by two asterisk characters.
64
- - Don't refer to single commits by sha1 hash.
65
- - Don't add information about changes you are not sure about.
66
- - Don't output any additional chatty remarks, notes, introductions,
67
- communications, etc.
68
-
69
- #{log}
70
- EOT
50
+ base_url = ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST')
51
+ model = ENV.fetch('OLLAMA_MODEL', 'llama3.1')
52
+ system = File.read("#{config}/system.txt")
53
+ prompt = File.read("#{config}/prompt.txt") + "\n\n#{log}\n"
54
+ client_config = Client::Config.load_from_json("#{config}/client.json")
55
+ client_config.base_url = base_url
71
56
 
72
57
  if ENV['DEBUG'].to_i == 1
73
58
  STDERR.puts "system:\n#{system}"
74
59
  STDERR.puts "prompt:\n#{prompt}"
75
60
  end
76
61
 
77
- options = Ollama::Options.new(
78
- num_ctx: 16384,
79
- num_predict: 1024,
80
- temperature: 0,
81
- #seed: 1337,
82
- top_p: 1,
83
- min_p: 0.1,
84
- )
85
-
86
- ollama = Client.new(base_url:, read_timeout: 120)
87
- changes = ollama.generate(model:, system:, prompt:, options:, stream: false)
62
+ ollama = Client.configure_with(client_config)
63
+ options = Options.load_from_json "#{config}/options.json"
64
+ changes = ollama.generate(model:, system:, prompt:, options:, stream: false, think: false)
88
65
  changes = changes.response.gsub(/\t/, ' ')
89
66
 
90
67
  return <<~EOT
data/bin/code_comment CHANGED
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'utils'
4
3
  require 'ollama'
5
4
  include Ollama
5
+ require 'utils'
6
+ include Utils::XDGConfig
6
7
 
7
8
  def fetch_method(filename_linenumber)
8
9
  result = ''
@@ -31,7 +32,7 @@ method_indent = method[/\A( *)/, 1].size
31
32
  #file = fetch_file(filename_linenumber)
32
33
  files = Dir['{lib,spec,test}/**/*.rb']
33
34
  base_url = ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST')
34
- model = ENV.fetch('OLLAMA_MODEL', 'llama3.2')
35
+ model = ENV.fetch('OLLAMA_MODEL', 'llama3.1')
35
36
  #file = File.read(file_name)
36
37
  #call_sites = %x(cscope -L -3 "#{method_name}" $(find . -name '*.rb') | awk '{ print $1 ":" $3 }').lines.map(&:chomp).uniq
37
38
  #methods = call_sites.map { fetch_method(_1) } * ?\n
@@ -167,6 +168,9 @@ if ENV['DEBUG'].to_i == 1
167
168
  end
168
169
  end
169
170
 
170
- ollama = Client.new(base_url:, read_timeout: 120)
171
+ config = xdg_config('code_comment')
172
+ client_config = Client::Config.load_from_json "#{config}/client.json"
173
+ client_config.base_url = base_url
174
+ ollama = Client.configure_with(client_config)
171
175
  response = ollama.generate(model:, system:, prompt:, options:, stream: false).response
172
176
  puts response.gsub(/^/) { ' ' * method_indent }
data/bin/commit_message CHANGED
@@ -1,11 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- config =
4
- if (xdg = ENV['XDG_CONFIG_HOME'].to_s.strip).size == 0
5
- File.join(ENV.fetch('HOME'), '.config', 'commit_message')
6
- else
7
- File.join(xdg, 'commit_message')
8
- end
3
+ require 'utils'
4
+ include Utils::XDGConfig
5
+
6
+ config = xdg_config('commit_message')
9
7
 
10
8
  branch = `git rev-parse --abbrev-ref HEAD`.chomp
11
9
  exec 'ollama_cli', '-M', "#{config}/options.json", '-P', "branch=#{branch}",
data/lib/utils/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Utils
2
2
  # Utils version
3
- VERSION = '0.64.0'
3
+ VERSION = '0.65.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -0,0 +1,10 @@
1
+ module Utils::XDGConfig
2
+ def xdg_config(name)
3
+ @config and return @config
4
+ @config = if xdg = ENV['XDG_CONFIG_HOME'].full?
5
+ File.join(xdg, name)
6
+ else
7
+ File.join(ENV.fetch('HOME'), '.config', name)
8
+ end
9
+ end
10
+ end
data/lib/utils.rb CHANGED
@@ -9,6 +9,7 @@ module Utils
9
9
  require 'utils/probe_server'
10
10
  require 'utils/ssh_tunnel_specification'
11
11
  require 'utils/line_blamer'
12
+ require 'utils/xdg_config'
12
13
 
13
14
  require 'utils/xt/source_location_extension'
14
15
  class ::Object
data/utils.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: utils 0.64.0 ruby lib
2
+ # stub: utils 0.65.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "utils".freeze
6
- s.version = "0.64.0".freeze
6
+ s.version = "0.65.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
  s.description = "This ruby gem provides some useful command line utilities".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.executables = ["ascii7".freeze, "blameline".freeze, "changes".freeze, "classify".freeze, "code_comment".freeze, "commit_message".freeze, "create_cstags".freeze, "create_tags".freeze, "discover".freeze, "edit".freeze, "edit_wait".freeze, "enum".freeze, "git-empty".freeze, "git-versions".freeze, "json_check".freeze, "long_lines".freeze, "myex".freeze, "number_files".freeze, "on_change".freeze, "path".freeze, "print_method".freeze, "probe".freeze, "rd2md".freeze, "search".freeze, "sedit".freeze, "serve".freeze, "ssh-tunnel".freeze, "strip_spaces".freeze, "sync_dir".freeze, "untest".freeze, "utils-utilsrc".freeze, "vcf2alias".freeze, "yaml_check".freeze]
15
- s.extra_rdoc_files = ["README.md".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze]
16
- s.files = [".github/dependabot.yml".freeze, ".github/workflows/codeql-analysis.yml".freeze, ".utilsrc".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ascii7".freeze, "bin/blameline".freeze, "bin/changes".freeze, "bin/classify".freeze, "bin/code_comment".freeze, "bin/commit_message".freeze, "bin/create_cstags".freeze, "bin/create_tags".freeze, "bin/discover".freeze, "bin/edit".freeze, "bin/edit_wait".freeze, "bin/enum".freeze, "bin/git-empty".freeze, "bin/git-versions".freeze, "bin/json_check".freeze, "bin/long_lines".freeze, "bin/myex".freeze, "bin/number_files".freeze, "bin/on_change".freeze, "bin/path".freeze, "bin/print_method".freeze, "bin/probe".freeze, "bin/rd2md".freeze, "bin/search".freeze, "bin/sedit".freeze, "bin/serve".freeze, "bin/ssh-tunnel".freeze, "bin/strip_spaces".freeze, "bin/sync_dir".freeze, "bin/untest".freeze, "bin/utils-utilsrc".freeze, "bin/vcf2alias".freeze, "bin/yaml_check".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze, "tests/test_helper.rb".freeze, "tests/utils_test.rb".freeze, "utils.gemspec".freeze]
15
+ s.extra_rdoc_files = ["README.md".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xdg_config.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze]
16
+ s.files = [".github/dependabot.yml".freeze, ".github/workflows/codeql-analysis.yml".freeze, ".utilsrc".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ascii7".freeze, "bin/blameline".freeze, "bin/changes".freeze, "bin/classify".freeze, "bin/code_comment".freeze, "bin/commit_message".freeze, "bin/create_cstags".freeze, "bin/create_tags".freeze, "bin/discover".freeze, "bin/edit".freeze, "bin/edit_wait".freeze, "bin/enum".freeze, "bin/git-empty".freeze, "bin/git-versions".freeze, "bin/json_check".freeze, "bin/long_lines".freeze, "bin/myex".freeze, "bin/number_files".freeze, "bin/on_change".freeze, "bin/path".freeze, "bin/print_method".freeze, "bin/probe".freeze, "bin/rd2md".freeze, "bin/search".freeze, "bin/sedit".freeze, "bin/serve".freeze, "bin/ssh-tunnel".freeze, "bin/strip_spaces".freeze, "bin/sync_dir".freeze, "bin/untest".freeze, "bin/utils-utilsrc".freeze, "bin/vcf2alias".freeze, "bin/yaml_check".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xdg_config.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze, "tests/test_helper.rb".freeze, "tests/utils_test.rb".freeze, "utils.gemspec".freeze]
17
17
  s.homepage = "http://github.com/flori/utils".freeze
18
18
  s.licenses = ["GPL-2.0".freeze]
19
19
  s.rdoc_options = ["--title".freeze, "Utils - Some useful command line utilities".freeze, "--main".freeze, "README.md".freeze]
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
34
34
  s.add_runtime_dependency(%q<mize>.freeze, ["~> 0.6".freeze])
35
35
  s.add_runtime_dependency(%q<search_ui>.freeze, ["~> 0.0".freeze])
36
36
  s.add_runtime_dependency(%q<all_images>.freeze, ["~> 0.5.0".freeze])
37
- s.add_runtime_dependency(%q<ollama-ruby>.freeze, [">= 0".freeze])
37
+ s.add_runtime_dependency(%q<ollama-ruby>.freeze, ["~> 1.4.0".freeze])
38
38
  s.add_runtime_dependency(%q<kramdown-ansi>.freeze, ["~> 0.0.1".freeze])
39
39
  s.add_runtime_dependency(%q<simplecov>.freeze, [">= 0".freeze])
40
40
  s.add_runtime_dependency(%q<debug>.freeze, [">= 0".freeze])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.64.0
4
+ version: 0.65.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -167,16 +167,16 @@ dependencies:
167
167
  name: ollama-ruby
168
168
  requirement: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - ">="
170
+ - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '0'
172
+ version: 1.4.0
173
173
  type: :runtime
174
174
  prerelease: false
175
175
  version_requirements: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - ">="
177
+ - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: '0'
179
+ version: 1.4.0
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: kramdown-ansi
182
182
  requirement: !ruby/object:Gem::Requirement
@@ -271,6 +271,7 @@ extra_rdoc_files:
271
271
  - lib/utils/probe_server.rb
272
272
  - lib/utils/ssh_tunnel_specification.rb
273
273
  - lib/utils/version.rb
274
+ - lib/utils/xdg_config.rb
274
275
  - lib/utils/xt/source_location_extension.rb
275
276
  files:
276
277
  - ".github/dependabot.yml"
@@ -326,6 +327,7 @@ files:
326
327
  - lib/utils/probe_server.rb
327
328
  - lib/utils/ssh_tunnel_specification.rb
328
329
  - lib/utils/version.rb
330
+ - lib/utils/xdg_config.rb
329
331
  - lib/utils/xt/source_location_extension.rb
330
332
  - tests/test_helper.rb
331
333
  - tests/utils_test.rb