Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passing Active Editor Info #1015

Merged

Conversation

amitjoshi438
Copy link
Contributor

This pull request includes various updates to enhance functionality, improve code structure, and support new features. The changes focus on adding new API proposals, modifying constructors and methods for better context handling, and integrating new utility functions.

Enhancements and New Features:

  • package.json: Added support for new API proposals including chatParticipant, chatVariableResolver, and languageModels.
  • PowerPagesChatParticipant.ts: Introduced a new utility function createAndReferenceLocation for referencing code locations in chat responses. [1] [2]

Code Structure Improvements:

  • OrgChangeNotifier.ts: Updated the constructor and createOrgChangeNotifierInstance method to include vscode.ExtensionContext for better context management.
  • PowerPagesCopilot.ts: Refactored to include active file content and parameters in API requests, improving the relevance of responses. [1] [2]

Utility and Configuration Updates:

  • IntelligenceApiService.ts: Added support for testing with localhost by configuring an HTTPS agent and setting appropriate headers.
  • model.ts: Expanded IActiveFileData interface to include activeFileUri, startLine, and endLine for detailed file context.

These changes collectively enhance the functionality and maintainability of the codebase, ensuring better integration and context handling across different components.

tyaginidhi and others added 18 commits May 7, 2024 15:37
* Moving auth create flow to utils (#926)

Co-authored-by: amitjoshi <[email protected]>

* Making auth provider a common module flow (#928)

* refactor: Update QuickPickProvider to handle tab input changes (#930)

The code changes in the QuickPickProvider class handle tab input changes by checking if the active tab is an instance of vscode.TabInputCustom or vscode.TabInputText. If it is, the QuickPickProvider updates the quick pick items based on the file path of the tab input.

Note: This commit message follows the convention used in recent repository commits.

* Updates to Artemis service & telemetry endpoints for gov clouds (#906)

* Updates to artemis for gov clouds

* change

* changes

---------

Co-authored-by: Shivika Gupta <[email protected]>

---------

Co-authored-by: amitjoshi438 <[email protected]>
Co-authored-by: amitjoshi <[email protected]>
Co-authored-by: Ritik Ramuka <[email protected]>
Co-authored-by: gshivi <[email protected]>
Co-authored-by: Shivika Gupta <[email protected]>
* chore: Update package.json with extension dependencies and enabled API proposals for chat participants

* feat: Add PowerPagesChatParticipant for chat functionality

* feat: Add logic to handle chat requests in PowerPagesChatParticipant

* feat: Removed logs

* TODO

* formatting change

* Remove unused extension dependency

* feat: Add handler for chat requests in PowerPagesChatParticipant

---------

Co-authored-by: amitjoshi <[email protected]>
Co-authored-by: tyaginidhi <[email protected]>
Co-authored-by: Nidhi Tyagi 🌟🐇🌴❄️ <[email protected]>
* chore: Update package.json with extension dependencies and enabled API proposals for chat participants

* feat: Add PowerPagesChatParticipant for chat functionality

* feat: Add logic to handle chat requests in PowerPagesChatParticipant

* feat: Removed logs

* TODO

* feat: Add logic to handle chat requests in PowerPagesChatParticipant(correct response format)

* chore: Remove unused code and update PowerPagesChatParticipant initialization

* chore: Update PowerPagesChatParticipant initialization and pac integration

* feat: Initialize organization details in PowerPagesChatParticipant

* chore: Remove unnecessary code and update OrgChangeNotifier initialization

* Fix lint warnings

* feat: Refactor PowerPagesChatParticipant class

The code changes refactor the PowerPagesChatParticipant class in the `PowerPagesChatParticipant.ts` file. The changes include:
- Fixing a typo in the `instance` property declaration
- Updating the constructor parameters to have consistent spacing
- Adding a comment to handle chat requests
- Removing a console.log statement
- Updating the `intializeOrgDetails` method to have consistent spacing
- Updating the `intializeOrgDetails` method to use destructuring assignment
- Updating the `intializeOrgDetails` method to update the `orgDetails` in the global state
- Removing unused code

Co-authored-by: amitjoshi <[email protected]>

* Added response for error scenarios

* Added & removed comments

* refactor: Update PowerPagesCopilot name in package.json

The code changes in the package.json file update the "name" property for the "powerpages" module to "Power Pages Copilot". This change reflects the updated name for the module.

Co-authored-by: amitjoshi <[email protected]>

* Code refactoring for utils and constants

* Enhanced pac auth handling

* refactor: Update PowerPagesChatParticipantConstants

The code changes in the `PowerPagesChatParticipantConstants.ts` file refactor the constants used in the PowerPages chat participant. The changes include:
- Cleaning up the code formatting

Co-authored-by: amitjoshi <[email protected]>

---------

Co-authored-by: amitjoshi <[email protected]>
Co-authored-by: tyaginidhi <[email protected]>
Co-authored-by: Nidhi Tyagi 🌟🐇🌴❄️ <[email protected]>
* chore: Update package.json with extension dependencies and enabled API proposals for chat participants

* feat: Add PowerPagesChatParticipant for chat functionality

* feat: Add logic to handle chat requests in PowerPagesChatParticipant

* feat: Removed logs

* TODO

* feat: Add logic to handle chat requests in PowerPagesChatParticipant(correct response format)

* feat: Add getActiveEditorContent function for retrieving active editor data

The code changes add a new function called getActiveEditorContent to the Utils module. This function retrieves the content and parameters of the active editor in Visual Studio Code. It is used in the PowerPagesCopilot module to get the active file content and its associated parameters.

Co-authored-by: amitjoshi <[email protected]>

* chore: Remove unused code and update PowerPagesChatParticipant initialization

* chore: Update PowerPagesChatParticipant initialization and pac integration

* feat: Initialize organization details in PowerPagesChatParticipant

* @powerpages aib endpoint handling

* feat: Add getActiveEditorContent function to retrieve active editor data

The code changes introduce a new function called getActiveEditorContent in the Utils module. This function allows retrieving the content and parameters of the active editor in Visual Studio Code. It is utilized in the PowerPagesCopilot module to obtain the active file content and its associated parameters.

Co-authored-by: amitjoshi <[email protected]>

* Multiline response handling

* Todo comment for auth create exp

* feat: Handle Copilot Unavailable scenario with response to user

* Update in package.json

* chore: Remove extension dependency

* Full name for @powerpages

* refactor: Refactor PowerPagesChatParticipant class
- Removing unused code

* chat api insider version

* refactor: Refactor PowerPagesChatParticipant import paths

* Update package.json version to 1.0.1-dev and other refactoring

* refactor: Remove unused code in PowerPagesChatParticipant class

* refactor: Moved Dataverse details fetch to utils

* refactor: Added entity check to utils

* refactor: Update localization strings and package version

* chore: Remove @types/vscode dependency and update package-lock.json and package.json

* chore: Update @types/vscode dependency to version 1.89.0

* chore: Remove @types/vscode dependency and update package-lock.json and package.json

---------

Co-authored-by: amitjoshi <[email protected]>
Co-authored-by: tyaginidhi <[email protected]>
* feat: Add environmentID field to OrgDetails interface

The code changes add an optional `environmentID` field to the `OrgDetails` interface in the `PowerPagesChatParticipantTypes.ts` file. This field represents the ID of the environment associated with the organization. It is used in the `getEndpoint` function in the `PowerPagesChatParticipantUtils.ts` file to retrieve the intelligence endpoint and geo name for the specified organization and environment.

Co-authored-by: amitjoshi <[email protected]>
Co-authored-by: tyaginidhi <[email protected]>

* feat: Update PowerPagesChatParticipantUtils to return componentInfo and entityName

The code changes in PowerPagesChatParticipantUtils modify the getComponentInfo function to return an object with two properties: componentInfo and entityName. This change allows for better handling of component information and entity details for the active file. The updated function is used in PowerPagesChatParticipant to retrieve the necessary data for sending API requests.

Co-authored-by: amitjoshi <[email protected]>

* feat: Modify getComponentInfo to return componentInfo and entityName

The code changes in PowerPagesChatParticipantUtils modify the getComponentInfo function to return an object with two properties: componentInfo and entityName. This change improves the handling of component information and entity details for the active file. The updated function is used in PowerPagesChatParticipant to retrieve the necessary data for sending API requests.

---------

Co-authored-by: amitjoshi <[email protected]>
* feat: Add telemetry event names for GitHub Power Pages agent

* chore: Update telemetry event names for GitHub Power Pages agent

---------

Co-authored-by: amitjoshi <[email protected]>
Co-authored-by: tyaginidhi <[email protected]>
The code changes in the `getActiveEditorContent` function of the `Utils.ts` file add support for retrieving the content and parameters of the active editor in Visual Studio Code. This function now handles selected code, visible code, and full file content scenarios. It also updates the `activeFileData` object with the appropriate content and line range information. This change improves the functionality of the `getActiveEditorContent` function and enhances the overall user experience.

Co-authored-by: amitjoshi <[email protected]>
…, visible code, and full file content scenario

Co-authored-by: amitjoshi <[email protected]>
@amitjoshi438 amitjoshi438 requested review from a team as code owners August 12, 2024 11:52
@amitjoshi438 amitjoshi438 enabled auto-merge (squash) August 14, 2024 09:13
@amitjoshi438 amitjoshi438 merged commit ffe2bca into main Aug 14, 2024
6 checks passed
@amitjoshi438 amitjoshi438 deleted the user/amitjoshi/powerpagesGithubCopilotActiveEditorInfo branch August 14, 2024 09:17
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