Skip to content

Commit

Permalink
Add chat participant, tools, and notifications view (#6280)
Browse files Browse the repository at this point in the history
* adding code

* renaming ghpr to github

* Add "issue" tool, still needs error handling

* renaming the particpant

* wiring the tool and the chat participant

* Scaffold notifications view

* Remove slash commands

* using single quotes instead

* cleaning up the code

* tweaking the prompt in order to prompt githubpr to use the workspace tool to fix issues if so instructed

* adding a command which sends a request to fix the issue given a github url

* removing the isSticky attribute in the package.json

* Resolve Issue/PullRequest

* Use timestamp for cache invalidation

* Add commands in issues view

* filing in the TODO, removing old command

* Polish chat when clauses and menus

* Add stub action to prioritize notifications

* Update participant name

* Choose first repo if none provided in issue tool

* Basic priority computation. Lots of work left

* Saving out changes

* Increase notification page limit

* add fix issue tool

* adding back semi-colon

* renaming the types after the proposed API has been updated

* processing notifications in batches

* adding comments into the prompt for the notifications as well as reaction, formatting the prompt

* add labels to the prompt

* adding the issue reactions into the prompt

* Add search tools (#6273)

* WIP

* Get display tool called, even though it's with the wrong args

* Merge branch 'dev/chat' into alexr00/chatSearchTable

* Refactor for last tool result

* Add a 'text/display' type

* adding prompt

* Choose issue columns based on llm

* adding an icon to open the issue or PR to the side in the notifications view

* refactoring the notifications provider, breaking down the logic into smaller pieces

* fetching labels and reaction count from the issue model gql call, not the rest calls

* specifying we have only the reaction count not all reactions

* Improve search prompts
add logging
improve search tools descriptions

* Label validation in search tool

* tweaking the prompt so that prioritization is correct

* Let the user specify columns to include and make sure labels show

* Tweak some prompts

* specifying that we only add the last 5 comments so the notification does not take up too much token space

* Put all chat behind a setting

* use the model when it is available, fall back on simple sorting if the LLM prioritization fails

* adding notificationsview experimental setting

* only showing the priority when it is defined

* Add open on github.com to search query

* Improve query display

* updating the tools API and our code

* Finish updates for breaking API chages

* adding tree item which adds more notifications

* add code to load more notification and hide `load more notification` when can not load more

* Get "similar issues" search working
add a prompt specifically for free form keywords in the syntax tool
limit keywords on only one, and soft limit to lables to only one

* add different sorting methods

* assigning sorting method

* adding utils file

* small refactoring

* setting title if titleHTML is undefined

* showing the notifications corresponding to closed issues or merged PRs at the end

* add code

* removing the sorting and adding a boolean which determines that we are in dev mode

* adding the reasoning of priority assignment

* adding commands for notifications view

* only offer summarization option for issues

* using small letter for 'by'

* using correct regex for priority reasoning extraction

* Get @me working better and better handling of free form query

* 💄
- types
- match existing parse pattern
- cleanup

---------

Co-authored-by: Aiday Marlen Kyzy <amarlenkyzy@microsoft.com>
Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
  • Loading branch information
3 people authored Oct 15, 2024
1 parent 3a862f2 commit d5a6d39
Show file tree
Hide file tree
Showing 37 changed files with 2,598 additions and 81 deletions.
2 changes: 2 additions & 0 deletions build/hygiene.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ function hygiene(some) {
// good indent
} else if (/^[\t]* \*/.test(line)) {
// block comment using an extra space
} else if (/^[\s]*- /.test(line)) {
// multiline string using extra space
} else {
console.error(
file.relative + '(' + (i + 1) + ',1): Bad whitespace indentation'
Expand Down
Loading

0 comments on commit d5a6d39

Please sign in to comment.