UNPKG

octocode-mcp

Version:

Model Context Protocol (MCP) server for advanced GitHub repository analysis, code discovery, and npm package exploration. Provides AI assistants with powerful tools to search, analyze, and understand codebases across GitHub and npm ecosystems.

3 lines (2 loc) 2.63 kB
#!/usr/bin/env node import{C as i,i as t,g as a,a as e}from"./index-DnOJNPC2.js";import"node:process";import"events";import"crypto";import"child_process";import"http";import"https";import"url";import"path";import"fs";import"util";import"stream";import"assert";import"tty";import"os";import"zlib";class n{static instance;initialized=!1;static getInstance(){return this.instance||(this.instance=new n),this.instance}async initialize(){if(!this.initialized)try{await this.initializeAuthProtocols(),await this.initializeEnterpriseFeatures(),await this.initializeTokenManagement(),this.initialized=!0,this.logSuccess("Authentication system initialized successfully")}catch(i){throw this.logError("Authentication initialization failed",i),i}}async initializeAuthProtocols(){const t=i.getConfig(),a=t.oauth&&t.oauth.enabled,e=t.githubApp&&t.githubApp.enabled;if(a||e){const{createMCPAuthProtocol:i}=await import("./mcpAuthProtocol-CGKBrzJb.js");if(await i(),a){const{OAuthManager:i}=await import("./oauthManager-BvuhrXGx.js");i.getInstance().initialize(t.oauth),this.logEvent("oauth_manager_initialized","success",{clientId:t.oauth.clientId,scopes:t.oauth.scopes,redirectUri:t.oauth.redirectUri})}if(e){const{GitHubAppManager:i}=await import("./githubAppManager-DIllRVGO.js");i.getInstance().initialize(t.githubApp),this.logEvent("github_app_initialized","success",{appId:t.githubApp.appId,installationId:t.githubApp.installationId})}}}async initializeEnterpriseFeatures(){if(!t())return;const i=a();if(!i)return;if(i.auditLogging){const{AuditLogger:i}=await import("./security/auditLogger.js");i.initialize()}if(i.organizationId){const{OrganizationManager:i}=await import("./index-DnOJNPC2.js").then(function(i){return i.o});i.initialize()}if(i.rateLimiting){const{RateLimiter:i}=await import("./index-DnOJNPC2.js").then(function(i){return i.b});i.initialize()}const{PolicyManager:e}=await import("./security/policyManager.js");e.initialize()}async initializeTokenManagement(){const i=a(),t=i?{organizationId:i.organizationId,enableAuditLogging:i.auditLogging,enableRateLimiting:i.rateLimiting,enableOrganizationValidation:!!i.organizationId}:void 0,{initialize:e}=await import("./index-DnOJNPC2.js").then(function(i){return i.t});await e(t)}logSuccess(i){this.logEvent("authentication_initialized","success",{message:i})}logError(i,t){this.logEvent("authentication_initialized","failure",{message:i,error:t instanceof Error?t.message:String(t)})}logEvent(i,t,a){try{e()&&import("./security/auditLogger.js").then(({AuditLogger:e})=>{e.logEvent({action:i,outcome:t,source:"auth",details:a})})}catch{}}}export{n as AuthenticationManager};