@andrebuzeli/git-mcp 2.28.1 → 2.29.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 (188) hide show
  1. package/dist/client.d.ts +306 -306
  2. package/dist/client.js +298 -298
  3. package/dist/config.d.ts +310 -310
  4. package/dist/config.js +392 -392
  5. package/dist/index.d.ts +22 -22
  6. package/dist/index.js +89 -89
  7. package/dist/providers/base-provider.d.ts +160 -160
  8. package/dist/providers/base-provider.js +274 -274
  9. package/dist/providers/error-handler.d.ts +74 -50
  10. package/dist/providers/error-handler.d.ts.map +1 -1
  11. package/dist/providers/error-handler.js +234 -175
  12. package/dist/providers/error-handler.js.map +1 -1
  13. package/dist/providers/gitea-provider.d.ts +97 -97
  14. package/dist/providers/gitea-provider.d.ts.map +1 -1
  15. package/dist/providers/gitea-provider.js +1015 -1001
  16. package/dist/providers/gitea-provider.js.map +1 -1
  17. package/dist/providers/github-provider.d.ts +104 -104
  18. package/dist/providers/github-provider.d.ts.map +1 -1
  19. package/dist/providers/github-provider.js +1248 -1234
  20. package/dist/providers/github-provider.js.map +1 -1
  21. package/dist/providers/index.d.ts +12 -12
  22. package/dist/providers/index.js +40 -40
  23. package/dist/providers/provider-factory.d.ts +74 -74
  24. package/dist/providers/provider-factory.d.ts.map +1 -1
  25. package/dist/providers/provider-factory.js +318 -311
  26. package/dist/providers/provider-factory.js.map +1 -1
  27. package/dist/providers/types.d.ts +318 -318
  28. package/dist/providers/types.js +6 -6
  29. package/dist/server.d.ts +76 -76
  30. package/dist/server.js +306 -306
  31. package/dist/server.js.map +1 -1
  32. package/dist/tools/git-archive.d.ts +169 -165
  33. package/dist/tools/git-archive.d.ts.map +1 -1
  34. package/dist/tools/git-archive.js +246 -233
  35. package/dist/tools/git-archive.js.map +1 -1
  36. package/dist/tools/git-branches.d.ts +434 -430
  37. package/dist/tools/git-branches.d.ts.map +1 -1
  38. package/dist/tools/git-branches.js +640 -627
  39. package/dist/tools/git-branches.js.map +1 -1
  40. package/dist/tools/git-commits.d.ts +489 -485
  41. package/dist/tools/git-commits.d.ts.map +1 -1
  42. package/dist/tools/git-commits.js +748 -735
  43. package/dist/tools/git-commits.js.map +1 -1
  44. package/dist/tools/git-config.d.ts +144 -140
  45. package/dist/tools/git-config.d.ts.map +1 -1
  46. package/dist/tools/git-config.js +281 -268
  47. package/dist/tools/git-config.js.map +1 -1
  48. package/dist/tools/git-files.d.ts +490 -486
  49. package/dist/tools/git-files.d.ts.map +1 -1
  50. package/dist/tools/git-files.js +620 -607
  51. package/dist/tools/git-files.js.map +1 -1
  52. package/dist/tools/git-initialize.d.ts +46 -42
  53. package/dist/tools/git-initialize.d.ts.map +1 -1
  54. package/dist/tools/git-initialize.js +81 -68
  55. package/dist/tools/git-initialize.js.map +1 -1
  56. package/dist/tools/git-issues.d.ts +578 -571
  57. package/dist/tools/git-issues.d.ts.map +1 -1
  58. package/dist/tools/git-issues.js +754 -740
  59. package/dist/tools/git-issues.js.map +1 -1
  60. package/dist/tools/git-pulls.d.ts +701 -694
  61. package/dist/tools/git-pulls.d.ts.map +1 -1
  62. package/dist/tools/git-pulls.js +746 -732
  63. package/dist/tools/git-pulls.js.map +1 -1
  64. package/dist/tools/git-releases.d.ts +494 -487
  65. package/dist/tools/git-releases.d.ts.map +1 -1
  66. package/dist/tools/git-releases.js +571 -557
  67. package/dist/tools/git-releases.js.map +1 -1
  68. package/dist/tools/git-remote.d.ts +142 -138
  69. package/dist/tools/git-remote.d.ts.map +1 -1
  70. package/dist/tools/git-remote.js +287 -274
  71. package/dist/tools/git-remote.js.map +1 -1
  72. package/dist/tools/git-repositories.d.ts +487 -483
  73. package/dist/tools/git-repositories.d.ts.map +1 -1
  74. package/dist/tools/git-repositories.js +653 -640
  75. package/dist/tools/git-repositories.js.map +1 -1
  76. package/dist/tools/git-reset.d.ts +134 -130
  77. package/dist/tools/git-reset.d.ts.map +1 -1
  78. package/dist/tools/git-reset.js +236 -223
  79. package/dist/tools/git-reset.js.map +1 -1
  80. package/dist/tools/git-revert.d.ts +153 -149
  81. package/dist/tools/git-revert.d.ts.map +1 -1
  82. package/dist/tools/git-revert.js +211 -198
  83. package/dist/tools/git-revert.js.map +1 -1
  84. package/dist/tools/git-stash.d.ts +144 -140
  85. package/dist/tools/git-stash.d.ts.map +1 -1
  86. package/dist/tools/git-stash.js +282 -269
  87. package/dist/tools/git-stash.js.map +1 -1
  88. package/dist/tools/git-sync.d.ts +182 -178
  89. package/dist/tools/git-sync.d.ts.map +1 -1
  90. package/dist/tools/git-sync.js +325 -312
  91. package/dist/tools/git-sync.js.map +1 -1
  92. package/dist/tools/git-tags.d.ts +418 -411
  93. package/dist/tools/git-tags.d.ts.map +1 -1
  94. package/dist/tools/git-tags.js +499 -485
  95. package/dist/tools/git-tags.js.map +1 -1
  96. package/dist/tools/git-upload-project.d.ts +5 -1
  97. package/dist/tools/git-upload-project.d.ts.map +1 -1
  98. package/dist/tools/git-upload-project.js +21 -1
  99. package/dist/tools/git-upload-project.js.map +1 -1
  100. package/dist/tools/git-webhooks.d.ts +477 -470
  101. package/dist/tools/git-webhooks.d.ts.map +1 -1
  102. package/dist/tools/git-webhooks.js +561 -543
  103. package/dist/tools/git-webhooks.js.map +1 -1
  104. package/dist/utils/git-error-analyzer.d.ts +64 -0
  105. package/dist/utils/git-error-analyzer.d.ts.map +1 -0
  106. package/dist/utils/git-error-analyzer.js +286 -0
  107. package/dist/utils/git-error-analyzer.js.map +1 -0
  108. package/dist/utils/terminal-controller.d.ts +80 -80
  109. package/dist/utils/terminal-controller.js +345 -345
  110. package/dist/utils/user-detection.d.ts +24 -24
  111. package/dist/utils/user-detection.js +53 -53
  112. package/package.json +2 -2
  113. package/dist/tools/gh-actions.d.ts +0 -253
  114. package/dist/tools/gh-actions.d.ts.map +0 -1
  115. package/dist/tools/gh-actions.js +0 -390
  116. package/dist/tools/gh-actions.js.map +0 -1
  117. package/dist/tools/gh-analytics.d.ts +0 -264
  118. package/dist/tools/gh-analytics.d.ts.map +0 -1
  119. package/dist/tools/gh-analytics.js +0 -402
  120. package/dist/tools/gh-analytics.js.map +0 -1
  121. package/dist/tools/gh-code-review.d.ts +0 -305
  122. package/dist/tools/gh-code-review.d.ts.map +0 -1
  123. package/dist/tools/gh-code-review.js +0 -513
  124. package/dist/tools/gh-code-review.js.map +0 -1
  125. package/dist/tools/gh-codespaces.d.ts +0 -139
  126. package/dist/tools/gh-codespaces.d.ts.map +0 -1
  127. package/dist/tools/gh-codespaces.js +0 -283
  128. package/dist/tools/gh-codespaces.js.map +0 -1
  129. package/dist/tools/gh-deployments.d.ts +0 -301
  130. package/dist/tools/gh-deployments.d.ts.map +0 -1
  131. package/dist/tools/gh-deployments.js +0 -368
  132. package/dist/tools/gh-deployments.js.map +0 -1
  133. package/dist/tools/gh-gists.d.ts +0 -175
  134. package/dist/tools/gh-gists.d.ts.map +0 -1
  135. package/dist/tools/gh-gists.js +0 -322
  136. package/dist/tools/gh-gists.js.map +0 -1
  137. package/dist/tools/gh-projects.d.ts +0 -206
  138. package/dist/tools/gh-projects.d.ts.map +0 -1
  139. package/dist/tools/gh-projects.js +0 -359
  140. package/dist/tools/gh-projects.js.map +0 -1
  141. package/dist/tools/gh-security.d.ts +0 -275
  142. package/dist/tools/gh-security.d.ts.map +0 -1
  143. package/dist/tools/gh-security.js +0 -396
  144. package/dist/tools/gh-security.js.map +0 -1
  145. package/dist/tools/gh-sync.d.ts +0 -214
  146. package/dist/tools/gh-sync.d.ts.map +0 -1
  147. package/dist/tools/gh-sync.js +0 -379
  148. package/dist/tools/gh-sync.js.map +0 -1
  149. package/dist/tools/gh-workflows.d.ts +0 -291
  150. package/dist/tools/gh-workflows.d.ts.map +0 -1
  151. package/dist/tools/gh-workflows.js +0 -433
  152. package/dist/tools/gh-workflows.js.map +0 -1
  153. package/dist/tools/git-bundle.d.ts +0 -172
  154. package/dist/tools/git-bundle.d.ts.map +0 -1
  155. package/dist/tools/git-bundle.js +0 -242
  156. package/dist/tools/git-bundle.js.map +0 -1
  157. package/dist/tools/git-cherry-pick.d.ts +0 -159
  158. package/dist/tools/git-cherry-pick.d.ts.map +0 -1
  159. package/dist/tools/git-cherry-pick.js +0 -225
  160. package/dist/tools/git-cherry-pick.js.map +0 -1
  161. package/dist/tools/git-rebase.d.ts +0 -138
  162. package/dist/tools/git-rebase.d.ts.map +0 -1
  163. package/dist/tools/git-rebase.js +0 -214
  164. package/dist/tools/git-rebase.js.map +0 -1
  165. package/dist/tools/git-submodule.d.ts +0 -153
  166. package/dist/tools/git-submodule.d.ts.map +0 -1
  167. package/dist/tools/git-submodule.js +0 -290
  168. package/dist/tools/git-submodule.js.map +0 -1
  169. package/dist/tools/git-worktree.d.ts +0 -160
  170. package/dist/tools/git-worktree.d.ts.map +0 -1
  171. package/dist/tools/git-worktree.js +0 -270
  172. package/dist/tools/git-worktree.js.map +0 -1
  173. package/dist/tools/repositories.d.ts +0 -406
  174. package/dist/tools/repositories.d.ts.map +0 -1
  175. package/dist/tools/repositories.js +0 -570
  176. package/dist/tools/repositories.js.map +0 -1
  177. package/dist/tools/users.d.ts +0 -373
  178. package/dist/tools/users.d.ts.map +0 -1
  179. package/dist/tools/users.js +0 -500
  180. package/dist/tools/users.js.map +0 -1
  181. package/dist/tools/validator.d.ts +0 -171
  182. package/dist/tools/validator.d.ts.map +0 -1
  183. package/dist/tools/validator.js +0 -195
  184. package/dist/tools/validator.js.map +0 -1
  185. package/dist/tools/version-control.d.ts +0 -137
  186. package/dist/tools/version-control.d.ts.map +0 -1
  187. package/dist/tools/version-control.js +0 -165
  188. package/dist/tools/version-control.js.map +0 -1
@@ -1,234 +1,247 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gitArchiveTool = void 0;
4
- const zod_1 = require("zod");
5
- const terminal_controller_js_1 = require("../utils/terminal-controller.js");
6
- /**
7
- * Tool: git-archive
8
- *
9
- * DESCRIÇÃO:
10
- * Gerenciamento de arquivos Git (GitHub + Gitea) com múltiplas ações
11
- *
12
- * FUNCIONALIDADES:
13
- * - Criar arquivo
14
- * - Extrair arquivo
15
- * - Listar conteúdo do arquivo
16
- * - Verificar arquivo
17
- * - Criar tarball
18
- * - Criar zip
19
- *
20
- * USO:
21
- * - Para criar releases
22
- * - Para backup de código
23
- * - Para distribuição de código
24
- * - Para deploy de versões específicas
25
- *
26
- * RECOMENDAÇÕES:
27
- * - Use para releases oficiais
28
- * - Inclua apenas arquivos necessários
29
- * - Teste arquivos antes da distribuição
30
- */
31
- const GitArchiveInputSchema = zod_1.z.object({
32
- action: zod_1.z.enum(['create', 'extract', 'list', 'verify']),
33
- // owner: obtido automaticamente do provider,
34
- repo: zod_1.z.string(),
35
- provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
36
- projectPath: zod_1.z.string().describe('Local project path for git operations'),
37
- // Para create
38
- archive_path: zod_1.z.string().optional(),
39
- commit_or_tree: zod_1.z.string().optional(),
40
- format: zod_1.z.enum(['tar', 'zip', 'tar.gz', 'tar.bz2']).optional(),
41
- // Para extract
42
- archive_file: zod_1.z.string().optional(),
43
- extract_path: zod_1.z.string().optional(),
44
- // Para list
45
- list_archive: zod_1.z.string().optional(),
46
- // Para verify
47
- verify_archive: zod_1.z.string().optional(),
48
- // Opções
49
- prefix: zod_1.z.string().optional(),
50
- output: zod_1.z.string().optional(),
51
- });
52
- const GitArchiveResultSchema = zod_1.z.object({
53
- success: zod_1.z.boolean(),
54
- action: zod_1.z.string(),
55
- message: zod_1.z.string(),
56
- data: zod_1.z.any().optional(),
57
- error: zod_1.z.string().optional()
58
- });
59
- exports.gitArchiveTool = {
60
- name: 'git-archive',
61
- description: 'tool: Gerencia arquivos Git para distribuição e backup\n──────────────\naction create: cria arquivo compactado\naction create requires: repo, provider, projectPath, archive_path, commit_or_tree, format, prefix, output\n───────────────\naction extract: extrai arquivo compactado\naction extract requires: repo, provider, projectPath, archive_file, extract_path\n───────────────\naction list: lista conteúdo do arquivo\naction list requires: repo, provider, projectPath, list_archive\n───────────────\naction verify: verifica integridade do arquivo\naction verify requires: repo, provider, projectPath, verify_archive',
62
- inputSchema: {
63
- type: 'object',
64
- properties: {
65
- action: {
66
- type: 'string',
67
- enum: ['create', 'extract', 'list', 'verify'],
68
- description: 'Action to perform on archives'
69
- },
70
- owner: { type: 'string', description: 'Repository owner' },
71
- repo: { type: 'string', description: 'Repository name' },
72
- provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
73
- projectPath: { type: 'string', description: 'Local project path for git operations' },
74
- archive_path: { type: 'string', description: 'Archive output path' },
75
- commit_or_tree: { type: 'string', description: 'Commit or tree to archive' },
76
- format: { type: 'string', enum: ['tar', 'zip', 'tar.gz', 'tar.bz2'], description: 'Archive format' },
77
- archive_file: { type: 'string', description: 'Archive file to extract' },
78
- extract_path: { type: 'string', description: 'Path to extract to' },
79
- list_archive: { type: 'string', description: 'Archive to list' },
80
- verify_archive: { type: 'string', description: 'Archive to verify' },
81
- prefix: { type: 'string', description: 'Prefix for archive entries' },
82
- output: { type: 'string', description: 'Output file path' }
83
- },
84
- required: ['action', 'repo', 'provider', 'projectPath']
85
- },
86
- async handler(input) {
87
- try {
88
- const validatedInput = GitArchiveInputSchema.parse(input);
89
- switch (validatedInput.action) {
90
- case 'create':
91
- return await this.create(validatedInput);
92
- case 'extract':
93
- return await this.extract(validatedInput);
94
- case 'list':
95
- return await this.list(validatedInput);
96
- case 'verify':
97
- return await this.verify(validatedInput);
98
- default:
99
- throw new Error(`Ação não suportada: ${validatedInput.action}`);
100
- }
101
- }
102
- catch (error) {
103
- return {
104
- success: false,
105
- action: input.action,
106
- message: 'Erro na operação de archive',
107
- error: error instanceof Error ? error.message : String(error)
108
- };
109
- }
110
- },
111
- async create(params) {
112
- try {
113
- if (!params.archive_path || !params.commit_or_tree) {
114
- throw new Error('archive_path e commit_or_tree são obrigatórios para create');
115
- }
116
- const format = params.format || 'tar.gz';
117
- let gitCommand = `archive --format=${format}`;
118
- if (params.prefix) {
119
- gitCommand += ` --prefix=${params.prefix}/`;
120
- }
121
- if (params.output) {
122
- gitCommand += ` --output=${params.output}`;
123
- }
124
- gitCommand += ` ${params.commit_or_tree}`;
125
- const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Criando arquivo');
126
- if (result.exitCode !== 0) {
127
- throw new Error(`Falha ao criar arquivo: ${result.output}`);
128
- }
129
- return {
130
- success: true,
131
- action: 'create',
132
- message: `Arquivo criado com sucesso: ${params.archive_path}`,
133
- data: {
134
- archive_path: params.archive_path,
135
- commit_or_tree: params.commit_or_tree,
136
- format,
137
- prefix: params.prefix,
138
- output: params.output,
139
- output_result: result.output
140
- }
141
- };
142
- }
143
- catch (error) {
144
- throw new Error(`Falha ao criar arquivo: ${error instanceof Error ? error.message : String(error)}`);
145
- }
146
- },
147
- async extract(params) {
148
- try {
149
- if (!params.archive_file || !params.extract_path) {
150
- throw new Error('archive_file e extract_path são obrigatórios para extract');
151
- }
152
- const result = await (0, terminal_controller_js_1.runTerminalCmd)({
153
- command: `tar -xf ${params.archive_file} -C ${params.extract_path}`,
154
- is_background: false,
155
- explanation: 'Extraindo arquivo',
156
- projectPath: params.projectPath
157
- });
158
- if (result.exitCode !== 0) {
159
- throw new Error(`Falha ao extrair arquivo: ${result.output}`);
160
- }
161
- return {
162
- success: true,
163
- action: 'extract',
164
- message: `Arquivo extraído com sucesso para ${params.extract_path}`,
165
- data: {
166
- archive_file: params.archive_file,
167
- extract_path: params.extract_path,
168
- output: result.output
169
- }
170
- };
171
- }
172
- catch (error) {
173
- throw new Error(`Falha ao extrair arquivo: ${error instanceof Error ? error.message : String(error)}`);
174
- }
175
- },
176
- async list(params) {
177
- try {
178
- if (!params.list_archive) {
179
- throw new Error('list_archive é obrigatório para list');
180
- }
181
- const result = await (0, terminal_controller_js_1.runTerminalCmd)({
182
- command: `tar -tf ${params.list_archive}`,
183
- is_background: false,
184
- explanation: 'Listando conteúdo do arquivo',
185
- projectPath: params.projectPath
186
- });
187
- if (result.exitCode !== 0) {
188
- throw new Error(`Falha ao listar arquivo: ${result.output}`);
189
- }
190
- const files = result.output.split('\n').filter((line) => line.trim());
191
- return {
192
- success: true,
193
- action: 'list',
194
- message: `Conteúdo do arquivo listado com sucesso: ${params.list_archive}`,
195
- data: {
196
- archive: params.list_archive,
197
- files,
198
- output: result.output
199
- }
200
- };
201
- }
202
- catch (error) {
203
- throw new Error(`Falha ao listar arquivo: ${error instanceof Error ? error.message : String(error)}`);
204
- }
205
- },
206
- async verify(params) {
207
- try {
208
- if (!params.verify_archive) {
209
- throw new Error('verify_archive é obrigatório para verify');
210
- }
211
- const result = await (0, terminal_controller_js_1.runTerminalCmd)({
212
- command: `tar -tf ${params.verify_archive} > /dev/null`,
213
- is_background: false,
214
- explanation: 'Verificando arquivo',
215
- projectPath: params.projectPath
216
- });
217
- const isValid = result.exitCode === 0;
218
- return {
219
- success: true,
220
- action: 'verify',
221
- message: `Arquivo ${isValid ? 'válido' : 'inválido'}: ${params.verify_archive}`,
222
- data: {
223
- archive: params.verify_archive,
224
- valid: isValid,
225
- output: result.output
226
- }
227
- };
228
- }
229
- catch (error) {
230
- throw new Error(`Falha ao verificar arquivo: ${error instanceof Error ? error.message : String(error)}`);
231
- }
232
- }
233
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gitArchiveTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const terminal_controller_js_1 = require("../utils/terminal-controller.js");
6
+ /**
7
+ * Tool: git-archive
8
+ *
9
+ * DESCRIÇÃO:
10
+ * Gerenciamento de arquivos Git (GitHub + Gitea) com múltiplas ações
11
+ *
12
+ * FUNCIONALIDADES:
13
+ * - Criar arquivo
14
+ * - Extrair arquivo
15
+ * - Listar conteúdo do arquivo
16
+ * - Verificar arquivo
17
+ * - Criar tarball
18
+ * - Criar zip
19
+ *
20
+ * USO:
21
+ * - Para criar releases
22
+ * - Para backup de código
23
+ * - Para distribuição de código
24
+ * - Para deploy de versões específicas
25
+ *
26
+ * RECOMENDAÇÕES:
27
+ * - Use para releases oficiais
28
+ * - Inclua apenas arquivos necessários
29
+ * - Teste arquivos antes da distribuição
30
+ */
31
+ const GitArchiveInputSchema = zod_1.z.object({
32
+ action: zod_1.z.enum(['create', 'extract', 'list', 'verify']),
33
+ // owner: obtido automaticamente do provider,
34
+ repo: zod_1.z.string(),
35
+ provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
36
+ projectPath: zod_1.z.string().describe('Local project path for git operations'),
37
+ // Para create
38
+ archive_path: zod_1.z.string().optional(),
39
+ commit_or_tree: zod_1.z.string().optional(),
40
+ format: zod_1.z.enum(['tar', 'zip', 'tar.gz', 'tar.bz2']).optional(),
41
+ // Para extract
42
+ archive_file: zod_1.z.string().optional(),
43
+ extract_path: zod_1.z.string().optional(),
44
+ // Para list
45
+ list_archive: zod_1.z.string().optional(),
46
+ // Para verify
47
+ verify_archive: zod_1.z.string().optional(),
48
+ // Opções
49
+ prefix: zod_1.z.string().optional(),
50
+ output: zod_1.z.string().optional(),
51
+ });
52
+ const GitArchiveResultSchema = zod_1.z.object({
53
+ success: zod_1.z.boolean(),
54
+ action: zod_1.z.string(),
55
+ message: zod_1.z.string(),
56
+ data: zod_1.z.any().optional(),
57
+ error: zod_1.z.string().optional()
58
+ });
59
+ exports.gitArchiveTool = {
60
+ name: 'git-archive',
61
+ description: 'tool: Gerencia arquivos Git para distribuição e backup\n──────────────\naction create: cria arquivo compactado\naction create requires: repo, provider, projectPath, archive_path, commit_or_tree, format, prefix, output\n───────────────\naction extract: extrai arquivo compactado\naction extract requires: repo, provider, projectPath, archive_file, extract_path\n───────────────\naction list: lista conteúdo do arquivo\naction list requires: repo, provider, projectPath, list_archive\n───────────────\naction verify: verifica integridade do arquivo\naction verify requires: repo, provider, projectPath, verify_archive',
62
+ inputSchema: {
63
+ type: 'object',
64
+ properties: {
65
+ action: {
66
+ type: 'string',
67
+ enum: ['create', 'extract', 'list', 'verify'],
68
+ description: 'Action to perform on archives'
69
+ },
70
+ owner: { type: 'string', description: 'Repository owner' },
71
+ repo: { type: 'string', description: 'Repository name' },
72
+ provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
73
+ projectPath: { type: 'string', description: 'Local project path for git operations' },
74
+ archive_path: { type: 'string', description: 'Archive output path' },
75
+ commit_or_tree: { type: 'string', description: 'Commit or tree to archive' },
76
+ format: { type: 'string', enum: ['tar', 'zip', 'tar.gz', 'tar.bz2'], description: 'Archive format' },
77
+ archive_file: { type: 'string', description: 'Archive file to extract' },
78
+ extract_path: { type: 'string', description: 'Path to extract to' },
79
+ list_archive: { type: 'string', description: 'Archive to list' },
80
+ verify_archive: { type: 'string', description: 'Archive to verify' },
81
+ prefix: { type: 'string', description: 'Prefix for archive entries' },
82
+ output: { type: 'string', description: 'Output file path' }
83
+ },
84
+ required: ['action', 'repo', 'provider', 'projectPath']
85
+ },
86
+ async handler(input) {
87
+ try {
88
+ const validatedInput = GitArchiveInputSchema.parse(input);
89
+ switch (validatedInput.action) {
90
+ case 'create':
91
+ return await this.create(validatedInput);
92
+ case 'extract':
93
+ return await this.extract(validatedInput);
94
+ case 'list':
95
+ return await this.list(validatedInput);
96
+ case 'verify':
97
+ return await this.verify(validatedInput);
98
+ default:
99
+ throw new Error(`Ação não suportada: ${validatedInput.action}`);
100
+ }
101
+ }
102
+ catch (error) {
103
+ return {
104
+ success: false,
105
+ action: input.action,
106
+ message: 'Erro na operação de archive',
107
+ error: error instanceof Error ? error.message : String(error)
108
+ };
109
+ }
110
+ },
111
+ async create(params) {
112
+ try {
113
+ if (!params.archive_path || !params.commit_or_tree) {
114
+ throw new Error('archive_path e commit_or_tree são obrigatórios para create');
115
+ }
116
+ const format = params.format || 'tar.gz';
117
+ let gitCommand = `archive --format=${format}`;
118
+ if (params.prefix) {
119
+ gitCommand += ` --prefix=${params.prefix}/`;
120
+ }
121
+ if (params.output) {
122
+ gitCommand += ` --output=${params.output}`;
123
+ }
124
+ gitCommand += ` ${params.commit_or_tree}`;
125
+ const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Criando arquivo');
126
+ if (result.exitCode !== 0) {
127
+ throw new Error(`Falha ao criar arquivo: ${result.output}`);
128
+ }
129
+ return {
130
+ success: true,
131
+ action: 'create',
132
+ message: `Arquivo criado com sucesso: ${params.archive_path}`,
133
+ data: {
134
+ archive_path: params.archive_path,
135
+ commit_or_tree: params.commit_or_tree,
136
+ format,
137
+ prefix: params.prefix,
138
+ output: params.output,
139
+ output_result: result.output
140
+ }
141
+ };
142
+ }
143
+ catch (error) {
144
+ throw new Error(`Falha ao criar arquivo: ${error instanceof Error ? error.message : String(error)}`);
145
+ }
146
+ },
147
+ async extract(params) {
148
+ try {
149
+ if (!params.archive_file || !params.extract_path) {
150
+ throw new Error('archive_file e extract_path são obrigatórios para extract');
151
+ }
152
+ const result = await (0, terminal_controller_js_1.runTerminalCmd)({
153
+ command: `tar -xf ${params.archive_file} -C ${params.extract_path}`,
154
+ is_background: false,
155
+ explanation: 'Extraindo arquivo',
156
+ projectPath: params.projectPath
157
+ });
158
+ if (result.exitCode !== 0) {
159
+ throw new Error(`Falha ao extrair arquivo: ${result.output}`);
160
+ }
161
+ return {
162
+ success: true,
163
+ action: 'extract',
164
+ message: `Arquivo extraído com sucesso para ${params.extract_path}`,
165
+ data: {
166
+ archive_file: params.archive_file,
167
+ extract_path: params.extract_path,
168
+ output: result.output
169
+ }
170
+ };
171
+ }
172
+ catch (error) {
173
+ throw new Error(`Falha ao extrair arquivo: ${error instanceof Error ? error.message : String(error)}`);
174
+ }
175
+ },
176
+ async list(params) {
177
+ try {
178
+ if (!params.list_archive) {
179
+ throw new Error('list_archive é obrigatório para list');
180
+ }
181
+ const result = await (0, terminal_controller_js_1.runTerminalCmd)({
182
+ command: `tar -tf ${params.list_archive}`,
183
+ is_background: false,
184
+ explanation: 'Listando conteúdo do arquivo',
185
+ projectPath: params.projectPath
186
+ });
187
+ if (result.exitCode !== 0) {
188
+ throw new Error(`Falha ao listar arquivo: ${result.output}`);
189
+ }
190
+ const files = result.output.split('\n').filter((line) => line.trim());
191
+ return {
192
+ success: true,
193
+ action: 'list',
194
+ message: `Conteúdo do arquivo listado com sucesso: ${params.list_archive}`,
195
+ data: {
196
+ archive: params.list_archive,
197
+ files,
198
+ output: result.output
199
+ }
200
+ };
201
+ }
202
+ catch (error) {
203
+ throw new Error(`Falha ao listar arquivo: ${error instanceof Error ? error.message : String(error)}`);
204
+ }
205
+ },
206
+ async verify(params) {
207
+ try {
208
+ if (!params.verify_archive) {
209
+ throw new Error('verify_archive é obrigatório para verify');
210
+ }
211
+ const result = await (0, terminal_controller_js_1.runTerminalCmd)({
212
+ command: `tar -tf ${params.verify_archive} > /dev/null`,
213
+ is_background: false,
214
+ explanation: 'Verificando arquivo',
215
+ projectPath: params.projectPath
216
+ });
217
+ const isValid = result.exitCode === 0;
218
+ return {
219
+ success: true,
220
+ action: 'verify',
221
+ message: `Arquivo ${isValid ? 'válido' : 'inválido'}: ${params.verify_archive}`,
222
+ data: {
223
+ archive: params.verify_archive,
224
+ valid: isValid,
225
+ output: result.output
226
+ }
227
+ };
228
+ }
229
+ catch (error) {
230
+ throw new Error(`Falha ao verificar arquivo: ${error instanceof Error ? error.message : String(error)}`);
231
+ }
232
+ },
233
+ /**
234
+ * Verifica se erro é relacionado a Git
235
+ */
236
+ isGitRelatedError(errorMessage) {
237
+ const gitKeywords = [
238
+ 'git', 'commit', 'push', 'pull', 'merge', 'conflict', 'branch',
239
+ 'remote', 'repository', 'authentication', 'permission', 'unauthorized',
240
+ 'divergent', 'non-fast-forward', 'fetch first', 'working tree',
241
+ 'uncommitted', 'stash', 'rebase', 'reset', 'checkout'
242
+ ];
243
+ const errorLower = errorMessage.toLowerCase();
244
+ return gitKeywords.some(keyword => errorLower.includes(keyword));
245
+ }
246
+ };
234
247
  //# sourceMappingURL=git-archive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-archive.js","sourceRoot":"","sources":["../../src/tools/git-archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-archive.js","sourceRoot":"","sources":["../../src/tools/git-archive.ts"],"names":[],"mappings":"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"}