solid_agent 0.0.0 → 0.2.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/CHANGELOG.md +68 -0
- data/LICENSE +21 -0
- data/README.md +321 -0
- data/Rakefile +32 -0
- data/docs/agent-md-spec.md +803 -0
- data/docs/parser-design.md +1369 -0
- data/docs/registry-api.md +882 -0
- data/examples/README.md +60 -0
- data/examples/manifests/changelog_writer.agent.md +81 -0
- data/examples/manifests/usage.rb +96 -0
- data/examples/memory_handoff/app/agents/researcher_agent.rb +36 -0
- data/examples/memory_handoff/app/agents/writer_agent.rb +41 -0
- data/examples/memory_handoff/usage.rb +45 -0
- data/examples/persistent_conversation/app/agents/support_agent.rb +59 -0
- data/examples/persistent_conversation/app/controllers/support_conversations_controller.rb +24 -0
- data/examples/persistent_conversation/app/views/agents/support/instructions.md.erb +8 -0
- data/examples/persistent_conversation/usage.rb +51 -0
- data/examples/reasoning/app/agents/analysis_agent.rb +52 -0
- data/examples/reasoning/usage.rb +52 -0
- data/examples/run_tracking/app/agents/report_agent.rb +30 -0
- data/examples/run_tracking/app/controllers/agent_runs_controller.rb +43 -0
- data/examples/run_tracking/app/jobs/document_analysis_job.rb +17 -0
- data/examples/run_tracking/app/services/document_analysis_run.rb +68 -0
- data/examples/run_tracking/usage.rb +85 -0
- data/examples/tool_streaming/app/agents/browser_agent.rb +65 -0
- data/examples/tool_streaming/app/channels/tool_status_channel.rb +24 -0
- data/examples/tool_streaming/app/views/browser_agent/tools/fetch_url.json.erb +15 -0
- data/examples/tool_streaming/usage.rb +47 -0
- data/lib/generators/solid_agent/agent/agent_generator.rb +95 -0
- data/lib/generators/solid_agent/agent/templates/action.text.erb +10 -0
- data/lib/generators/solid_agent/agent/templates/agent.rb.erb +93 -0
- data/lib/generators/solid_agent/context/context_generator.rb +124 -0
- data/lib/generators/solid_agent/context/templates/context_model.rb.erb +134 -0
- data/lib/generators/solid_agent/context/templates/create_context.rb.erb +32 -0
- data/lib/generators/solid_agent/context/templates/create_generations.rb.erb +46 -0
- data/lib/generators/solid_agent/context/templates/create_messages.rb.erb +37 -0
- data/lib/generators/solid_agent/context/templates/generation_model.rb.erb +51 -0
- data/lib/generators/solid_agent/context/templates/message_model.rb.erb +47 -0
- data/lib/generators/solid_agent/install/install_generator.rb +92 -0
- data/lib/generators/solid_agent/install/templates/agent_context.rb.erb +171 -0
- data/lib/generators/solid_agent/install/templates/agent_generation.rb.erb +76 -0
- data/lib/generators/solid_agent/install/templates/agent_memory.rb.erb +51 -0
- data/lib/generators/solid_agent/install/templates/agent_memory_entry.rb.erb +12 -0
- data/lib/generators/solid_agent/install/templates/agent_message.rb.erb +76 -0
- data/lib/generators/solid_agent/install/templates/agent_run.rb.erb +122 -0
- data/lib/generators/solid_agent/install/templates/create_agent_contexts.rb.erb +32 -0
- data/lib/generators/solid_agent/install/templates/create_agent_generations.rb.erb +51 -0
- data/lib/generators/solid_agent/install/templates/create_agent_memories.rb.erb +35 -0
- data/lib/generators/solid_agent/install/templates/create_agent_messages.rb.erb +38 -0
- data/lib/generators/solid_agent/install/templates/create_agent_runs.rb.erb +46 -0
- data/lib/generators/solid_agent/install/templates/initializer.rb.erb +51 -0
- data/lib/generators/solid_agent/manifest/manifest_generator.rb +209 -0
- data/lib/generators/solid_agent/manifest/templates/agent.md.erb +39 -0
- data/lib/generators/solid_agent/manifest/templates/prompt.erb +13 -0
- data/lib/generators/solid_agent/reasons/reasons_generator.rb +83 -0
- data/lib/generators/solid_agent/reasons/templates/add_reasoning_columns.rb.erb +12 -0
- data/lib/generators/solid_agent/tool/templates/tool.json.erb +19 -0
- data/lib/generators/solid_agent/tool/tool_generator.rb +117 -0
- data/lib/solid_agent/agent_manifest/agent_builder.rb +323 -0
- data/lib/solid_agent/agent_manifest/errors.rb +26 -0
- data/lib/solid_agent/agent_manifest/exporter_registry.rb +117 -0
- data/lib/solid_agent/agent_manifest/exporters/agent_md_exporter.rb +115 -0
- data/lib/solid_agent/agent_manifest/exporters/base_exporter.rb +152 -0
- data/lib/solid_agent/agent_manifest/exporters/crewai_exporter.rb +125 -0
- data/lib/solid_agent/agent_manifest/exporters/dotprompt_exporter.rb +92 -0
- data/lib/solid_agent/agent_manifest/input_schema.rb +154 -0
- data/lib/solid_agent/agent_manifest/manifest.rb +306 -0
- data/lib/solid_agent/agent_manifest/parser_registry.rb +185 -0
- data/lib/solid_agent/agent_manifest/parsers/agent_md_parser.rb +87 -0
- data/lib/solid_agent/agent_manifest/parsers/base_parser.rb +223 -0
- data/lib/solid_agent/agent_manifest/parsers/crewai_parser.rb +201 -0
- data/lib/solid_agent/agent_manifest/parsers/dotprompt_parser.rb +122 -0
- data/lib/solid_agent/agent_manifest/parsers/github_prompt_parser.rb +143 -0
- data/lib/solid_agent/agent_manifest/picoschema.rb +254 -0
- data/lib/solid_agent/agent_manifest/registry/auth.rb +103 -0
- data/lib/solid_agent/agent_manifest/registry/client.rb +384 -0
- data/lib/solid_agent/agent_manifest/resource.rb +103 -0
- data/lib/solid_agent/agent_manifest/tool.rb +160 -0
- data/lib/solid_agent/agent_manifest/validator.rb +368 -0
- data/lib/solid_agent/agent_manifest.rb +381 -0
- data/lib/solid_agent/engine.rb +16 -0
- data/lib/solid_agent/has_context.rb +670 -0
- data/lib/solid_agent/has_memory.rb +136 -0
- data/lib/solid_agent/has_reasons.rb +230 -0
- data/lib/solid_agent/has_tools.rb +257 -0
- data/lib/solid_agent/model_naming.rb +42 -0
- data/lib/solid_agent/model_pricing.rb +93 -0
- data/lib/solid_agent/reasonable/reason.rb +205 -0
- data/lib/solid_agent/reasonable.rb +181 -0
- data/lib/solid_agent/records/agent.rb +520 -0
- data/lib/solid_agent/records/agent_run.rb +520 -0
- data/lib/solid_agent/records/agent_template.rb +142 -0
- data/lib/solid_agent/records/agent_version.rb +141 -0
- data/lib/solid_agent/records/ownable.rb +130 -0
- data/lib/solid_agent/records.rb +152 -0
- data/lib/solid_agent/run_fingerprint.rb +51 -0
- data/lib/solid_agent/streams_tool_updates.rb +178 -0
- data/lib/solid_agent/tool_cache.rb +91 -0
- data/lib/solid_agent/version.rb +5 -0
- data/lib/solid_agent.rb +95 -0
- data/sig/solid_agent.rbs +4 -0
- metadata +174 -14
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "digest"
|
|
4
|
+
require "json"
|
|
5
|
+
|
|
6
|
+
# Caches the results of tool / MCP / service interactions so repeated calls
|
|
7
|
+
# with the same arguments reuse a persisted result instead of re-running the
|
|
8
|
+
# side effect (HTTP fetch, search, remote MCP call, ...).
|
|
9
|
+
#
|
|
10
|
+
# Works out of the box in Rails apps (backed by Rails.cache); any object
|
|
11
|
+
# responding to read/write can be substituted, so tests and non-Rails
|
|
12
|
+
# runtimes can inject their own store.
|
|
13
|
+
#
|
|
14
|
+
# @example Caching a tool implementation
|
|
15
|
+
# def fetch_url(url:)
|
|
16
|
+
# SolidAgent::ToolCache.fetch(tool: "fetch_url", args: { url: url }) do
|
|
17
|
+
# Net::HTTP.get_response(URI(url)).body
|
|
18
|
+
# end
|
|
19
|
+
# end
|
|
20
|
+
#
|
|
21
|
+
# @example Disabling globally (e.g. in tests)
|
|
22
|
+
# SolidAgent::ToolCache.enabled = false
|
|
23
|
+
module SolidAgent
|
|
24
|
+
module ToolCache
|
|
25
|
+
DEFAULT_TTL = 300 # seconds
|
|
26
|
+
|
|
27
|
+
class << self
|
|
28
|
+
attr_writer :enabled, :default_ttl, :store
|
|
29
|
+
|
|
30
|
+
def enabled
|
|
31
|
+
defined?(@enabled) ? @enabled : true
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def default_ttl
|
|
35
|
+
@default_ttl || DEFAULT_TTL
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def store
|
|
39
|
+
@store || (defined?(Rails) && Rails.respond_to?(:cache) ? Rails.cache : nil)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Returns the cached result for (tool, args) or yields, caching the
|
|
43
|
+
# fresh result. Results that look like errors ({ error: ... }) are
|
|
44
|
+
# never cached, so transient failures don't stick.
|
|
45
|
+
#
|
|
46
|
+
# The returned hash is tagged with cached: true on cache hits so
|
|
47
|
+
# callers (and the model) can tell a replayed result from a fresh one.
|
|
48
|
+
def fetch(tool:, args: {}, ttl: nil, cache: store)
|
|
49
|
+
return yield unless enabled && cache
|
|
50
|
+
|
|
51
|
+
key = cache_key(tool, args)
|
|
52
|
+
cached = cache.read(key)
|
|
53
|
+
return tag_cached(cached) unless cached.nil?
|
|
54
|
+
|
|
55
|
+
result = yield
|
|
56
|
+
cache.write(key, result, expires_in: ttl || default_ttl) if cacheable?(result)
|
|
57
|
+
result
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def cache_key(tool, args)
|
|
61
|
+
digest = Digest::SHA256.hexdigest(normalize_args(args).to_json)
|
|
62
|
+
"solid_agent:tool_cache:#{tool}:#{digest}"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
private
|
|
66
|
+
|
|
67
|
+
def cacheable?(result)
|
|
68
|
+
return false if result.nil?
|
|
69
|
+
return !(result.key?(:error) || result.key?("error")) if result.respond_to?(:key?)
|
|
70
|
+
|
|
71
|
+
true
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def tag_cached(result)
|
|
75
|
+
result.respond_to?(:merge) ? result.merge(cached: true) : result
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Stable key material regardless of hash ordering or string/symbol keys.
|
|
79
|
+
def normalize_args(args)
|
|
80
|
+
case args
|
|
81
|
+
when Hash
|
|
82
|
+
args.map { |k, v| [ k.to_s, normalize_args(v) ] }.sort_by(&:first)
|
|
83
|
+
when Array
|
|
84
|
+
args.map { |v| normalize_args(v) }
|
|
85
|
+
else
|
|
86
|
+
args
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
data/lib/solid_agent.rb
CHANGED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# The gem is written for a Rails host and used to assume one had already loaded
|
|
4
|
+
# ActiveSupport and ActiveModel for it — `require "solid_agent"` on its own
|
|
5
|
+
# raised NameError on ActiveSupport::Concern. Requiring the pieces we actually
|
|
6
|
+
# use makes the gem loadable from a plain Ruby process (a rake task, an IRB
|
|
7
|
+
# session, a non-Rails consumer of AgentManifest) and costs a Rails host
|
|
8
|
+
# nothing, since these are already loaded there.
|
|
9
|
+
#
|
|
10
|
+
# The core extensions are named one by one rather than pulled in with
|
|
11
|
+
# `active_support/all`: `safe_constantize` and `presence` are what the records
|
|
12
|
+
# seam calls, and a gem should not decide for its host that every monkey patch
|
|
13
|
+
# ActiveSupport ships is loaded.
|
|
14
|
+
require "active_support"
|
|
15
|
+
require "active_support/concern"
|
|
16
|
+
require "active_support/notifications"
|
|
17
|
+
require "active_support/core_ext/object/blank"
|
|
18
|
+
require "active_support/core_ext/string/inflections"
|
|
19
|
+
require "active_model"
|
|
20
|
+
|
|
21
|
+
require_relative "solid_agent/version"
|
|
22
|
+
require_relative "solid_agent/model_naming"
|
|
23
|
+
require_relative "solid_agent/records"
|
|
24
|
+
require_relative "solid_agent/tool_cache"
|
|
25
|
+
require_relative "solid_agent/model_pricing"
|
|
26
|
+
require_relative "solid_agent/run_fingerprint"
|
|
27
|
+
|
|
28
|
+
module SolidAgent
|
|
29
|
+
class Error < StandardError; end
|
|
30
|
+
class LoadError < Error; end
|
|
31
|
+
|
|
32
|
+
class << self
|
|
33
|
+
attr_accessor :context_class, :message_class, :generation_class
|
|
34
|
+
|
|
35
|
+
def configure
|
|
36
|
+
yield self if block_given?
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Unified agent loading from any source
|
|
40
|
+
#
|
|
41
|
+
# @param source [String, Hash, URI] File path, URL, JSON, YAML, or Hash
|
|
42
|
+
# @param format [Symbol] Force format (:agent_md, :json, :yaml, :dotprompt, :crewai)
|
|
43
|
+
# @param base_class [Class] Parent class for generated agent
|
|
44
|
+
# @param as [String] Register as constant with this name
|
|
45
|
+
# @return [Class] Generated agent class
|
|
46
|
+
#
|
|
47
|
+
# @example Load from file
|
|
48
|
+
# ResearchAgent = SolidAgent.agent("agents/research.agent.md")
|
|
49
|
+
#
|
|
50
|
+
# @example Load from URL
|
|
51
|
+
# WeatherAgent = SolidAgent.agent("https://registry.example.com/weather.agent.md")
|
|
52
|
+
#
|
|
53
|
+
# @example Load from hash
|
|
54
|
+
# QuickAgent = SolidAgent.agent({ name: "quick", model: "gpt-4o", instructions: "Be helpful" })
|
|
55
|
+
#
|
|
56
|
+
def agent(source, format: nil, base_class: nil, as: nil)
|
|
57
|
+
manifest = AgentManifest.load(source, format: format)
|
|
58
|
+
AgentManifest.build(manifest, base_class: base_class, class_name: as)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Load multiple agents from a directory
|
|
62
|
+
#
|
|
63
|
+
# @param directory [String] Path to directory containing agent manifests
|
|
64
|
+
# @param pattern [String] Glob pattern for manifest files
|
|
65
|
+
# @param options [Hash] Options passed to agent()
|
|
66
|
+
# @return [Array<Class>] Array of generated agent classes
|
|
67
|
+
#
|
|
68
|
+
# @example Load all agents from config/agents
|
|
69
|
+
# SolidAgent.agents_from("config/agents")
|
|
70
|
+
#
|
|
71
|
+
def agents_from(directory, pattern: "**/*.agent.md", **options)
|
|
72
|
+
Dir.glob(File.join(directory, pattern)).map do |path|
|
|
73
|
+
agent(path, **options)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Default configuration
|
|
79
|
+
self.context_class = "AgentContext"
|
|
80
|
+
self.message_class = "AgentMessage"
|
|
81
|
+
self.generation_class = "AgentGeneration"
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
require_relative "solid_agent/has_context"
|
|
85
|
+
require_relative "solid_agent/has_memory"
|
|
86
|
+
require_relative "solid_agent/has_tools"
|
|
87
|
+
require_relative "solid_agent/streams_tool_updates"
|
|
88
|
+
require_relative "solid_agent/reasonable"
|
|
89
|
+
require_relative "solid_agent/has_reasons"
|
|
90
|
+
require_relative "solid_agent/agent_manifest"
|
|
91
|
+
|
|
92
|
+
# Load Rails integration if Rails is present
|
|
93
|
+
if defined?(Rails::Engine)
|
|
94
|
+
require_relative "solid_agent/engine"
|
|
95
|
+
end
|
data/sig/solid_agent.rbs
ADDED
metadata
CHANGED
|
@@ -1,27 +1,188 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solid_agent
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Bowen
|
|
8
|
-
|
|
9
|
-
bindir: bin
|
|
8
|
+
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: activeagent
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: 1.0.0
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: 1.0.0
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: activesupport
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '7.0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '7.0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: activerecord
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '7.0'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '7.0'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: activemodel
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '7.0'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '7.0'
|
|
68
|
+
description: SolidAgent extends ActiveAgent with database-backed prompt context management,
|
|
69
|
+
declarative tool schemas, and real-time streaming updates. Provides has_context,
|
|
70
|
+
has_tools, and streams_tool_updates concerns for building robust AI agents.
|
|
71
|
+
email:
|
|
72
|
+
- JusBowen@gmail.com
|
|
15
73
|
executables: []
|
|
16
74
|
extensions: []
|
|
17
75
|
extra_rdoc_files: []
|
|
18
76
|
files:
|
|
77
|
+
- CHANGELOG.md
|
|
78
|
+
- LICENSE
|
|
79
|
+
- README.md
|
|
80
|
+
- Rakefile
|
|
81
|
+
- docs/agent-md-spec.md
|
|
82
|
+
- docs/parser-design.md
|
|
83
|
+
- docs/registry-api.md
|
|
84
|
+
- examples/README.md
|
|
85
|
+
- examples/manifests/changelog_writer.agent.md
|
|
86
|
+
- examples/manifests/usage.rb
|
|
87
|
+
- examples/memory_handoff/app/agents/researcher_agent.rb
|
|
88
|
+
- examples/memory_handoff/app/agents/writer_agent.rb
|
|
89
|
+
- examples/memory_handoff/usage.rb
|
|
90
|
+
- examples/persistent_conversation/app/agents/support_agent.rb
|
|
91
|
+
- examples/persistent_conversation/app/controllers/support_conversations_controller.rb
|
|
92
|
+
- examples/persistent_conversation/app/views/agents/support/instructions.md.erb
|
|
93
|
+
- examples/persistent_conversation/usage.rb
|
|
94
|
+
- examples/reasoning/app/agents/analysis_agent.rb
|
|
95
|
+
- examples/reasoning/usage.rb
|
|
96
|
+
- examples/run_tracking/app/agents/report_agent.rb
|
|
97
|
+
- examples/run_tracking/app/controllers/agent_runs_controller.rb
|
|
98
|
+
- examples/run_tracking/app/jobs/document_analysis_job.rb
|
|
99
|
+
- examples/run_tracking/app/services/document_analysis_run.rb
|
|
100
|
+
- examples/run_tracking/usage.rb
|
|
101
|
+
- examples/tool_streaming/app/agents/browser_agent.rb
|
|
102
|
+
- examples/tool_streaming/app/channels/tool_status_channel.rb
|
|
103
|
+
- examples/tool_streaming/app/views/browser_agent/tools/fetch_url.json.erb
|
|
104
|
+
- examples/tool_streaming/usage.rb
|
|
105
|
+
- lib/generators/solid_agent/agent/agent_generator.rb
|
|
106
|
+
- lib/generators/solid_agent/agent/templates/action.text.erb
|
|
107
|
+
- lib/generators/solid_agent/agent/templates/agent.rb.erb
|
|
108
|
+
- lib/generators/solid_agent/context/context_generator.rb
|
|
109
|
+
- lib/generators/solid_agent/context/templates/context_model.rb.erb
|
|
110
|
+
- lib/generators/solid_agent/context/templates/create_context.rb.erb
|
|
111
|
+
- lib/generators/solid_agent/context/templates/create_generations.rb.erb
|
|
112
|
+
- lib/generators/solid_agent/context/templates/create_messages.rb.erb
|
|
113
|
+
- lib/generators/solid_agent/context/templates/generation_model.rb.erb
|
|
114
|
+
- lib/generators/solid_agent/context/templates/message_model.rb.erb
|
|
115
|
+
- lib/generators/solid_agent/install/install_generator.rb
|
|
116
|
+
- lib/generators/solid_agent/install/templates/agent_context.rb.erb
|
|
117
|
+
- lib/generators/solid_agent/install/templates/agent_generation.rb.erb
|
|
118
|
+
- lib/generators/solid_agent/install/templates/agent_memory.rb.erb
|
|
119
|
+
- lib/generators/solid_agent/install/templates/agent_memory_entry.rb.erb
|
|
120
|
+
- lib/generators/solid_agent/install/templates/agent_message.rb.erb
|
|
121
|
+
- lib/generators/solid_agent/install/templates/agent_run.rb.erb
|
|
122
|
+
- lib/generators/solid_agent/install/templates/create_agent_contexts.rb.erb
|
|
123
|
+
- lib/generators/solid_agent/install/templates/create_agent_generations.rb.erb
|
|
124
|
+
- lib/generators/solid_agent/install/templates/create_agent_memories.rb.erb
|
|
125
|
+
- lib/generators/solid_agent/install/templates/create_agent_messages.rb.erb
|
|
126
|
+
- lib/generators/solid_agent/install/templates/create_agent_runs.rb.erb
|
|
127
|
+
- lib/generators/solid_agent/install/templates/initializer.rb.erb
|
|
128
|
+
- lib/generators/solid_agent/manifest/manifest_generator.rb
|
|
129
|
+
- lib/generators/solid_agent/manifest/templates/agent.md.erb
|
|
130
|
+
- lib/generators/solid_agent/manifest/templates/prompt.erb
|
|
131
|
+
- lib/generators/solid_agent/reasons/reasons_generator.rb
|
|
132
|
+
- lib/generators/solid_agent/reasons/templates/add_reasoning_columns.rb.erb
|
|
133
|
+
- lib/generators/solid_agent/tool/templates/tool.json.erb
|
|
134
|
+
- lib/generators/solid_agent/tool/tool_generator.rb
|
|
19
135
|
- lib/solid_agent.rb
|
|
20
|
-
|
|
136
|
+
- lib/solid_agent/agent_manifest.rb
|
|
137
|
+
- lib/solid_agent/agent_manifest/agent_builder.rb
|
|
138
|
+
- lib/solid_agent/agent_manifest/errors.rb
|
|
139
|
+
- lib/solid_agent/agent_manifest/exporter_registry.rb
|
|
140
|
+
- lib/solid_agent/agent_manifest/exporters/agent_md_exporter.rb
|
|
141
|
+
- lib/solid_agent/agent_manifest/exporters/base_exporter.rb
|
|
142
|
+
- lib/solid_agent/agent_manifest/exporters/crewai_exporter.rb
|
|
143
|
+
- lib/solid_agent/agent_manifest/exporters/dotprompt_exporter.rb
|
|
144
|
+
- lib/solid_agent/agent_manifest/input_schema.rb
|
|
145
|
+
- lib/solid_agent/agent_manifest/manifest.rb
|
|
146
|
+
- lib/solid_agent/agent_manifest/parser_registry.rb
|
|
147
|
+
- lib/solid_agent/agent_manifest/parsers/agent_md_parser.rb
|
|
148
|
+
- lib/solid_agent/agent_manifest/parsers/base_parser.rb
|
|
149
|
+
- lib/solid_agent/agent_manifest/parsers/crewai_parser.rb
|
|
150
|
+
- lib/solid_agent/agent_manifest/parsers/dotprompt_parser.rb
|
|
151
|
+
- lib/solid_agent/agent_manifest/parsers/github_prompt_parser.rb
|
|
152
|
+
- lib/solid_agent/agent_manifest/picoschema.rb
|
|
153
|
+
- lib/solid_agent/agent_manifest/registry/auth.rb
|
|
154
|
+
- lib/solid_agent/agent_manifest/registry/client.rb
|
|
155
|
+
- lib/solid_agent/agent_manifest/resource.rb
|
|
156
|
+
- lib/solid_agent/agent_manifest/tool.rb
|
|
157
|
+
- lib/solid_agent/agent_manifest/validator.rb
|
|
158
|
+
- lib/solid_agent/engine.rb
|
|
159
|
+
- lib/solid_agent/has_context.rb
|
|
160
|
+
- lib/solid_agent/has_memory.rb
|
|
161
|
+
- lib/solid_agent/has_reasons.rb
|
|
162
|
+
- lib/solid_agent/has_tools.rb
|
|
163
|
+
- lib/solid_agent/model_naming.rb
|
|
164
|
+
- lib/solid_agent/model_pricing.rb
|
|
165
|
+
- lib/solid_agent/reasonable.rb
|
|
166
|
+
- lib/solid_agent/reasonable/reason.rb
|
|
167
|
+
- lib/solid_agent/records.rb
|
|
168
|
+
- lib/solid_agent/records/agent.rb
|
|
169
|
+
- lib/solid_agent/records/agent_run.rb
|
|
170
|
+
- lib/solid_agent/records/agent_template.rb
|
|
171
|
+
- lib/solid_agent/records/agent_version.rb
|
|
172
|
+
- lib/solid_agent/records/ownable.rb
|
|
173
|
+
- lib/solid_agent/run_fingerprint.rb
|
|
174
|
+
- lib/solid_agent/streams_tool_updates.rb
|
|
175
|
+
- lib/solid_agent/tool_cache.rb
|
|
176
|
+
- lib/solid_agent/version.rb
|
|
177
|
+
- sig/solid_agent.rbs
|
|
178
|
+
homepage: https://docs.activeagents.ai/solid_agent
|
|
21
179
|
licenses:
|
|
22
180
|
- MIT
|
|
23
|
-
metadata:
|
|
24
|
-
|
|
181
|
+
metadata:
|
|
182
|
+
homepage_uri: https://docs.activeagents.ai/solid_agent
|
|
183
|
+
source_code_uri: https://github.com/activeagents/solid_agent
|
|
184
|
+
changelog_uri: https://github.com/activeagents/solid_agent/blob/main/CHANGELOG.md
|
|
185
|
+
documentation_uri: https://docs.activeagents.ai/solid_agent
|
|
25
186
|
rdoc_options: []
|
|
26
187
|
require_paths:
|
|
27
188
|
- lib
|
|
@@ -29,15 +190,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
29
190
|
requirements:
|
|
30
191
|
- - ">="
|
|
31
192
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
193
|
+
version: 3.0.0
|
|
33
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
34
195
|
requirements:
|
|
35
196
|
- - ">="
|
|
36
197
|
- !ruby/object:Gem::Version
|
|
37
198
|
version: '0'
|
|
38
199
|
requirements: []
|
|
39
|
-
rubygems_version: 3.
|
|
40
|
-
signing_key:
|
|
200
|
+
rubygems_version: 3.7.2
|
|
41
201
|
specification_version: 4
|
|
42
|
-
summary:
|
|
202
|
+
summary: Database-backed context, tools, and streaming for ActiveAgent
|
|
43
203
|
test_files: []
|