Skip to content

Display model, behavior, agent and usage based on server config/updated message#45

Merged
joaopluigi merged 10 commits intomainfrom
server-config-updated
Sep 26, 2025
Merged

Display model, behavior, agent and usage based on server config/updated message#45
joaopluigi merged 10 commits intomainfrom
server-config-updated

Conversation

@joaopluigi
Copy link
Copy Markdown
Contributor

Context

  • Introduced a new eca.State object for centralized state management, passed to the mediator for accessing configuration, usage, and tool information.
  • The mediator now exposes methods for retrieving selected model/behavior, token/cost/session info, and tool lists.
  • Added a new config container to the sidebar, displaying selected model, behavior, and MCP count.
  • Refactored usage info display logic to properly works with the server message and also moved status there.
  • Added the EcaServerMessages user command, enabling users to interactively inspect messages sent to and received from the ECA server via a picker interface.

Before

output

After

output_2

Copilot AI review requested due to automatic review settings September 25, 2025 15:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces centralized state management for the ECA plugin with real-time display updates based on server messages. The changes create a new State object that tracks configuration, usage, and tool information, while refactoring the sidebar to display this data dynamically.

  • Implements centralized state management via new eca.State object
  • Refactors sidebar to display model/behavior selection and MCP count in a config container
  • Moves usage and status information to a combined usage container with extmarks

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
lua/eca/state.lua New state management module handling server message processing and configuration tracking
lua/eca/sidebar.lua Major refactor replacing status container with config container and updating usage display logic
lua/eca/server.lua Minor cleanup removing unused capabilities field and fixing message tracking
lua/eca/observer.lua Updates subscription ID type from integer to string
lua/eca/mediator.lua Adds state dependency and accessor methods for configuration and usage data
lua/eca/init.lua Integrates state object initialization with mediator
lua/eca/commands.lua Adds new EcaServerMessages command for debugging server communication

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread lua/eca/sidebar.lua Outdated
Comment thread lua/eca/sidebar.lua Outdated
Comment thread lua/eca/commands.lua Outdated
ericdallo
ericdallo previously approved these changes Sep 25, 2025
Copy link
Copy Markdown
Member

@ericdallo ericdallo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That looks amazing!

@joaopluigi joaopluigi merged commit 3459b97 into main Sep 26, 2025
3 checks passed
@joaopluigi joaopluigi deleted the server-config-updated branch September 26, 2025 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants