Commit Graph

81 Commits

Author SHA1 Message Date
southseact-3d
26c6f5f6c7 fix: Add pony-alpha model and fix model lookup for prefixed model IDs
- Add openrouter/pony-alpha model to models-api.json fixture
- Fix getModel() to lookup models with provider prefix (e.g., openrouter/pony-alpha)
  When user specifies openrouter/pony-alpha, the code now correctly looks for
  the full model ID including prefix in the provider's models object

This fixes the 'ModelNotFoundError' when using OpenRouter models that have
prefixed IDs in the database.
2026-02-08 16:21:21 +00:00
southseact-3d
1fbf5abce6 feat: Add support for multiple AI providers (bytez, llm7.io, aimlapi.com, routeway.ai, g4f.dev) and fix Chutes loader
- Add custom loaders for bytez, llm7, aimlapi, routeway, and g4f providers
- Add provider definitions to models-api.json with sample models
- Add provider icon names to types.ts
- Chutes loader already exists and should work with CHUTES_API_KEY env var

Providers added:
- bytez: Uses BYTEZ_API_KEY, OpenAI-compatible
- llm7: Uses LLM7_API_KEY (optional), OpenAI-compatible
- aimlapi: Uses AIMLAPI_API_KEY, OpenAI-compatible
- routeway: Uses ROUTEWAY_API_KEY, OpenAI-compatible
- g4f: Uses G4F_API_KEY (optional), free tier available
2026-02-08 16:07:02 +00:00
southseact-3d
fccfd80b10 feat: Add custom loader for Chutes provider 2026-02-08 15:55:33 +00:00
southseact-3d
50fda4000c fix: Improve text line separation in builder response
- Update regex to handle both periods and colons as sentence separators
- Properly separate sentences followed by uppercase letters with double newlines
- Fixes issue where OpenCode response text wasn't properly line-separated
2026-02-08 15:15:34 +00:00
southseact-3d
d796e5034d fix: Fix syntax error and add PLUGIN_COMPASS_CHUTES_API_KEY env var support 2026-02-08 14:50:55 +00:00
southseact-3d
ab7799ca58 feat: Add rate limiting and automatic provider switching
- Add rate limit detection and parsing from HTTP 429 responses
- Implement automatic retry with exponential backoff for short-term rate limits
- Implement automatic provider switching for long-term rate limits
- Add circuit breaker pattern for failing providers
- Integrate with existing admin panel rate limit configuration
- Add allProviders parameter to LLM.stream calls to enable provider fallback

Rate limit behavior:
- Short-term (< 5 min): Retry with configured backoff strategy
- Long-term (≥ 5 min): Switch to next available provider
- Max retries: 3 (configurable via admin panel)
- Max wait time: 5 minutes (configurable via admin panel)
- Provider switching: Enabled by default (configurable via admin panel)

Provider priority:
1. Anthropic
2. OpenAI
3. Google
4. OpenRouter
5. Groq
6. xAI
7. Together AI
8. Perplexity
9. DeepInfra
10. Cerebras
11. Mistral
12. Cohere
13. Amazon Bedrock
14. Azure
15. GitHub Copilot
16. GitHub Copilot Enterprise
17. OpenCode
18. ZenMux
19. Google Vertex
20. GitLab
2026-02-08 14:37:02 +00:00
southseact-3d
2dc94310a6 Add comprehensive model fallback improvement plan
- Detailed error classification system for tool errors, early termination, and provider errors
- Provider-specific error mappings for 11 LLM providers (OpenAI, Anthropic, OpenRouter, Chutes, NVIDIA, Together, Fireworks, Mistral, Groq, Google)
- Continue message system with 3-attempt limit before model switch
- 30-second wait for transient/rate limit errors before switching
- Distinguishes tool errors (return to user) from provider errors (switch model)
- Implementation plan with code examples for server.js and processor.ts
2026-02-08 14:16:32 +00:00
southseact-3d
9ef54cf6ee feat: display OpenCode todos with status on builder page
- Capture todowrite tool events and store todos on messages
- Add API endpoint GET /api/sessions/:sessionId/todos
- Clear todos on message finish, undo, and redo
- Create renderStructuredTodos function with status icons
- Integrate todo display into message rendering
- Add CSS styling for todo items by status and priority
2026-02-08 14:00:29 +00:00
southseact-3d
638f9ae5d2 Add WordPress and WooCommerce validation tools for PluginCompass
- Create wordpress-validate.cjs tool for WordPress plugin validation
- Create woocommerce-validate.cjs tool for WooCommerce-specific checks
- Create agent/wordpress.md system prompt for PluginCompass branding
- Update opencode.jsonc to enable new tools and agent configuration

Both tools are token-efficient:
- Success: minimal JSON output (~50 tokens)
- Failure: detailed issues with file paths, line numbers, and suggestions

wordpress-validate checks:
- Forbidden functions (eval, exec, shell_exec, etc.)
- SQL injection vulnerabilities
- XSS vulnerabilities (direct superglobal echo)
- CSRF protection (nonces)
- Capability checks
- Direct file access protection
- Deprecated WordPress functions
- AJAX security
- REST API security
- CSS overlap issues

woocommerce-validate checks:
- HPOS compatibility declaration
- Legacy database access patterns
- Deprecated WooCommerce code
- Version headers (WC tested up to, WC requires at least)
- Database safety (dbDelta usage)
- Blocks compatibility
- Payment gateway implementation
- Shipping method implementation
- AJAX security

All tools follow opencode AGENTS.md coding standards
2026-02-08 13:40:56 +00:00
southseact-3d
42be1781e0 chore: reduce token limits for Professional and Enterprise plans
- Professional plan: reduced from 10M to 5M tokens per month
- Enterprise plan: reduced from 50M to 20M tokens per month
- Hobby (50k) and Starter (100k) remain unchanged

These limits align with the updated pricing structure from shopify-ai.
2026-02-08 13:33:32 +00:00
southseact-3d
0f631dc99a feat: implement prompt injection protection and OpenRouter paid API key support
- Add comprehensive prompt injection security module with 160+ attack pattern detection
- Implement security checks in message handling with proper blocking and user feedback
- Add OpenRouter paid API key support (OPENROUTER_PAID_API_KEY) for premium models
- Update model discovery and chat functions to use paid API key for premium models
- Add comprehensive test suite with 434 test cases (98.39% accuracy)
- Tests cover legitimate WordPress development queries, injection attacks, obfuscated attempts
- Improve builder loading indicators with text-based progress (building/planning)
- Replace spinning animations with 'Starting build/planning process' messages
2026-02-08 13:23:59 +00:00
Liam Hetherington
6e0d039d7c Merge pull request #9 from southseact-3d/cto-task-ok-so-for-chutes-ai-you-need-to-make-it-a-provider-in-the-ad-e01
Add Chutes AI as a proper provider in admin limits section
2026-02-08 11:42:48 +00:00
cto-new[bot]
33e32b62b3 Add Chutes AI as a proper provider in admin limits section 2026-02-08 10:13:35 +00:00
Liam Hetherington
8197b07a1d Merge pull request #8 from southseact-3d/cto-task-ok-so-for-this-the-only-models-that-show-up-are-the-opencode
Add automatic model discovery from configured external providers
2026-02-08 10:08:55 +00:00
cto-new[bot]
078ff433da Add automatic model discovery from configured external providers 2026-02-08 10:03:29 +00:00
Liam Hetherington
f5e4d273da Merge pull request #7 from southseact-3d/cto-task-ok-so-for-this-can-you-remove-the-stuff-from-port-4501-and-u
Remove port 4501 and update health check to not require ttyd service
2026-02-08 09:58:43 +00:00
cto-new[bot]
ce8a0cdf15 Remove port 4501 and update health check to not require ttyd service 2026-02-08 09:57:38 +00:00
Liam Hetherington
9889a6e4fd Merge pull request #5 from southseact-3d/cto-task-ok-so-for-this-app-can-you-change-how-the-prompt-works-by-mo
Refactor WordPress prompt system and add completion signal
2026-02-08 09:45:24 +00:00
Liam Hetherington
a720de36db Merge pull request #2 from southseact-3d/dependabot/cargo/windows-app/src-tauri/cargo-bc2d71d452
Bump the cargo group across 1 directory with 3 updates
2026-02-08 09:44:59 +00:00
Liam Hetherington
0551a13c0a Merge pull request #1 from southseact-3d/dependabot/npm_and_yarn/chat/npm_and_yarn-f3562b46b9
Bump lodash from 4.17.21 to 4.17.23 in /chat in the npm_and_yarn group across 1 directory
2026-02-08 09:44:31 +00:00
cto-new[bot]
23d4c8d0e6 Refactor WordPress prompt system and add completion signal 2026-02-07 22:12:43 +00:00
Liam Hetherington
5827df5ac1 Merge pull request #4 from southseact-3d/cto-task-ok-so-for-this-for-the-opencode-folder-can-you-completely-de
Delete the github folder from opencode and remove related functionality
2026-02-07 21:56:26 +00:00
cto-new[bot]
9ff3f5c489 Delete the github folder from opencode and remove related functionality 2026-02-07 21:53:18 +00:00
Liam Hetherington
6098e91c9b Merge pull request #3 from southseact-3d/cto-task-ok-so-for-this-app-can-you-make-it-use-a-differently-named-d
Use differently named Docker volumes for data persistence
2026-02-07 21:52:04 +00:00
cto-new[bot]
fe8f19076b Use differently named Docker volumes for data persistence 2026-02-07 21:49:32 +00:00
southseact-3d
99dc66f76c Change ports from 4000/4001 to 4500/4501 2026-02-07 20:59:44 +00:00
southseact-3d
efda260214 Vendor opencode source for docker build 2026-02-07 20:54:46 +00:00
southseact-3d
b30ff1cfa4 Add change summary and bundle opencode 2026-02-07 20:54:11 +00:00
dependabot[bot]
9fed99b064 Bump the cargo group across 1 directory with 3 updates
Bumps the cargo group with 2 updates in the /windows-app/src-tauri directory: [bytes](https://github.com/tokio-rs/bytes) and [time](https://github.com/time-rs/time).


Updates `bytes` from 1.11.0 to 1.11.1
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1)

Updates `glib` from 0.15.12 to 0.20.12
- [Release notes](https://github.com/gtk-rs/gtk-rs-core/releases)
- [Changelog](https://github.com/gtk-rs/gtk-rs-core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gtk-rs/gtk-rs-core/compare/0.15.12...0.20.12)

Updates `time` from 0.3.45 to 0.3.47
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.45...v0.3.47)

---
updated-dependencies:
- dependency-name: bytes
  dependency-version: 1.11.1
  dependency-type: indirect
  dependency-group: cargo
- dependency-name: glib
  dependency-version: 0.20.12
  dependency-type: direct:production
  dependency-group: cargo
- dependency-name: time
  dependency-version: 0.3.47
  dependency-type: indirect
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 20:34:09 +00:00
dependabot[bot]
da31b4295a Bump lodash in /chat in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the /chat directory: [lodash](https://github.com/lodash/lodash).


Updates `lodash` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 20:33:54 +00:00
southseact-3d
ed67b7741b Restore to commit 74e578279624c6045ca440a3459ebfa1f8d54191 2026-02-07 20:32:41 +00:00