mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-05 09:35:39 -05:00
Integrate Contextualization API into Azure Data Studio to get better query recommendations from Copilot (#24044)
* Boilerplate for new metadata API endpoint * Register all server metadata provider * Fully registers data provider * Registers metadata provider * Instantiate metadata service * Generates server metadata when connection is established * Allow queryEditorInput to get server metadata * Minor clean up * Renames metadata provider and request endpoint * Corrects documentation block * Integrates get server metadata request endpoint * Adjusts GetServerMetadataResult scripts type * Add back Cargo.toml file * Fix SQL hygiene error * reflect changes made in in STS for table metadata * Adds feature toggle to serverMetadataService * Places toggle before request to get create scripts * Fix build check issues * Minor review changes * Improves contextualization setting label * Generalize contextualization service names * Additional code review changes * Update extensions/mssql/src/contracts.ts Co-authored-by: Charles Gagnon <chgagnon@microsoft.com> * Update src/sql/azdata.proposed.d.ts Co-authored-by: Charles Gagnon <chgagnon@microsoft.com> * Code reivew changes * Capitalize c in contextualization * Additional review changes * Update provider type * Simplify type and method names * Unregister MSSQL ServerContextualization provider --------- Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
This commit is contained in:
32
src/sql/azdata.proposed.d.ts
vendored
32
src/sql/azdata.proposed.d.ts
vendored
@@ -887,12 +887,19 @@ declare module 'azdata' {
|
||||
|
||||
export enum DataProviderType {
|
||||
TableDesignerProvider = 'TableDesignerProvider',
|
||||
ExecutionPlanProvider = 'ExecutionPlanProvider'
|
||||
ExecutionPlanProvider = 'ExecutionPlanProvider',
|
||||
ServerContextualizationProvider = 'ServerContextualizationProvider'
|
||||
}
|
||||
|
||||
export namespace dataprotocol {
|
||||
export function registerTableDesignerProvider(provider: designers.TableDesignerProvider): vscode.Disposable;
|
||||
export function registerExecutionPlanProvider(provider: executionPlan.ExecutionPlanProvider): vscode.Disposable;
|
||||
/**
|
||||
* Registers a server contextualization provider, which can provide context about a server to extensions like GitHub
|
||||
* Copilot for improved suggestions.
|
||||
* @param provider The provider to register
|
||||
*/
|
||||
export function registerServerContextualizationProvider(provider: contextualization.ServerContextualizationProvider): vscode.Disposable
|
||||
}
|
||||
|
||||
export namespace designers {
|
||||
@@ -1773,6 +1780,29 @@ declare module 'azdata' {
|
||||
}
|
||||
}
|
||||
|
||||
export namespace contextualization {
|
||||
export interface GetServerContextualizationResult {
|
||||
/**
|
||||
* An array containing the generated server context.
|
||||
*/
|
||||
context: string[];
|
||||
}
|
||||
|
||||
export interface ServerContextualizationProvider extends DataProvider {
|
||||
/**
|
||||
* Generates server context.
|
||||
* @param ownerUri The URI of the connection to generate context for.
|
||||
*/
|
||||
generateServerContextualization(ownerUri: string): void;
|
||||
|
||||
/**
|
||||
* Gets server context, which can be in the form of create scripts but is left up each provider.
|
||||
* @param ownerUri The URI of the connection to get context for.
|
||||
*/
|
||||
getServerContextualization(ownerUri: string): Thenable<GetServerContextualizationResult>;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Component to display text with an icon representing the severity
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user