-
Notifications
You must be signed in to change notification settings - Fork 625
Refactor create mono repo #404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Updated default server endpoint from api.happy-servers.com to api.cluster-fluster.com in: - CLI configuration (src/configuration.ts) - Push notifications client (src/api/pushNotifications.ts) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
chore: - stricter types for daemon control server - fixed integration tests
…rovements-merged Feature/new session wizard ux improvements merged
- Move AgentBackend, AgentRegistry to core/ - Create transport/ with TransportHandler abstraction - Move Gemini-specific logic to GeminiTransport - Create adapters/ for message transformation - Create factories/ for high-level agent creation - Rename AcpSdkBackend → AcpBackend - Remove acp/utils.ts (merged into transport handlers)
…proved UX ACP Integration: - Add sendAgentMessage() for unified Agent Communication Protocol format - Migrate all Gemini messages from sendCodexMessage to sendAgentMessage(gemini, ...) - Add ACP message types: task_started, task_complete, turn_aborted, permission-request Model Selection: - Support dynamic model selection from frontend via meta.model - Save selected model to ~/.gemini/config.json for persistence Permission Handling: - Integrate GeminiPermissionHandler with permission modes (default, read-only, safe-yolo, yolo) - Add permission ID to tool call ID mapping for proper UI tracking Message Flow Improvements: - Add waitForResponseComplete() to ensure all chunks received before task_complete - Accumulate response chunks and send complete message once (fixes fragmentation) - Fix status flickering by not resetting thinking on intermediate idle events Error Handling: - Add retry logic for empty response errors (up to 3 retries) - Improve quota error handling: no retry, show reset time, suggest alternative model - Better error messages for model not found, rate limits, quota exceeded Tool Handling: - Improve change_title detection from toolCallId pattern - Add tool-result emission after permission approval - Track hadToolCallInTurn for proper task_complete timing
- Add ConversationHistory class to track user/assistant messages - Inject previous conversation context into new session on model change - Allows seamless model switching without losing context
…ling - Add `happy gemini project set/get` commands for Workspace accounts - Store project ID per-account (linked to email) - Show helpful error message for "Authentication required" with guide link - Sync local ~/.gemini/oauth_creds.json on `happy connect gemini` - Add `happy connect status` command to show vendor auth status - Pass GOOGLE_CLOUD_PROJECT env var to Gemini SDK
codex: make abort graceful; force-close MCP on kill/exit
- Extract session update handlers into separate module (sessionUpdateHandlers.ts) - handleAgentMessageChunk, handleToolCallUpdate, handleToolCall, etc. - Reduces AcpBackend.ts from ~1350 to ~900 lines - Add retry logic for ACP init/newSession operations - 3 attempts with exponential backoff (1s, 2s, 4s) - Improves reliability on slow starts - Move timeouts to configurable constants - Add getIdleTimeout() to TransportHandler interface - Export GEMINI_TIMEOUTS from GeminiTransport - DEFAULT_IDLE_TIMEOUT_MS, DEFAULT_TOOL_CALL_TIMEOUT_MS - Improve tool name detection in GeminiTransport - ExtendedToolPattern with inputFields and emptyInputDefault - Remove fragile context-based heuristics - Cleaner, more declarative pattern matching Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
…y, unify model resolution
…ath calculation The test was failing because it manually calculated the project directory path by only replacing `/` with `-`, while getProjectPath replaces additional characters including underscores. On macOS, temp directory paths contain underscores, causing a path mismatch. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.