Skip to content

Conversation

@jpinkney-aws
Copy link
Contributor

@jpinkney-aws jpinkney-aws commented Apr 14, 2025

Problem

  • main.ts is hard to parse and there's circular dependency between everything

Solution

  • refactor it so that all circular references can be resolved by calling a property on the WebviewUIHandler class

Notes

  • the code is the exact same other then I reference properties on the WebviewUIHandler class directly, instead of calling the top level variables
  • this makes hybrid chat a lot easier, since it's directly calling the WebviewUIHandler
  • these changes were done ontop of b127c92, so the latest main.ts changes are already refactored as well

  • Treat all work as PUBLIC. Private feature/x branches will not be squash-merged at release time.
  • Your code changes must meet the guidelines in CONTRIBUTING.md.
  • License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jpinkney-aws jpinkney-aws requested a review from a team as a code owner April 14, 2025 14:05
@github-actions
Copy link

  • This pull request modifies code in src/* but no tests were added/updated.
    • Confirm whether tests should be added or ensure the PR description explains why tests are not required.

@jpinkney-aws jpinkney-aws merged commit dc43ad2 into aws:master Apr 14, 2025
30 of 31 checks passed
jpinkney-aws added a commit that referenced this pull request Apr 16, 2025
## Problem
- we want a chat mode where agents are served by the local extension
while the regular "Chat" is served by flare

## Solution
- register mynah ui webview providers depending on lsp/normal
implementation
- temporarily disable the lsp (explain, fix, etc) commands, since they
are also registered in the normal "agent" flow
- redirect agent messages to the correct chat handler on the UI side
- redirect UI messages meant for agents to the extension side
- refactor main.ts so that it can be used by both the regular
implementation and the lsp one ~(I'll open a seperate PR to merge this
into master, since it's going to be a pain to maintain)~
    - #7033
- pass in references to mynah handlers so that mynah ref injection can
happen after in flare
    - #7046


Depends on ~#7033,
#7046

Related to aws/language-servers#962

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
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.

2 participants