- Add ExternalSecret for auth secrets (SESSION_SECRET, GitHub OAuth) via AWS Secrets Manager
- Separate user-configurable provider API keys into dedicated K8s Secret
- Update deployment to use three-layer configuration model:
* ConfigMap: non-sensitive public settings
* ExternalSecret → Secret: infrastructure auth secrets from AWS
* Secret: user-configurable provider API keys managed via UI
- Add comprehensive documentation for AWS Secrets Manager setup
- Include K8s deployment architecture guide with troubleshooting commands
- Enable secure, auditable, and rotatable secrets management for production
This follows enterprise security best practices with proper separation of concerns between infrastructure and user secrets.
- Add SESSION_SECRET to Secret template for secure cookie encryption
- Add GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET for OAuth authentication
- Update deployment to reference both ConfigMap and Secret via envFrom
- Ensure sensitive data stays in Secret (base64 encoded) not ConfigMap
- Add helpful comments for secret generation and security best practices
This enables secure session management and GitHub authentication in EKS deployment.
- Update all auth-related routes to use @remix-run/cloudflare imports
- Fix GitHub OAuth server utilities to use Cloudflare-compatible session storage
- Resolve build failures caused by Node.js-specific modules in browser bundle
- Enable successful production builds for EKS deployment
This resolves the 'Cannot access xs before initialization' error by ensuring all imports are compatible with the Cloudflare Workers runtime environment.
- Fix TypeScript compilation errors in debug API route that were causing JavaScript bundling failures
- Add proper type definitions for API responses and test results
- Fix type conversions and parameter typing throughout debug route
- Update auth controls with proper error state typing
- Resolve 'Cannot access xs before initialization' runtime error in production
This fixes the EKS deployment crash by eliminating TypeScript compilation issues that were causing JavaScript module loading problems.
- Separate auth controls into lazy-loaded component to prevent module loading issues
- Add comprehensive error handling and fallbacks throughout auth system
- Make profile store resilient to initialization errors with safe localStorage access
- Add try-catch blocks around critical functions to prevent runtime crashes
- Provide fallback navigation methods when auth hooks fail
- Fix EKS deployment crash caused by JavaScript bundling/hoisting issues
This fixes the Header-DpwHgB0l.js runtime error that was preventing the app from loading in production.
- Add GitHub OAuth 2.0 authentication flow
- Create authentication routes: /auth/login, /auth/callback, /auth/logout
- Implement OAuth server utilities with proper session management
- Add authentication hooks and client-side state management
- Update header with login/logout controls and user menu
- Create user profile page with GitHub integration
- Add environment variables for GitHub OAuth configuration
- Include comprehensive documentation for setup and usage
- Enhance profile store with authentication state
- Add authentication status API endpoint
Closes: GitHub authentication implementation
- Added claude-3-7-sonnet and gpt-4o-mini as static models
- Fixes 500 'Model not found' error during inference
- Now properly returns 401 for invalid API key (expected behavior)
- Models now appear in /api/models response
- Inference pipeline working correctly
This resolves the core 500 error. Next step is configuring valid API key.
- Remove overly complex validateApiConfig method
- Follow exact same pattern as working OpenAI provider
- Simplify getModelInstance method to be more robust
- Fix 500 error in inference by removing strict validation
- Maintains dynamic model fetching functionality
This should resolve the inference execution issues while keeping model listing working.
Key improvements:
- Switch from getOpenAILikeModel to createOpenAI for better control
- Comprehensive error handling and validation
- Better base URL normalization and configuration
- Enhanced logging for debugging inference issues
- Proper header configuration for API requests
- Detailed error messages for troubleshooting
This should resolve the inference execution issues while maintaining model listing functionality.
- Added debug guide with manual testing procedures
- Created debug API route for testing endpoints
- Includes models endpoint, chat completions, and AI SDK testing
- Provides detailed error logging and response analysis
- CORS support for browser testing
- Added comprehensive logging for model fetching and instance creation
- Improved error handling with detailed error messages
- Added input validation for API responses
- Better debugging for inference endpoint issues
- Implemented BayerMGAProvider extending BaseProvider
- Configured base URL: https://chat.int.bayer.com/api/v2
- Added dynamic model fetching from /models endpoint with filters
- Integrated provider into UI (CloudProvidersTab, ServiceStatusTab)
- Added provider registration in LLM registry
- Supports user-configurable API token input
- Filters models by availability status
- Maps API response to ModelInfo format with proper token limits
Pass model and provider information through chat components to include in quick action messages. This fixes the issue of defaulting to anthropic model.
The isStreaming prop was passed through multiple chat components but wasn't being strict enough in the Markdown component where it was ultimately passed causing the quick actions to be disabled.
- Pass isStreaming prop through message components to disable actions during streaming
- Improve action button styling with icons and better spacing
- Disable buttons while streaming to prevent concurrent actions
- Implement discuss mode toggle and UI in chat box
- Add quick action buttons for file, message, implement and link actions
- Extend markdown parser to handle quick action elements
- Update message components to support discuss mode and quick actions
- Add discuss prompt for technical consulting responses
- Refactor chat components to support new functionality
The changes introduce a new discuss mode that allows users to switch between code implementation and technical discussion modes. Quick action buttons provide immediate interaction options like opening files, sending messages, or switching modes.
The Docker build process was failing with an out-of-memory error during the `pnpm run build` step in the `bolt-ai-production` stage.
This commit increases the memory available to Node.js by modifying the build command to include the `--max-old-space-size=4096` flag. This provides 4GB of memory to the Node.js process, which should be sufficient to complete the build.