@fractary/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +169 -0
  3. package/dist/__tests__/smoke.test.d.ts +7 -0
  4. package/dist/__tests__/smoke.test.d.ts.map +1 -0
  5. package/dist/__tests__/smoke.test.js +132 -0
  6. package/dist/__tests__/smoke.test.js.map +1 -0
  7. package/dist/common/config.d.ts +30 -0
  8. package/dist/common/config.d.ts.map +1 -0
  9. package/dist/common/config.js +120 -0
  10. package/dist/common/config.js.map +1 -0
  11. package/dist/common/errors.d.ts +264 -0
  12. package/dist/common/errors.d.ts.map +1 -0
  13. package/dist/common/errors.js +491 -0
  14. package/dist/common/errors.js.map +1 -0
  15. package/dist/common/index.d.ts +9 -0
  16. package/dist/common/index.d.ts.map +1 -0
  17. package/dist/common/index.js +25 -0
  18. package/dist/common/index.js.map +1 -0
  19. package/dist/common/types.d.ts +622 -0
  20. package/dist/common/types.d.ts.map +1 -0
  21. package/dist/common/types.js +8 -0
  22. package/dist/common/types.js.map +1 -0
  23. package/dist/docs/index.d.ts +8 -0
  24. package/dist/docs/index.d.ts.map +1 -0
  25. package/dist/docs/index.js +26 -0
  26. package/dist/docs/index.js.map +1 -0
  27. package/dist/docs/manager.d.ts +47 -0
  28. package/dist/docs/manager.d.ts.map +1 -0
  29. package/dist/docs/manager.js +250 -0
  30. package/dist/docs/manager.js.map +1 -0
  31. package/dist/docs/types.d.ts +113 -0
  32. package/dist/docs/types.d.ts.map +1 -0
  33. package/dist/docs/types.js +8 -0
  34. package/dist/docs/types.js.map +1 -0
  35. package/dist/file/index.d.ts +9 -0
  36. package/dist/file/index.d.ts.map +1 -0
  37. package/dist/file/index.js +28 -0
  38. package/dist/file/index.js.map +1 -0
  39. package/dist/file/local.d.ts +42 -0
  40. package/dist/file/local.d.ts.map +1 -0
  41. package/dist/file/local.js +137 -0
  42. package/dist/file/local.js.map +1 -0
  43. package/dist/file/manager.d.ts +42 -0
  44. package/dist/file/manager.d.ts.map +1 -0
  45. package/dist/file/manager.js +68 -0
  46. package/dist/file/manager.js.map +1 -0
  47. package/dist/file/types.d.ts +52 -0
  48. package/dist/file/types.d.ts.map +1 -0
  49. package/dist/file/types.js +8 -0
  50. package/dist/file/types.js.map +1 -0
  51. package/dist/index.d.ts +21 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +43 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/logs/index.d.ts +8 -0
  56. package/dist/logs/index.d.ts.map +1 -0
  57. package/dist/logs/index.js +26 -0
  58. package/dist/logs/index.js.map +1 -0
  59. package/dist/logs/manager.d.ts +97 -0
  60. package/dist/logs/manager.d.ts.map +1 -0
  61. package/dist/logs/manager.js +584 -0
  62. package/dist/logs/manager.js.map +1 -0
  63. package/dist/logs/types.d.ts +45 -0
  64. package/dist/logs/types.d.ts.map +1 -0
  65. package/dist/logs/types.js +8 -0
  66. package/dist/logs/types.js.map +1 -0
  67. package/dist/repo/git.d.ts +182 -0
  68. package/dist/repo/git.d.ts.map +1 -0
  69. package/dist/repo/git.js +496 -0
  70. package/dist/repo/git.js.map +1 -0
  71. package/dist/repo/index.d.ts +10 -0
  72. package/dist/repo/index.d.ts.map +1 -0
  73. package/dist/repo/index.js +29 -0
  74. package/dist/repo/index.js.map +1 -0
  75. package/dist/repo/manager.d.ts +179 -0
  76. package/dist/repo/manager.d.ts.map +1 -0
  77. package/dist/repo/manager.js +433 -0
  78. package/dist/repo/manager.js.map +1 -0
  79. package/dist/repo/providers/bitbucket.d.ts +48 -0
  80. package/dist/repo/providers/bitbucket.d.ts.map +1 -0
  81. package/dist/repo/providers/bitbucket.js +86 -0
  82. package/dist/repo/providers/bitbucket.js.map +1 -0
  83. package/dist/repo/providers/github.d.ts +30 -0
  84. package/dist/repo/providers/github.d.ts.map +1 -0
  85. package/dist/repo/providers/github.js +311 -0
  86. package/dist/repo/providers/github.js.map +1 -0
  87. package/dist/repo/providers/gitlab.d.ts +47 -0
  88. package/dist/repo/providers/gitlab.d.ts.map +1 -0
  89. package/dist/repo/providers/gitlab.js +84 -0
  90. package/dist/repo/providers/gitlab.js.map +1 -0
  91. package/dist/repo/providers/index.d.ts +9 -0
  92. package/dist/repo/providers/index.d.ts.map +1 -0
  93. package/dist/repo/providers/index.js +15 -0
  94. package/dist/repo/providers/index.js.map +1 -0
  95. package/dist/repo/types.d.ts +48 -0
  96. package/dist/repo/types.d.ts.map +1 -0
  97. package/dist/repo/types.js +8 -0
  98. package/dist/repo/types.js.map +1 -0
  99. package/dist/spec/index.d.ts +9 -0
  100. package/dist/spec/index.d.ts.map +1 -0
  101. package/dist/spec/index.js +30 -0
  102. package/dist/spec/index.js.map +1 -0
  103. package/dist/spec/manager.d.ts +106 -0
  104. package/dist/spec/manager.d.ts.map +1 -0
  105. package/dist/spec/manager.js +672 -0
  106. package/dist/spec/manager.js.map +1 -0
  107. package/dist/spec/templates.d.ts +28 -0
  108. package/dist/spec/templates.d.ts.map +1 -0
  109. package/dist/spec/templates.js +357 -0
  110. package/dist/spec/templates.js.map +1 -0
  111. package/dist/spec/types.d.ts +53 -0
  112. package/dist/spec/types.d.ts.map +1 -0
  113. package/dist/spec/types.js +8 -0
  114. package/dist/spec/types.js.map +1 -0
  115. package/dist/work/index.d.ts +8 -0
  116. package/dist/work/index.d.ts.map +1 -0
  117. package/dist/work/index.js +26 -0
  118. package/dist/work/index.js.map +1 -0
  119. package/dist/work/manager.d.ts +112 -0
  120. package/dist/work/manager.d.ts.map +1 -0
  121. package/dist/work/manager.js +227 -0
  122. package/dist/work/manager.js.map +1 -0
  123. package/dist/work/providers/github.d.ts +40 -0
  124. package/dist/work/providers/github.d.ts.map +1 -0
  125. package/dist/work/providers/github.js +299 -0
  126. package/dist/work/providers/github.js.map +1 -0
  127. package/dist/work/providers/jira.d.ts +60 -0
  128. package/dist/work/providers/jira.d.ts.map +1 -0
  129. package/dist/work/providers/jira.js +109 -0
  130. package/dist/work/providers/jira.js.map +1 -0
  131. package/dist/work/providers/linear.d.ts +57 -0
  132. package/dist/work/providers/linear.d.ts.map +1 -0
  133. package/dist/work/providers/linear.js +103 -0
  134. package/dist/work/providers/linear.js.map +1 -0
  135. package/dist/work/types.d.ts +42 -0
  136. package/dist/work/types.d.ts.map +1 -0
  137. package/dist/work/types.js +8 -0
  138. package/dist/work/types.js.map +1 -0
  139. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/repo/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fractary/faber - Repo Module
3
+ *
4
+ * Repository operations across GitHub, GitLab, and Bitbucket.
5
+ */
6
+ export { RepoManager } from './manager';
7
+ export { Git } from './git';
8
+ export * from './types';
9
+ export * from './providers';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repo/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * @fractary/faber - Repo Module
4
+ *
5
+ * Repository operations across GitHub, GitLab, and Bitbucket.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Git = exports.RepoManager = void 0;
23
+ var manager_1 = require("./manager");
24
+ Object.defineProperty(exports, "RepoManager", { enumerable: true, get: function () { return manager_1.RepoManager; } });
25
+ var git_1 = require("./git");
26
+ Object.defineProperty(exports, "Git", { enumerable: true, get: function () { return git_1.Git; } });
27
+ __exportStar(require("./types"), exports);
28
+ __exportStar(require("./providers"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repo/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,qCAAwC;AAA/B,sGAAA,WAAW,OAAA;AACpB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,0CAAwB;AACxB,8CAA4B"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * @fractary/faber - Repo Manager
3
+ *
4
+ * High-level repository operations combining Git CLI and platform APIs.
5
+ */
6
+ import { RepoConfig, Branch, BranchCreateOptions, BranchDeleteOptions, BranchListOptions, Commit, CommitOptions, CommitListOptions, GitStatus, PullRequest, PRCreateOptions, PRUpdateOptions, PRListOptions, PRMergeOptions, PRReviewOptions, Tag, TagCreateOptions, TagListOptions, Worktree, WorktreeCreateOptions, WorktreeCleanupOptions, PushOptions, PullOptions } from '../common/types';
7
+ import { WorktreeCleanupResult, DiffOptions } from './types';
8
+ /**
9
+ * Repository Manager
10
+ *
11
+ * Combines local Git operations with remote platform operations.
12
+ */
13
+ export declare class RepoManager {
14
+ private git;
15
+ private provider;
16
+ private config;
17
+ constructor(config?: RepoConfig);
18
+ /**
19
+ * Get the current platform
20
+ */
21
+ get platform(): string;
22
+ /**
23
+ * Get repository status
24
+ */
25
+ getStatus(): GitStatus;
26
+ /**
27
+ * Get current branch name
28
+ */
29
+ getCurrentBranch(): string;
30
+ /**
31
+ * Check if working directory has uncommitted changes
32
+ */
33
+ isDirty(): boolean;
34
+ /**
35
+ * Check if working directory is clean
36
+ */
37
+ isClean(): boolean;
38
+ /**
39
+ * Get diff
40
+ */
41
+ getDiff(options?: DiffOptions): string;
42
+ /**
43
+ * Create a new branch
44
+ */
45
+ createBranch(name: string, options?: BranchCreateOptions): Promise<Branch>;
46
+ /**
47
+ * Delete a branch
48
+ */
49
+ deleteBranch(name: string, options?: BranchDeleteOptions): Promise<void>;
50
+ /**
51
+ * List branches
52
+ */
53
+ listBranches(options?: BranchListOptions): Promise<Branch[]>;
54
+ /**
55
+ * Get a specific branch
56
+ */
57
+ getBranch(name: string): Promise<Branch | null>;
58
+ /**
59
+ * Checkout a branch
60
+ */
61
+ checkout(branch: string): void;
62
+ /**
63
+ * Stage files
64
+ */
65
+ stage(patterns: string[]): void;
66
+ /**
67
+ * Stage all changes
68
+ */
69
+ stageAll(): void;
70
+ /**
71
+ * Unstage files
72
+ */
73
+ unstage(patterns: string[]): void;
74
+ /**
75
+ * Create a commit
76
+ */
77
+ commit(options: CommitOptions): Commit;
78
+ /**
79
+ * Get a commit by ref
80
+ */
81
+ getCommit(ref: string): Commit;
82
+ /**
83
+ * List commits
84
+ */
85
+ listCommits(options?: CommitListOptions): Commit[];
86
+ /**
87
+ * Push to remote
88
+ */
89
+ push(options?: PushOptions): void;
90
+ /**
91
+ * Pull from remote
92
+ */
93
+ pull(options?: PullOptions): void;
94
+ /**
95
+ * Fetch from remote
96
+ */
97
+ fetch(remote?: string): void;
98
+ /**
99
+ * Create a pull request
100
+ */
101
+ createPR(options: PRCreateOptions): Promise<PullRequest>;
102
+ /**
103
+ * Get a pull request
104
+ */
105
+ getPR(number: number): Promise<PullRequest>;
106
+ /**
107
+ * Update a pull request
108
+ */
109
+ updatePR(number: number, options: PRUpdateOptions): Promise<PullRequest>;
110
+ /**
111
+ * List pull requests
112
+ */
113
+ listPRs(options?: PRListOptions): Promise<PullRequest[]>;
114
+ /**
115
+ * Merge a pull request
116
+ */
117
+ mergePR(number: number, options?: PRMergeOptions): Promise<PullRequest>;
118
+ /**
119
+ * Add a comment to a pull request
120
+ */
121
+ addPRComment(number: number, body: string): Promise<void>;
122
+ /**
123
+ * Request review on a pull request
124
+ */
125
+ requestReview(number: number, reviewers: string[]): Promise<void>;
126
+ /**
127
+ * Approve a pull request
128
+ */
129
+ approvePR(number: number, comment?: string): Promise<void>;
130
+ /**
131
+ * Review a pull request
132
+ */
133
+ reviewPR(number: number, options: PRReviewOptions): Promise<void>;
134
+ /**
135
+ * Create a tag
136
+ */
137
+ createTag(name: string, options?: TagCreateOptions): void;
138
+ /**
139
+ * Delete a tag
140
+ */
141
+ deleteTag(name: string): void;
142
+ /**
143
+ * Push a tag
144
+ */
145
+ pushTag(name: string, remote?: string): void;
146
+ /**
147
+ * List tags
148
+ */
149
+ listTags(options?: TagListOptions): Tag[];
150
+ /**
151
+ * Create a worktree
152
+ */
153
+ createWorktree(options: WorktreeCreateOptions): Worktree;
154
+ /**
155
+ * List worktrees
156
+ */
157
+ listWorktrees(): Worktree[];
158
+ /**
159
+ * Remove a worktree
160
+ */
161
+ removeWorktree(path: string, force?: boolean): void;
162
+ /**
163
+ * Prune stale worktrees
164
+ */
165
+ pruneWorktrees(): void;
166
+ /**
167
+ * Cleanup worktrees
168
+ */
169
+ cleanupWorktrees(options?: WorktreeCleanupOptions): Promise<WorktreeCleanupResult>;
170
+ /**
171
+ * Generate a semantic branch name
172
+ */
173
+ generateBranchName(options: {
174
+ type: 'feature' | 'fix' | 'chore' | 'docs' | 'refactor';
175
+ description: string;
176
+ workId?: string;
177
+ }): string;
178
+ }
179
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/repo/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,433 @@
1
+ "use strict";
2
+ /**
3
+ * @fractary/faber - Repo Manager
4
+ *
5
+ * High-level repository operations combining Git CLI and platform APIs.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RepoManager = void 0;
9
+ const git_1 = require("./git");
10
+ const github_1 = require("./providers/github");
11
+ const gitlab_1 = require("./providers/gitlab");
12
+ const bitbucket_1 = require("./providers/bitbucket");
13
+ const config_1 = require("../common/config");
14
+ const errors_1 = require("../common/errors");
15
+ /**
16
+ * Create a provider based on platform
17
+ */
18
+ function createProvider(config) {
19
+ switch (config.platform) {
20
+ case 'github':
21
+ return new github_1.GitHubRepoProvider(config);
22
+ case 'gitlab':
23
+ return new gitlab_1.GitLabRepoProvider(config);
24
+ case 'bitbucket':
25
+ return new bitbucket_1.BitbucketRepoProvider(config);
26
+ default:
27
+ throw new errors_1.ConfigurationError(`Unknown repo platform: ${config.platform}`);
28
+ }
29
+ }
30
+ /**
31
+ * Repository Manager
32
+ *
33
+ * Combines local Git operations with remote platform operations.
34
+ */
35
+ class RepoManager {
36
+ git;
37
+ provider;
38
+ config;
39
+ constructor(config) {
40
+ this.config = config || (0, config_1.loadRepoConfig)() || { platform: 'github' };
41
+ this.git = new git_1.Git();
42
+ this.provider = createProvider(this.config);
43
+ }
44
+ /**
45
+ * Get the current platform
46
+ */
47
+ get platform() {
48
+ return this.provider.platform;
49
+ }
50
+ // =========================================================================
51
+ // STATUS & INFO
52
+ // =========================================================================
53
+ /**
54
+ * Get repository status
55
+ */
56
+ getStatus() {
57
+ return this.git.getStatus();
58
+ }
59
+ /**
60
+ * Get current branch name
61
+ */
62
+ getCurrentBranch() {
63
+ return this.git.getCurrentBranch();
64
+ }
65
+ /**
66
+ * Check if working directory has uncommitted changes
67
+ */
68
+ isDirty() {
69
+ return this.git.isDirty();
70
+ }
71
+ /**
72
+ * Check if working directory is clean
73
+ */
74
+ isClean() {
75
+ return this.git.isClean();
76
+ }
77
+ /**
78
+ * Get diff
79
+ */
80
+ getDiff(options) {
81
+ return this.git.getDiff(options);
82
+ }
83
+ // =========================================================================
84
+ // BRANCHES
85
+ // =========================================================================
86
+ /**
87
+ * Create a new branch
88
+ */
89
+ async createBranch(name, options) {
90
+ // Check if branch already exists
91
+ if (this.git.branchExists(name)) {
92
+ throw new errors_1.BranchExistsError(name);
93
+ }
94
+ // Check if trying to create from protected branch without explicit flag
95
+ const baseBranch = options?.baseBranch || this.git.getCurrentBranch();
96
+ if (this.git.isProtectedBranch(baseBranch) && options?.fromProtected !== true) {
97
+ // This is fine - we allow creating branches FROM protected branches
98
+ }
99
+ // Create branch locally
100
+ this.git.createBranch(name, options?.baseBranch);
101
+ // Return branch info
102
+ return {
103
+ name,
104
+ sha: this.git.exec('rev-parse HEAD'),
105
+ isDefault: false,
106
+ isProtected: false,
107
+ };
108
+ }
109
+ /**
110
+ * Delete a branch
111
+ */
112
+ async deleteBranch(name, options) {
113
+ // Check if protected
114
+ if (this.git.isProtectedBranch(name) && !options?.force) {
115
+ throw new errors_1.ProtectedBranchError(name, 'delete');
116
+ }
117
+ const location = options?.location || 'local';
118
+ if (location === 'local' || location === 'both') {
119
+ this.git.deleteBranch(name, options?.force);
120
+ }
121
+ if (location === 'remote' || location === 'both') {
122
+ await this.provider.deleteBranch(name, options);
123
+ }
124
+ }
125
+ /**
126
+ * List branches
127
+ */
128
+ async listBranches(options) {
129
+ // Get local branches from git
130
+ const localBranches = this.git.listBranches();
131
+ // Apply filters
132
+ let branches = localBranches;
133
+ if (options?.pattern) {
134
+ const regex = new RegExp(options.pattern);
135
+ branches = branches.filter(b => regex.test(b.name));
136
+ }
137
+ if (options?.merged) {
138
+ // Get merged branches
139
+ const merged = this.git.exec('branch --merged').split('\n').map(b => b.trim().replace(/^\* /, ''));
140
+ branches = branches.filter(b => merged.includes(b.name));
141
+ }
142
+ if (options?.limit) {
143
+ branches = branches.slice(0, options.limit);
144
+ }
145
+ return branches;
146
+ }
147
+ /**
148
+ * Get a specific branch
149
+ */
150
+ async getBranch(name) {
151
+ if (!this.git.branchExists(name)) {
152
+ return null;
153
+ }
154
+ const branches = this.git.listBranches();
155
+ return branches.find(b => b.name === name) || null;
156
+ }
157
+ /**
158
+ * Checkout a branch
159
+ */
160
+ checkout(branch) {
161
+ this.git.checkout(branch);
162
+ }
163
+ // =========================================================================
164
+ // COMMITS
165
+ // =========================================================================
166
+ /**
167
+ * Stage files
168
+ */
169
+ stage(patterns) {
170
+ this.git.stage(patterns);
171
+ }
172
+ /**
173
+ * Stage all changes
174
+ */
175
+ stageAll() {
176
+ this.git.stageAll();
177
+ }
178
+ /**
179
+ * Unstage files
180
+ */
181
+ unstage(patterns) {
182
+ this.git.unstage(patterns);
183
+ }
184
+ /**
185
+ * Create a commit
186
+ */
187
+ commit(options) {
188
+ return this.git.commit(options);
189
+ }
190
+ /**
191
+ * Get a commit by ref
192
+ */
193
+ getCommit(ref) {
194
+ return this.git.getCommit(ref);
195
+ }
196
+ /**
197
+ * List commits
198
+ */
199
+ listCommits(options) {
200
+ return this.git.listCommits(options);
201
+ }
202
+ // =========================================================================
203
+ // PUSH/PULL
204
+ // =========================================================================
205
+ /**
206
+ * Push to remote
207
+ */
208
+ push(options) {
209
+ this.git.push(options);
210
+ }
211
+ /**
212
+ * Pull from remote
213
+ */
214
+ pull(options) {
215
+ this.git.pull(options);
216
+ }
217
+ /**
218
+ * Fetch from remote
219
+ */
220
+ fetch(remote) {
221
+ this.git.fetch(remote);
222
+ }
223
+ // =========================================================================
224
+ // PULL REQUESTS
225
+ // =========================================================================
226
+ /**
227
+ * Create a pull request
228
+ */
229
+ async createPR(options) {
230
+ return this.provider.createPR(options);
231
+ }
232
+ /**
233
+ * Get a pull request
234
+ */
235
+ async getPR(number) {
236
+ return this.provider.getPR(number);
237
+ }
238
+ /**
239
+ * Update a pull request
240
+ */
241
+ async updatePR(number, options) {
242
+ return this.provider.updatePR(number, options);
243
+ }
244
+ /**
245
+ * List pull requests
246
+ */
247
+ async listPRs(options) {
248
+ return this.provider.listPRs(options);
249
+ }
250
+ /**
251
+ * Merge a pull request
252
+ */
253
+ async mergePR(number, options) {
254
+ return this.provider.mergePR(number, options);
255
+ }
256
+ /**
257
+ * Add a comment to a pull request
258
+ */
259
+ async addPRComment(number, body) {
260
+ return this.provider.addPRComment(number, body);
261
+ }
262
+ /**
263
+ * Request review on a pull request
264
+ */
265
+ async requestReview(number, reviewers) {
266
+ return this.provider.requestReview(number, reviewers);
267
+ }
268
+ /**
269
+ * Approve a pull request
270
+ */
271
+ async approvePR(number, comment) {
272
+ return this.provider.approvePR(number, comment);
273
+ }
274
+ /**
275
+ * Review a pull request
276
+ */
277
+ async reviewPR(number, options) {
278
+ if (options.approve) {
279
+ await this.provider.approvePR(number, options.comment);
280
+ }
281
+ else if (options.comment) {
282
+ await this.provider.addPRComment(number, options.comment);
283
+ }
284
+ }
285
+ // =========================================================================
286
+ // TAGS
287
+ // =========================================================================
288
+ /**
289
+ * Create a tag
290
+ */
291
+ createTag(name, options) {
292
+ this.git.createTag(name, {
293
+ message: options?.message,
294
+ sha: options?.commit,
295
+ });
296
+ }
297
+ /**
298
+ * Delete a tag
299
+ */
300
+ deleteTag(name) {
301
+ this.git.deleteTag(name);
302
+ }
303
+ /**
304
+ * Push a tag
305
+ */
306
+ pushTag(name, remote) {
307
+ this.git.pushTag(name, remote);
308
+ }
309
+ /**
310
+ * List tags
311
+ */
312
+ listTags(options) {
313
+ return this.git.listTags(options);
314
+ }
315
+ // =========================================================================
316
+ // WORKTREES
317
+ // =========================================================================
318
+ /**
319
+ * Create a worktree
320
+ */
321
+ createWorktree(options) {
322
+ const { path, branch, baseBranch } = options;
323
+ this.git.createWorktree(path, branch, baseBranch);
324
+ return {
325
+ path,
326
+ branch,
327
+ sha: this.git.exec(`rev-parse ${branch}`),
328
+ };
329
+ }
330
+ /**
331
+ * List worktrees
332
+ */
333
+ listWorktrees() {
334
+ return this.git.listWorktrees();
335
+ }
336
+ /**
337
+ * Remove a worktree
338
+ */
339
+ removeWorktree(path, force) {
340
+ this.git.removeWorktree(path, force);
341
+ }
342
+ /**
343
+ * Prune stale worktrees
344
+ */
345
+ pruneWorktrees() {
346
+ this.git.pruneWorktrees();
347
+ }
348
+ /**
349
+ * Cleanup worktrees
350
+ */
351
+ async cleanupWorktrees(options) {
352
+ const result = {
353
+ removed: [],
354
+ skipped: [],
355
+ errors: [],
356
+ };
357
+ const worktrees = this.listWorktrees();
358
+ for (const worktree of worktrees) {
359
+ // Skip main worktree
360
+ if (worktree.isMain) {
361
+ result.skipped.push({ path: worktree.path, reason: 'Main worktree' });
362
+ continue;
363
+ }
364
+ // Check if branch is merged (if option specified)
365
+ if (options?.merged && worktree.branch) {
366
+ try {
367
+ const merged = this.git.exec('branch --merged').split('\n')
368
+ .map(b => b.trim().replace(/^\* /, ''));
369
+ if (!merged.includes(worktree.branch)) {
370
+ result.skipped.push({
371
+ path: worktree.path,
372
+ reason: `Branch ${worktree.branch} is not merged`,
373
+ });
374
+ continue;
375
+ }
376
+ }
377
+ catch {
378
+ // Continue with cleanup if we can't check merge status
379
+ }
380
+ }
381
+ // Remove worktree
382
+ try {
383
+ this.removeWorktree(worktree.path, options?.force);
384
+ result.removed.push(worktree.path);
385
+ // Also delete the branch if requested and it exists
386
+ if (options?.deleteBranch && worktree.branch) {
387
+ try {
388
+ this.git.deleteBranch(worktree.branch, options.force);
389
+ }
390
+ catch {
391
+ // Ignore if branch deletion fails
392
+ }
393
+ }
394
+ }
395
+ catch (error) {
396
+ result.errors.push({
397
+ path: worktree.path,
398
+ error: error instanceof Error ? error.message : String(error),
399
+ });
400
+ }
401
+ }
402
+ // Prune stale worktree entries
403
+ this.pruneWorktrees();
404
+ return result;
405
+ }
406
+ // =========================================================================
407
+ // BRANCH NAMING
408
+ // =========================================================================
409
+ /**
410
+ * Generate a semantic branch name
411
+ */
412
+ generateBranchName(options) {
413
+ const prefixes = this.config.branchPrefixes || {
414
+ feature: 'feature',
415
+ fix: 'fix',
416
+ chore: 'chore',
417
+ docs: 'docs',
418
+ refactor: 'refactor',
419
+ };
420
+ const prefix = prefixes[options.type] || options.type;
421
+ const slug = options.description
422
+ .toLowerCase()
423
+ .replace(/[^a-z0-9]+/g, '-')
424
+ .replace(/^-|-$/g, '')
425
+ .slice(0, 50);
426
+ if (options.workId) {
427
+ return `${prefix}/${options.workId}-${slug}`;
428
+ }
429
+ return `${prefix}/${slug}`;
430
+ }
431
+ }
432
+ exports.RepoManager = RepoManager;
433
+ //# sourceMappingURL=manager.js.map