Pre-merge mergeability check via `git merge-tree --write-tree` (dry-run, no side effects). When conflicts exist the "Merge & Push" button is disabled and a ConflictResolutionPanel shows conflict files with options to resolve manually or spawn a conflict-resolution agent. Agent questions appear inline via QuestionForm; on completion the mergeability re-checks automatically. New server-side: MergeabilityResult type, BranchManager.checkMergeability, conflict-resolution prompt, checkInitiativeMergeability query, spawnConflictResolutionAgent mutation, getActiveConflictAgent query. New frontend: useConflictAgent hook, ConflictResolutionPanel component, mergeability badge + panel integration in InitiativeReview.
28 lines
896 B
TypeScript
28 lines
896 B
TypeScript
/**
|
|
* Git Module - Public API
|
|
*
|
|
* Exports the WorktreeManager port interface, types, and adapters.
|
|
* All modules should import from this index file.
|
|
*
|
|
* Pattern follows EventBus module:
|
|
* - Port interface (WorktreeManager) is what consumers depend on
|
|
* - Adapter implementation (SimpleGitWorktreeManager) uses simple-git
|
|
*/
|
|
|
|
// Port interface (what consumers depend on)
|
|
export type { WorktreeManager } from './types.js';
|
|
|
|
// Domain types
|
|
export type { Worktree, WorktreeDiff, MergeResult, MergeabilityResult } from './types.js';
|
|
|
|
// Adapters
|
|
export { SimpleGitWorktreeManager } from './manager.js';
|
|
|
|
// Utilities
|
|
export { cloneProject } from './clone.js';
|
|
export { ensureProjectClone, getProjectCloneDir } from './project-clones.js';
|
|
|
|
// Remote sync
|
|
export { ProjectSyncManager } from './remote-sync.js';
|
|
export type { SyncResult, SyncStatus, BranchDivergence } from './remote-sync.js';
|