/* tslint:disable */ /* eslint-disable */ /** * Sonatype Guide API * REST API into [Sonatype Guide](https://guide.sonatype.com). * * The version of the OpenAPI document: 202607 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { AgenticModeAccessResponse, EffectiveConfigYamlResponse, GovernanceWriteResponse, OrgConfigRequest, OrgGovernanceView, RemovalPrResult, RepoConfigRequest, RepoGovernanceView, } from '../models/index'; import { AgenticModeAccessResponseFromJSON, AgenticModeAccessResponseToJSON, EffectiveConfigYamlResponseFromJSON, EffectiveConfigYamlResponseToJSON, GovernanceWriteResponseFromJSON, GovernanceWriteResponseToJSON, OrgConfigRequestFromJSON, OrgConfigRequestToJSON, OrgGovernanceViewFromJSON, OrgGovernanceViewToJSON, RemovalPrResultFromJSON, RemovalPrResultToJSON, RepoConfigRequestFromJSON, RepoConfigRequestToJSON, RepoGovernanceViewFromJSON, RepoGovernanceViewToJSON, } from '../models/index'; export interface AGPGovernanceApiDeleteRepoConfigRequest { installationRepoId: number; expectedVersion?: number; } export interface AGPGovernanceApiGetRepoConfigRequest { installationRepoId: number; } export interface AGPGovernanceApiGetRepoEffectiveConfigRequest { installationRepoId: number; } export interface AGPGovernanceApiOpenRemovalPrRequest { installationRepoId: number; merge?: boolean; } export interface AGPGovernanceApiPauseRequest { installationRepoId: number; } export interface AGPGovernanceApiResumeRequest { installationRepoId: number; } export interface AGPGovernanceApiUpdateOrgConfigRequest { orgConfigRequest: OrgConfigRequest; } export interface AGPGovernanceApiUpdateRepoConfigRequest { installationRepoId: number; repoConfigRequest: RepoConfigRequest; } /** * */ export class AGPGovernanceApi extends runtime.BaseAPI { /** * Whether the caller\'s org is registered for AgentP agentic mode (org-scoped; gates the AI Fix toggle + AI agent config in the UI) */ async agenticModeAccessRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/agentic-mode-access`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AgenticModeAccessResponseFromJSON(jsonValue)); } /** * Whether the caller\'s org is registered for AgentP agentic mode (org-scoped; gates the AI Fix toggle + AI agent config in the UI) */ async agenticModeAccess(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.agenticModeAccessRaw(initOverrides); return await response.value(); } /** * Reset a repo to the Default Configuration by clearing its config overrides (any org member) */ async deleteRepoConfigRaw(requestParameters: AGPGovernanceApiDeleteRepoConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationRepoId'] == null) { throw new runtime.RequiredError( 'installationRepoId', 'Required parameter "installationRepoId" was null or undefined when calling deleteRepoConfig().' ); } const queryParameters: any = {}; if (requestParameters['expectedVersion'] != null) { queryParameters['expectedVersion'] = requestParameters['expectedVersion']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/repos/{installationRepoId}/config`; urlPath = urlPath.replace(`{${"installationRepoId"}}`, encodeURIComponent(String(requestParameters['installationRepoId']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Reset a repo to the Default Configuration by clearing its config overrides (any org member) */ async deleteRepoConfig(requestParameters: AGPGovernanceApiDeleteRepoConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteRepoConfigRaw(requestParameters, initOverrides); } /** * Get the AgentP Default Configuration (read: any org member) */ async getOrgConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/org/config`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => OrgGovernanceViewFromJSON(jsonValue)); } /** * Get the AgentP Default Configuration (read: any org member) */ async getOrgConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrgConfigRaw(initOverrides); return await response.value(); } /** * Get the rendered Default Configuration agp.yml (defaults + org) (Owner-only) */ async getOrgEffectiveConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/org/effective-config`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => EffectiveConfigYamlResponseFromJSON(jsonValue)); } /** * Get the rendered Default Configuration agp.yml (defaults + org) (Owner-only) */ async getOrgEffectiveConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrgEffectiveConfigRaw(initOverrides); return await response.value(); } /** * Get a repo\'s AgentP config overrides + inherited Default Configuration + version (any org member) */ async getRepoConfigRaw(requestParameters: AGPGovernanceApiGetRepoConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationRepoId'] == null) { throw new runtime.RequiredError( 'installationRepoId', 'Required parameter "installationRepoId" was null or undefined when calling getRepoConfig().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/repos/{installationRepoId}/config`; urlPath = urlPath.replace(`{${"installationRepoId"}}`, encodeURIComponent(String(requestParameters['installationRepoId']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RepoGovernanceViewFromJSON(jsonValue)); } /** * Get a repo\'s AgentP config overrides + inherited Default Configuration + version (any org member) */ async getRepoConfig(requestParameters: AGPGovernanceApiGetRepoConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getRepoConfigRaw(requestParameters, initOverrides); return await response.value(); } /** * Get the rendered effective agp.yml for a repo (defaults + org + overrides) (any org member) */ async getRepoEffectiveConfigRaw(requestParameters: AGPGovernanceApiGetRepoEffectiveConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationRepoId'] == null) { throw new runtime.RequiredError( 'installationRepoId', 'Required parameter "installationRepoId" was null or undefined when calling getRepoEffectiveConfig().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/repos/{installationRepoId}/effective-config`; urlPath = urlPath.replace(`{${"installationRepoId"}}`, encodeURIComponent(String(requestParameters['installationRepoId']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => EffectiveConfigYamlResponseFromJSON(jsonValue)); } /** * Get the rendered effective agp.yml for a repo (defaults + org + overrides) (any org member) */ async getRepoEffectiveConfig(requestParameters: AGPGovernanceApiGetRepoEffectiveConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getRepoEffectiveConfigRaw(requestParameters, initOverrides); return await response.value(); } /** * Open (and optionally merge) a PR removing the AgentP workflow file from a repository (any org member) */ async openRemovalPrRaw(requestParameters: AGPGovernanceApiOpenRemovalPrRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationRepoId'] == null) { throw new runtime.RequiredError( 'installationRepoId', 'Required parameter "installationRepoId" was null or undefined when calling openRemovalPr().' ); } const queryParameters: any = {}; if (requestParameters['merge'] != null) { queryParameters['merge'] = requestParameters['merge']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/repos/{installationRepoId}/removal-pr`; urlPath = urlPath.replace(`{${"installationRepoId"}}`, encodeURIComponent(String(requestParameters['installationRepoId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RemovalPrResultFromJSON(jsonValue)); } /** * Open (and optionally merge) a PR removing the AgentP workflow file from a repository (any org member) */ async openRemovalPr(requestParameters: AGPGovernanceApiOpenRemovalPrRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.openRemovalPrRaw(requestParameters, initOverrides); return await response.value(); } /** * Pause AgentP for a repository (any org member) */ async pauseRaw(requestParameters: AGPGovernanceApiPauseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationRepoId'] == null) { throw new runtime.RequiredError( 'installationRepoId', 'Required parameter "installationRepoId" was null or undefined when calling pause().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/repos/{installationRepoId}/pause`; urlPath = urlPath.replace(`{${"installationRepoId"}}`, encodeURIComponent(String(requestParameters['installationRepoId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Pause AgentP for a repository (any org member) */ async pause(requestParameters: AGPGovernanceApiPauseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.pauseRaw(requestParameters, initOverrides); } /** * Resume AgentP for a repository (any org member) */ async resumeRaw(requestParameters: AGPGovernanceApiResumeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationRepoId'] == null) { throw new runtime.RequiredError( 'installationRepoId', 'Required parameter "installationRepoId" was null or undefined when calling resume().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/repos/{installationRepoId}/resume`; urlPath = urlPath.replace(`{${"installationRepoId"}}`, encodeURIComponent(String(requestParameters['installationRepoId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Resume AgentP for a repository (any org member) */ async resume(requestParameters: AGPGovernanceApiResumeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.resumeRaw(requestParameters, initOverrides); } /** * Set the AgentP Default Configuration + developer-access flag (Owner-only) */ async updateOrgConfigRaw(requestParameters: AGPGovernanceApiUpdateOrgConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['orgConfigRequest'] == null) { throw new runtime.RequiredError( 'orgConfigRequest', 'Required parameter "orgConfigRequest" was null or undefined when calling updateOrgConfig().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/org/config`; const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: OrgConfigRequestToJSON(requestParameters['orgConfigRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GovernanceWriteResponseFromJSON(jsonValue)); } /** * Set the AgentP Default Configuration + developer-access flag (Owner-only) */ async updateOrgConfig(requestParameters: AGPGovernanceApiUpdateOrgConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateOrgConfigRaw(requestParameters, initOverrides); return await response.value(); } /** * Set per-repo AgentP config overrides (any org member) */ async updateRepoConfigRaw(requestParameters: AGPGovernanceApiUpdateRepoConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationRepoId'] == null) { throw new runtime.RequiredError( 'installationRepoId', 'Required parameter "installationRepoId" was null or undefined when calling updateRepoConfig().' ); } if (requestParameters['repoConfigRequest'] == null) { throw new runtime.RequiredError( 'repoConfigRequest', 'Required parameter "repoConfigRequest" was null or undefined when calling updateRepoConfig().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/agp/repos/{installationRepoId}/config`; urlPath = urlPath.replace(`{${"installationRepoId"}}`, encodeURIComponent(String(requestParameters['installationRepoId']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: RepoConfigRequestToJSON(requestParameters['repoConfigRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GovernanceWriteResponseFromJSON(jsonValue)); } /** * Set per-repo AgentP config overrides (any org member) */ async updateRepoConfig(requestParameters: AGPGovernanceApiUpdateRepoConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateRepoConfigRaw(requestParameters, initOverrides); return await response.value(); } }