octocode-mcp 7.0.11-alpha.1 → 7.0.11-alpha.2

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.
@@ -1,5 +1,4 @@
1
1
  import type { GitHubAPIResponse, OptimizedCodeSearchResult } from './githubAPI';
2
2
  import { GitHubCodeSearchQuery } from '../types';
3
3
  import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
4
- import type { UserContext } from '../types.js';
5
- export declare function searchGitHubCodeAPI(params: GitHubCodeSearchQuery, authInfo?: AuthInfo, userContext?: UserContext): Promise<GitHubAPIResponse<OptimizedCodeSearchResult>>;
4
+ export declare function searchGitHubCodeAPI(params: GitHubCodeSearchQuery, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubAPIResponse<OptimizedCodeSearchResult>>;
@@ -2,6 +2,5 @@ import type { GitHubAPIResponse } from './githubAPI';
2
2
  import type { FileContentQuery, ContentResult, GitHubViewRepoStructureQuery } from '../types';
3
3
  import type { GitHubRepositoryStructureResult, GitHubRepositoryStructureError } from '../scheme/github_view_repo_structure';
4
4
  import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
5
- import type { UserContext } from '../types.js';
6
- export declare function fetchGitHubFileContentAPI(params: FileContentQuery, authInfo?: AuthInfo, userContext?: UserContext): Promise<GitHubAPIResponse<ContentResult>>;
7
- export declare function viewGitHubRepositoryStructureAPI(params: GitHubViewRepoStructureQuery, authInfo?: AuthInfo, userContext?: UserContext): Promise<GitHubRepositoryStructureResult | GitHubRepositoryStructureError>;
5
+ export declare function fetchGitHubFileContentAPI(params: FileContentQuery, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubAPIResponse<ContentResult>>;
6
+ export declare function viewGitHubRepositoryStructureAPI(params: GitHubViewRepoStructureQuery, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubRepositoryStructureResult | GitHubRepositoryStructureError>;
@@ -2,7 +2,6 @@ import { GitHubPullRequestsSearchParams, GitHubPullRequestItem } from './githubA
2
2
  import type { PullRequestSearchResult } from '../types';
3
3
  import { OctokitWithThrottling } from './client';
4
4
  import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
5
- import type { UserContext } from '../types.js';
6
- export declare function searchGitHubPullRequestsAPI(params: GitHubPullRequestsSearchParams, authInfo?: AuthInfo, userContext?: UserContext): Promise<PullRequestSearchResult>;
5
+ export declare function searchGitHubPullRequestsAPI(params: GitHubPullRequestsSearchParams, authInfo?: AuthInfo, sessionId?: string): Promise<PullRequestSearchResult>;
7
6
  export declare function transformPullRequestItemFromREST(item: Record<string, unknown>, params: GitHubPullRequestsSearchParams, octokit: InstanceType<typeof OctokitWithThrottling>, authInfo?: AuthInfo): Promise<GitHubPullRequestItem>;
8
- export declare function fetchGitHubPullRequestByNumberAPI(params: GitHubPullRequestsSearchParams, authInfo?: AuthInfo, userContext?: UserContext): Promise<PullRequestSearchResult>;
7
+ export declare function fetchGitHubPullRequestByNumberAPI(params: GitHubPullRequestsSearchParams, authInfo?: AuthInfo, sessionId?: string): Promise<PullRequestSearchResult>;
@@ -1,6 +1,6 @@
1
1
  import type { GitHubAPIResponse } from './githubAPI';
2
- import type { GitHubReposSearchQuery, SimplifiedRepository, UserContext } from '../types';
2
+ import type { GitHubReposSearchQuery, SimplifiedRepository } from '../types';
3
3
  import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
4
- export declare function searchGitHubReposAPI(params: GitHubReposSearchQuery, authInfo?: AuthInfo, userContext?: UserContext): Promise<GitHubAPIResponse<{
4
+ export declare function searchGitHubReposAPI(params: GitHubReposSearchQuery, authInfo?: AuthInfo, sessionId?: string): Promise<GitHubAPIResponse<{
5
5
  repositories: SimplifiedRepository[];
6
6
  }>>;
@@ -1,16 +1,49 @@
1
1
  import { CallToolResult } from '@modelcontextprotocol/sdk/types';
2
2
  import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
3
- import type { UserContext } from '../types.js';
4
- export declare function withSecurityValidation<T extends Record<string, unknown>>(toolName: string, toolHandler: (sanitizedArgs: T, authInfo?: AuthInfo, userContext?: UserContext) => Promise<CallToolResult>): (args: unknown, { authInfo, sessionId }: {
3
+ export declare function withSecurityValidation<T extends Record<string, unknown>>(toolName: string, toolHandler: (sanitizedArgs: T, authInfo?: AuthInfo, sessionId?: string) => Promise<CallToolResult>): (args: unknown, { authInfo, sessionId }: {
5
4
  authInfo?: AuthInfo;
6
5
  sessionId?: string;
7
6
  }) => Promise<CallToolResult>;
8
7
  export declare function withBasicSecurityValidation<T extends Record<string, unknown>>(toolHandler: (sanitizedArgs: T) => Promise<CallToolResult>): (args: unknown) => Promise<CallToolResult>;
8
+ /**
9
+ * Extracts research fields from a single query object.
10
+ * Used for logging individual queries in bulk operations.
11
+ */
12
+ export declare function extractResearchFieldsFromSingleQuery(query: Record<string, unknown>): {
13
+ mainResearchGoal?: string;
14
+ researchGoal?: string;
15
+ reasoning?: string;
16
+ };
9
17
  export declare function extractResearchFields(params: Record<string, unknown>): {
10
18
  mainResearchGoal?: string;
11
19
  researchGoal?: string;
12
20
  reasoning?: string;
13
21
  };
22
+ /**
23
+ * Extracts repository identifiers from a single query object.
24
+ * Used for logging individual queries in bulk operations.
25
+ *
26
+ * Supports multiple parameter formats:
27
+ * - Combined repository field: `repository: "owner/repo"`
28
+ * - Separate owner/repo fields: `owner: "owner", repo: "repo"`
29
+ * - Owner only: `owner: "owner"` (for tools like github_search_repos)
30
+ *
31
+ * @param query - A single query object containing repository information
32
+ * @returns Array of repository identifiers (typically one, but can be multiple for some tools)
33
+ *
34
+ * @example
35
+ * extractRepoOwnerFromSingleQuery({ repository: "facebook/react" })
36
+ * // Returns: ["facebook/react"]
37
+ *
38
+ * @example
39
+ * extractRepoOwnerFromSingleQuery({ owner: "microsoft", repo: "vscode" })
40
+ * // Returns: ["microsoft/vscode"]
41
+ *
42
+ * @example
43
+ * extractRepoOwnerFromSingleQuery({ owner: "vercel" })
44
+ * // Returns: ["vercel"]
45
+ */
46
+ export declare function extractRepoOwnerFromSingleQuery(query: Record<string, unknown>): string[];
14
47
  /**
15
48
  * Extracts repository identifiers from tool parameters for logging purposes.
16
49
  *
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Comprehensive tests to verify userContext and authInfo propagation
2
+ * Comprehensive tests to verify sessionId and authInfo propagation
3
3
  * from Tools → GitHub API layer for ALL tools
4
4
  *
5
5
  * This test suite ensures that:
6
- * 1. All tools correctly receive userContext from withSecurityValidation
7
- * 2. All tools correctly pass userContext (or authInfo) to GitHub APIs
8
- * 3. All GitHub APIs properly receive and use userContext for caching
6
+ * 1. All tools correctly receive sessionId from withSecurityValidation
7
+ * 2. All tools correctly pass sessionId to GitHub APIs
8
+ * 3. All GitHub APIs properly receive and use sessionId for caching
9
9
  */
10
10
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "octocode-mcp",
3
- "version": "7.0.11-alpha.1",
3
+ "version": "7.0.11-alpha.2",
4
4
  "description": "Model Context Protocol (MCP) server for advanced GitHub repository analysis and code discovery. Provides AI assistants with powerful tools to search, analyze, and understand codebases across GitHub.",
5
5
  "keywords": [
6
6
  "mcp",