Add tokenization and context provider API types

- Implemented window delineation tests for indentation-based tokenization.
- Created tokenizer module with various tokenization strategies including TTokenizer and ApproximateTokenizer.
- Added type definitions for authentication parameters and code citation notifications.
- Introduced context provider API for extensions to supply additional context items to Copilot.
- Defined core types and schemas for position and range.
- Established status types for agent status management in IDEs.
This commit is contained in:
2026-01-18 10:24:32 +08:00
parent 55c1b180f7
commit ba49f82953
345 changed files with 0 additions and 13 deletions
@@ -0,0 +1,40 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { createServiceIdentifier } from '../../../../../util/common/services';
import { Disposable, IDisposable } from '../../../../../util/vs/base/common/lifecycle';
import { IRange } from './textDocument';
export interface IPCitationDetail {
license: string;
url: string;
}
export interface IPDocumentCitation {
inDocumentUri: string;
offsetStart: number;
offsetEnd: number;
version?: number;
location?: IRange;
matchingText?: string;
details: IPCitationDetail[];
}
export const ICompletionsCitationManager = createServiceIdentifier<ICompletionsCitationManager>('ICompletionsCitationManager');
export interface ICompletionsCitationManager {
readonly _serviceBrand: undefined;
register(): IDisposable;
handleIPCodeCitation(citation: IPDocumentCitation): Promise<void>;
}
export class NoOpCitationManager implements ICompletionsCitationManager {
declare _serviceBrand: undefined;
register() { return Disposable.None; }
async handleIPCodeCitation(citation: IPDocumentCitation): Promise<void> {
// Do nothing
}
}