Skip to content

feat: create AI agent configuration wizard with dynamic model preset selectors #38

Description

@Cjay-Cyber-2

Description

To improve the developer and operator experience during agent setup, we need a refined configuration panel. This issue involves building the configuration panel that handles provider options, dynamic models selection (based on the chosen provider, e.g. Nvidia, OpenAI, Ollama), behavior settings (temperature, max tokens), and prompt template presets.

Context & Requirements

  • Target File: src/features/agents/components/AgentConfigPanel.tsx.
  • Dynamic State logic: Selecting a provider should update the available model presets list immediately without clearing unrelated inputs in the same view.
  • Templates: Users should have access to preconfigured system templates (e.g., risk analyst, high frequency arbitrageur, conservative auditor) to auto-populate prompt areas.

Acceptance Criteria

  • Create the visual component AgentConfigPanel.tsx aligned with form components.
  • Bind state models to dynamic datasets depending on selected AI providers.
  • Include interactive sliders for settings like "Temperature" and "Max Tokens" using custom styled ranges.
  • Build a dropdown that loads system prompt templates directly into the prompt text area with an option to override or custom edit the text afterwards.
  • Ensure validation using Zod prevents setting critical fields empty.

Implementation Guidance

  • Build inside src/features/agents/components/AgentConfigPanel.tsx.
  • Maintain clear separation of concerns by placing template constants in a clean data utility module under the feature directory.
  • Adhere strictly to the spacing and alignment styles set inside src/styles/tokens.css.

Testing & Validation

  • Confirm selector changes update child inputs without causing unrelated component rerenders.
  • Validate input bound protections (prevent setting temperatures below 0 or above 2).
  • Test configuration flow accessibility using only keyboard navigation controls.

Submission Guidelines

  • Open a PR that includes "Closes #".
  • Assignment by a maintainer is required before starting development.
  • Adhere to the project's strict TypeScript rules and formatting guidelines.

Wave complexity: Medium

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions