Metadata-Version: 2.4
Name: swe-ai-agent
Version: 1.0.60
Summary: SWE Agent - Headless Agentic IDE with comprehensive tool support
Project-URL: Homepage, https://github.com/harishsg993010/SWE-Agent
Project-URL: Documentation, https://github.com/harishsg993010/SWE-Agent#readme
Project-URL: Repository, https://github.com/harishsg993010/SWE-Agent
Project-URL: Issues, https://github.com/harishsg993010/SWE-Agent/issues
Author-email: Harish SG <harishsg993010@gmail.com>
License-File: LICENSE
Keywords: agent,ai,automation,claude,development,ide,langchain
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.9
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: anthropic>=0.57.1
Requires-Dist: click>=8.0.0
Requires-Dist: detect-secrets>=1.5.0
Requires-Dist: langchain-anthropic>=0.3.17
Requires-Dist: langchain-core>=0.3.68
Requires-Dist: langchain-mcp-adapters>=0.1.0
Requires-Dist: langchain>=0.3.26
Requires-Dist: langgraph>=0.5.3
Requires-Dist: psutil>=5.8.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pygame>=2.6.1
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: requests>=2.28.0
Requires-Dist: rich>=14.0.0
Requires-Dist: setuptools>=80.9.0
Requires-Dist: twine>=6.1.0
Requires-Dist: typing-extensions>=4.0.0
Provides-Extra: dev
Requires-Dist: black>=22.0.0; extra == 'dev'
Requires-Dist: flake8>=4.0.0; extra == 'dev'
Requires-Dist: mypy>=0.950; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Simple Encryption in C++

A simple encryption library and demonstration program implemented in C++ that provides two basic encryption methods:

1. **Caesar Cipher** - Shifts letters by a specified number of positions in the alphabet
2. **XOR Encryption** - Uses XOR operation with a key for encryption/decryption

## Features

- **Caesar Cipher Encryption/Decryption** with customizable shift values
- **XOR Encryption/Decryption** with string keys
- **Random Key Generation** for XOR encryption
- **Interactive Mode** for user input
- **Demonstration Mode** showing all features
- **Clean C++ Implementation** following established coding standards

## Files

- `SimpleEncryption.h` - Header file with class declaration
- `SimpleEncryption.cc` - Implementation of the encryption class
- `EncryptionDemo.cc` - Demonstration program with examples
- `Makefile` - Build configuration
- `README.md` - This documentation file

## Building the Program

### Prerequisites
- C++ compiler (g++ recommended)
- Make utility

### Compilation
```bash
# Build the program
make

# Or build with debug symbols
make debug

# Clean build artifacts
make clean
```

### Running the Program
```bash
# Run directly
./encryption_demo

# Or use make
make run
```

## Usage Examples

### Caesar Cipher
```cpp
SimpleEncryption encryptor(5); // Default shift of 5

std::string message = "Hello World!";
std::string encrypted = encryptor.EncryptCaesar(message);
std::string decrypted = encryptor.DecryptCaesar(encrypted);
```

### XOR Encryption
```cpp
SimpleEncryption encryptor;

std::string message = "Secret Message";
std::string key = "MyKey123";
std::string encrypted = encryptor.EncryptXor(message, key);
std::string decrypted = encryptor.DecryptXor(encrypted, key);
```

### Random Key Generation
```cpp
SimpleEncryption encryptor;
std::string random_key = encryptor.GenerateRandomKey(16); // 16-character key
```

## Class Methods

### Constructors
- `SimpleEncryption()` - Default constructor (Caesar shift = 3)
- `SimpleEncryption(int key)` - Constructor with custom default key

### Caesar Cipher Methods
- `EncryptCaesar(plaintext, shift)` - Encrypt using Caesar cipher
- `DecryptCaesar(ciphertext, shift)` - Decrypt Caesar cipher

### XOR Encryption Methods
- `EncryptXor(plaintext, key)` - Encrypt using XOR
- `DecryptXor(ciphertext, key)` - Decrypt XOR (same as encrypt)

### Utility Methods
- `SetDefaultKey(key)` - Set default Caesar shift
- `GetDefaultKey()` - Get current default key
- `IsValidText(text)` - Check if text is valid
- `GenerateRandomKey(length)` - Generate random key

## Security Note

⚠️ **Important**: This is a simple educational implementation. The encryption methods provided (Caesar cipher and basic XOR) are **NOT secure** for real-world applications. They are easily breakable and should only be used for:

- Learning purposes
- Simple obfuscation
- Educational demonstrations
- Basic data transformation

For production applications requiring real security, use established cryptographic libraries like:
- OpenSSL
- Crypto++
- libsodium
- Botan

## Program Flow

1. **Demonstration Mode**: Shows examples of both encryption methods
2. **Interactive Mode**: Allows user to input text and choose encryption method
3. **Key Generation**: Demonstrates random key creation

## Code Style

This implementation follows established C++ coding standards:
- Clear naming conventions with prefixes (m for members, etc.)
- Proper class organization (public, protected, private)
- Comprehensive error handling
- Memory-safe string operations
- Const-correctness where applicable

## License

Licensed under the Apache License, Version 2.0. See the license headers in source files for details.