gguf-provider
 1# frozen_string_literal: true
 2
 3require_relative "lib/elelem/version"
 4
 5Gem::Specification.new do |spec|
 6  spec.name = "elelem"
 7  spec.version = Elelem::VERSION
 8  spec.authors = ["mo khan"]
 9  spec.email = ["mo@mokhan.ca"]
10
11  spec.summary = "A minimal coding agent for LLMs."
12  spec.description = "A minimal coding agent."
13  spec.homepage = "https://src.mokhan.ca/xlgmokha/elelem"
14  spec.license = "MIT"
15  spec.required_ruby_version = ">= 4.0.0"
16  spec.required_rubygems_version = ">= 4.0.0"
17  spec.metadata["allowed_push_host"] = "https://rubygems.org"
18  spec.metadata["homepage_uri"] = spec.homepage
19  spec.metadata["source_code_uri"] = "https://git.mokhan.ca/xlgmokha/elelem.git"
20  spec.metadata["changelog_uri"] = "https://src.mokhan.ca/xlgmokha/elelem/blob/main/CHANGELOG.md.html"
21
22  spec.files = [
23    "CHANGELOG.md",
24    "LICENSE.txt",
25    "README.md",
26    "Rakefile",
27    "exe/elelem",
28    "lib/elelem.rb",
29    "lib/elelem/agent.rb",
30    "lib/elelem/cli.rb",
31    "lib/elelem/commands.rb",
32    "lib/elelem/conversation.rb",
33    "lib/elelem/mcp.rb",
34    "lib/elelem/mcp/oauth.rb",
35    "lib/elelem/mcp/token_storage.rb",
36    "lib/elelem/net.rb",
37    "lib/elelem/net/claude.rb",
38    "lib/elelem/net/gguf.rb",
39    "lib/elelem/net/ollama.rb",
40    "lib/elelem/net/openai.rb",
41    "lib/elelem/permissions.json",
42    "lib/elelem/permissions.rb",
43    "lib/elelem/plugins.rb",
44    "lib/elelem/plugins/builtins.rb",
45    "lib/elelem/plugins/confirm.rb",
46    "lib/elelem/plugins/context.rb",
47    "lib/elelem/plugins/execute.rb",
48    "lib/elelem/plugins/gguf.rb",
49    "lib/elelem/plugins/mcp.rb",
50    "lib/elelem/plugins/ollama.rb",
51    "lib/elelem/plugins/read.rb",
52    "lib/elelem/plugins/tools.rb",
53    "lib/elelem/plugins/write.rb",
54    "lib/elelem/prompts/default.erb",
55    "lib/elelem/providers.rb",
56    "lib/elelem/server.rb",
57    "lib/elelem/system_prompt.rb",
58    "lib/elelem/terminal.rb",
59    "lib/elelem/tool.rb",
60    "lib/elelem/toolbox.rb",
61    "lib/elelem/version.rb",
62    "lib/elelem/web_terminal.rb",
63    "ext/elelem_llama/elelem_llama.cpp",
64    "ext/elelem_llama/extconf.rb",
65  ]
66  # Vendored llama.cpp source (git submodule) is compiled at install time by the
67  # extension below, so it must ship in the gem.
68  spec.files += Dir["vendor/llama.cpp/**/*"].select { |path| File.file?(path) }
69  spec.extensions = ["ext/elelem_llama/extconf.rb"]
70  spec.bindir = "exe"
71  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
72  spec.require_paths = ["lib"]
73
74  spec.add_dependency "base64", "~> 0.1"
75  spec.add_dependency "date", "~> 3.0"
76  spec.add_dependency "digest", "~> 3.0"
77  spec.add_dependency "erb", "~> 6.0"
78  spec.add_dependency "fiddle", "~> 1.1"
79  spec.add_dependency "fileutils", "~> 1.0"
80  spec.add_dependency "json", "~> 2.0"
81  spec.add_dependency "json_schemer", "~> 2.0"
82  spec.add_dependency "logger", "~> 1.0"
83  spec.add_dependency "net-hippie", "~> 1.0"
84  spec.add_dependency "open3", "~> 0.1"
85  spec.add_dependency "optparse", "~> 0.1"
86  spec.add_dependency "pathname", "~> 0.1"
87  spec.add_dependency "reline", "~> 0.6"
88  spec.add_dependency "securerandom", "~> 0.1"
89  spec.add_dependency "shellwords", "~> 0.2"
90  spec.add_dependency "stringio", "~> 3.0"
91  spec.add_dependency "tempfile", "~> 0.3"
92  spec.add_dependency "uri", "~> 1.0"
93  spec.add_dependency "webrick", "~> 1.9"
94end