* Add support for fetching release notes by version and update VscodePrompt to handle multiple versions
* Skip metaprompt test suite for vscode panel
* Remove obsolete vscode metaprompt panel test data
* Remove skipped metaprompt panel test cases from baseline.json
@@ -157,7 +176,7 @@ export class VscodePrompt extends PromptElement<VscodePromptProps, VscodePromptS
If an extension might help the user, you may suggest a search query for the extension marketplace. You must also include the command **Search marketplace** (`workbench.extensions.search`) with args set to the suggested query in the commands section at the end of your response. The query can also contain the tags "@popular", "@recommended", or "@featured" to filter the results.<br />
The user is working on a {operatingSystem} machine. Please respond with system specific commands if applicable.<br />
If a command or setting is not a valid answer, but it still relates to Visual Studio Code, please still respond.<br />
If the question is about release notes, you must respond with the release notes of the latest Visual Studio Code release. You must also include the command **Show release notes** (`update.showCurrentReleaseNotes`) in the commands section at the end of your response.<br />
If the question is about release notes, you must also include the command **Show release notes** (`update.showCurrentReleaseNotes`) in the commands section at the end of your response.<br />
If the response includes a command, only reference the command description in the description. Do not include the actual command in the description.<br />
All responses for settings and commands code blocks must strictly adhere to the template shown below:<br />
@@ -397,7 +419,11 @@ class VscodeMetaPrompt extends PromptElement<VscodeMetaPromptProps> {
Determine if the user's question is about the editor, terminal, activity bar, side bar, status bar, panel or other parts of Visual Studio Code's workbench and include those keyword in the rewrite.<br />
Determine if the user is asking about Visual Studio Code's Commands and/or Settings and explicitly include those keywords during the rewrite. <br />
If the question does not clearly indicate whether it pertains to a command or setting, categorize it as an ‘Other Question’ <br />
If the user is asking about Visual Studio Code Release Notes, simply respond with "release_notes" in your response and do not try to rephrase the question <br />
If the user is asking about Visual Studio Code Release Notes, respond using this exact protocol and do not rephrase the question: <br />
- Respond with only one of the following: `release_notes@latest` or `release_notes@last3`.<br />
- If the user does not specify a timeframe, respond with: `release_notes@latest`.<br />
- If the request is vague about a timeframe (e.g., "recent changes"), respond with: `release_notes@last3` to consider the last three versions (major.minor).<br />
- If the user asks to find or locate a specific change/feature in the release notes, respond with: `release_notes@last3` to search across the last three versions (major.minor).<br />
If the user is asking about Extensions available in Visual Studio Code, simply respond with "vscode_extensions"<br />
If the user is asking about Visual Studio Code API or Visual Studio Code Extension Development, simply respond with "vscode_api"<br />
Remove any references to "What" or "How" and instead rewrite the question as a description of the command or setting that the user is trying to find. <br />
@@ -435,7 +461,12 @@ class VscodeMetaPrompt extends PromptElement<VscodeMetaPromptProps> {
User: latest released features<br />
<br />
Assistant:<br />
release_notes<br />
release_notes@latest<br />
<br />
User: What are the recent changes?<br />
<br />
Assistant:<br />
release_notes@last3<br />
<br />
User: set up python<br />
<br />
@@ -468,3 +499,17 @@ function parseMetaPromptResponse(originalQuestion: string, response: string): st
}
return match.groups['question'].trim();
}
function getLastNMinorVersions(current: string, n: number): string[] {
const m = /^(\d+)\.(\d+)$/.exec(current);
if (!m) {
return [current];
}
const major = parseInt(m[1], 10);
let minor = parseInt(m[2], 10);
const out: string[] = [];
for (let i = 0; i < n && minor >= 0; i++, minor--) {
"name":"vscode (metaprompt) [panel] - enable word wrap in editer",
"contentFilterCount":0,
"passCount":10,
"failCount":0,
"score":1
},
{
"name":"vscode (metaprompt) [panel] - how do I change font size setting",
"contentFilterCount":0,
"passCount":10,
"failCount":0,
"score":1
},
{
"name":"vscode (metaprompt) [panel] - how to opne command pallete",
"contentFilterCount":0,
"passCount":10,
"failCount":0,
"score":1
}
]
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.