actionagent 1.6.0 → 1.6.2
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/app/assets/builds/action_agent.js +11 -11
- data/app/controllers/action_agent/api/agent_runs_controller.rb +2 -2
- data/app/controllers/action_agent/api/agents_controller.rb +8 -5
- data/app/controllers/action_agent/api/analytics_controller.rb +1 -1
- data/app/controllers/action_agent/api/base_controller.rb +20 -0
- data/app/controllers/action_agent/api/interactions_controller.rb +3 -3
- data/app/controllers/action_agent/api/sandboxes_controller.rb +6 -1
- data/app/controllers/action_agent/api/session_recordings_controller.rb +24 -7
- data/app/models/action_agent/agent.rb +52 -0
- data/app/models/action_agent/agent_run.rb +4 -0
- data/app/models/action_agent/agent_version.rb +10 -0
- data/app/models/action_agent/evaluation.rb +11 -0
- data/app/models/action_agent/evaluation_run.rb +4 -0
- data/app/models/action_agent/telemetry_trace.rb +28 -1
- data/app/services/action_agent/agent_registrar.rb +23 -1
- data/app/services/action_agent/agent_release.rb +61 -0
- data/app/services/action_agent/agent_tool_roster.rb +47 -21
- data/app/services/action_agent/evaluation_runner_service.rb +11 -9
- data/config/routes.rb +3 -0
- data/lib/action_agent/version.rb +1 -1
- data/lib/generators/action_agent/install_generator.rb +6 -0
- data/lib/generators/action_agent/templates/action_agent.rb.erb +8 -0
- data/lib/generators/action_agent/templates/add_agent_releases.rb.erb +50 -0
- data/lib/tasks/action_agent.rake +33 -0
- metadata +8 -3
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Agent releases: a version cut from the agent's code carries the digest of
|
|
4
|
+
# what the model was given and the deploy it shipped in, and every trace,
|
|
5
|
+
# run and evaluation run records the version it ran under. Emitted for an
|
|
6
|
+
# install whose dashboard tables predate releases; the create-table
|
|
7
|
+
# migration carries the same columns for a fresh install.
|
|
8
|
+
#
|
|
9
|
+
# Each step is guarded so the migration is safe to re-run against a database
|
|
10
|
+
# that already has some of these columns.
|
|
11
|
+
class AddAgentReleases < ActiveRecord::Migration<%= migration_version %>
|
|
12
|
+
def up
|
|
13
|
+
add_column_unless_exists :active_agent_agents, :release_digest, :string
|
|
14
|
+
|
|
15
|
+
add_column_unless_exists :active_agent_agent_versions, :release_digest, :string
|
|
16
|
+
add_column_unless_exists :active_agent_agent_versions, :revision, :string
|
|
17
|
+
add_index_unless_exists :active_agent_agent_versions, [ :agent_id, :release_digest ]
|
|
18
|
+
|
|
19
|
+
%i[active_agent_telemetry_traces active_agent_agent_runs active_agent_evaluation_runs].each do |table|
|
|
20
|
+
add_column_unless_exists table, :agent_version_id, :bigint
|
|
21
|
+
add_index_unless_exists table, :agent_version_id
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def down
|
|
26
|
+
remove_column :active_agent_agents, :release_digest if column_exists?(:active_agent_agents, :release_digest)
|
|
27
|
+
remove_column :active_agent_agent_versions, :release_digest if column_exists?(:active_agent_agent_versions, :release_digest)
|
|
28
|
+
remove_column :active_agent_agent_versions, :revision if column_exists?(:active_agent_agent_versions, :revision)
|
|
29
|
+
|
|
30
|
+
%i[active_agent_telemetry_traces active_agent_agent_runs active_agent_evaluation_runs].each do |table|
|
|
31
|
+
remove_column table, :agent_version_id if column_exists?(table, :agent_version_id)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
private
|
|
36
|
+
|
|
37
|
+
def add_column_unless_exists(table, column, type)
|
|
38
|
+
return unless table_exists?(table)
|
|
39
|
+
return if column_exists?(table, column)
|
|
40
|
+
|
|
41
|
+
add_column table, column, type
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def add_index_unless_exists(table, columns)
|
|
45
|
+
return unless table_exists?(table)
|
|
46
|
+
return if index_exists?(table, columns)
|
|
47
|
+
|
|
48
|
+
add_index table, columns
|
|
49
|
+
end
|
|
50
|
+
end
|
data/lib/tasks/action_agent.rake
CHANGED
|
@@ -7,3 +7,36 @@ namespace :action_agent do
|
|
|
7
7
|
puts "Agent template library: #{ActionAgent::AgentTemplate.count} templates"
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
|
+
|
|
11
|
+
namespace :action_agent do
|
|
12
|
+
namespace :agents do
|
|
13
|
+
desc "Cut a dashboard version for every agent whose code changed (run on deploy; REVISION=<git sha> to label it)"
|
|
14
|
+
task :release, [ :revision ] => :environment do |_task, args|
|
|
15
|
+
Rails.application.eager_load!
|
|
16
|
+
result = ActionAgent::AgentRelease.call(revision: args[:revision] || ENV["REVISION"], released_by: ENV["RELEASED_BY"])
|
|
17
|
+
|
|
18
|
+
puts "Release #{result.revision.presence || '(no revision)'}"
|
|
19
|
+
result.rows.each do |row|
|
|
20
|
+
if row.skipped
|
|
21
|
+
puts format(" %-28s skipped — %s", row.agent.name, row.skipped)
|
|
22
|
+
elsif row.cut
|
|
23
|
+
puts format(" %-28s v%-3d cut %s", row.agent.name, row.version.version_number, row.version.change_summary)
|
|
24
|
+
else
|
|
25
|
+
puts format(" %-28s v%-3d unchanged (%s)", row.agent.name, row.version.version_number, row.version.release_digest)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
puts "#{result.cut.size} cut, #{result.rows.size - result.cut.size - result.skipped.size} unchanged, #{result.skipped.size} skipped"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
desc "List each agent's current version and release"
|
|
32
|
+
task versions: :environment do
|
|
33
|
+
ActionAgent::Agent.order(:name).find_each do |agent|
|
|
34
|
+
version = agent.latest_version
|
|
35
|
+
release = agent.latest_release
|
|
36
|
+
puts format("%-28s v%-3s %s%s", agent.name, version&.version_number || "-",
|
|
37
|
+
release ? "release #{release.release_digest}" : "no release",
|
|
38
|
+
release&.revision.present? ? " · #{release.revision}" : "")
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: actionagent
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.6.
|
|
4
|
+
version: 1.6.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Bowen
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-09-17 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: activeagent
|
|
@@ -192,6 +193,7 @@ files:
|
|
|
192
193
|
- app/serializers/action_agent/trace_interaction_serializer.rb
|
|
193
194
|
- app/services/action_agent/agent_execution_service.rb
|
|
194
195
|
- app/services/action_agent/agent_registrar.rb
|
|
196
|
+
- app/services/action_agent/agent_release.rb
|
|
195
197
|
- app/services/action_agent/agent_scorecard.rb
|
|
196
198
|
- app/services/action_agent/agent_tool_roster.rb
|
|
197
199
|
- app/services/action_agent/agent_toolbox.rb
|
|
@@ -226,6 +228,7 @@ files:
|
|
|
226
228
|
- lib/generators/action_agent/install_generator.rb
|
|
227
229
|
- lib/generators/action_agent/templates/action_agent.rb.erb
|
|
228
230
|
- lib/generators/action_agent/templates/add_agent_id_to_active_agent_telemetry_traces.rb.erb
|
|
231
|
+
- lib/generators/action_agent/templates/add_agent_releases.rb.erb
|
|
229
232
|
- lib/generators/action_agent/templates/create_active_agent_dashboard_tables.rb.erb
|
|
230
233
|
- lib/generators/action_agent/templates/create_active_agent_evaluation_scenarios.rb.erb
|
|
231
234
|
- lib/generators/action_agent/templates/create_active_agent_telemetry_traces.rb.erb
|
|
@@ -238,6 +241,7 @@ metadata:
|
|
|
238
241
|
documentation_uri: https://docs.activeagents.ai/framework/self-hosted-observability
|
|
239
242
|
source_code_uri: https://github.com/activeagents/activeagent
|
|
240
243
|
rubygems_mfa_required: 'true'
|
|
244
|
+
post_install_message:
|
|
241
245
|
rdoc_options: []
|
|
242
246
|
require_paths:
|
|
243
247
|
- lib
|
|
@@ -252,7 +256,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
252
256
|
- !ruby/object:Gem::Version
|
|
253
257
|
version: '0'
|
|
254
258
|
requirements: []
|
|
255
|
-
rubygems_version: 3.
|
|
259
|
+
rubygems_version: 3.5.22
|
|
260
|
+
signing_key:
|
|
256
261
|
specification_version: 4
|
|
257
262
|
summary: The Active Agent dashboard, as a mountable Rails engine
|
|
258
263
|
test_files: []
|