SYMBOL INDEX (292 symbols across 46 files) FILE: packages/cli/src/__tests__/auth-commands.test.ts function runCommand (line 77) | async function runCommand(...args: string[]): Promise { FILE: packages/cli/src/__tests__/auth-utils.test.ts constant CREDENTIALS_PATH (line 36) | const CREDENTIALS_PATH = "/fake-home/.context7/credentials.json"; constant CONFIG_DIR_PATH (line 37) | const CONFIG_DIR_PATH = "/fake-home/.context7"; function httpGet (line 361) | async function httpGet(url: string): Promise { function closeAndWait (line 373) | function closeAndWait(closeFn: () => void): Promise { FILE: packages/cli/src/commands/auth.ts function setAuthBaseUrl (line 22) | function setAuthBaseUrl(url: string): void { function registerAuthCommands (line 26) | function registerAuthCommands(program: Command): void { function performLogin (line 50) | async function performLogin(openBrowser = true): Promise { function loginCommand (line 117) | async function loginCommand(options: { browser: boolean }): Promise { function logoutCommand (line 135) | function logoutCommand(): void { function whoamiCommand (line 144) | async function whoamiCommand(): Promise { type WhoamiResponse (line 172) | interface WhoamiResponse { function fetchWhoami (line 179) | async function fetchWhoami(accessToken: string): Promise { FILE: packages/cli/src/commands/docs.ts function getReputationLabel (line 13) | function getReputationLabel(score: number | undefined): "High" | "Medium... function getAccessToken (line 20) | function getAccessToken(): string | undefined { function formatLibraryResult (line 26) | function formatLibraryResult(lib: LibrarySearchResult, index: number): s... function resolveCommand (line 51) | async function resolveCommand( function queryCommand (line 116) | async function queryCommand( function registerDocsCommands (line 208) | function registerDocsCommands(program: Command): void { FILE: packages/cli/src/commands/generate.ts type QueryLogEntry (line 32) | interface QueryLogEntry { function registerGenerateCommand (line 38) | function registerGenerateCommand(skillCommand: Command): void { function generateCommand (line 56) | async function generateCommand(options: GenerateOptions): Promise { FILE: packages/cli/src/commands/setup.ts type Scope (line 34) | type Scope = "global" | "project"; type SetupMode (line 35) | type SetupMode = "mcp" | "cli"; type SetupOptions (line 37) | interface SetupOptions { constant CHECKBOX_THEME (line 51) | const CHECKBOX_THEME = { function getSelectedAgents (line 58) | function getSelectedAgents(options: SetupOptions): SetupAgent[] { function registerSetupCommand (line 66) | function registerSetupCommand(program: Command): void { function authenticateAndGenerateKey (line 86) | async function authenticateAndGenerateKey(): Promise { function resolveAuth (line 120) | async function resolveAuth(options: SetupOptions): Promise { function resolveCliAuth (line 154) | async function resolveCliAuth(apiKey?: string): Promise { function isAlreadyConfigured (line 172) | async function isAlreadyConfigured(agentName: SetupAgent, scope: Scope):... function promptAgents (line 185) | async function promptAgents(scope: Scope, mode: SetupMode): Promise { function setupCommand (line 416) | async function setupCommand(options: SetupOptions): Promise { FILE: packages/cli/src/commands/skill.ts function logInstallSummary (line 58) | function logInstallSummary( function registerSkillCommands (line 88) | function registerSkillCommands(program: Command): void { function registerSkillAliases (line 169) | function registerSkillAliases(program: Command): void { function installCommand (line 206) | async function installCommand( function searchCommand (line 429) | async function searchCommand(query: string): Promise { function listCommand (line 607) | async function listCommand(options: ListOptions): Promise { function removeCommand (line 673) | async function removeCommand(name: string, options: RemoveOptions): Prom... function infoCommand (line 699) | async function infoCommand(input: string): Promise { function suggestCommand (line 743) | async function suggestCommand(options: SuggestOptions): Promise { FILE: packages/cli/src/constants.ts constant VERSION (line 8) | const VERSION: string = pkg.version; constant NAME (line 9) | const NAME: string = pkg.name; constant CLI_CLIENT_ID (line 10) | const CLI_CLIENT_ID = "2veBSofhicRBguUT"; FILE: packages/cli/src/setup/agents.ts type SetupAgent (line 5) | type SetupAgent = "claude" | "cursor" | "opencode"; type AuthMode (line 6) | type AuthMode = "oauth" | "api-key"; type AuthOptions (line 8) | interface AuthOptions { constant SETUP_AGENT_NAMES (line 13) | const SETUP_AGENT_NAMES: Record = { constant AUTH_MODE_LABELS (line 19) | const AUTH_MODE_LABELS: Record = { constant MCP_BASE_URL (line 24) | const MCP_BASE_URL = "https://mcp.context7.com"; type AgentConfig (line 26) | interface AgentConfig { function mcpUrl (line 51) | function mcpUrl(auth: AuthOptions): string { function withHeaders (line 55) | function withHeaders(base: Record, auth: AuthOptions): ... function getAgent (line 145) | function getAgent(name: SetupAgent): AgentConfig { constant ALL_AGENT_NAMES (line 149) | const ALL_AGENT_NAMES: SetupAgent[] = Object.keys(agents) as SetupAgent[]; function pathExists (line 151) | async function pathExists(p: string): Promise { function detectAgents (line 160) | async function detectAgents(scope: "project" | "global"): Promise = { constant IDE_GLOBAL_PATHS (line 164) | const IDE_GLOBAL_PATHS: Record = { constant IDE_NAMES (line 171) | const IDE_NAMES: Record = { constant UNIVERSAL_SKILLS_PATH (line 180) | const UNIVERSAL_SKILLS_PATH = ".agents/skills"; constant UNIVERSAL_SKILLS_GLOBAL_PATH (line 181) | const UNIVERSAL_SKILLS_GLOBAL_PATH = ".agents/skills"; constant UNIVERSAL_AGENTS_LABEL (line 184) | const UNIVERSAL_AGENTS_LABEL = "Amp, Codex, Gemini CLI, GitHub Copilot, ... constant VENDOR_SPECIFIC_AGENTS (line 187) | const VENDOR_SPECIFIC_AGENTS: IDE[] = ["claude", "cursor", "antigravity"]; type C7Config (line 189) | interface C7Config { constant DEFAULT_CONFIG (line 194) | const DEFAULT_CONFIG: C7Config = { type SuggestSkill (line 200) | interface SuggestSkill extends SkillSearchResult { type SuggestResponse (line 204) | interface SuggestResponse { type SkillQuotaResponse (line 210) | interface SkillQuotaResponse { type CodeExample (line 220) | interface CodeExample { type CodeSnippet (line 225) | interface CodeSnippet { type InfoSnippet (line 235) | interface InfoSnippet { type ContextResponse (line 242) | interface ContextResponse { FILE: packages/cli/src/utils/api.ts function getBaseUrl (line 19) | function getBaseUrl(): string { function setBaseUrl (line 23) | function setBaseUrl(url: string): void { function listProjectSkills (line 27) | async function listProjectSkills(project: string): Promise { function suggestSkills (line 45) | async function suggestSkills( function downloadSkill (line 61) | async function downloadSkill(project: string, skillName: string): Promis... type GenerateSkillResponse (line 88) | interface GenerateSkillResponse { function searchLibraries (line 94) | async function searchLibraries( function getSkillQuota (line 107) | async function getSkillQuota(accessToken: string): Promise { function resolveLibrary (line 271) | async function resolveLibrary( type GetContextOptions (line 300) | interface GetContextOptions { function getLibraryContext (line 304) | async function getLibraryContext( FILE: packages/cli/src/utils/auth.ts constant CONFIG_DIR (line 9) | const CONFIG_DIR = path.join(os.homedir(), ".context7"); constant CREDENTIALS_FILE (line 10) | const CREDENTIALS_FILE = path.join(CONFIG_DIR, "credentials.json"); type TokenData (line 12) | interface TokenData { type PKCEChallenge (line 21) | interface PKCEChallenge { function generatePKCE (line 26) | function generatePKCE(): PKCEChallenge { function generateState (line 32) | function generateState(): string { function ensureConfigDir (line 36) | function ensureConfigDir(): void { function saveTokens (line 42) | function saveTokens(tokens: TokenData): void { function loadTokens (line 52) | function loadTokens(): TokenData | null { function clearTokens (line 64) | function clearTokens(): boolean { function isTokenExpired (line 72) | function isTokenExpired(tokens: TokenData): boolean { function refreshAccessToken (line 79) | async function refreshAccessToken(refreshToken: string): Promise { type CallbackResult (line 123) | interface CallbackResult { constant CALLBACK_PORT (line 129) | const CALLBACK_PORT = 52417; function createCallbackServer (line 131) | function createCallbackServer(expectedState: string): { function successPage (line 219) | function successPage(): string { function escapeHtml (line 237) | function escapeHtml(text: string): string { function errorPage (line 246) | function errorPage(message: string): string { type TokenErrorResponse (line 266) | interface TokenErrorResponse { function exchangeCodeForTokens (line 271) | async function exchangeCodeForTokens( function buildAuthorizationUrl (line 298) | function buildAuthorizationUrl( FILE: packages/cli/src/utils/deps.ts function readFileOrNull (line 4) | async function readFileOrNull(path: string): Promise { function isSkippedLocally (line 13) | function isSkippedLocally(name: string): boolean { function parsePackageJson (line 17) | async function parsePackageJson(cwd: string): Promise { function parseRequirementsTxt (line 38) | async function parseRequirementsTxt(cwd: string): Promise { function parsePyprojectToml (line 54) | async function parsePyprojectToml(cwd: string): Promise { function detectProjectDependencies (line 94) | async function detectProjectDependencies(cwd: string): Promise { FILE: packages/cli/src/utils/github.ts constant GITHUB_API (line 3) | const GITHUB_API = "https://api.github.com"; constant GITHUB_RAW (line 4) | const GITHUB_RAW = "https://raw.githubusercontent.com"; type GitHubTreeItem (line 6) | interface GitHubTreeItem { type GitHubTreeResponse (line 15) | interface GitHubTreeResponse { function parseGitHubUrl (line 22) | function parseGitHubUrl(url: string): { function downloadSkillFromGitHub (line 82) | async function downloadSkillFromGitHub( FILE: packages/cli/src/utils/ide.ts function getSelectedIdes (line 29) | function getSelectedIdes(options: IDEOptions): IDE[] { function hasExplicitIdeOption (line 38) | function hasExplicitIdeOption(options: IDEOptions): boolean { function detectVendorSpecificAgents (line 43) | async function detectVendorSpecificAgents(scope: Scope): Promise { function getUniversalDir (line 59) | function getUniversalDir(scope: Scope): string { function promptForInstallTargets (line 66) | async function promptForInstallTargets( function promptForSingleTarget (line 182) | async function promptForSingleTarget( function getTargetDirs (line 249) | function getTargetDirs(targets: InstallTargets): string[] { function getTargetDirFromSelection (line 271) | function getTargetDirFromSelection(ide: IDE, scope: Scope): string { FILE: packages/cli/src/utils/installer.ts function installSkillFiles (line 6) | async function installSkillFiles( function symlinkSkill (line 28) | async function symlinkSkill( FILE: packages/cli/src/utils/parse-input.ts type ParsedSkillInput (line 1) | interface ParsedSkillInput { function parseSkillInput (line 9) | function parseSkillInput(input: string): ParsedSkillInput | null { FILE: packages/cli/src/utils/prompts.ts type CheckboxConfig (line 5) | type CheckboxConfig = Parameters>[0]; type CheckboxChoice (line 6) | type CheckboxChoice = Exclude["choices"][number], S... function terminalLink (line 11) | function terminalLink(text: string, url: string, color?: (s: string) => ... function formatPopularity (line 20) | function formatPopularity(count: number | undefined): string { function formatInstallRange (line 40) | function formatInstallRange(count: number | undefined): string { function formatTrust (line 52) | function formatTrust(score: number | undefined): string { function getTrustLabel (line 62) | function getTrustLabel(score: number | undefined): string { type CheckboxWithHoverOptions (line 68) | interface CheckboxWithHoverOptions { function checkboxWithHover (line 73) | async function checkboxWithHover( FILE: packages/cli/src/utils/selectOrInput.ts type SelectOrInputConfig (line 13) | interface SelectOrInputConfig { function reorderOptions (line 19) | function reorderOptions(options: string[], recommendedIndex: number): st... FILE: packages/cli/src/utils/tracking.ts function trackEvent (line 3) | function trackEvent(event: string, data?: Record): void { FILE: packages/mcp/src/index.ts constant DEFAULT_PORT (line 17) | const DEFAULT_PORT = 3000; constant TRANSPORT_TYPE (line 43) | const TRANSPORT_TYPE = (cliOptions.transport || "stdio") as "stdio" | "h... constant CLI_PORT (line 62) | const CLI_PORT = (() => { function getClientContext (line 76) | function getClientContext(): ClientContext { function getClientIp (line 96) | function getClientIp(req: express.Request): string | undefined { function main (line 267) | async function main() { FILE: packages/mcp/src/lib/api.ts function parseErrorResponse (line 14) | async function parseErrorResponse(response: Response, apiKey?: string): ... constant PROXY_URL (line 39) | const PROXY_URL: string | null = constant CUSTOM_CA_CERTS (line 46) | const CUSTOM_CA_CERTS: string | undefined = process.env.NODE_EXTRA_CA_CE... function loadCustomCACerts (line 48) | function loadCustomCACerts(): Buffer | undefined { function searchLibraries (line 89) | async function searchLibraries( function fetchLibraryContext (line 122) | async function fetchLibraryContext( FILE: packages/mcp/src/lib/constants.ts constant SERVER_VERSION (line 8) | const SERVER_VERSION: string = pkg.version; constant CONTEXT7_BASE_URL (line 10) | const CONTEXT7_BASE_URL = "https://context7.com"; constant MCP_RESOURCE_URL (line 11) | const MCP_RESOURCE_URL = "https://mcp.context7.com"; constant CLERK_DOMAIN (line 13) | const CLERK_DOMAIN = "clerk.context7.com"; constant CONTEXT7_API_BASE_URL (line 14) | const CONTEXT7_API_BASE_URL = process.env.CONTEXT7_API_URL || `${CONTEXT... constant RESOURCE_URL (line 15) | const RESOURCE_URL = process.env.RESOURCE_URL || MCP_RESOURCE_URL; constant AUTH_SERVER_URL (line 16) | const AUTH_SERVER_URL = process.env.AUTH_SERVER_URL || CONTEXT7_BASE_URL; FILE: packages/mcp/src/lib/encryption.ts constant DEFAULT_ENCRYPTION_KEY (line 4) | const DEFAULT_ENCRYPTION_KEY = "000102030405060708090a0b0c0d0e0f10111213... constant ENCRYPTION_KEY (line 5) | const ENCRYPTION_KEY = process.env.CLIENT_IP_ENCRYPTION_KEY || DEFAULT_E... constant ALGORITHM (line 6) | const ALGORITHM = "aes-256-cbc"; function validateEncryptionKey (line 8) | function validateEncryptionKey(key: string): boolean { function encryptClientIp (line 13) | function encryptClientIp(clientIp: string): string { type ClientContext (line 31) | interface ClientContext { function generateHeaders (line 45) | function generateHeaders(context: ClientContext): Record { FILE: packages/mcp/src/lib/jwt.ts constant JWKS_URL (line 4) | const JWKS_URL = `https://${CLERK_DOMAIN}/.well-known/jwks.json`; constant ISSUER (line 5) | const ISSUER = `https://${CLERK_DOMAIN}`; type JWTValidationResult (line 9) | interface JWTValidationResult { function isJWT (line 14) | function isJWT(token: string): boolean { function validateJWT (line 19) | async function validateJWT(token: string): Promise { FILE: packages/mcp/src/lib/types.ts type SearchResult (line 1) | interface SearchResult { type SearchResponse (line 17) | interface SearchResponse { type DocumentState (line 24) | type DocumentState = "initial" | "finalized" | "error" | "delete"; type ContextRequest (line 26) | type ContextRequest = { type ContextResponse (line 31) | type ContextResponse = { FILE: packages/mcp/src/lib/utils.ts function getSourceReputationLabel (line 8) | function getSourceReputationLabel( function formatSearchResult (line 24) | function formatSearchResult(result: SearchResult): string { function formatSearchResults (line 66) | function formatSearchResults(searchResponse: SearchResponse): string { function extractClientInfoFromUserAgent (line 89) | function extractClientInfoFromUserAgent( FILE: packages/sdk/src/client.ts constant DEFAULT_BASE_URL (line 12) | const DEFAULT_BASE_URL = "https://context7.com/api"; constant API_KEY_PREFIX (line 13) | const API_KEY_PREFIX = "ctx7sk"; class Context7 (line 18) | class Context7 { method constructor (line 21) | constructor(config: Context7Config = {}) { method searchLibrary (line 81) | async searchLibrary( method getContext (line 124) | async getContext( FILE: packages/sdk/src/commands/command.ts type EndpointVariants (line 5) | type EndpointVariants = (typeof _ENDPOINTS)[number]; type CommandRequest (line 7) | interface CommandRequest { class Command (line 13) | class Command { method constructor (line 17) | constructor(request: CommandRequest, endpoint: EndpointVariants | stri... method exec (line 25) | public async exec(client: Requester): Promise { FILE: packages/sdk/src/commands/get-context/index.ts constant DEFAULT_TYPE (line 8) | const DEFAULT_TYPE = "json"; class GetContextCommand (line 10) | class GetContextCommand extends Command { method constructor (line 13) | constructor(query: string, libraryId: string, options?: GetContextOpti... method exec (line 27) | public override async exec(client: Requester): Promise { method constructor (line 13) | constructor(query: string, libraryName: string, options?: SearchLibrar... method exec (line 28) | public override async exec(client: Requester): Promise; FILE: packages/sdk/src/error/index.ts class Context7Error (line 1) | class Context7Error extends Error { method constructor (line 2) | constructor(message: string) { FILE: packages/sdk/src/http/index.ts type CacheSetting (line 3) | type CacheSetting = type Context7Request (line 12) | type Context7Request = { type TxtResponseHeaders (line 28) | type TxtResponseHeaders = { type Context7Response (line 37) | type Context7Response = { type Requester (line 42) | type Requester = { type RetryConfig (line 46) | type RetryConfig = type RequesterConfig (line 66) | type RequesterConfig = { type HttpClientConfig (line 79) | type HttpClientConfig = { class HttpClient (line 86) | class HttpClient implements Requester { method constructor (line 99) | public constructor(config: HttpClientConfig) { method request (line 124) | public async request(req: Context7Request): Promise { method constructor (line 39) | constructor(config: Context7AgentConfig) { FILE: packages/tools-ai-sdk/src/prompts/system.ts constant SYSTEM_PROMPT (line 8) | const SYSTEM_PROMPT = `You are a documentation search assistant powered ... constant AGENT_PROMPT (line 20) | const AGENT_PROMPT = `You are a documentation search assistant powered b... constant RESOLVE_LIBRARY_ID_DESCRIPTION (line 52) | const RESOLVE_LIBRARY_ID_DESCRIPTION = `Resolves a package/product name ... constant QUERY_DOCS_DESCRIPTION (line 78) | const QUERY_DOCS_DESCRIPTION = `Retrieves and queries up-to-date documen... FILE: packages/tools-ai-sdk/src/tools/query-docs.ts function queryDocs (line 33) | function queryDocs(config: Context7ToolsConfig = {}) { FILE: packages/tools-ai-sdk/src/tools/resolve-library-id.ts function resolveLibraryId (line 33) | function resolveLibraryId(config: Context7ToolsConfig = {}) { FILE: packages/tools-ai-sdk/src/tools/types.ts type Context7ToolsConfig (line 4) | interface Context7ToolsConfig { FILE: packages/tools-ai-sdk/tsup.config.ts method esbuildOptions (line 11) | esbuildOptions(options) {