geeto 0.1.0-beta.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 (203) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +152 -0
  3. package/lib/api/copilot-adapter.d.ts +11 -0
  4. package/lib/api/copilot-adapter.d.ts.map +1 -0
  5. package/lib/api/copilot-adapter.js +41 -0
  6. package/lib/api/copilot-adapter.js.map +1 -0
  7. package/lib/api/copilot-sdk.d.ts +48 -0
  8. package/lib/api/copilot-sdk.d.ts.map +1 -0
  9. package/lib/api/copilot-sdk.js +451 -0
  10. package/lib/api/copilot-sdk.js.map +1 -0
  11. package/lib/api/copilot.d.ts +21 -0
  12. package/lib/api/copilot.d.ts.map +1 -0
  13. package/lib/api/copilot.js +87 -0
  14. package/lib/api/copilot.js.map +1 -0
  15. package/lib/api/gemini-sdk.d.ts +24 -0
  16. package/lib/api/gemini-sdk.d.ts.map +1 -0
  17. package/lib/api/gemini-sdk.js +245 -0
  18. package/lib/api/gemini-sdk.js.map +1 -0
  19. package/lib/api/gemini.d.ts +21 -0
  20. package/lib/api/gemini.d.ts.map +1 -0
  21. package/lib/api/gemini.js +87 -0
  22. package/lib/api/gemini.js.map +1 -0
  23. package/lib/api/openrouter-sdk.d.ts +58 -0
  24. package/lib/api/openrouter-sdk.d.ts.map +1 -0
  25. package/lib/api/openrouter-sdk.js +341 -0
  26. package/lib/api/openrouter-sdk.js.map +1 -0
  27. package/lib/api/openrouter.d.ts +17 -0
  28. package/lib/api/openrouter.d.ts.map +1 -0
  29. package/lib/api/openrouter.js +111 -0
  30. package/lib/api/openrouter.js.map +1 -0
  31. package/lib/api/trello.d.ts +17 -0
  32. package/lib/api/trello.d.ts.map +1 -0
  33. package/lib/api/trello.js +72 -0
  34. package/lib/api/trello.js.map +1 -0
  35. package/lib/cli/input.d.ts +39 -0
  36. package/lib/cli/input.d.ts.map +1 -0
  37. package/lib/cli/input.js +119 -0
  38. package/lib/cli/input.js.map +1 -0
  39. package/lib/cli/menu.d.ts +9 -0
  40. package/lib/cli/menu.d.ts.map +1 -0
  41. package/lib/cli/menu.js +201 -0
  42. package/lib/cli/menu.js.map +1 -0
  43. package/lib/core/constants.d.ts +22 -0
  44. package/lib/core/constants.d.ts.map +1 -0
  45. package/lib/core/constants.js +24 -0
  46. package/lib/core/constants.js.map +1 -0
  47. package/lib/core/copilot-setup.d.ts +13 -0
  48. package/lib/core/copilot-setup.d.ts.map +1 -0
  49. package/lib/core/copilot-setup.js +447 -0
  50. package/lib/core/copilot-setup.js.map +1 -0
  51. package/lib/core/gemini-setup.d.ts +8 -0
  52. package/lib/core/gemini-setup.d.ts.map +1 -0
  53. package/lib/core/gemini-setup.js +84 -0
  54. package/lib/core/gemini-setup.js.map +1 -0
  55. package/lib/core/menu-constants.d.ts +24 -0
  56. package/lib/core/menu-constants.d.ts.map +1 -0
  57. package/lib/core/menu-constants.js +22 -0
  58. package/lib/core/menu-constants.js.map +1 -0
  59. package/lib/core/openrouter-setup.d.ts +8 -0
  60. package/lib/core/openrouter-setup.d.ts.map +1 -0
  61. package/lib/core/openrouter-setup.js +73 -0
  62. package/lib/core/openrouter-setup.js.map +1 -0
  63. package/lib/core/setup.d.ts +21 -0
  64. package/lib/core/setup.d.ts.map +1 -0
  65. package/lib/core/setup.js +88 -0
  66. package/lib/core/setup.js.map +1 -0
  67. package/lib/core/trello-setup.d.ts +8 -0
  68. package/lib/core/trello-setup.d.ts.map +1 -0
  69. package/lib/core/trello-setup.js +107 -0
  70. package/lib/core/trello-setup.js.map +1 -0
  71. package/lib/index.d.ts +3 -0
  72. package/lib/index.d.ts.map +1 -0
  73. package/lib/index.js +250 -0
  74. package/lib/index.js.map +1 -0
  75. package/lib/types/index.d.ts +78 -0
  76. package/lib/types/index.d.ts.map +1 -0
  77. package/lib/types/index.js +2 -0
  78. package/lib/types/index.js.map +1 -0
  79. package/lib/utils/branch-naming.d.ts +11 -0
  80. package/lib/utils/branch-naming.d.ts.map +1 -0
  81. package/lib/utils/branch-naming.js +396 -0
  82. package/lib/utils/branch-naming.js.map +1 -0
  83. package/lib/utils/colors.d.ts +14 -0
  84. package/lib/utils/colors.d.ts.map +1 -0
  85. package/lib/utils/colors.js +14 -0
  86. package/lib/utils/colors.js.map +1 -0
  87. package/lib/utils/commit-helpers.d.ts +53 -0
  88. package/lib/utils/commit-helpers.d.ts.map +1 -0
  89. package/lib/utils/commit-helpers.js +177 -0
  90. package/lib/utils/commit-helpers.js.map +1 -0
  91. package/lib/utils/config.d.ts +87 -0
  92. package/lib/utils/config.d.ts.map +1 -0
  93. package/lib/utils/config.js +326 -0
  94. package/lib/utils/config.js.map +1 -0
  95. package/lib/utils/display.d.ts +27 -0
  96. package/lib/utils/display.d.ts.map +1 -0
  97. package/lib/utils/display.js +116 -0
  98. package/lib/utils/display.js.map +1 -0
  99. package/lib/utils/error-helpers.d.ts +27 -0
  100. package/lib/utils/error-helpers.d.ts.map +1 -0
  101. package/lib/utils/error-helpers.js +102 -0
  102. package/lib/utils/error-helpers.js.map +1 -0
  103. package/lib/utils/exec.d.ts +18 -0
  104. package/lib/utils/exec.d.ts.map +1 -0
  105. package/lib/utils/exec.js +96 -0
  106. package/lib/utils/exec.js.map +1 -0
  107. package/lib/utils/git-ai-errors.d.ts +10 -0
  108. package/lib/utils/git-ai-errors.d.ts.map +1 -0
  109. package/lib/utils/git-ai-errors.js +71 -0
  110. package/lib/utils/git-ai-errors.js.map +1 -0
  111. package/lib/utils/git-ai.d.ts +26 -0
  112. package/lib/utils/git-ai.d.ts.map +1 -0
  113. package/lib/utils/git-ai.js +603 -0
  114. package/lib/utils/git-ai.js.map +1 -0
  115. package/lib/utils/git-commands.d.ts +21 -0
  116. package/lib/utils/git-commands.d.ts.map +1 -0
  117. package/lib/utils/git-commands.js +58 -0
  118. package/lib/utils/git-commands.js.map +1 -0
  119. package/lib/utils/git-errors.d.ts +76 -0
  120. package/lib/utils/git-errors.d.ts.map +1 -0
  121. package/lib/utils/git-errors.js +565 -0
  122. package/lib/utils/git-errors.js.map +1 -0
  123. package/lib/utils/git.d.ts +61 -0
  124. package/lib/utils/git.d.ts.map +1 -0
  125. package/lib/utils/git.js +245 -0
  126. package/lib/utils/git.js.map +1 -0
  127. package/lib/utils/logging.d.ts +25 -0
  128. package/lib/utils/logging.d.ts.map +1 -0
  129. package/lib/utils/logging.js +71 -0
  130. package/lib/utils/logging.js.map +1 -0
  131. package/lib/utils/menu-builders.d.ts +47 -0
  132. package/lib/utils/menu-builders.d.ts.map +1 -0
  133. package/lib/utils/menu-builders.js +34 -0
  134. package/lib/utils/menu-builders.js.map +1 -0
  135. package/lib/utils/platform.d.ts +13 -0
  136. package/lib/utils/platform.d.ts.map +1 -0
  137. package/lib/utils/platform.js +32 -0
  138. package/lib/utils/platform.js.map +1 -0
  139. package/lib/utils/spinner-wrapper.d.ts +16 -0
  140. package/lib/utils/spinner-wrapper.d.ts.map +1 -0
  141. package/lib/utils/spinner-wrapper.js +56 -0
  142. package/lib/utils/spinner-wrapper.js.map +1 -0
  143. package/lib/utils/state.d.ts +22 -0
  144. package/lib/utils/state.d.ts.map +1 -0
  145. package/lib/utils/state.js +75 -0
  146. package/lib/utils/state.js.map +1 -0
  147. package/lib/utils/time.d.ts +4 -0
  148. package/lib/utils/time.d.ts.map +1 -0
  149. package/lib/utils/time.js +29 -0
  150. package/lib/utils/time.js.map +1 -0
  151. package/lib/utils/type-guards.d.ts +10 -0
  152. package/lib/utils/type-guards.d.ts.map +1 -0
  153. package/lib/utils/type-guards.js +29 -0
  154. package/lib/utils/type-guards.js.map +1 -0
  155. package/lib/workflows/ai-provider.d.ts +13 -0
  156. package/lib/workflows/ai-provider.d.ts.map +1 -0
  157. package/lib/workflows/ai-provider.js +55 -0
  158. package/lib/workflows/ai-provider.js.map +1 -0
  159. package/lib/workflows/author.d.ts +4 -0
  160. package/lib/workflows/author.d.ts.map +1 -0
  161. package/lib/workflows/author.js +80 -0
  162. package/lib/workflows/author.js.map +1 -0
  163. package/lib/workflows/branch-helpers.d.ts +9 -0
  164. package/lib/workflows/branch-helpers.d.ts.map +1 -0
  165. package/lib/workflows/branch-helpers.js +406 -0
  166. package/lib/workflows/branch-helpers.js.map +1 -0
  167. package/lib/workflows/branch-utils.d.ts +9 -0
  168. package/lib/workflows/branch-utils.d.ts.map +1 -0
  169. package/lib/workflows/branch-utils.js +61 -0
  170. package/lib/workflows/branch-utils.js.map +1 -0
  171. package/lib/workflows/branch.d.ts +12 -0
  172. package/lib/workflows/branch.d.ts.map +1 -0
  173. package/lib/workflows/branch.js +555 -0
  174. package/lib/workflows/branch.js.map +1 -0
  175. package/lib/workflows/cleanup.d.ts +10 -0
  176. package/lib/workflows/cleanup.d.ts.map +1 -0
  177. package/lib/workflows/cleanup.js +287 -0
  178. package/lib/workflows/cleanup.js.map +1 -0
  179. package/lib/workflows/commit.d.ts +10 -0
  180. package/lib/workflows/commit.d.ts.map +1 -0
  181. package/lib/workflows/commit.js +771 -0
  182. package/lib/workflows/commit.js.map +1 -0
  183. package/lib/workflows/main-steps.d.ts +12 -0
  184. package/lib/workflows/main-steps.d.ts.map +1 -0
  185. package/lib/workflows/main-steps.js +407 -0
  186. package/lib/workflows/main-steps.js.map +1 -0
  187. package/lib/workflows/main.d.ts +8 -0
  188. package/lib/workflows/main.d.ts.map +1 -0
  189. package/lib/workflows/main.js +720 -0
  190. package/lib/workflows/main.js.map +1 -0
  191. package/lib/workflows/security-gate.d.ts +8 -0
  192. package/lib/workflows/security-gate.d.ts.map +1 -0
  193. package/lib/workflows/security-gate.js +447 -0
  194. package/lib/workflows/security-gate.js.map +1 -0
  195. package/lib/workflows/settings.d.ts +15 -0
  196. package/lib/workflows/settings.d.ts.map +1 -0
  197. package/lib/workflows/settings.js +438 -0
  198. package/lib/workflows/settings.js.map +1 -0
  199. package/lib/workflows/trello-menu.d.ts +16 -0
  200. package/lib/workflows/trello-menu.d.ts.map +1 -0
  201. package/lib/workflows/trello-menu.js +361 -0
  202. package/lib/workflows/trello-menu.js.map +1 -0
  203. package/package.json +112 -0
@@ -0,0 +1,287 @@
1
+ /**
2
+ * Interactive branch cleanup workflow
3
+ * Allows users to select and delete local and remote branches
4
+ */
5
+ import { askQuestion, confirm } from '../cli/input.js';
6
+ import { colors } from '../utils/colors.js';
7
+ import { exec, execSilent } from '../utils/exec.js';
8
+ import { getCurrentBranch } from '../utils/git.js';
9
+ import { log } from '../utils/logging.js';
10
+ /**
11
+ * Get unified list of branches with location info
12
+ */
13
+ const getUnifiedBranchList = () => {
14
+ const current = getCurrentBranch();
15
+ const protectedBranches = new Set(['main', 'master', 'development', 'develop', 'dev', current]);
16
+ // Get local branches
17
+ const localBranches = new Set();
18
+ try {
19
+ const branches = execSilent('git branch --format="%(refname:short)"')
20
+ .split('\n')
21
+ .filter(Boolean);
22
+ for (const branch of branches) {
23
+ if (!protectedBranches.has(branch.toLowerCase())) {
24
+ localBranches.add(branch);
25
+ }
26
+ }
27
+ }
28
+ catch {
29
+ // Ignore error
30
+ }
31
+ // Get remote branches
32
+ const remoteBranches = new Set();
33
+ try {
34
+ const branches = execSilent('git branch -r --format="%(refname:short)"')
35
+ .split('\n')
36
+ .filter(Boolean)
37
+ .filter((branch) => !branch.includes('HEAD')) // Exclude HEAD pointer
38
+ .filter((branch) => branch.startsWith('origin/')); // Must have origin/ prefix
39
+ for (const branch of branches) {
40
+ const branchName = branch.replace('origin/', '');
41
+ // Skip if empty or just "origin" or protected
42
+ if (branchName &&
43
+ branchName !== 'origin' &&
44
+ !protectedBranches.has(branchName.toLowerCase())) {
45
+ remoteBranches.add(branchName);
46
+ }
47
+ }
48
+ }
49
+ catch {
50
+ // Ignore error
51
+ }
52
+ // Merge and create unified list
53
+ const allBranchNames = new Set([...localBranches, ...remoteBranches]);
54
+ const branchList = [];
55
+ for (const name of allBranchNames) {
56
+ const hasLocal = localBranches.has(name);
57
+ const hasRemote = remoteBranches.has(name);
58
+ let label = '';
59
+ if (hasLocal && hasRemote) {
60
+ label = ''; // Both - no label needed
61
+ }
62
+ else if (hasLocal) {
63
+ label = `${colors.yellow}(local only)${colors.reset}`;
64
+ }
65
+ else if (hasRemote) {
66
+ label = `${colors.cyan}(remote only)${colors.reset}`;
67
+ }
68
+ branchList.push({
69
+ name,
70
+ hasLocal,
71
+ hasRemote,
72
+ label,
73
+ });
74
+ }
75
+ // Sort by location: remote-only first, then both, then local-only; within each group sort alphabetically
76
+ const rank = (br) => br.hasRemote && !br.hasLocal ? 0 : br.hasRemote && br.hasLocal ? 1 : 2;
77
+ branchList.sort((a, b) => {
78
+ const ra = rank(a);
79
+ const rb = rank(b);
80
+ if (ra !== rb)
81
+ return ra - rb;
82
+ return a.name.localeCompare(b.name);
83
+ });
84
+ return branchList;
85
+ };
86
+ /**
87
+ * Interactive branch cleanup
88
+ * Allows users to select and delete local and remote branches
89
+ */
90
+ export const handleInteractiveCleanup = () => {
91
+ log.banner();
92
+ log.step(`${colors.cyan}Branch Cleanup${colors.reset}\n`);
93
+ // Check if in git repo
94
+ try {
95
+ exec('git rev-parse --is-inside-work-tree', true);
96
+ }
97
+ catch {
98
+ log.error('Not a git repository!');
99
+ process.exit(1);
100
+ }
101
+ const current = getCurrentBranch();
102
+ log.info(`Current branch: ${colors.cyan}${current}${colors.reset}\n`);
103
+ // Get unified branch list
104
+ const branches = getUnifiedBranchList();
105
+ if (branches.length === 0) {
106
+ log.info('No branches available for cleanup.');
107
+ log.info('All branches are either protected or currently checked out.');
108
+ return;
109
+ }
110
+ // Show summary
111
+ const localCount = branches.filter((b) => b.hasLocal).length;
112
+ const remoteCount = branches.filter((b) => b.hasRemote).length;
113
+ const bothCount = branches.filter((b) => b.hasLocal && b.hasRemote).length;
114
+ console.log(`${colors.cyan}Available branches for cleanup:${colors.reset}`);
115
+ console.log(` Total: ${colors.yellow}${branches.length}${colors.reset} unique branches (${bothCount} in both locations)`);
116
+ console.log(` Local: ${colors.yellow}${localCount}${colors.reset} branches`);
117
+ console.log(` Remote: ${colors.yellow}${remoteCount}${colors.reset} branches`);
118
+ console.log('');
119
+ // Show branches with numbering
120
+ console.log(`${colors.cyan}Select branches to delete:${colors.reset}`);
121
+ for (const [i, branch] of branches.entries()) {
122
+ const num = `${i + 1}`;
123
+ const label = branch.label ? ` ${branch.label}` : '';
124
+ console.log(` ${colors.gray}[${num}]${colors.reset} ${branch.name}${label}`);
125
+ }
126
+ console.log('');
127
+ // Get user selection
128
+ console.log(`${colors.yellow}Instructions:${colors.reset}`);
129
+ console.log(' • Type "all" to delete all branches');
130
+ console.log(' • Type "none" or "cancel" to cancel');
131
+ console.log(' • Type numbers separated by space (e.g., "1 3 5 7")');
132
+ console.log(' • Type ranges with dash (e.g., "1-5 8 10-12")');
133
+ console.log('');
134
+ const input = askQuestion('Select branches: ').trim().toLowerCase();
135
+ if (!input || input === 'none' || input === 'cancel') {
136
+ log.info('Cleanup cancelled.');
137
+ return;
138
+ }
139
+ let selectedIndices = [];
140
+ if (input === 'all') {
141
+ selectedIndices = branches.map((_, i) => i);
142
+ }
143
+ else {
144
+ // Parse input
145
+ const parts = input.split(/\s+/);
146
+ for (const part of parts) {
147
+ if (part.includes('-')) {
148
+ // Range like "1-5"
149
+ const rangeParts = part.split('-').map((s) => Number.parseInt(s.trim(), 10));
150
+ const start = rangeParts[0];
151
+ const end = rangeParts[1];
152
+ if (start !== undefined &&
153
+ end !== undefined &&
154
+ !Number.isNaN(start) &&
155
+ !Number.isNaN(end) &&
156
+ start > 0 &&
157
+ end <= branches.length) {
158
+ for (let i = start - 1; i < end; i++) {
159
+ if (!selectedIndices.includes(i)) {
160
+ selectedIndices.push(i);
161
+ }
162
+ }
163
+ }
164
+ }
165
+ else {
166
+ // Single number
167
+ const num = Number.parseInt(part, 10);
168
+ if (!Number.isNaN(num) && num > 0 && num <= branches.length) {
169
+ const idx = num - 1;
170
+ if (!selectedIndices.includes(idx)) {
171
+ selectedIndices.push(idx);
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ if (selectedIndices.length === 0) {
178
+ log.warn('No valid branches selected.');
179
+ return;
180
+ }
181
+ // Sort indices for ordered display
182
+ selectedIndices.sort((a, b) => a - b);
183
+ const selectedBranches = selectedIndices
184
+ .map((i) => branches[i])
185
+ .filter((b) => b !== undefined);
186
+ // Show summary
187
+ console.log(`\n${colors.yellow}Selected ${selectedBranches.length} branches:${colors.reset}`);
188
+ for (const branch of selectedBranches) {
189
+ const locations = [];
190
+ if (branch.hasLocal)
191
+ locations.push('local');
192
+ if (branch.hasRemote)
193
+ locations.push('remote');
194
+ console.log(` • ${branch.name} ${colors.gray}(will delete: ${locations.join(' & ')})${colors.reset}`);
195
+ }
196
+ console.log('');
197
+ const finalConfirm = confirm(`${colors.red}Delete ${selectedBranches.length} branches? This cannot be undone.${colors.reset}`);
198
+ console.log('');
199
+ if (!finalConfirm) {
200
+ log.warn('Cleanup cancelled.');
201
+ return;
202
+ }
203
+ // Delete branches
204
+ let localSuccessCount = 0;
205
+ let localFailCount = 0;
206
+ let remoteSuccessCount = 0;
207
+ let remoteFailCount = 0;
208
+ for (const branch of selectedBranches) {
209
+ // Delete local if exists
210
+ if (branch.hasLocal) {
211
+ try {
212
+ // Try normal delete first with spinner
213
+ const spinner = log.spinner();
214
+ spinner.start(`Deleting local: ${branch.name}`);
215
+ try {
216
+ exec(`git branch -d "${branch.name}"`, true);
217
+ spinner.succeed(`Deleted local: ${branch.name}`);
218
+ localSuccessCount++;
219
+ }
220
+ catch {
221
+ // Stop spinner and clear line before interactive prompt
222
+ spinner.fail(`Branch '${branch.name}' is not fully merged`);
223
+ console.log('');
224
+ const forceDelete = confirm(`Force delete local?`);
225
+ console.log('');
226
+ if (forceDelete) {
227
+ const spinner2 = log.spinner();
228
+ spinner2.start(`Force deleting local: ${branch.name}`);
229
+ try {
230
+ exec(`git branch -D "${branch.name}"`, true);
231
+ spinner2.succeed(`Force deleted local: ${branch.name}`);
232
+ localSuccessCount++;
233
+ }
234
+ catch {
235
+ spinner2.fail(`Failed to force delete local: ${branch.name}`);
236
+ localFailCount++;
237
+ }
238
+ }
239
+ else {
240
+ localFailCount++;
241
+ log.warn(`Skipped local: ${branch.name}`);
242
+ }
243
+ }
244
+ }
245
+ catch {
246
+ localFailCount++;
247
+ log.error(`Failed to delete local: ${branch.name}`);
248
+ }
249
+ }
250
+ // Delete remote if exists
251
+ if (branch.hasRemote) {
252
+ try {
253
+ const spinner = log.spinner();
254
+ spinner.start(`Deleting remote: ${branch.name}`);
255
+ try {
256
+ exec(`git push origin --delete "${branch.name}"`, true);
257
+ spinner.succeed(`Deleted remote: ${branch.name}`);
258
+ remoteSuccessCount++;
259
+ }
260
+ catch {
261
+ spinner.fail(`Failed to delete remote: ${branch.name}`);
262
+ remoteFailCount++;
263
+ }
264
+ }
265
+ catch {
266
+ remoteFailCount++;
267
+ log.error(`Failed to delete remote: ${branch.name}`);
268
+ }
269
+ }
270
+ }
271
+ // Final summary
272
+ console.log(`\n${colors.cyan}═══ Cleanup Summary ═══${colors.reset}`);
273
+ const localTotal = selectedBranches.filter((b) => b.hasLocal).length;
274
+ const remoteTotal = selectedBranches.filter((b) => b.hasRemote).length;
275
+ if (localTotal > 0) {
276
+ console.log(` Local: ${colors.green}${localSuccessCount}/${localTotal}${colors.reset}${localFailCount > 0 ? ` (${colors.red}${localFailCount} failed${colors.reset})` : ''}`);
277
+ }
278
+ if (remoteTotal > 0) {
279
+ console.log(` Remote: ${colors.green}${remoteSuccessCount}/${remoteTotal} deleted${colors.reset}${remoteFailCount > 0 ? `, ${colors.red}${remoteFailCount} failed${colors.reset}` : ''}`);
280
+ }
281
+ if (remoteFailCount > 0) {
282
+ log.info(' Try prune with: git remote prune origin');
283
+ }
284
+ console.log('');
285
+ log.success('Cleanup complete!');
286
+ };
287
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/workflows/cleanup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Commit workflow - handles commit-related operations
3
+ */
4
+ import type { GeetoState } from '../types/index.js';
5
+ export declare const getDefaultCommitTool: (aiProvider: "gemini" | "copilot" | "openrouter" | "manual") => string;
6
+ export declare const handleCommitWorkflow: (state: GeetoState, opts?: {
7
+ suppressStep?: boolean;
8
+ suppressConfirm?: boolean;
9
+ }) => Promise<boolean>;
10
+ //# sourceMappingURL=commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/workflows/commit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAmBnD,eAAO,MAAM,oBAAoB,GAC/B,YAAY,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,KACzD,MAeF,CAAA;AAqFD,eAAO,MAAM,oBAAoB,GAC/B,OAAO,UAAU,EACjB,OAAO;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KAC3D,OAAO,CAAC,OAAO,CAyyBjB,CAAA"}