feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat: add comprehensive live API testing and contributing documentation - #2

Merged
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation
Oct 15, 2025
Merged

feat: add comprehensive live API testing and contributing documentation#2
AlexMikhalev merged 3 commits into
mainfrom
feature/live-api-testing-documentation

Conversation

@AlexMikhalev

Copy link
Copy Markdown

Summary

This PR adds comprehensive live API testing infrastructure and detailed contributing documentation to make the project more accessible to contributors.

🚀 What's Added

New CONTRIBUTING.md Documentation

  • Development Setup - Step-by-step setup instructions
  • Live API Testing Guide - Detailed instructions for running tests with real credentials
  • API Key Management - Security best practices for handling credentials
  • Code Quality Standards - Formatting and linting guidelines
  • Test Structure - Patterns and examples for adding new tests
  • Provider Guidelines - Model names and documentation links

Enhanced Live API Test Suite

  • Fixed Model Naming - Updated google/gemini-2.0-flash-expgoogle/gemini-2.5-flash
  • Enabled Core Tests - OpenRouter and Anthropic basic chat, streaming, tool calling
  • Comprehensive Coverage - JSON mode, image processing, multiple providers
  • Environment Checks - Tests automatically skip if API keys not set

Updated README.md

  • Added "Contributing" section with link to CONTRIBUTING.md
  • Updated "Links" section to include contributing guide

✅ Validation Results

Live API Tests Status:

  • ✅ OpenRouter Basic Chat - Working
  • ✅ OpenRouter Streaming - Working
  • ✅ OpenRouter Tool Calling - Working
  • ✅ OpenRouter JSON Mode - Working
  • ✅ OpenRouter Image Processing - Working
  • ✅ OpenRouter Multiple Providers - Working
  • ✅ Anthropic Basic Chat - Working
  • ✅ Anthropic Streaming - Working

Code Quality:

  • ✅ All formatting checks pass (cargo fmt)
  • ✅ All clippy warnings addressed
  • ✅ 8 tests passed, 0 failed

🔧 Usage

Run Live API Tests:

export OPENROUTER_API_KEY="your-key"export ANTHROPIC_API_KEY="your-key"
cargo test --test live_api_tests -- --nocapture

Code Quality Checks:

cargo fmt --check
cargo clippy --all-targets --all-features -- -W clippy::all

📚 Documentation

The new CONTRIBUTING.md provides everything contributors need:

  • Environment setup
  • Testing procedures (especially live API tests)
  • Security practices for API keys
  • Code style guidelines
  • Pull request process

This makes the project much more accessible to new contributors and ensures consistent, high-quality contributions.

🎯 Impact

  • Lower barrier to entry for new contributors
  • Comprehensive testing with real API validation
  • Better code quality through documented standards
  • Security best practices for API key management
  • Sustainable contribution process

The live API testing infrastructure is now production-ready and fully documented!

- Add CONTRIBUTING.md with detailed development guidelines
- Document live API testing process with real credentials
- Include API key management and security best practices
- Add code quality standards and formatting guidelines
- Update README.md with contributing section
- Fix model naming issues in live API tests
- Enable core live API tests for OpenRouter and Anthropic
The live API test suite now provides comprehensive validation of:
- Basic chat functionality
- Streaming support
- Tool/function calling
- JSON mode
- Image processing
- Multiple provider compatibility
- Error handling
- Model resolution
All tests pass with real API credentials and code quality checks pass.
Signed-off-by: AlexMikhalev <alex@metacortex.engineer>
@AlexMikhalev
AlexMikhalev merged commit 5e9df1e into mainOct 15, 2025
1 check passed
@AlexMikhalev
AlexMikhalev deleted the feature/live-api-testing-documentation branch October 16, 2025 10:41
AlexMikhalev added a commit that referenced this pull request Mar 16, 2026
- Map Bedrock stopReason to StopReason in ChatResponse construction
- Capture stop_reason from messageStop event in streaming responses
- Handle ContentPart::ReasoningContent in content conversion (skip for requests)
- All items from issue checklist for v0.6.0-beta.8 Adapter trait compliance
Refs #2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AlexMikhalev