octocode-mcp 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{authenticationManager-C3xwFjnw.js → authenticationManager-DkiqLPZQ.js} +1 -1
- package/dist/{githubAppManager-78KXjONa.js → githubAppManager-DlxxI3Sj.js} +1 -1
- package/dist/{index-Cl6NbZpo.js → index-BKz6wagi.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{mcpAuthProtocol-6QSTFH34.js → mcpAuthProtocol-Bu7RsMtl.js} +1 -1
- package/dist/{oauthManager-BFffmFRt.js → oauthManager-D0ifTCkq.js} +1 -1
- package/manifest.json +1 -1
- package/package.json +5 -5
- package/assets/logo_white.png +0 -0
- package/dist/authenticationManager-B4Pk0yzG.js +0 -2
- package/dist/authenticationManager-BfUZy9BY.js +0 -2
- package/dist/authenticationManager-C2Oclmzz.js +0 -2
- package/dist/authenticationManager-C78uwMqD.js +0 -2
- package/dist/authenticationManager-CRaglPlG.js +0 -2
- package/dist/authenticationManager-Cx9NND5E.js +0 -2
- package/dist/authenticationManager-Dz78zf5u.js +0 -2
- package/dist/authenticationManager-bC7SSq0J.js +0 -2
- package/dist/authenticationManager-eKDJ30M0.js +0 -2
- package/dist/githubAppManager-B5QbaaGx.js +0 -2
- package/dist/githubAppManager-Bg2Ye-wU.js +0 -2
- package/dist/githubAppManager-CGwzzx8w.js +0 -2
- package/dist/githubAppManager-CNlHU5Ou.js +0 -1
- package/dist/githubAppManager-CpsRG4rl.js +0 -2
- package/dist/githubAppManager-CuEb4mPi.js +0 -2
- package/dist/githubAppManager-D4XFljDt.js +0 -2
- package/dist/githubAppManager-D87q3Bmb.js +0 -2
- package/dist/githubAppManager-DOKidmRh.js +0 -2
- package/dist/githubAppManager-DS3_wyMX.js +0 -2
- package/dist/http/dev-server.js +0 -2
- package/dist/http/server.js +0 -1
- package/dist/index-0ajldcmv.js +0 -2
- package/dist/index-AUIurgb-.js +0 -2
- package/dist/index-BnFCjQ92.js +0 -2
- package/dist/index-BobLhaLy.js +0 -2
- package/dist/index-C079-iwx.js +0 -2
- package/dist/index-DD28RsnQ.js +0 -2
- package/dist/index-DVGWs_Ta.js +0 -2
- package/dist/index-DXcXLvn8.js +0 -2
- package/dist/index-tVqEmJB-.js +0 -2
- package/dist/mcpAuthProtocol-B13KZqFU.js +0 -2
- package/dist/mcpAuthProtocol-BS-hikwy.js +0 -2
- package/dist/mcpAuthProtocol-BZelxBS4.js +0 -2
- package/dist/mcpAuthProtocol-BdNkmHqg.js +0 -2
- package/dist/mcpAuthProtocol-CCxu-AAG.js +0 -2
- package/dist/mcpAuthProtocol-CWxcTI3T.js +0 -2
- package/dist/mcpAuthProtocol-CoVEgS9w.js +0 -2
- package/dist/mcpAuthProtocol-D95eDbNC.js +0 -2
- package/dist/mcpAuthProtocol-Do-yKGdS.js +0 -1
- package/dist/mcpAuthProtocol-_QcXZx6x.js +0 -2
- package/dist/oauthManager-BHzYv9PZ.js +0 -2
- package/dist/oauthManager-BRE3eIg0.js +0 -2
- package/dist/oauthManager-BrfLC9S3.js +0 -2
- package/dist/oauthManager-BzWKieH-.js +0 -2
- package/dist/oauthManager-C8XbvIKS.js +0 -2
- package/dist/oauthManager-CAqikZJP.js +0 -2
- package/dist/oauthManager-D-VNQp2U.js +0 -2
- package/dist/oauthManager-R7fIBqOI.js +0 -1
- package/dist/oauthManager-T55JqgD2.js +0 -2
- package/dist/oauthManager-dtyMawzi.js +0 -2
- package/dist/server-BqIcicR4.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{C as i,i as t,g as a,a as e}from"./index-
|
|
2
|
+
import{C as i,i as t,g as a,a as e}from"./index-BKz6wagi.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-Bu7RsMtl.js");if(await i(),a){const{OAuthManager:i}=await import("./oauthManager-D0ifTCkq.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-DlxxI3Sj.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-BKz6wagi.js").then(function(i){return i.o});i.initialize()}if(i.rateLimiting){const{RateLimiter:i}=await import("./index-BKz6wagi.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-BKz6wagi.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};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import t from"crypto";import{C as i}from"./index-
|
|
2
|
+
import t from"crypto";import{C as i}from"./index-BKz6wagi.js";import"node:process";import"events";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 e{static instance;config=null;tokenCache=new Map;installationCache=new Map;static getInstance(){return this.instance||(this.instance=new e),this.instance}initialize(t){const e=i.getConfig();if(!e.githubApp?.enabled)throw new Error("GitHub App not configured or disabled");this.config={appId:t?.appId||e.githubApp.appId,privateKey:t?.privateKey||e.githubApp.privateKey,installationId:t?.installationId||e.githubApp.installationId,baseUrl:t?.baseUrl||e.githubApp.baseUrl}}generateJWT(){if(!this.config)throw new Error("GitHub App not initialized");const i=Math.floor(Date.now()/1e3),e={iat:i-60,exp:i+600,iss:this.config.appId},n=`${Buffer.from(JSON.stringify({alg:"RS256",typ:"JWT"})).toString("base64url")}.${Buffer.from(JSON.stringify(e)).toString("base64url")}`;return`${n}.${t.sign("RSA-SHA256",Buffer.from(n),this.config.privateKey).toString("base64url")}`}async getInstallationToken(t){if(!this.config)throw new Error("GitHub App not initialized");const i=t||this.config.installationId;if(!i)throw new Error("Installation ID required");const e=this.tokenCache.get(i);if(e&&e.expiresAt>new Date(Date.now()+6e4))return e;try{const t=this.generateJWT(),e=this.getBaseUrl(),n=await fetch(`${e}/app/installations/${i}/access_tokens`,{method:"POST",headers:{Authorization:`Bearer ${t}`,Accept:"application/vnd.github.v3+json","User-Agent":this.getUserAgent()}});if(!n.ok){const t=await n.text();throw new Error(`Failed to get installation token: ${n.status} ${n.statusText} - ${t}`)}const s=await n.json(),a={token:s.token,expiresAt:new Date(s.expires_at),permissions:s.permissions||{},repositorySelection:s.repository_selection||"all",repositories:s.repositories||[]};return this.tokenCache.set(i,a),setTimeout(()=>{this.tokenCache.delete(i)},a.expiresAt.getTime()-Date.now()-6e4),await this.logAppEvent("installation_token_retrieved","success",{installationId:i,expiresAt:a.expiresAt.toISOString(),permissions:Object.keys(a.permissions)}),a}catch(t){throw await this.logAppEvent("installation_token_retrieval","failure",{installationId:i,error:t instanceof Error?t.message:String(t)}),t}}async listInstallations(){if(!this.config)throw new Error("GitHub App not initialized");try{const t=this.generateJWT(),i=this.getBaseUrl(),e=await fetch(`${i}/app/installations`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/vnd.github.v3+json","User-Agent":this.getUserAgent()}});if(!e.ok){const t=await e.text();throw new Error(`Failed to list installations: ${e.status} ${e.statusText} - ${t}`)}const n=await e.json();return n.forEach(t=>{this.installationCache.set(t.id,t)}),n}catch(t){throw await this.logAppEvent("list_installations","failure",{error:t instanceof Error?t.message:String(t)}),t}}async getInstallation(t){if(!this.config)throw new Error("GitHub App not initialized");const i=this.installationCache.get(t);if(i)return i;try{const i=this.generateJWT(),e=this.getBaseUrl(),n=await fetch(`${e}/app/installations/${t}`,{headers:{Authorization:`Bearer ${i}`,Accept:"application/vnd.github.v3+json","User-Agent":this.getUserAgent()}});if(!n.ok){const t=await n.text();throw new Error(`Failed to get installation: ${n.status} ${n.statusText} - ${t}`)}const s=await n.json();return this.installationCache.set(t,s),s}catch(i){throw await this.logAppEvent("get_installation","failure",{installationId:t,error:i instanceof Error?i.message:String(i)}),i}}async validateInstallationPermissions(t,i){try{const e=await this.getInstallationToken(t);for(const t of i){const i=e.permissions[t];if(!i||"none"===i)return!1}return!0}catch(e){return await this.logAppEvent("permission_validation","failure",{installationId:t,requiredPermissions:i,error:e instanceof Error?e.message:String(e)}),!1}}async validateRepositoryAccess(t,i,e){try{const n=await this.getInstallationToken(t);if("all"===n.repositorySelection)return!0;if(n.repositories)return n.repositories.some(t=>t.owner.login===i&&t.name===e);const s=this.getBaseUrl(),a=await fetch(`${s}/installation/repositories`,{headers:{Authorization:`token ${n.token}`,Accept:"application/vnd.github.v3+json","User-Agent":this.getUserAgent()}});return!!a.ok&&(await a.json()).repositories.some(t=>t.owner.login===i&&t.name===e)}catch(n){return await this.logAppEvent("repository_access_validation","failure",{installationId:t,owner:i,repo:e,error:n instanceof Error?n.message:String(n)}),!1}}async getInstallationUser(t){const i=await this.getInstallationToken(t),e=this.getBaseUrl(),n=await fetch(`${e}/user`,{headers:{Authorization:`token ${i.token}`,Accept:"application/vnd.github.v3+json","User-Agent":this.getUserAgent()}});if(!n.ok)throw new Error(`Failed to get installation user: ${n.status} ${n.statusText}`);return await n.json()}async getAppInfo(){if(!this.config)throw new Error("GitHub App not initialized");try{const t=this.generateJWT(),i=this.getBaseUrl(),e=await fetch(`${i}/app`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/vnd.github.v3+json","User-Agent":this.getUserAgent()}});if(!e.ok){const t=await e.text();throw new Error(`Failed to get app info: ${e.status} ${e.statusText} - ${t}`)}return await e.json()}catch(t){throw await this.logAppEvent("get_app_info","failure",{error:t instanceof Error?t.message:String(t)}),t}}clearTokenCache(){this.tokenCache.clear()}clearInstallationCache(){this.installationCache.clear()}getConfig(){return this.config?{appId:this.config.appId,installationId:this.config.installationId,baseUrl:this.config.baseUrl}:null}getBaseUrl(){return this.config?.baseUrl||"https://api.github.com"}getUserAgent(){return`octocode-mcp/${i.getConfig().version} (GitHub App)`}async logAppEvent(t,e,n){try{const s=i.getConfig();if(s.enterprise?.auditLogging){const{AuditLogger:i}=await import("./security/auditLogger.js");i.logEvent({action:`github_app_${t}`,outcome:e,source:"auth",details:{...n,appId:this.config?.appId}})}}catch{}}}export{e as GitHubAppManager,e as default};
|