# Agent Commands **Referenced Files in This Document** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) - [MacrosCommandViewModel.cs](file://ClassicAssist/UI/ViewModels/Macros/MacrosCommandViewModel.cs) - [AgentsTabControl.xaml.cs](file://ClassicAssist/UI/Views/AgentsTabControl.xaml.cs) - [AutolootTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/AutolootTabControl.xaml.cs) - [DressTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/DressTabControl.xaml.cs) - [ScavengerTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/ScavengerTabControl.xaml.cs) - [VendorBuyTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorBuyTabControl.xaml.cs) - [VendorSellTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorSellTabControl.xaml.cs) ## Table of Contents 1. [Introduction](#introduction) 2. [Project Structure](#project-structure) 3. [Core Components](#core-components) 4. [Architecture Overview](#architecture-overview) 5. [Detailed Component Analysis](#detailed-component-analysis) 6. [Dependency Analysis](#dependency-analysis) 7. [Performance Considerations](#performance-considerations) 8. [Troubleshooting Guide](#troubleshooting-guide) 9. [Conclusion](#conclusion) 10. [Appendices](#appendices) ## Introduction This document provides detailed documentation for agent control commands within the ClassicAssist.Avalonia macro system. It covers starting, stopping, configuring, and monitoring automation agents including autoloot, dressing, scavenger, and vendor agents. The guide includes parameter specifications for agent configuration, rule modification, and status monitoring. It also provides examples of orchestration patterns, conditional activation, complex workflows, state management, error handling, performance monitoring, and integration strategies between multiple agents. ## Project Structure The agent command surface is implemented primarily in shared macro command modules and coordinated by UI components that expose agent-specific tabs and controls. Key areas include: - Macro command implementations for agent control - Agent managers for autoloot, dress, scavenger, and vendor operations - UI tab controllers and view models for agent configuration and monitoring ```mermaid graph TB subgraph "Macro Commands" AC["AgentCommands.cs"] end subgraph "Agent Managers" ALM["AutolootManager.cs"] DM["DressManager.cs"] SM["ScavengerManager.cs"] VBA["VendorBuyAgentEntry.cs"] VSA["VendorSellAgentEntry.cs"] end subgraph "UI Tabs" ATC["AgentsTabControl.xaml.cs"] ALC["AutolootTabControl.xaml.cs"] DTC["DressTabControl.xaml.cs"] STC["ScavengerTabControl.xaml.cs"] VBTC["VendorBuyTabControl.xaml.cs"] VSTC["VendorSellTabControl.xaml.cs"] end subgraph "Macro Command UI" MCV["MacrosCommandViewModel.cs"] end AC --> ALM AC --> DM AC --> SM AC --> VBA AC --> VSA ATC --> ALC ATC --> DTC ATC --> STC ATC --> VBTC ATC --> VSTC MCV --> AC ``` **Diagram sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) - [AgentsTabControl.xaml.cs](file://ClassicAssist/UI/Views/AgentsTabControl.xaml.cs) - [AutolootTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/AutolootTabControl.xaml.cs) - [DressTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/DressTabControl.xaml.cs) - [ScavengerTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/ScavengerTabControl.xaml.cs) - [VendorBuyTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorBuyTabControl.xaml.cs) - [VendorSellTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorSellTabControl.xaml.cs) - [MacrosCommandViewModel.cs](file://ClassicAssist/UI/ViewModels/Macros/MacrosCommandViewModel.cs) **Section sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) - [AgentsTabControl.xaml.cs](file://ClassicAssist/UI/Views/AgentsTabControl.xaml.cs) - [AutolootTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/AutolootTabControl.xaml.cs) - [DressTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/DressTabControl.xaml.cs) - [ScavengerTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/ScavengerTabControl.xaml.cs) - [VendorBuyTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorBuyTabControl.xaml.cs) - [VendorSellTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorSellTabControl.xaml.cs) - [MacrosCommandViewModel.cs](file://ClassicAssist/UI/ViewModels/Macros/MacrosCommandViewModel.cs) ## Core Components - AgentCommands: Implements macro commands to start, stop, configure, and query agent states across autoloot, dressing, scavenger, and vendor subsystems. - AutolootManager: Manages autoloot rules, constraints, and runtime behavior. - DressManager: Controls dressing rules and item equipping logic. - ScavengerManager: Handles scavenger rules and item collection behaviors. - VendorBuyAgentEntry / VendorSellAgentEntry: Define vendor buy/sell agent entries and associated parameters. - UI Tab Controllers: Provide user-facing interfaces for agent configuration and monitoring. Key responsibilities: - Expose macro commands for agent lifecycle (start/stop), configuration updates, and status queries. - Coordinate with manager classes to apply changes and reflect current state. - Support rule modifications via structured parameters. - Enable monitoring through status reporting and event-driven updates. **Section sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutlootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) ## Architecture Overview The agent control architecture follows a layered approach: - Macro Command Layer: Parses and executes agent control commands. - Manager Layer: Encapsulates agent-specific logic and state. - UI Layer: Provides configuration and monitoring interfaces. ```mermaid sequenceDiagram participant Macro as "Macro Engine" participant Cmd as "AgentCommands" participant ALM as "AutolootManager" participant DM as "DressManager" participant SM as "ScavengerManager" participant VBA as "VendorBuyAgentEntry" participant VSA as "VendorSellAgentEntry" Macro->>Cmd : "agent_start(agent_type, params)" Cmd->>ALM : "StartAutoloot(params)" Cmd->>DM : "StartDressing(params)" Cmd->>SM : "StartScavenger(params)" Cmd->>VBA : "StartVendorBuy(params)" Cmd->>VSA : "StartVendorSell(params)" Macro->>Cmd : "agent_stop(agent_type)" Cmd->>ALM : "StopAutoloot()" Cmd->>DM : "StopDressing()" Cmd->>SM : "StopScavenger()" Cmd->>VBA : "StopVendorBuy()" Cmd->>VSA : "StopVendorSell()" Macro->>Cmd : "agent_status(agent_type)" Cmd-->>Macro : "{state, details}" ``` **Diagram sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) ## Detailed Component Analysis ### AgentCommands AgentCommands exposes macro-level functions to control agents. Typical capabilities include: - Start/Stop: Lifecycle control for each agent type. - Configure: Apply or update agent settings and rules. - Status: Query current state and details. Parameter categories commonly used: - Agent type identifier (e.g., autoloot, dress, scavenger, vendor_buy, vendor_sell). - Rule definitions (conditions, priorities, filters). - Operational flags (enable/disable specific behaviors). - Targeting constraints (entities, items, locations). Example usage patterns: - Start an agent with minimal defaults. - Stop an agent gracefully. - Update a rule set and reapply. - Retrieve status for monitoring dashboards. ```mermaid flowchart TD Start(["Macro Call"]) --> Parse["Parse Parameters"] Parse --> Validate{"Valid?"} Validate --> |No| Error["Return Error"] Validate --> |Yes| Dispatch["Dispatch to Manager"] Dispatch --> Apply["Apply Configuration/Action"] Apply --> Report["Report Status"] Report --> End(["Done"]) Error --> End ``` **Diagram sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) **Section sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) ### Autoloot Agent Responsibilities: - Manage autoloot rules and constraints. - Evaluate incoming items against configured criteria. - Execute pick-up actions based on priority and conditions. Configuration parameters: - Item filters (name, hue, properties). - Constraints (distance, owner, container). - Priority ordering and exclusions. Status monitoring: - Active/inactive state. - Matched items count. - Last action timestamp. ```mermaid classDiagram class AutolootManager { +AddRule(rule) +RemoveRule(id) +UpdateRule(id, rule) +Start() +Stop() +GetStatus() } class AutolootEntry { +id +filters +constraints +priority } class AutolootConstraintEntry { +type +value } AutolootManager --> AutolootEntry : "manages" AutolootEntry --> AutolootConstraintEntry : "uses" ``` **Diagram sources** - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [AutolootEntry.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootEntry.cs) - [AutolootConstraintEntry.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootConstraintEntry.cs) **Section sources** - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [AutolootEntry.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootEntry.cs) - [AutolootConstraintEntry.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootConstraintEntry.cs) ### Dress Agent Responsibilities: - Maintain dressing rules for equipping items. - Handle layer-based equipment logic. - Respect conflicts and compatibility checks. Configuration parameters: - Target layers (head, torso, legs, etc.). - Item selection criteria (body, hue, quality). - Conditional triggers (buff presence, health thresholds). Status monitoring: - Current equipped items per layer. - Pending changes queue. - Last applied dress action. ```mermaid classDiagram class DressManager { +AddRule(rule) +RemoveRule(id) +UpdateRule(id, rule) +Start() +Stop() +GetStatus() } class DressAgentEntry { +id +layer +item_criteria +condition } DressManager --> DressAgentEntry : "manages" ``` **Diagram sources** - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [DressAgentEntry.cs](file://ClassicAssist.Shared/Data/Dress/DressAgentEntry.cs) **Section sources** - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [DressAgentEntry.cs](file://ClassicAssist.Shared/Data/Dress/DressAgentEntry.cs) ### Scavenger Agent Responsibilities: - Identify and collect specified items from the environment. - Navigate to targets and interact with containers. - Enforce safety constraints (combat, distance). Configuration parameters: - Item lists and search scopes. - Container preferences and exclusion rules. - Movement and targeting constraints. Status monitoring: - Items found/picked up counts. - Current target and path progress. - Errors encountered during navigation. ```mermaid classDiagram class ScavengerManager { +AddRule(rule) +RemoveRule(id) +UpdateRule(id, rule) +Start() +Stop() +GetStatus() } class ScavengerEntry { +id +item_filters +container_rules +movement_constraints } ScavengerManager --> ScavengerEntry : "manages" ``` **Diagram sources** - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [ScavengerEntry.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerEntry.cs) **Section sources** - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [ScavengerEntry.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerEntry.cs) ### Vendor Agents (Buy/Sell) Responsibilities: - Automate buying and selling transactions with vendors. - Manage shop lists and pricing constraints. - Handle inventory space and gold limits. Configuration parameters: - Buy/sell lists with quantities and price caps. - Vendor proximity and interaction rules. - Inventory capacity checks and fallback behaviors. Status monitoring: - Transactions completed/failed. - Remaining stock/gold. - Queue depth and processing rate. ```mermaid classDiagram class VendorBuyAgentEntry { +id +shop_list +price_caps +quantity_limits } class VendorSellAgentEntry { +id +sell_list +min_gold_threshold +inventory_checks } ``` **Diagram sources** - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) **Section sources** - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) ### UI Integration and Monitoring UI tabs provide configuration and real-time monitoring for each agent: - AgentsTabControl: Central hub for agent overview and quick actions. - AutolootTabControl: Rule editor and match statistics. - DressTabControl: Layer-based dress rule management. - ScavengerTabControl: Search scope and navigation controls. - VendorBuyTabControl / VendorSellTabControl: Shop list editors and transaction logs. ```mermaid sequenceDiagram participant User as "User" participant UI as "AgentsTabControl" participant SubTab as "Sub Tab Control" participant Cmd as "AgentCommands" participant Manager as "Agent Manager" User->>UI : "Open Agent Tab" UI->>SubTab : "Load Sub Tab View" User->>SubTab : "Edit Rules/Settings" SubTab->>Cmd : "agent_configure(agent_type, params)" Cmd->>Manager : "Apply Changes" Manager-->>SubTab : "Updated Status" SubTab-->>User : "Reflect Changes" ``` **Diagram sources** - [AgentsTabControl.xaml.cs](file://ClassicAssist/UI/Views/AgentsTabControl.xaml.cs) - [AutolootTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/AutolootTabControl.xaml.cs) - [DressTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/DressTabControl.xaml.cs) - [ScavengerTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/ScavengerTabControl.xaml.cs) - [VendorBuyTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorBuyTabControl.xaml.cs) - [VendorSellTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorSellTabControl.xaml.cs) - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) **Section sources** - [AgentsTabControl.xaml.cs](file://ClassicAssist/UI/Views/AgentsTabControl.xaml.cs) - [AutolootTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/AutolootTabControl.xaml.cs) - [DressTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/DressTabControl.xaml.cs) - [ScavengerTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/ScavengerTabControl.xaml.cs) - [VendorBuyTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorBuyTabControl.xaml.cs) - [VendorSellTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorSellTabControl.xaml.cs) ## Dependency Analysis Agent commands depend on manager implementations and are surfaced through UI components. The following diagram illustrates key dependencies: ```mermaid graph TB AC["AgentCommands.cs"] --> ALM["AutolootManager.cs"] AC --> DM["DressManager.cs"] AC --> SM["ScavengerManager.cs"] AC --> VBA["VendorBuyAgentEntry.cs"] AC --> VSA["VendorSellAgentEntry.cs"] ATC["AgentsTabControl.xaml.cs"] --> ALC["AutolootTabControl.xaml.cs"] ATC --> DTC["DressTabControl.xaml.cs"] ATC --> STC["ScavengerTabControl.xaml.cs"] ATC --> VBTC["VendorBuyTabControl.xaml.cs"] ATC --> VSTC["VendorSellTabControl.xaml.cs"] MCV["MacrosCommandViewModel.cs"] --> AC ``` **Diagram sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) - [AgentsTabControl.xaml.cs](file://ClassicAssist/UI/Views/AgentsTabControl.xaml.cs) - [AutolootTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/AutolootTabControl.xaml.cs) - [DressTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/DressTabControl.xaml.cs) - [ScavengerTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/ScavengerTabControl.xaml.cs) - [VendorBuyTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorBuyTabControl.xaml.cs) - [VendorSellTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorSellTabControl.xaml.cs) - [MacrosCommandViewModel.cs](file://ClassicAssist/UI/ViewModels/Macros/MacrosCommandViewModel.cs) **Section sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) - [AgentsTabControl.xaml.cs](file://ClassicAssist/UI/Views/AgentsTabControl.xaml.cs) - [AutolootTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/AutolootTabControl.xaml.cs) - [DressTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/DressTabControl.xaml.cs) - [ScavengerTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/ScavengerTabControl.xaml.cs) - [VendorBuyTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorBuyTabControl.xaml.cs) - [VendorSellTabControl.xaml.cs](file://ClassicAssist/UI/Views/Agents/VendorSellTabControl.xaml.cs) - [MacrosCommandViewModel.cs](file://ClassicAssist/UI/ViewModels/Macros/MacrosCommandViewModel.cs) ## Performance Considerations - Rule evaluation efficiency: Keep filter sets concise; avoid overly broad matches to reduce CPU overhead. - Batch updates: Group multiple rule changes into single configuration calls when possible. - Throttling: Introduce delays between frequent actions (e.g., vendor transactions) to prevent network congestion. - State caching: Cache frequently accessed data (item properties, vendor lists) to minimize repeated lookups. - Logging level: Use appropriate verbosity to balance diagnostics with performance. [No sources needed since this section provides general guidance] ## Troubleshooting Guide Common issues and resolutions: - Agent fails to start: Verify required parameters and permissions; check manager initialization logs. - Rule not applied: Confirm rule ID exists and syntax is correct; reapply configuration. - No items matched: Review filter criteria and constraints; ensure game state aligns with expectations. - Vendor transaction errors: Check gold availability, inventory space, and vendor proximity. - Status inconsistencies: Refresh agent status; restart agent if necessary. Diagnostic steps: - Use agent_status to retrieve detailed state. - Inspect UI tab logs for recent actions and errors. - Temporarily disable other agents to isolate conflicts. **Section sources** - [AgentCommands.cs](file://ClassicAssist.Shared/Data/Macros/Commands/AgentCommands.cs) - [AutolootManager.cs](file://ClassicAssist.Shared/Data/Autoloot/AutolootManager.cs) - [DressManager.cs](file://ClassicAssist.Shared/Data/Dress/DressManager.cs) - [ScavengerManager.cs](file://ClassicAssist.Shared/Data/Scavenger/ScavengerManager.cs) - [VendorBuyAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorBuyAgentEntry.cs) - [VendorSellAgentEntry.cs](file://ClassicAssist.Shared/Data/Vendors/VendorSellAgentEntry.cs) ## Conclusion Agent control commands in ClassicAssist.Avalonia provide a robust framework for automating gameplay tasks through well-defined macros. By leveraging start/stop operations, configuration updates, and status monitoring, users can orchestrate complex workflows involving autoloot, dressing, scavenger, and vendor agents. Adhering to best practices for rule design, performance tuning, and error handling ensures reliable and efficient automation. [No sources needed since this section summarizes without analyzing specific files] ## Appendices ### Parameter Specifications Summary - Agent type identifiers: autoloot, dress, scavenger, vendor_buy, vendor_sell. - Common parameters: - enable/disable flags - rule definitions (filters, constraints, priorities) - targeting and movement constraints - operational thresholds (gold, inventory limits) - Status fields: - state (active/inactive/error) - counters (matches, transactions, actions) - timestamps (last action, last update) [No sources needed since this section provides general guidance] ### Orchestration Patterns - Sequential execution: Start autoloot, then scavenger after combat ends. - Conditional activation: Enable dressing only when buff thresholds are met. - Parallel coordination: Run vendor buy and sell agents concurrently with conflict resolution. - Fallback strategies: If vendor fails, switch to alternative vendor or pause until conditions improve. [No sources needed since this section provides general guidance]