UNPKG

@microsoft/kiota

Version:

npm package exposing Kiota CLI functionality to TypeScript

286 lines (285 loc) 7.67 kB
export declare enum KiotaGenerationLanguage { CSharp = 0, Java = 1, TypeScript = 2, PHP = 3, Python = 4, Go = 5, Swift = 6, Ruby = 7, CLI = 8, Dart = 9 } export declare enum KiotaPluginType { OpenAI = 0, ApiManifest = 1, ApiPlugin = 2 } export interface KiotaLogEntry { level: LogLevel; message: string; } export declare enum OpenApiAuthType { None = 0, ApiKey = 1, Http = 2, OAuth2 = 3, OpenIdConnect = 4 } export interface SecurityRequirementObject { [name: string]: string[]; } export interface KiotaOpenApiNode { segment: string; path: string; children: KiotaOpenApiNode[]; operationId?: string; summary?: string; description?: string; selected?: boolean; isOperation?: boolean; documentationUrl?: string; clientNameOrPluginName?: string; authType?: OpenApiAuthType; logs?: KiotaLogEntry[]; servers?: string[]; security?: SecurityRequirementObject[]; adaptiveCard?: AdaptiveCardInfo; } export interface AdaptiveCardInfo { dataPath: string; file: string; } export interface CacheClearableConfiguration { clearCache: boolean; } export interface KiotaShowConfiguration extends CacheClearableConfiguration { includeFilters: string[]; excludeFilters: string[]; descriptionPath: string; includeKiotaValidationRules: boolean; } export interface KiotaGetManifestDetailsConfiguration extends CacheClearableConfiguration { manifestPath: string; apiIdentifier: string; } export interface KiotaLoggedResult { logs: KiotaLogEntry[]; } export declare enum OpenApiSpecVersion { V2_0 = 0, V3_0 = 1, V3_1 = 2 } export interface KiotaTreeResult extends KiotaLoggedResult { specVersion: OpenApiSpecVersion; rootNode?: KiotaOpenApiNode; apiTitle?: string; servers?: string[]; security?: SecurityRequirementObject[]; securitySchemes?: { [key: string]: SecuritySchemeObject; }; } export interface KiotaManifestResult extends KiotaLoggedResult { apiDescriptionPath?: string; selectedPaths?: string[]; } export interface KiotaSearchResult extends KiotaLoggedResult { results: Record<string, KiotaSearchResultItem>; } export interface KiotaSearchResultItem { Title: string; Description: string; ServiceUrl?: string; DescriptionUrl?: string; VersionLabels?: string[]; } export declare enum ConsumerOperation { Add = 0, Edit = 1, Remove = 2, Generate = 3 } export declare function generationLanguageToString(language: KiotaGenerationLanguage): string; export declare const allGenerationLanguages: KiotaGenerationLanguage[]; /** * The log level from Kiota * @see https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.loglevel?view=dotnet-plat-ext-7.0 */ export declare enum LogLevel { trace = 0, debug = 1, information = 2, warning = 3, error = 4, critical = 5, none = 6 } export interface LanguageInformation { MaturityLevel: MaturityLevel; Dependencies: LanguageDependency[]; DependencyInstallCommand: string; ClientNamespaceName: string; ClientClassName: string; StructuredMimeTypes: string[]; } export interface LanguageDependency { Name: string; Version: string; DependencyType: DependencyType; } export declare enum MaturityLevel { experimental = 0, preview = 1, stable = 2 } export declare enum DependencyType { abstractions = 0, serialization = 1, authentication = 2, http = 3, bundle = 4, additional = 5 } export interface ConfigurationFile { version: string; clients: Record<string, ClientObjectProperties>; plugins: Record<string, PluginObjectProperties>; } export interface GenerationConfiguration { cleanOutput: boolean; clearCache: boolean; clientClassName: string; clientNamespaceName: string; deserializers: string[]; disabledValidationRules: string[]; excludeBackwardCompatible: boolean; excludePatterns: string[]; includeAdditionalData: boolean; includePatterns: string[]; language: KiotaGenerationLanguage; openAPIFilePath: string; outputPath: string; serializers: string[]; structuredMimeTypes: string[]; usesBackingStore: boolean; pluginTypes: KiotaPluginType[]; operation: ConsumerOperation; noWorkspace?: boolean; pluginAuthRefid?: string; pluginAuthType?: PluginAuthType | null; } export declare enum PluginAuthType { oAuthPluginVault = "OAuthPluginVault", apiKeyPluginVault = "ApiKeyPluginVault" } export interface WorkspaceObjectProperties { descriptionLocation: string; includePatterns: string[]; excludePatterns: string[]; outputPath: string; } export interface ClientObjectProperties extends WorkspaceObjectProperties { language: string; structuredMimeTypes: string[]; clientNamespaceName: string; usesBackingStore: boolean; includeAdditionalData: boolean; excludeBackwardCompatible: boolean; disabledValidationRules: string[]; } export interface PluginObjectProperties extends WorkspaceObjectProperties { types: string[]; authType?: PluginAuthType; authReferenceId?: string; } export type ClientOrPluginProperties = ClientObjectProperties | PluginObjectProperties; export interface LanguagesInformation { [key: string]: LanguageInformation; } export interface KiotaResult extends KiotaLoggedResult { isSuccess: boolean; } export interface ValidateOpenApiResult extends KiotaLoggedResult { } export interface GeneratePluginResult extends KiotaResult { aiPlugin: string; openAPISpec: string; } export interface PluginManifestResult extends KiotaResult { isValid: boolean; schema_version: string; name_for_human: string; functions: PluginFunction[]; runtime: PluginRuntime[]; } export interface PluginFunction { name: string; description: string; } export interface PluginAuth { type: string; reference_id?: string; } export interface PluginRuntime { type: string; auth: PluginAuth; run_for_functions: string[]; } export type SecuritySchemeObject = HttpSecurityScheme | ApiKeySecurityScheme | OAuth2SecurityScheme | OpenIdSecurityScheme; export interface AuthReferenceId { referenceId: string; } export interface HttpSecurityScheme extends AuthReferenceId { type: 'http'; description?: string; scheme: string; bearerFormat?: string; } export interface ApiKeySecurityScheme extends AuthReferenceId { type: 'apiKey'; description?: string; name: string; in: string; } export interface OAuth2SecurityScheme extends AuthReferenceId { type: 'oauth2'; description?: string; flows: { implicit?: { authorizationUrl: string; refreshUrl?: string; scopes: { [scope: string]: string; }; }; password?: { tokenUrl: string; refreshUrl?: string; scopes: { [scope: string]: string; }; }; clientCredentials?: { tokenUrl: string; refreshUrl?: string; scopes: { [scope: string]: string; }; }; authorizationCode?: { authorizationUrl: string; tokenUrl: string; refreshUrl?: string; scopes: { [scope: string]: string; }; }; }; } export interface OpenIdSecurityScheme extends AuthReferenceId { type: 'openIdConnect'; description?: string; openIdConnectUrl: string; }