erosolar-cli 1.7.327 → 1.7.329
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/README.md +148 -24
- package/dist/alpha-zero/agentWrapper.d.ts +84 -0
- package/dist/alpha-zero/agentWrapper.d.ts.map +1 -0
- package/dist/alpha-zero/agentWrapper.js +171 -0
- package/dist/alpha-zero/agentWrapper.js.map +1 -0
- package/dist/alpha-zero/codeEvaluator.d.ts +25 -0
- package/dist/alpha-zero/codeEvaluator.d.ts.map +1 -0
- package/dist/alpha-zero/codeEvaluator.js +273 -0
- package/dist/alpha-zero/codeEvaluator.js.map +1 -0
- package/dist/alpha-zero/competitiveRunner.d.ts +66 -0
- package/dist/alpha-zero/competitiveRunner.d.ts.map +1 -0
- package/dist/alpha-zero/competitiveRunner.js +224 -0
- package/dist/alpha-zero/competitiveRunner.js.map +1 -0
- package/dist/alpha-zero/index.d.ts +67 -0
- package/dist/alpha-zero/index.d.ts.map +1 -0
- package/dist/alpha-zero/index.js +99 -0
- package/dist/alpha-zero/index.js.map +1 -0
- package/dist/alpha-zero/introspection.d.ts +128 -0
- package/dist/alpha-zero/introspection.d.ts.map +1 -0
- package/dist/alpha-zero/introspection.js +300 -0
- package/dist/alpha-zero/introspection.js.map +1 -0
- package/dist/alpha-zero/metricsTracker.d.ts +71 -0
- package/dist/alpha-zero/metricsTracker.d.ts.map +1 -0
- package/dist/{core → alpha-zero}/metricsTracker.js +5 -2
- package/dist/alpha-zero/metricsTracker.js.map +1 -0
- package/dist/alpha-zero/security/core.d.ts +125 -0
- package/dist/alpha-zero/security/core.d.ts.map +1 -0
- package/dist/alpha-zero/security/core.js +271 -0
- package/dist/alpha-zero/security/core.js.map +1 -0
- package/dist/alpha-zero/security/google.d.ts +125 -0
- package/dist/alpha-zero/security/google.d.ts.map +1 -0
- package/dist/alpha-zero/security/google.js +311 -0
- package/dist/alpha-zero/security/google.js.map +1 -0
- package/dist/alpha-zero/security/googleLoader.d.ts +17 -0
- package/dist/alpha-zero/security/googleLoader.d.ts.map +1 -0
- package/dist/alpha-zero/security/googleLoader.js +41 -0
- package/dist/alpha-zero/security/googleLoader.js.map +1 -0
- package/dist/alpha-zero/security/index.d.ts +29 -0
- package/dist/alpha-zero/security/index.d.ts.map +1 -0
- package/dist/alpha-zero/security/index.js +32 -0
- package/dist/alpha-zero/security/index.js.map +1 -0
- package/dist/alpha-zero/security/simulation.d.ts +124 -0
- package/dist/alpha-zero/security/simulation.d.ts.map +1 -0
- package/dist/alpha-zero/security/simulation.js +277 -0
- package/dist/alpha-zero/security/simulation.js.map +1 -0
- package/dist/alpha-zero/selfModification.d.ts +109 -0
- package/dist/alpha-zero/selfModification.d.ts.map +1 -0
- package/dist/alpha-zero/selfModification.js +233 -0
- package/dist/alpha-zero/selfModification.js.map +1 -0
- package/dist/alpha-zero/types.d.ts +170 -0
- package/dist/alpha-zero/types.d.ts.map +1 -0
- package/dist/alpha-zero/types.js +31 -0
- package/dist/alpha-zero/types.js.map +1 -0
- package/dist/bin/erosolar.js +21 -5
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/capabilities/agentSpawningCapability.d.ts.map +1 -1
- package/dist/capabilities/agentSpawningCapability.js +31 -56
- package/dist/capabilities/agentSpawningCapability.js.map +1 -1
- package/dist/capabilities/securityTestingCapability.d.ts +13 -0
- package/dist/capabilities/securityTestingCapability.d.ts.map +1 -0
- package/dist/capabilities/securityTestingCapability.js +25 -0
- package/dist/capabilities/securityTestingCapability.js.map +1 -0
- package/dist/contracts/agent-schemas.json +15 -0
- package/dist/contracts/tools.schema.json +9 -0
- package/dist/core/agent.d.ts +2 -2
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js.map +1 -1
- package/dist/core/aiFlowOptimizer.d.ts +26 -0
- package/dist/core/aiFlowOptimizer.d.ts.map +1 -0
- package/dist/core/aiFlowOptimizer.js +31 -0
- package/dist/core/aiFlowOptimizer.js.map +1 -0
- package/dist/core/aiOptimizationEngine.d.ts +158 -0
- package/dist/core/aiOptimizationEngine.d.ts.map +1 -0
- package/dist/core/aiOptimizationEngine.js +428 -0
- package/dist/core/aiOptimizationEngine.js.map +1 -0
- package/dist/core/aiOptimizationIntegration.d.ts +93 -0
- package/dist/core/aiOptimizationIntegration.d.ts.map +1 -0
- package/dist/core/aiOptimizationIntegration.js +250 -0
- package/dist/core/aiOptimizationIntegration.js.map +1 -0
- package/dist/core/customCommands.d.ts +0 -1
- package/dist/core/customCommands.d.ts.map +1 -1
- package/dist/core/customCommands.js +0 -3
- package/dist/core/customCommands.js.map +1 -1
- package/dist/core/enhancedErrorRecovery.d.ts +100 -0
- package/dist/core/enhancedErrorRecovery.d.ts.map +1 -0
- package/dist/core/enhancedErrorRecovery.js +345 -0
- package/dist/core/enhancedErrorRecovery.js.map +1 -0
- package/dist/core/hooksSystem.d.ts +65 -0
- package/dist/core/hooksSystem.d.ts.map +1 -0
- package/dist/core/hooksSystem.js +273 -0
- package/dist/core/hooksSystem.js.map +1 -0
- package/dist/core/memorySystem.d.ts +48 -0
- package/dist/core/memorySystem.d.ts.map +1 -0
- package/dist/core/memorySystem.js +271 -0
- package/dist/core/memorySystem.js.map +1 -0
- package/dist/core/toolPreconditions.d.ts.map +1 -1
- package/dist/core/toolPreconditions.js +14 -0
- package/dist/core/toolPreconditions.js.map +1 -1
- package/dist/core/toolRuntime.d.ts +1 -22
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +5 -0
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/toolValidation.d.ts.map +1 -1
- package/dist/core/toolValidation.js +3 -14
- package/dist/core/toolValidation.js.map +1 -1
- package/dist/core/unified/errors.d.ts +189 -0
- package/dist/core/unified/errors.d.ts.map +1 -0
- package/dist/core/unified/errors.js +497 -0
- package/dist/core/unified/errors.js.map +1 -0
- package/dist/core/unified/index.d.ts +19 -0
- package/dist/core/unified/index.d.ts.map +1 -0
- package/dist/core/unified/index.js +68 -0
- package/dist/core/unified/index.js.map +1 -0
- package/dist/core/unified/schema.d.ts +101 -0
- package/dist/core/unified/schema.d.ts.map +1 -0
- package/dist/core/unified/schema.js +350 -0
- package/dist/core/unified/schema.js.map +1 -0
- package/dist/core/unified/toolRuntime.d.ts +179 -0
- package/dist/core/unified/toolRuntime.d.ts.map +1 -0
- package/dist/core/unified/toolRuntime.js +517 -0
- package/dist/core/unified/toolRuntime.js.map +1 -0
- package/dist/core/unified/tools.d.ts +127 -0
- package/dist/core/unified/tools.d.ts.map +1 -0
- package/dist/core/unified/tools.js +1333 -0
- package/dist/core/unified/tools.js.map +1 -0
- package/dist/core/unified/types.d.ts +352 -0
- package/dist/core/unified/types.d.ts.map +1 -0
- package/dist/core/unified/types.js +12 -0
- package/dist/core/unified/types.js.map +1 -0
- package/dist/core/unified/version.d.ts +209 -0
- package/dist/core/unified/version.d.ts.map +1 -0
- package/dist/core/unified/version.js +454 -0
- package/dist/core/unified/version.js.map +1 -0
- package/dist/core/validationRunner.d.ts +3 -1
- package/dist/core/validationRunner.d.ts.map +1 -1
- package/dist/core/validationRunner.js.map +1 -1
- package/dist/headless/headlessApp.d.ts.map +1 -1
- package/dist/headless/headlessApp.js +0 -21
- package/dist/headless/headlessApp.js.map +1 -1
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +18 -9
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.d.ts +6 -0
- package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.js +10 -4
- package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/plugins/tools/security/securityPlugin.d.ts +3 -0
- package/dist/plugins/tools/security/securityPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/security/securityPlugin.js +12 -0
- package/dist/plugins/tools/security/securityPlugin.js.map +1 -0
- package/dist/runtime/agentSession.d.ts +2 -2
- package/dist/runtime/agentSession.d.ts.map +1 -1
- package/dist/runtime/agentSession.js +2 -2
- package/dist/runtime/agentSession.js.map +1 -1
- package/dist/security/active-stack-security.d.ts +112 -0
- package/dist/security/active-stack-security.d.ts.map +1 -0
- package/dist/security/active-stack-security.js +296 -0
- package/dist/security/active-stack-security.js.map +1 -0
- package/dist/security/advanced-persistence-research.d.ts +92 -0
- package/dist/security/advanced-persistence-research.d.ts.map +1 -0
- package/dist/security/advanced-persistence-research.js +195 -0
- package/dist/security/advanced-persistence-research.js.map +1 -0
- package/dist/security/advanced-targeting.d.ts +119 -0
- package/dist/security/advanced-targeting.d.ts.map +1 -0
- package/dist/security/advanced-targeting.js +233 -0
- package/dist/security/advanced-targeting.js.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
- package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
- package/dist/security/authorization/securityAuthorization.d.ts +88 -0
- package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
- package/dist/security/authorization/securityAuthorization.js +172 -0
- package/dist/security/authorization/securityAuthorization.js.map +1 -0
- package/dist/security/comprehensive-targeting.d.ts +85 -0
- package/dist/security/comprehensive-targeting.d.ts.map +1 -0
- package/dist/security/comprehensive-targeting.js +438 -0
- package/dist/security/comprehensive-targeting.js.map +1 -0
- package/dist/security/global-security-integration.d.ts +91 -0
- package/dist/security/global-security-integration.d.ts.map +1 -0
- package/dist/security/global-security-integration.js +218 -0
- package/dist/security/global-security-integration.js.map +1 -0
- package/dist/security/index.d.ts +38 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +47 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/persistence-analyzer.d.ts +56 -0
- package/dist/security/persistence-analyzer.d.ts.map +1 -0
- package/dist/security/persistence-analyzer.js +187 -0
- package/dist/security/persistence-analyzer.js.map +1 -0
- package/dist/security/persistence-cli.d.ts +36 -0
- package/dist/security/persistence-cli.d.ts.map +1 -0
- package/dist/security/persistence-cli.js +160 -0
- package/dist/security/persistence-cli.js.map +1 -0
- package/dist/security/persistence-research.d.ts +92 -0
- package/dist/security/persistence-research.d.ts.map +1 -0
- package/dist/security/persistence-research.js +364 -0
- package/dist/security/persistence-research.js.map +1 -0
- package/dist/security/research/persistenceResearch.d.ts +97 -0
- package/dist/security/research/persistenceResearch.d.ts.map +1 -0
- package/dist/security/research/persistenceResearch.js +282 -0
- package/dist/security/research/persistenceResearch.js.map +1 -0
- package/dist/security/security-integration.d.ts +74 -0
- package/dist/security/security-integration.d.ts.map +1 -0
- package/dist/security/security-integration.js +137 -0
- package/dist/security/security-integration.js.map +1 -0
- package/dist/security/security-testing-framework.d.ts +112 -0
- package/dist/security/security-testing-framework.d.ts.map +1 -0
- package/dist/security/security-testing-framework.js +364 -0
- package/dist/security/security-testing-framework.js.map +1 -0
- package/dist/security/simulation/attackSimulation.d.ts +93 -0
- package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
- package/dist/security/simulation/attackSimulation.js +341 -0
- package/dist/security/simulation/attackSimulation.js.map +1 -0
- package/dist/security/strategic-operations.d.ts +100 -0
- package/dist/security/strategic-operations.d.ts.map +1 -0
- package/dist/security/strategic-operations.js +276 -0
- package/dist/security/strategic-operations.js.map +1 -0
- package/dist/security/tool-security-wrapper.d.ts +58 -0
- package/dist/security/tool-security-wrapper.d.ts.map +1 -0
- package/dist/security/tool-security-wrapper.js +156 -0
- package/dist/security/tool-security-wrapper.js.map +1 -0
- package/dist/shell/claudeCodeStreamHandler.d.ts +145 -0
- package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -0
- package/dist/shell/claudeCodeStreamHandler.js +322 -0
- package/dist/shell/claudeCodeStreamHandler.js.map +1 -0
- package/dist/shell/inputQueueManager.d.ts +144 -0
- package/dist/shell/inputQueueManager.d.ts.map +1 -0
- package/dist/shell/inputQueueManager.js +290 -0
- package/dist/shell/inputQueueManager.js.map +1 -0
- package/dist/shell/interactiveShell.d.ts +7 -16
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +164 -235
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/metricsTracker.d.ts +60 -0
- package/dist/shell/metricsTracker.d.ts.map +1 -0
- package/dist/shell/metricsTracker.js +119 -0
- package/dist/shell/metricsTracker.js.map +1 -0
- package/dist/shell/shellApp.d.ts +0 -2
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +9 -40
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/shell/streamingOutputManager.d.ts +115 -0
- package/dist/shell/streamingOutputManager.d.ts.map +1 -0
- package/dist/shell/streamingOutputManager.js +225 -0
- package/dist/shell/streamingOutputManager.js.map +1 -0
- package/dist/shell/systemPrompt.d.ts.map +1 -1
- package/dist/shell/systemPrompt.js +4 -1
- package/dist/shell/systemPrompt.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +117 -149
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +521 -639
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +20 -79
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +30 -99
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/subagents/taskRunner.d.ts +1 -7
- package/dist/subagents/taskRunner.d.ts.map +1 -1
- package/dist/subagents/taskRunner.js +47 -180
- package/dist/subagents/taskRunner.js.map +1 -1
- package/dist/tools/securityTools.d.ts +22 -0
- package/dist/tools/securityTools.d.ts.map +1 -0
- package/dist/tools/securityTools.js +448 -0
- package/dist/tools/securityTools.js.map +1 -0
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +12 -13
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +45 -24
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +259 -140
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/persistentPrompt.d.ts +50 -0
- package/dist/ui/persistentPrompt.d.ts.map +1 -0
- package/dist/ui/persistentPrompt.js +92 -0
- package/dist/ui/persistentPrompt.js.map +1 -0
- package/dist/ui/terminalUISchema.d.ts +195 -0
- package/dist/ui/terminalUISchema.d.ts.map +1 -0
- package/dist/ui/terminalUISchema.js +113 -0
- package/dist/ui/terminalUISchema.js.map +1 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +8 -6
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/toolDisplay.d.ts +158 -0
- package/dist/ui/toolDisplay.d.ts.map +1 -1
- package/dist/ui/toolDisplay.js +348 -0
- package/dist/ui/toolDisplay.js.map +1 -1
- package/dist/ui/unified/layout.d.ts +0 -1
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +25 -15
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +4 -4
- package/scripts/deploy-security-capabilities.js +178 -0
- package/dist/core/hooks.d.ts +0 -113
- package/dist/core/hooks.d.ts.map +0 -1
- package/dist/core/hooks.js +0 -267
- package/dist/core/hooks.js.map +0 -1
- package/dist/core/metricsTracker.d.ts +0 -122
- package/dist/core/metricsTracker.d.ts.map +0 -1
- package/dist/core/metricsTracker.js.map +0 -1
- package/dist/core/securityAssessment.d.ts +0 -91
- package/dist/core/securityAssessment.d.ts.map +0 -1
- package/dist/core/securityAssessment.js +0 -580
- package/dist/core/securityAssessment.js.map +0 -1
- package/dist/core/verification.d.ts +0 -137
- package/dist/core/verification.d.ts.map +0 -1
- package/dist/core/verification.js +0 -323
- package/dist/core/verification.js.map +0 -1
- package/dist/subagents/agentConfig.d.ts +0 -27
- package/dist/subagents/agentConfig.d.ts.map +0 -1
- package/dist/subagents/agentConfig.js +0 -89
- package/dist/subagents/agentConfig.js.map +0 -1
- package/dist/subagents/agentRegistry.d.ts +0 -33
- package/dist/subagents/agentRegistry.d.ts.map +0 -1
- package/dist/subagents/agentRegistry.js +0 -162
- package/dist/subagents/agentRegistry.js.map +0 -1
- package/dist/utils/frontmatter.d.ts +0 -10
- package/dist/utils/frontmatter.d.ts.map +0 -1
- package/dist/utils/frontmatter.js +0 -78
- package/dist/utils/frontmatter.js.map +0 -1
package/dist/core/hooks.d.ts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hooks System
|
|
3
|
-
*
|
|
4
|
-
* Event-triggered scripts that automate workflows, based on Claude Code's hooks architecture.
|
|
5
|
-
* Hooks can execute shell commands or query an LLM for decisions.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Hook event types
|
|
9
|
-
*/
|
|
10
|
-
export type HookEvent = 'PreToolUse' | 'PostToolUse' | 'PermissionRequest' | 'UserPromptSubmit' | 'SessionStart' | 'SessionEnd' | 'Stop' | 'SubagentStop' | 'Notification';
|
|
11
|
-
/**
|
|
12
|
-
* Hook types
|
|
13
|
-
*/
|
|
14
|
-
export type HookType = 'command' | 'prompt';
|
|
15
|
-
/**
|
|
16
|
-
* Hook definition
|
|
17
|
-
*/
|
|
18
|
-
export interface HookDefinition {
|
|
19
|
-
/** Regex pattern to match tool names or events */
|
|
20
|
-
matcher?: string;
|
|
21
|
-
/** Type of hook: 'command' for shell, 'prompt' for LLM */
|
|
22
|
-
type: HookType;
|
|
23
|
-
/** Shell command to execute (for command hooks) */
|
|
24
|
-
command?: string;
|
|
25
|
-
/** Prompt to send to LLM (for prompt hooks) */
|
|
26
|
-
prompt?: string;
|
|
27
|
-
/** Timeout in milliseconds */
|
|
28
|
-
timeout?: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Hook execution result
|
|
32
|
-
*/
|
|
33
|
-
export interface HookResult {
|
|
34
|
-
success: boolean;
|
|
35
|
-
output?: string;
|
|
36
|
-
decision?: 'allow' | 'deny' | 'continue';
|
|
37
|
-
reason?: string;
|
|
38
|
-
error?: string;
|
|
39
|
-
blocked?: boolean;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Hook execution context
|
|
43
|
-
*/
|
|
44
|
-
export interface HookContext {
|
|
45
|
-
event: HookEvent;
|
|
46
|
-
toolName?: string;
|
|
47
|
-
toolArgs?: Record<string, unknown>;
|
|
48
|
-
toolResult?: string;
|
|
49
|
-
userInput?: string;
|
|
50
|
-
sessionId?: string;
|
|
51
|
-
workingDir: string;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Hooks configuration
|
|
55
|
-
*/
|
|
56
|
-
export interface HooksConfig {
|
|
57
|
-
[event: string]: HookDefinition[];
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Load hooks from settings files
|
|
61
|
-
*/
|
|
62
|
-
export declare function loadHooks(workingDir: string): HooksConfig;
|
|
63
|
-
/**
|
|
64
|
-
* HooksManager class for managing and executing hooks
|
|
65
|
-
*/
|
|
66
|
-
export declare class HooksManager {
|
|
67
|
-
private hooks;
|
|
68
|
-
private workingDir;
|
|
69
|
-
constructor(workingDir: string);
|
|
70
|
-
/**
|
|
71
|
-
* Reload hooks from settings files
|
|
72
|
-
*/
|
|
73
|
-
reload(): void;
|
|
74
|
-
/**
|
|
75
|
-
* Check if hooks are configured for an event
|
|
76
|
-
*/
|
|
77
|
-
hasHooks(event: HookEvent): boolean;
|
|
78
|
-
/**
|
|
79
|
-
* Get all hooks for an event
|
|
80
|
-
*/
|
|
81
|
-
getHooks(event: HookEvent): HookDefinition[];
|
|
82
|
-
/**
|
|
83
|
-
* Execute all matching hooks for an event
|
|
84
|
-
*/
|
|
85
|
-
executeHooks(context: HookContext): Promise<HookResult[]>;
|
|
86
|
-
/**
|
|
87
|
-
* Execute pre-tool hooks and check if tool should proceed
|
|
88
|
-
*/
|
|
89
|
-
executePreToolHooks(toolName: string, args: Record<string, unknown>): Promise<{
|
|
90
|
-
allowed: boolean;
|
|
91
|
-
results: HookResult[];
|
|
92
|
-
}>;
|
|
93
|
-
/**
|
|
94
|
-
* Execute post-tool hooks
|
|
95
|
-
*/
|
|
96
|
-
executePostToolHooks(toolName: string, args: Record<string, unknown>, result: string): Promise<HookResult[]>;
|
|
97
|
-
/**
|
|
98
|
-
* Execute user prompt hooks
|
|
99
|
-
*/
|
|
100
|
-
executeUserPromptHooks(userInput: string): Promise<{
|
|
101
|
-
allowed: boolean;
|
|
102
|
-
results: HookResult[];
|
|
103
|
-
}>;
|
|
104
|
-
/**
|
|
105
|
-
* Execute session lifecycle hooks
|
|
106
|
-
*/
|
|
107
|
-
executeSessionHook(event: 'SessionStart' | 'SessionEnd', sessionId: string): Promise<HookResult[]>;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Create a hooks manager for the given working directory
|
|
111
|
-
*/
|
|
112
|
-
export declare function createHooksManager(workingDir: string): HooksManager;
|
|
113
|
-
//# sourceMappingURL=hooks.d.ts.map
|
package/dist/core/hooks.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/core/hooks.js
DELETED
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hooks System
|
|
3
|
-
*
|
|
4
|
-
* Event-triggered scripts that automate workflows, based on Claude Code's hooks architecture.
|
|
5
|
-
* Hooks can execute shell commands or query an LLM for decisions.
|
|
6
|
-
*/
|
|
7
|
-
import { exec } from 'node:child_process';
|
|
8
|
-
import { promisify } from 'node:util';
|
|
9
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
10
|
-
import { join } from 'node:path';
|
|
11
|
-
import { homedir } from 'node:os';
|
|
12
|
-
const execAsync = promisify(exec);
|
|
13
|
-
/**
|
|
14
|
-
* Load hooks from settings files
|
|
15
|
-
*/
|
|
16
|
-
export function loadHooks(workingDir) {
|
|
17
|
-
const hooks = {};
|
|
18
|
-
// Load from user settings (~/.claude/settings.json or ~/.erosolar/settings.json)
|
|
19
|
-
const userSettingsPaths = [
|
|
20
|
-
join(homedir(), '.claude', 'settings.json'),
|
|
21
|
-
join(homedir(), '.erosolar', 'settings.json'),
|
|
22
|
-
];
|
|
23
|
-
// Load from project settings (.claude/settings.json or .erosolar/settings.json)
|
|
24
|
-
const projectSettingsPaths = [
|
|
25
|
-
join(workingDir, '.claude', 'settings.json'),
|
|
26
|
-
join(workingDir, '.erosolar', 'settings.json'),
|
|
27
|
-
];
|
|
28
|
-
// Load user settings first, then override with project settings
|
|
29
|
-
for (const settingsPath of [...userSettingsPaths, ...projectSettingsPaths]) {
|
|
30
|
-
if (existsSync(settingsPath)) {
|
|
31
|
-
try {
|
|
32
|
-
const content = readFileSync(settingsPath, 'utf-8');
|
|
33
|
-
const settings = JSON.parse(content);
|
|
34
|
-
if (settings.hooks) {
|
|
35
|
-
for (const [event, eventHooks] of Object.entries(settings.hooks)) {
|
|
36
|
-
if (!hooks[event]) {
|
|
37
|
-
hooks[event] = [];
|
|
38
|
-
}
|
|
39
|
-
hooks[event].push(...eventHooks);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
// Ignore invalid settings files
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return hooks;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Check if a hook matches the given context
|
|
52
|
-
*/
|
|
53
|
-
function matchesHook(hook, context) {
|
|
54
|
-
if (!hook.matcher) {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
const regex = new RegExp(hook.matcher);
|
|
59
|
-
// Match against tool name if available
|
|
60
|
-
if (context.toolName) {
|
|
61
|
-
return regex.test(context.toolName);
|
|
62
|
-
}
|
|
63
|
-
// Match against event name
|
|
64
|
-
return regex.test(context.event);
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Execute a command hook
|
|
72
|
-
*/
|
|
73
|
-
async function executeCommandHook(hook, context) {
|
|
74
|
-
if (!hook.command) {
|
|
75
|
-
return { success: false, error: 'No command specified' };
|
|
76
|
-
}
|
|
77
|
-
const timeout = hook.timeout ?? 30000;
|
|
78
|
-
// Prepare environment variables for the hook
|
|
79
|
-
const env = {
|
|
80
|
-
...process.env,
|
|
81
|
-
HOOK_EVENT: context.event,
|
|
82
|
-
HOOK_TOOL_NAME: context.toolName ?? '',
|
|
83
|
-
HOOK_TOOL_ARGS: context.toolArgs ? JSON.stringify(context.toolArgs) : '',
|
|
84
|
-
HOOK_TOOL_RESULT: context.toolResult ?? '',
|
|
85
|
-
HOOK_USER_INPUT: context.userInput ?? '',
|
|
86
|
-
HOOK_SESSION_ID: context.sessionId ?? '',
|
|
87
|
-
HOOK_WORKING_DIR: context.workingDir,
|
|
88
|
-
};
|
|
89
|
-
try {
|
|
90
|
-
const { stdout, stderr } = await execAsync(hook.command, {
|
|
91
|
-
cwd: context.workingDir,
|
|
92
|
-
timeout,
|
|
93
|
-
env,
|
|
94
|
-
});
|
|
95
|
-
// Try to parse JSON output for structured results
|
|
96
|
-
const output = stdout.trim();
|
|
97
|
-
try {
|
|
98
|
-
const parsed = JSON.parse(output);
|
|
99
|
-
return {
|
|
100
|
-
success: true,
|
|
101
|
-
output,
|
|
102
|
-
decision: parsed.decision,
|
|
103
|
-
reason: parsed.reason,
|
|
104
|
-
blocked: parsed.blocked,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
catch {
|
|
108
|
-
// Return raw output if not JSON
|
|
109
|
-
return {
|
|
110
|
-
success: true,
|
|
111
|
-
output,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
117
|
-
// Exit code 2 means blocking
|
|
118
|
-
if (message.includes('exit code 2')) {
|
|
119
|
-
return {
|
|
120
|
-
success: false,
|
|
121
|
-
blocked: true,
|
|
122
|
-
error: message,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return {
|
|
126
|
-
success: false,
|
|
127
|
-
error: message,
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Execute a prompt hook (would query LLM in full implementation)
|
|
133
|
-
*/
|
|
134
|
-
async function executePromptHook(hook, context) {
|
|
135
|
-
if (!hook.prompt) {
|
|
136
|
-
return { success: false, error: 'No prompt specified' };
|
|
137
|
-
}
|
|
138
|
-
// In a full implementation, this would:
|
|
139
|
-
// 1. Send the prompt to a fast LLM (e.g., Haiku)
|
|
140
|
-
// 2. Parse the response for decision
|
|
141
|
-
// 3. Return the result
|
|
142
|
-
// For now, return a placeholder that allows continuation
|
|
143
|
-
return {
|
|
144
|
-
success: true,
|
|
145
|
-
decision: 'continue',
|
|
146
|
-
reason: 'Prompt hooks require LLM integration',
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Execute a single hook
|
|
151
|
-
*/
|
|
152
|
-
async function executeHook(hook, context) {
|
|
153
|
-
switch (hook.type) {
|
|
154
|
-
case 'command':
|
|
155
|
-
return executeCommandHook(hook, context);
|
|
156
|
-
case 'prompt':
|
|
157
|
-
return executePromptHook(hook, context);
|
|
158
|
-
default:
|
|
159
|
-
return { success: false, error: `Unknown hook type: ${hook.type}` };
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* HooksManager class for managing and executing hooks
|
|
164
|
-
*/
|
|
165
|
-
export class HooksManager {
|
|
166
|
-
hooks;
|
|
167
|
-
workingDir;
|
|
168
|
-
constructor(workingDir) {
|
|
169
|
-
this.workingDir = workingDir;
|
|
170
|
-
this.hooks = loadHooks(workingDir);
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Reload hooks from settings files
|
|
174
|
-
*/
|
|
175
|
-
reload() {
|
|
176
|
-
this.hooks = loadHooks(this.workingDir);
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Check if hooks are configured for an event
|
|
180
|
-
*/
|
|
181
|
-
hasHooks(event) {
|
|
182
|
-
return Boolean(this.hooks[event]?.length);
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Get all hooks for an event
|
|
186
|
-
*/
|
|
187
|
-
getHooks(event) {
|
|
188
|
-
return this.hooks[event] ?? [];
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Execute all matching hooks for an event
|
|
192
|
-
*/
|
|
193
|
-
async executeHooks(context) {
|
|
194
|
-
const eventHooks = this.hooks[context.event] ?? [];
|
|
195
|
-
const results = [];
|
|
196
|
-
for (const hook of eventHooks) {
|
|
197
|
-
if (matchesHook(hook, context)) {
|
|
198
|
-
const result = await executeHook(hook, context);
|
|
199
|
-
results.push(result);
|
|
200
|
-
// Stop on blocking result
|
|
201
|
-
if (result.blocked) {
|
|
202
|
-
break;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return results;
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Execute pre-tool hooks and check if tool should proceed
|
|
210
|
-
*/
|
|
211
|
-
async executePreToolHooks(toolName, args) {
|
|
212
|
-
const context = {
|
|
213
|
-
event: 'PreToolUse',
|
|
214
|
-
toolName,
|
|
215
|
-
toolArgs: args,
|
|
216
|
-
workingDir: this.workingDir,
|
|
217
|
-
};
|
|
218
|
-
const results = await this.executeHooks(context);
|
|
219
|
-
// Check if any hook blocked the operation
|
|
220
|
-
const blocked = results.some((r) => r.blocked || r.decision === 'deny');
|
|
221
|
-
return { allowed: !blocked, results };
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Execute post-tool hooks
|
|
225
|
-
*/
|
|
226
|
-
async executePostToolHooks(toolName, args, result) {
|
|
227
|
-
const context = {
|
|
228
|
-
event: 'PostToolUse',
|
|
229
|
-
toolName,
|
|
230
|
-
toolArgs: args,
|
|
231
|
-
toolResult: result,
|
|
232
|
-
workingDir: this.workingDir,
|
|
233
|
-
};
|
|
234
|
-
return this.executeHooks(context);
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Execute user prompt hooks
|
|
238
|
-
*/
|
|
239
|
-
async executeUserPromptHooks(userInput) {
|
|
240
|
-
const context = {
|
|
241
|
-
event: 'UserPromptSubmit',
|
|
242
|
-
userInput,
|
|
243
|
-
workingDir: this.workingDir,
|
|
244
|
-
};
|
|
245
|
-
const results = await this.executeHooks(context);
|
|
246
|
-
const blocked = results.some((r) => r.blocked || r.decision === 'deny');
|
|
247
|
-
return { allowed: !blocked, results };
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Execute session lifecycle hooks
|
|
251
|
-
*/
|
|
252
|
-
async executeSessionHook(event, sessionId) {
|
|
253
|
-
const context = {
|
|
254
|
-
event,
|
|
255
|
-
sessionId,
|
|
256
|
-
workingDir: this.workingDir,
|
|
257
|
-
};
|
|
258
|
-
return this.executeHooks(context);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Create a hooks manager for the given working directory
|
|
263
|
-
*/
|
|
264
|
-
export function createHooksManager(workingDir) {
|
|
265
|
-
return new HooksManager(workingDir);
|
|
266
|
-
}
|
|
267
|
-
//# sourceMappingURL=hooks.js.map
|
package/dist/core/hooks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Performance Metrics Tracker
|
|
3
|
-
*
|
|
4
|
-
* Tracks session performance metrics for analytics and improvement suggestions.
|
|
5
|
-
*/
|
|
6
|
-
import type { ProviderUsage } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Performance metrics for an agent session.
|
|
9
|
-
*/
|
|
10
|
-
export interface AgentPerformanceMetrics {
|
|
11
|
-
sessionId: string;
|
|
12
|
-
totalMessages: number;
|
|
13
|
-
totalToolCalls: number;
|
|
14
|
-
totalTokensUsed: number;
|
|
15
|
-
totalTimeMs: number;
|
|
16
|
-
successfulToolCalls: number;
|
|
17
|
-
failedToolCalls: number;
|
|
18
|
-
codeBlocksGenerated: number;
|
|
19
|
-
avgResponseTimeMs: number;
|
|
20
|
-
avgCodeQuality: number;
|
|
21
|
-
avgAlgorithmEfficiency: number;
|
|
22
|
-
avgErrorHandling: number;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Code quality evaluation result.
|
|
26
|
-
*/
|
|
27
|
-
export interface CodeQualityMetrics {
|
|
28
|
-
codeQualityScore: number;
|
|
29
|
-
algorithmEfficiency: number;
|
|
30
|
-
errorHandlingScore: number;
|
|
31
|
-
documentationScore: number;
|
|
32
|
-
maintainabilityScore: number;
|
|
33
|
-
securityScore: number;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Execution trace for debugging and analysis.
|
|
37
|
-
*/
|
|
38
|
-
export interface ExecutionTrace {
|
|
39
|
-
traceId: string;
|
|
40
|
-
timestamp: string;
|
|
41
|
-
prompt: string;
|
|
42
|
-
response: string;
|
|
43
|
-
toolCalls: Array<{
|
|
44
|
-
name: string;
|
|
45
|
-
arguments: Record<string, unknown>;
|
|
46
|
-
result?: string;
|
|
47
|
-
error?: string;
|
|
48
|
-
durationMs: number;
|
|
49
|
-
}>;
|
|
50
|
-
totalDurationMs: number;
|
|
51
|
-
tokenUsage?: ProviderUsage;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Improvement suggestion from analysis.
|
|
55
|
-
*/
|
|
56
|
-
export interface ImprovementSuggestion {
|
|
57
|
-
category: 'performance' | 'quality' | 'efficiency' | 'error-handling';
|
|
58
|
-
severity: 'low' | 'medium' | 'high';
|
|
59
|
-
message: string;
|
|
60
|
-
suggestedAction?: string;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Creates default performance metrics.
|
|
64
|
-
*/
|
|
65
|
-
export declare function createDefaultMetrics(sessionId: string): AgentPerformanceMetrics;
|
|
66
|
-
/**
|
|
67
|
-
* Tracks performance metrics for an agent session.
|
|
68
|
-
*/
|
|
69
|
-
export declare class MetricsTracker {
|
|
70
|
-
private metrics;
|
|
71
|
-
private responseTimes;
|
|
72
|
-
private codeQualityScores;
|
|
73
|
-
private efficiencyScores;
|
|
74
|
-
private errorHandlingScores;
|
|
75
|
-
private traces;
|
|
76
|
-
constructor(sessionId: string);
|
|
77
|
-
/**
|
|
78
|
-
* Record a message exchange.
|
|
79
|
-
*/
|
|
80
|
-
recordMessage(elapsedMs: number, usage?: ProviderUsage | null): void;
|
|
81
|
-
/**
|
|
82
|
-
* Record a tool call.
|
|
83
|
-
*/
|
|
84
|
-
recordToolCall(success: boolean): void;
|
|
85
|
-
/**
|
|
86
|
-
* Record code generation.
|
|
87
|
-
*/
|
|
88
|
-
recordCodeGeneration(codeBlockCount: number): void;
|
|
89
|
-
/**
|
|
90
|
-
* Record code quality evaluation.
|
|
91
|
-
*/
|
|
92
|
-
recordCodeQuality(quality: CodeQualityMetrics): void;
|
|
93
|
-
/**
|
|
94
|
-
* Add an execution trace.
|
|
95
|
-
*/
|
|
96
|
-
addTrace(trace: ExecutionTrace): void;
|
|
97
|
-
/**
|
|
98
|
-
* Update running averages.
|
|
99
|
-
*/
|
|
100
|
-
private updateAverages;
|
|
101
|
-
/**
|
|
102
|
-
* Get current metrics.
|
|
103
|
-
*/
|
|
104
|
-
getMetrics(): AgentPerformanceMetrics;
|
|
105
|
-
/**
|
|
106
|
-
* Get execution traces.
|
|
107
|
-
*/
|
|
108
|
-
getTraces(): ExecutionTrace[];
|
|
109
|
-
/**
|
|
110
|
-
* Get human-readable performance summary.
|
|
111
|
-
*/
|
|
112
|
-
getPerformanceSummary(): string;
|
|
113
|
-
/**
|
|
114
|
-
* Get improvement suggestions based on metrics.
|
|
115
|
-
*/
|
|
116
|
-
getImprovementSuggestions(): ImprovementSuggestion[];
|
|
117
|
-
/**
|
|
118
|
-
* Reset all metrics.
|
|
119
|
-
*/
|
|
120
|
-
reset(): void;
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=metricsTracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metricsTracker.d.ts","sourceRoot":"","sources":["../../src/core/metricsTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metricsTracker.js","sourceRoot":"","sources":["../../src/core/metricsTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Authorized Security Assessment Framework
|
|
3
|
-
*
|
|
4
|
-
* Ethical security testing that requires explicit authorization.
|
|
5
|
-
* Focuses on defensive assessment and remediation guidance.
|
|
6
|
-
*
|
|
7
|
-
* Use cases:
|
|
8
|
-
* - Scanning YOUR OWN code for vulnerabilities
|
|
9
|
-
* - OWASP-style security checklists
|
|
10
|
-
* - Dependency vulnerability analysis
|
|
11
|
-
* - Secret detection in codebases you own
|
|
12
|
-
* - CTF challenge assistance
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* Authorization context for security testing
|
|
16
|
-
*/
|
|
17
|
-
export interface SecurityAuthorizationContext {
|
|
18
|
-
/** User explicitly confirms they own/have permission to test this target */
|
|
19
|
-
ownershipConfirmed: boolean;
|
|
20
|
-
/** Target scope (paths, URLs) they're authorized to test */
|
|
21
|
-
authorizedScope: string[];
|
|
22
|
-
/** Authorization timestamp */
|
|
23
|
-
authorizedAt: Date;
|
|
24
|
-
/** Type of testing authorized */
|
|
25
|
-
testingType: 'code-review' | 'dependency-scan' | 'secret-detection' | 'ctf' | 'full-assessment';
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Vulnerability finding
|
|
29
|
-
*/
|
|
30
|
-
export interface VulnerabilityFinding {
|
|
31
|
-
id: string;
|
|
32
|
-
severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
33
|
-
category: string;
|
|
34
|
-
title: string;
|
|
35
|
-
description: string;
|
|
36
|
-
location: {
|
|
37
|
-
file?: string;
|
|
38
|
-
line?: number;
|
|
39
|
-
snippet?: string;
|
|
40
|
-
};
|
|
41
|
-
remediation: string;
|
|
42
|
-
references: string[];
|
|
43
|
-
cwe?: string;
|
|
44
|
-
owasp?: string;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Security assessment result
|
|
48
|
-
*/
|
|
49
|
-
export interface SecurityAssessmentResult {
|
|
50
|
-
success: boolean;
|
|
51
|
-
scanType: string;
|
|
52
|
-
scope: string[];
|
|
53
|
-
timestamp: Date;
|
|
54
|
-
findings: VulnerabilityFinding[];
|
|
55
|
-
summary: {
|
|
56
|
-
critical: number;
|
|
57
|
-
high: number;
|
|
58
|
-
medium: number;
|
|
59
|
-
low: number;
|
|
60
|
-
info: number;
|
|
61
|
-
};
|
|
62
|
-
recommendations: string[];
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Verify authorization before any security testing
|
|
66
|
-
*/
|
|
67
|
-
export declare function verifyAuthorization(context: SecurityAuthorizationContext, targetPath: string): {
|
|
68
|
-
authorized: boolean;
|
|
69
|
-
reason?: string;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Scan source code for vulnerabilities
|
|
73
|
-
*/
|
|
74
|
-
export declare function scanSourceCode(directory: string, context: SecurityAuthorizationContext): SecurityAssessmentResult;
|
|
75
|
-
/**
|
|
76
|
-
* Scan for hardcoded secrets
|
|
77
|
-
*/
|
|
78
|
-
export declare function scanSecrets(directory: string, context: SecurityAuthorizationContext): SecurityAssessmentResult;
|
|
79
|
-
/**
|
|
80
|
-
* Scan npm dependencies for vulnerabilities
|
|
81
|
-
*/
|
|
82
|
-
export declare function scanDependencies(directory: string, context: SecurityAuthorizationContext): SecurityAssessmentResult;
|
|
83
|
-
/**
|
|
84
|
-
* Format assessment results for display
|
|
85
|
-
*/
|
|
86
|
-
export declare function formatAssessmentReport(result: SecurityAssessmentResult): string;
|
|
87
|
-
/**
|
|
88
|
-
* Create authorization context (requires user confirmation)
|
|
89
|
-
*/
|
|
90
|
-
export declare function createAuthorizationContext(scope: string[], testingType: SecurityAuthorizationContext['testingType']): SecurityAuthorizationContext;
|
|
91
|
-
//# sourceMappingURL=securityAssessment.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"securityAssessment.d.ts","sourceRoot":"","sources":["../../src/core/securityAssessment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,kBAAkB,EAAE,OAAO,CAAC;IAC5B,4DAA4D;IAC5D,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,8BAA8B;IAC9B,YAAY,EAAE,IAAI,CAAC;IACnB,iCAAiC;IACjC,WAAW,EAAE,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,KAAK,GAAG,iBAAiB,CAAC;CACjG;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AA+JD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,4BAA4B,EACrC,UAAU,EAAE,MAAM,GACjB;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAiC1C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,GACpC,wBAAwB,CA6F1B;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,GACpC,wBAAwB,CAoG1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,GACpC,wBAAwB,CAqG1B;AAuCD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAuD/E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,4BAA4B,CAAC,aAAa,CAAC,GACvD,4BAA4B,CAO9B"}
|