coding-agent-adapters
Advanced tools
+69
-1
@@ -64,2 +64,15 @@ import { BaseCLIAdapter, SpawnConfig, AutoResponseRule, LoginDetection, BlockingPromptDetection, ParsedOutput, ToolRunningInfo } from 'adapter-types'; | ||
| /** | ||
| * Authentication status for a CLI agent's subscription/login. | ||
| */ | ||
| interface AuthStatus { | ||
| /** Whether auth status could be determined */ | ||
| status: 'authenticated' | 'unauthenticated' | 'unknown'; | ||
| /** Auth method if authenticated (e.g. "subscription", "api_key", "oauth") */ | ||
| method?: string; | ||
| /** Human-readable detail (e.g. email, account name) */ | ||
| detail?: string; | ||
| /** Instruction to authenticate if not logged in */ | ||
| loginHint?: string; | ||
| } | ||
| /** | ||
| * Credentials that can be passed via SpawnConfig.adapterConfig | ||
@@ -73,2 +86,6 @@ */ | ||
| custom?: Record<string, string>; | ||
| /** Override Anthropic API base URL (e.g. cloud proxy) */ | ||
| anthropicBaseUrl?: string; | ||
| /** Override OpenAI API base URL (e.g. cloud proxy) */ | ||
| openaiBaseUrl?: string; | ||
| } | ||
@@ -207,2 +224,26 @@ /** | ||
| /** | ||
| * Check whether the CLI is authenticated via its subscription/login. | ||
| * Override in subclasses that support a status check command. | ||
| * Default: returns 'unknown' (no way to check). | ||
| */ | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| /** | ||
| * Trigger the CLI's authentication flow. | ||
| * Returns info about what was launched (URL to open, instructions, etc.). | ||
| * Override in subclasses. Default: returns null (no auth flow available). | ||
| */ | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| /** URL the user should open (if browser-based auth) */ | ||
| url?: string; | ||
| /** Device code to enter (Codex) */ | ||
| deviceCode?: string; | ||
| /** Human-readable instructions */ | ||
| instructions: string; | ||
| } | null>; | ||
| /** | ||
| * Helper: run a command and return stdout, or null on any failure. | ||
| */ | ||
| protected execQuiet(command: string, timeoutMs?: number): Promise<string | null>; | ||
| /** | ||
| * Override stripAnsi to handle TUI cursor movement codes, spinner/box-drawing | ||
@@ -328,2 +369,8 @@ * characters, bare control characters, and extra whitespace. | ||
| * Detect blocking prompts specific to Aider CLI. | ||
| * | ||
| * IMPORTANT: Does NOT fall back to base class detection because the base | ||
| * class has broad heuristics (any line ending with "?") that trigger on | ||
| * normal LLM output. Aider uses --yes-always to auto-accept most prompts, | ||
| * so we only need to detect auth/login and the few prompts that bypass it. | ||
| * | ||
| * Source: io.py, onboarding.py, base_coder.py, report.py | ||
@@ -388,2 +435,8 @@ */ | ||
| getRecommendedModels(_credentials?: AgentCredentials): ModelRecommendations; | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| url?: string; | ||
| instructions: string; | ||
| } | null>; | ||
| getCommand(): string; | ||
@@ -472,2 +525,9 @@ getArgs(config: SpawnConfig): string[]; | ||
| getRecommendedModels(_credentials?: AgentCredentials): ModelRecommendations; | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| url?: string; | ||
| deviceCode?: string; | ||
| instructions: string; | ||
| } | null>; | ||
| getCommand(): string; | ||
@@ -537,2 +597,8 @@ getArgs(config: SpawnConfig): string[]; | ||
| getRecommendedModels(_credentials?: AgentCredentials): ModelRecommendations; | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| url?: string; | ||
| instructions: string; | ||
| } | null>; | ||
| getCommand(): string; | ||
@@ -749,2 +815,4 @@ getArgs(config: SpawnConfig): string[]; | ||
| docsUrl: string; | ||
| /** Subscription/login auth status (only checked if installed) */ | ||
| auth?: AuthStatus; | ||
| } | ||
@@ -787,2 +855,2 @@ /** | ||
| export { ADAPTER_TYPES, AIDER_COMMAND_CATEGORIES, type AdapterPatterns, type AdapterType, type AgentCredentials, type AgentFileDescriptor, AiderAdapter, type ApprovalConfig, type ApprovalPreset, BaseCodingAdapter, CLAUDE_TOOL_CATEGORIES, CODEX_TOOL_CATEGORIES, ClaudeAdapter, CodexAdapter, type CodingAgentConfig, GEMINI_TOOL_CATEGORIES, GeminiAdapter, HermesAdapter, type InstallationInfo, type ModelRecommendations, PRESET_DEFINITIONS, type PreflightResult, type PresetDefinition, type RiskLevel, TOOL_CATEGORIES, type ToolCategory, type ToolCategoryInfo, type WriteMemoryOptions, checkAdapters, checkAllAdapters, clearPatternCache, createAdapter, createAllAdapters, generateAiderApprovalConfig, generateApprovalConfig, generateClaudeApprovalConfig, generateCodexApprovalConfig, generateGeminiApprovalConfig, generateHermesApprovalConfig, getBaselinePatterns, getPresetDefinition, hasDynamicPatterns, listPresets, loadPatterns, loadPatternsSync, preloadAllPatterns, printMissingAdapters }; | ||
| export { ADAPTER_TYPES, AIDER_COMMAND_CATEGORIES, type AdapterPatterns, type AdapterType, type AgentCredentials, type AgentFileDescriptor, AiderAdapter, type ApprovalConfig, type ApprovalPreset, type AuthStatus, BaseCodingAdapter, CLAUDE_TOOL_CATEGORIES, CODEX_TOOL_CATEGORIES, ClaudeAdapter, CodexAdapter, type CodingAgentConfig, GEMINI_TOOL_CATEGORIES, GeminiAdapter, HermesAdapter, type InstallationInfo, type ModelRecommendations, PRESET_DEFINITIONS, type PreflightResult, type PresetDefinition, type RiskLevel, TOOL_CATEGORIES, type ToolCategory, type ToolCategoryInfo, type WriteMemoryOptions, checkAdapters, checkAllAdapters, clearPatternCache, createAdapter, createAllAdapters, generateAiderApprovalConfig, generateApprovalConfig, generateClaudeApprovalConfig, generateCodexApprovalConfig, generateGeminiApprovalConfig, generateHermesApprovalConfig, getBaselinePatterns, getPresetDefinition, hasDynamicPatterns, listPresets, loadPatterns, loadPatternsSync, preloadAllPatterns, printMissingAdapters }; |
+69
-1
@@ -64,2 +64,15 @@ import { BaseCLIAdapter, SpawnConfig, AutoResponseRule, LoginDetection, BlockingPromptDetection, ParsedOutput, ToolRunningInfo } from 'adapter-types'; | ||
| /** | ||
| * Authentication status for a CLI agent's subscription/login. | ||
| */ | ||
| interface AuthStatus { | ||
| /** Whether auth status could be determined */ | ||
| status: 'authenticated' | 'unauthenticated' | 'unknown'; | ||
| /** Auth method if authenticated (e.g. "subscription", "api_key", "oauth") */ | ||
| method?: string; | ||
| /** Human-readable detail (e.g. email, account name) */ | ||
| detail?: string; | ||
| /** Instruction to authenticate if not logged in */ | ||
| loginHint?: string; | ||
| } | ||
| /** | ||
| * Credentials that can be passed via SpawnConfig.adapterConfig | ||
@@ -73,2 +86,6 @@ */ | ||
| custom?: Record<string, string>; | ||
| /** Override Anthropic API base URL (e.g. cloud proxy) */ | ||
| anthropicBaseUrl?: string; | ||
| /** Override OpenAI API base URL (e.g. cloud proxy) */ | ||
| openaiBaseUrl?: string; | ||
| } | ||
@@ -207,2 +224,26 @@ /** | ||
| /** | ||
| * Check whether the CLI is authenticated via its subscription/login. | ||
| * Override in subclasses that support a status check command. | ||
| * Default: returns 'unknown' (no way to check). | ||
| */ | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| /** | ||
| * Trigger the CLI's authentication flow. | ||
| * Returns info about what was launched (URL to open, instructions, etc.). | ||
| * Override in subclasses. Default: returns null (no auth flow available). | ||
| */ | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| /** URL the user should open (if browser-based auth) */ | ||
| url?: string; | ||
| /** Device code to enter (Codex) */ | ||
| deviceCode?: string; | ||
| /** Human-readable instructions */ | ||
| instructions: string; | ||
| } | null>; | ||
| /** | ||
| * Helper: run a command and return stdout, or null on any failure. | ||
| */ | ||
| protected execQuiet(command: string, timeoutMs?: number): Promise<string | null>; | ||
| /** | ||
| * Override stripAnsi to handle TUI cursor movement codes, spinner/box-drawing | ||
@@ -328,2 +369,8 @@ * characters, bare control characters, and extra whitespace. | ||
| * Detect blocking prompts specific to Aider CLI. | ||
| * | ||
| * IMPORTANT: Does NOT fall back to base class detection because the base | ||
| * class has broad heuristics (any line ending with "?") that trigger on | ||
| * normal LLM output. Aider uses --yes-always to auto-accept most prompts, | ||
| * so we only need to detect auth/login and the few prompts that bypass it. | ||
| * | ||
| * Source: io.py, onboarding.py, base_coder.py, report.py | ||
@@ -388,2 +435,8 @@ */ | ||
| getRecommendedModels(_credentials?: AgentCredentials): ModelRecommendations; | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| url?: string; | ||
| instructions: string; | ||
| } | null>; | ||
| getCommand(): string; | ||
@@ -472,2 +525,9 @@ getArgs(config: SpawnConfig): string[]; | ||
| getRecommendedModels(_credentials?: AgentCredentials): ModelRecommendations; | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| url?: string; | ||
| deviceCode?: string; | ||
| instructions: string; | ||
| } | null>; | ||
| getCommand(): string; | ||
@@ -537,2 +597,8 @@ getArgs(config: SpawnConfig): string[]; | ||
| getRecommendedModels(_credentials?: AgentCredentials): ModelRecommendations; | ||
| checkAuthStatus(): Promise<AuthStatus>; | ||
| triggerAuth(): Promise<{ | ||
| launched: boolean; | ||
| url?: string; | ||
| instructions: string; | ||
| } | null>; | ||
| getCommand(): string; | ||
@@ -749,2 +815,4 @@ getArgs(config: SpawnConfig): string[]; | ||
| docsUrl: string; | ||
| /** Subscription/login auth status (only checked if installed) */ | ||
| auth?: AuthStatus; | ||
| } | ||
@@ -787,2 +855,2 @@ /** | ||
| export { ADAPTER_TYPES, AIDER_COMMAND_CATEGORIES, type AdapterPatterns, type AdapterType, type AgentCredentials, type AgentFileDescriptor, AiderAdapter, type ApprovalConfig, type ApprovalPreset, BaseCodingAdapter, CLAUDE_TOOL_CATEGORIES, CODEX_TOOL_CATEGORIES, ClaudeAdapter, CodexAdapter, type CodingAgentConfig, GEMINI_TOOL_CATEGORIES, GeminiAdapter, HermesAdapter, type InstallationInfo, type ModelRecommendations, PRESET_DEFINITIONS, type PreflightResult, type PresetDefinition, type RiskLevel, TOOL_CATEGORIES, type ToolCategory, type ToolCategoryInfo, type WriteMemoryOptions, checkAdapters, checkAllAdapters, clearPatternCache, createAdapter, createAllAdapters, generateAiderApprovalConfig, generateApprovalConfig, generateClaudeApprovalConfig, generateCodexApprovalConfig, generateGeminiApprovalConfig, generateHermesApprovalConfig, getBaselinePatterns, getPresetDefinition, hasDynamicPatterns, listPresets, loadPatterns, loadPatternsSync, preloadAllPatterns, printMissingAdapters }; | ||
| export { ADAPTER_TYPES, AIDER_COMMAND_CATEGORIES, type AdapterPatterns, type AdapterType, type AgentCredentials, type AgentFileDescriptor, AiderAdapter, type ApprovalConfig, type ApprovalPreset, type AuthStatus, BaseCodingAdapter, CLAUDE_TOOL_CATEGORIES, CODEX_TOOL_CATEGORIES, ClaudeAdapter, CodexAdapter, type CodingAgentConfig, GEMINI_TOOL_CATEGORIES, GeminiAdapter, HermesAdapter, type InstallationInfo, type ModelRecommendations, PRESET_DEFINITIONS, type PreflightResult, type PresetDefinition, type RiskLevel, TOOL_CATEGORIES, type ToolCategory, type ToolCategoryInfo, type WriteMemoryOptions, checkAdapters, checkAllAdapters, clearPatternCache, createAdapter, createAllAdapters, generateAiderApprovalConfig, generateApprovalConfig, generateClaudeApprovalConfig, generateCodexApprovalConfig, generateGeminiApprovalConfig, generateHermesApprovalConfig, getBaselinePatterns, getPresetDefinition, hasDynamicPatterns, listPresets, loadPatterns, loadPatternsSync, preloadAllPatterns, printMissingAdapters }; |
+2
-1
| { | ||
| "name": "coding-agent-adapters", | ||
| "version": "0.15.0", | ||
| "version": "0.16.0", | ||
| "description": "CLI adapters for AI coding agents - Claude Code, Gemini CLI, OpenAI Codex, Aider, and Hermes Agent", | ||
@@ -56,2 +56,3 @@ "type": "module", | ||
| "devDependencies": { | ||
| "@pinojs/redact": "^0.4.0", | ||
| "@types/node": "^20.0.0", | ||
@@ -58,0 +59,0 @@ "tsup": "^8.0.0", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
812328
9.89%7584
9.56%6
-14.29%6
20%2
Infinity%