Draft
Conversation
Implement Cloud Team feature for real-time team collaboration with the following capabilities: - Session management: create, join, update, and manage team sessions - Real-time communication: WebSocket support for live collaboration - Task workflow: submit task plans, track progress, and manage approvals - Leader election: automatic leader election with heartbeat mechanism - Repository affinity: register and query repositories per session New database models added: - TeamSession, TeamSessionMember, TeamTask - TeamApprovalRequest, TeamRepoAffinity Routes registered at /api/team/* with WebSocket at /ws/sessions/:id Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
Add comprehensive client SDK documentation and working examples: - client/README.md: full integration guide covering architecture, plugin reference (all 4 interfaces), config reference, task DAG with dependency wiring, repo affinity, REST API reference, and WebSocket event reference - client/go/example/main.go: CLI tool supporting both leader and teammate modes; SimplePlanner generates 3-task DAG, ShellExecutor runs task descriptions as shell commands, LocalExplorer handles file_tree/content_search/git_log/symbol_search queries, StdinApprover reads y/n from stdin - client/ts/examples/leader.ts: TypeScript leader example with plan submission, stdin approval plugin, and periodic progress polling - client/ts/examples/teammate.ts: TypeScript teammate example with child_process executor, ripgrep-based explorer, and repo affinity registration on startup Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
Add .gitignore to client/ts/ to exclude node_modules/, dist/, and source maps from version control. Remove previously tracked node_modules files from the repository index. Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Add end-to-end tests for team functionality - Add test helpers and mocks for e2e testing - Add TypeScript configuration for e2e tests - Add npm scripts for running e2e tests - Add @types/node dev dependency - Remove unused server/migrate binary Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
Replace ts-node with tsx for running e2e tests to improve performance and simplify configuration. Update tsconfig.e2e.json module resolution to node and remove experimental resolver options. Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
…nment Client changes: - Add TeamClient.createSession() static method - Add waitConnected() to WSConnection for connection readiness - Fix start() to wait for WS connection before returning - Update MockLeaderPlugin to round-robin assign tasks to teammates - Use createSession and UUID task IDs in e2e tests Server changes: - Add RetryTask() store method for task retry logic - Re-dispatch task.assigned on retry when task fails Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
Add CRUD operations for item categories including:
- GET /categories - List all categories with i18n names
- POST /categories - Create new category
- GET /categories/{id} - Get category by ID
- PUT /categories/{id} - Update category
- DELETE /categories/{id} - Delete category
Also includes:
- Add tsx dev dependency to client/ts for TypeScript execution
- Add tsconfig.json for client examples
- Update swagger documentation
- Update portal submodule
Signed-off-by: 林凯90331 <[email protected]>
Co-authored-by: CoStrict <[email protected]>
…esolution - Add gcc and musl-dev to Dockerfile build stage for CGO support - Enable CGO_ENABLED=1 for server and migrate builds (required by go-sqlite3) - Add musl to final stage for runtime CGO compatibility - Update client/ts tsconfig moduleResolution from 'node' to 'bundler' - Update portal submodule to latest commit Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
- Change CGO_ENABLED from 1 to 0 to support cross-compilation - Remove gcc, musl-dev and musl dependencies - Simplify Dockerfile for better multi-arch builds Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
Implement P1-P5 priority-based task scheduling with repo affinity algorithm. Add leader capability scoring based on repo coverage, heartbeat success rate, CPU/memory, and latency. Introduce task decomposition endpoint for LLM-based sub-task generation. Extend WebSocket hub with event log replay, leader expiry watcher, and decompose result channels. Add member capability fields and auto-assignment for task plans. Update portal submodule to latest commit. Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
5050cee to
cdd303d
Compare
Improve Cloud Team reliability when teammates disconnect or schemas lag.\nPrefer online non-leader targets for decomposition, fallback to leader-aware\nsingle-task decomposition with degraded success responses, and reassign\npending tasks when members reconnect.\n\nAdd a leader task termination endpoint with fencing token validation and\npropagate task.terminate/task.interrupted events. Harden session member\nupsert logic for reconnects and legacy uniqueness constraints, and add\ncapability columns migration with compatibility fallbacks. Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
- Add SetAssignedTaskPusher function to Handler for cloud-based task dispatch\n- Implement requireUserOrDeviceAuth middleware for flexible authentication\n- Add EventTeamTaskDispatch event type for cloud routing\n- Replace direct hub calls with dispatchAssignedTaskToMachine method\n- Add fallback routing for browser-only machine IDs via user devices\n- Integrate cloud event router for team task distribution Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
Implemented comprehensive orchestration feature that combines auto-explore, task decomposition, and scheduling into a single pipeline. Added dry-run support for task decomposition to preview tasks without creating them. Enhanced leader election with crash recovery mechanisms that reconcile orphaned tasks and provide session snapshots to new leaders. Added auto-explore functionality to gather codebase context from online teammates. Improved task interruption logic to handle assigned tasks during member departures. Signed-off-by: 林凯90331 <[email protected]> Co-authored-by: CoStrict <[email protected]>
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
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.