mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Send server contextualization to Copilot extension (#24230)
* Send server contextualization to Copilot extension * Keep context in editor input * Remove unnecessary server context and extension service * Send context when connecting from open editor * Remove contextualization complete event * Contextualize editor after connection success * Minor clean up * Remove nested then and use async/await * Create helper function * Remove unneeded async and add comment * Encapsulate all context logic in service * Use void operator to fix floating promise * Correct return comment
This commit is contained in:
@@ -1567,8 +1567,8 @@ export interface ServerContextualizationParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export namespace GenerateServerContextualizationNotification {
|
||||
export const type = new NotificationType<ServerContextualizationParams, void>('metadata/generateServerContext');
|
||||
export namespace GenerateServerContextualizationRequest {
|
||||
export const type = new RequestType<ServerContextualizationParams, azdata.contextualization.GenerateServerContextualizationResult, void, void>('metadata/generateServerContext');
|
||||
}
|
||||
|
||||
export namespace GetServerContextualizationRequest {
|
||||
|
||||
@@ -1310,7 +1310,7 @@ export class ExecutionPlanServiceFeature extends SqlOpsFeature<undefined> {
|
||||
*/
|
||||
export class ServerContextualizationServiceFeature extends SqlOpsFeature<undefined> {
|
||||
private static readonly messagesTypes: RPCMessageType[] = [
|
||||
contracts.GenerateServerContextualizationNotification.type
|
||||
contracts.GenerateServerContextualizationRequest.type
|
||||
];
|
||||
|
||||
constructor(client: SqlOpsDataClient) {
|
||||
@@ -1330,12 +1330,18 @@ export class ServerContextualizationServiceFeature extends SqlOpsFeature<undefin
|
||||
protected registerProvider(options: undefined): Disposable {
|
||||
const client = this._client;
|
||||
|
||||
const generateServerContextualization = (ownerUri: string): void => {
|
||||
const generateServerContextualization = (ownerUri: string): Thenable<azdata.contextualization.GenerateServerContextualizationResult> => {
|
||||
const params: contracts.ServerContextualizationParams = {
|
||||
ownerUri: ownerUri
|
||||
};
|
||||
|
||||
return client.sendNotification(contracts.GenerateServerContextualizationNotification.type, params);
|
||||
return client.sendRequest(contracts.GenerateServerContextualizationRequest.type, params).then(
|
||||
r => r,
|
||||
e => {
|
||||
client.logFailedRequest(contracts.GenerateServerContextualizationRequest.type, e);
|
||||
return Promise.reject(e);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
const getServerContextualization = (ownerUri: string): Thenable<azdata.contextualization.GetServerContextualizationResult> => {
|
||||
|
||||
Reference in New Issue
Block a user