-
Notifications
You must be signed in to change notification settings - Fork 4
Simplify agent DSL and remove workflow subsystem #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
adham90
wants to merge
40
commits into
main
Choose a base branch
from
refactor
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Move large payload fields (prompts, responses, attempts, tool calls, etc.) from ruby_llm_agents_executions into ruby_llm_agents_execution_details table - Add ExecutionDetail model with delegated accessors in Execution - Update migrations to support splitting and backfilling existing data - Refactor tenant budget alias with deprecation warning - Adjust generators to create execution_details migration - Update tests and factories to use detail association for detail fields - Remove file migration from upgrade generator (file migration deprecated)
Delete `ruby_llm_agents_api_configurations` table and all associated model, controller, views, tests, and generators. Migrate API key and connection settings management fully to environment variables and ruby_llm gem config. This simplifies the codebase, improves security by avoiding storing keys in the database, and aligns with 12-factor app principles. Update docs and remove UI for managing API keys and per-tenant overrides. Migration drops the table with irreversible down. Users must export existing keys and configure via environment variables and RubyLLM initializer.
- Delete all workflow runtime code, DSL, and helpers - Remove workflow generators, templates, and docs - Remove workflow controllers, views, models, and helpers - Remove workflow-related configuration and routing - Remove workflow instrumentation and callbacks - Remove workflow tests and specs - Clean workflow-specific columns from migrations and models - Remove approval and notifier classes related to workflows - Remove references to workflows from helpers and application code - Remove workflow UI components and badges - Remove workflow example apps and sample workflows - Update README to omit workflow references and features
Replace all Slack, webhook, and email notifier integrations with a single user-configurable `on_alert` proc and ActiveSupport::Notifications emission. Remove AlertMailer, templates, and configuration related to notifiers. Keep alert event dispatching, dashboard caching, and event payload schema. Update specs and docs accordingly.
Replace deprecated config.alerts hash with a unified config.on_alert callback. Update documentation and examples to illustrate declarative event filtering, custom routing, severity handling, and integration with Slack, PagerDuty, webhooks, email, and ActiveSupport::Notifications.
redaction - Add `before_call` and `after_call` callbacks for conversation agents - Remove built-in moderation DSL, execution, classes, and example agents - Remove PII redaction utility and configuration options - Remove content policy enforcement for image agents - Clean up references, specs, and dashboard related to moderation and redaction
Eliminate PII redaction and moderation config, callbacks, UI links, examples, and references to simplify the codebase and documentation.
Dropped version attribute and references for cache invalidation to rely on content-based cache keys. Updated database schema, filters, views, specs, generators, and documentation accordingly.
Add execution_details table for detailed execution data storage and clean up UI to omit workflow-related badges and filters since workflows feature was removed.
- Add simplified DSL reference and example agent for concise prompt setup - Enable `prompt` DSL with placeholder param auto-registration - Provide `system`, `returns`, `on_failure`, `cache`, `before`, and `after` as simple unified methods - Update base agent and DSL modules to support simplified prompt and system methods - Add comprehensive tests covering simplified DSL usage and inheritance - Document simplified DSL with usage examples and best practices
- Replace string delimiters with double quotes for consistency - Use system, prompt, and returns blocks for prompt and output definitions - Simplify caching syntax with `cache for:` instead of `cache_for` - Replace reliability block with `on_failure` for error handling DSL - Remove deprecated param and prompt methods in favor of simplified DSL - Update comments and examples to reflect new simplified syntax
- Limit activity chart ranges to today, 7d, and 30d (remove custom and compare options) - Simplify range display helper to match allowed ranges - Remove model cost breakdown partial and now strip partial from dashboard views - Update dashboard view to show concise activity summary with fixed range options and streamlined metrics - Adjust chart container height and styling accordingly
Refactor dashboard index view to redesign the Activity section layout and update the activity chart styling and scripting for improved appearance and consistency.
- Use monospace fonts and refined color palette in charts - Replace tables with compact flexbox lists for agents, errors, and models - Simplify and restyle recent activity section with status dots and cost display - Adjust chart height and improve tooltip styling and formatting - Update range selector styles and layout for better usability
- Simplify and unify layout of config partials for agents, embedders, image generators, moderators, speakers, and transcribers using compact, monospaced, and color-coded design - Improve circuit breaker, reliability, parameters, and tools display with clearer visuals - Redesign agent show page header, stats, filters, executions table, charts, and finish reasons for better readability and UX using a monospaced font and compact styling - Replace tables with accessible flexbox layouts in executions list for responsiveness - Update status badges and filter dropdowns for a cleaner, modern appearance
- Add TailwindCSS type to styles and adjust badge dark mode colors - Replace status dots with badges for agent and executions tables - Add today’s stats and error sparklines on agent show page - Show tools and parameters with badges on agent detail view - Make executions table hide agent column optionally and use badges for status
- Replace table with flex-based list for better responsiveness - Implement inline sort links with active indicators - Show tenant column conditionally for multi-tenant setups - Simplify pagination controls with minimal styling - Update status badges for consistent styling and smaller size - Streamline executions header styling and layout - Remove redundant container classes in filters partial
- Replace breadcrumbs with compact back link - Simplify header with inline badges and info - Convert stats and token usage to inline rows - Redesign attempts table with badges and expandable stack traces - Restyle error, parameters, response, and tool calls sections - Improve copy buttons and consistent font sizing - Streamline badge CSS classes and markup structure
- Simplify error messages in tenant form and unify styling - Replace headers with small caps section titles using monospaced font - Update tenant list to use compact list layout with badges and hover navigation - Revamp tenant show page with concise header, usage bars, and per-agent limits section - Replace breadcrumbs with simple back links across tenant views - Standardize font sizes, colors, and spacing for clarity and consistency
Rewrite system configuration view to use a clean, sectioned layout with badges and concise labels. Remove legacy card styles and improve readability.
- Update badge styles to use consistent "badge-sm" class and improved colors - Simplify tenant budget, action center, and empty state views with cleaner layouts - Remove unused partials: _alerts_feed, _breaker_strip, _budgets_bar, _nav_link, _stat_card, _breadcrumbs, _agent.html.erb - Adjust action center alert styling for compactness and clarity - Minor style fixes for enabled badge and agent type badge colors
- Add ruby_llm_agents_execution_details table with detailed execution info - Rename tenant_budgets table to tenants and add active and metadata columns - Remove deprecated agent_version column from executions - Remove workflow_id, workflow_type, and workflow_step columns from executions - Ensure idempotent migration steps and preserve existing data throughout upgrades
|
Why such a small change? xd |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a major simplification of the ruby_llm-agents gem:
{placeholder}syntaxon_alerthandler replaces built-in notifiersNew Simplified DSL
Breaking Changes
on_alerthandler)Migration
Run the upgrade generator:
Test plan
🤖 Generated with Claude Code