@andrebuzeli/git-mcp 2.28.1 → 2.28.2

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 (154) 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 +50 -50
  10. package/dist/providers/error-handler.js +175 -175
  11. package/dist/providers/gitea-provider.d.ts +97 -97
  12. package/dist/providers/gitea-provider.d.ts.map +1 -1
  13. package/dist/providers/gitea-provider.js +1015 -1001
  14. package/dist/providers/gitea-provider.js.map +1 -1
  15. package/dist/providers/github-provider.d.ts +104 -104
  16. package/dist/providers/github-provider.d.ts.map +1 -1
  17. package/dist/providers/github-provider.js +1248 -1234
  18. package/dist/providers/github-provider.js.map +1 -1
  19. package/dist/providers/index.d.ts +12 -12
  20. package/dist/providers/index.js +40 -40
  21. package/dist/providers/provider-factory.d.ts +74 -74
  22. package/dist/providers/provider-factory.d.ts.map +1 -1
  23. package/dist/providers/provider-factory.js +318 -311
  24. package/dist/providers/provider-factory.js.map +1 -1
  25. package/dist/providers/types.d.ts +318 -318
  26. package/dist/providers/types.js +6 -6
  27. package/dist/server.d.ts +76 -76
  28. package/dist/server.js +306 -306
  29. package/dist/tools/git-archive.d.ts +165 -165
  30. package/dist/tools/git-archive.js +233 -233
  31. package/dist/tools/git-branches.d.ts +430 -430
  32. package/dist/tools/git-branches.js +627 -627
  33. package/dist/tools/git-commits.d.ts +485 -485
  34. package/dist/tools/git-commits.js +735 -735
  35. package/dist/tools/git-commits.js.map +1 -1
  36. package/dist/tools/git-config.d.ts +140 -140
  37. package/dist/tools/git-config.js +268 -268
  38. package/dist/tools/git-files.d.ts +486 -486
  39. package/dist/tools/git-files.js +607 -607
  40. package/dist/tools/git-files.js.map +1 -1
  41. package/dist/tools/git-issues.d.ts +574 -571
  42. package/dist/tools/git-issues.d.ts.map +1 -1
  43. package/dist/tools/git-issues.js +741 -740
  44. package/dist/tools/git-issues.js.map +1 -1
  45. package/dist/tools/git-pulls.d.ts +697 -694
  46. package/dist/tools/git-pulls.d.ts.map +1 -1
  47. package/dist/tools/git-pulls.js +733 -732
  48. package/dist/tools/git-pulls.js.map +1 -1
  49. package/dist/tools/git-releases.d.ts +490 -487
  50. package/dist/tools/git-releases.d.ts.map +1 -1
  51. package/dist/tools/git-releases.js +558 -557
  52. package/dist/tools/git-releases.js.map +1 -1
  53. package/dist/tools/git-remote.d.ts +138 -138
  54. package/dist/tools/git-remote.js +274 -274
  55. package/dist/tools/git-repositories.d.ts +483 -483
  56. package/dist/tools/git-repositories.js +640 -640
  57. package/dist/tools/git-repositories.js.map +1 -1
  58. package/dist/tools/git-reset.d.ts +130 -130
  59. package/dist/tools/git-reset.js +223 -223
  60. package/dist/tools/git-revert.d.ts +149 -149
  61. package/dist/tools/git-revert.js +198 -198
  62. package/dist/tools/git-stash.d.ts +140 -140
  63. package/dist/tools/git-stash.js +269 -269
  64. package/dist/tools/git-sync.d.ts +178 -178
  65. package/dist/tools/git-sync.js +312 -312
  66. package/dist/tools/git-tags.d.ts +414 -411
  67. package/dist/tools/git-tags.d.ts.map +1 -1
  68. package/dist/tools/git-tags.js +486 -485
  69. package/dist/tools/git-tags.js.map +1 -1
  70. package/dist/tools/git-webhooks.d.ts +473 -470
  71. package/dist/tools/git-webhooks.d.ts.map +1 -1
  72. package/dist/tools/git-webhooks.js +544 -543
  73. package/dist/tools/git-webhooks.js.map +1 -1
  74. package/dist/utils/terminal-controller.d.ts +80 -80
  75. package/dist/utils/terminal-controller.js +345 -345
  76. package/dist/utils/user-detection.d.ts +24 -24
  77. package/dist/utils/user-detection.js +53 -53
  78. package/package.json +2 -2
  79. package/dist/tools/gh-actions.d.ts +0 -253
  80. package/dist/tools/gh-actions.d.ts.map +0 -1
  81. package/dist/tools/gh-actions.js +0 -390
  82. package/dist/tools/gh-actions.js.map +0 -1
  83. package/dist/tools/gh-analytics.d.ts +0 -264
  84. package/dist/tools/gh-analytics.d.ts.map +0 -1
  85. package/dist/tools/gh-analytics.js +0 -402
  86. package/dist/tools/gh-analytics.js.map +0 -1
  87. package/dist/tools/gh-code-review.d.ts +0 -305
  88. package/dist/tools/gh-code-review.d.ts.map +0 -1
  89. package/dist/tools/gh-code-review.js +0 -513
  90. package/dist/tools/gh-code-review.js.map +0 -1
  91. package/dist/tools/gh-codespaces.d.ts +0 -139
  92. package/dist/tools/gh-codespaces.d.ts.map +0 -1
  93. package/dist/tools/gh-codespaces.js +0 -283
  94. package/dist/tools/gh-codespaces.js.map +0 -1
  95. package/dist/tools/gh-deployments.d.ts +0 -301
  96. package/dist/tools/gh-deployments.d.ts.map +0 -1
  97. package/dist/tools/gh-deployments.js +0 -368
  98. package/dist/tools/gh-deployments.js.map +0 -1
  99. package/dist/tools/gh-gists.d.ts +0 -175
  100. package/dist/tools/gh-gists.d.ts.map +0 -1
  101. package/dist/tools/gh-gists.js +0 -322
  102. package/dist/tools/gh-gists.js.map +0 -1
  103. package/dist/tools/gh-projects.d.ts +0 -206
  104. package/dist/tools/gh-projects.d.ts.map +0 -1
  105. package/dist/tools/gh-projects.js +0 -359
  106. package/dist/tools/gh-projects.js.map +0 -1
  107. package/dist/tools/gh-security.d.ts +0 -275
  108. package/dist/tools/gh-security.d.ts.map +0 -1
  109. package/dist/tools/gh-security.js +0 -396
  110. package/dist/tools/gh-security.js.map +0 -1
  111. package/dist/tools/gh-sync.d.ts +0 -214
  112. package/dist/tools/gh-sync.d.ts.map +0 -1
  113. package/dist/tools/gh-sync.js +0 -379
  114. package/dist/tools/gh-sync.js.map +0 -1
  115. package/dist/tools/gh-workflows.d.ts +0 -291
  116. package/dist/tools/gh-workflows.d.ts.map +0 -1
  117. package/dist/tools/gh-workflows.js +0 -433
  118. package/dist/tools/gh-workflows.js.map +0 -1
  119. package/dist/tools/git-bundle.d.ts +0 -172
  120. package/dist/tools/git-bundle.d.ts.map +0 -1
  121. package/dist/tools/git-bundle.js +0 -242
  122. package/dist/tools/git-bundle.js.map +0 -1
  123. package/dist/tools/git-cherry-pick.d.ts +0 -159
  124. package/dist/tools/git-cherry-pick.d.ts.map +0 -1
  125. package/dist/tools/git-cherry-pick.js +0 -225
  126. package/dist/tools/git-cherry-pick.js.map +0 -1
  127. package/dist/tools/git-rebase.d.ts +0 -138
  128. package/dist/tools/git-rebase.d.ts.map +0 -1
  129. package/dist/tools/git-rebase.js +0 -214
  130. package/dist/tools/git-rebase.js.map +0 -1
  131. package/dist/tools/git-submodule.d.ts +0 -153
  132. package/dist/tools/git-submodule.d.ts.map +0 -1
  133. package/dist/tools/git-submodule.js +0 -290
  134. package/dist/tools/git-submodule.js.map +0 -1
  135. package/dist/tools/git-worktree.d.ts +0 -160
  136. package/dist/tools/git-worktree.d.ts.map +0 -1
  137. package/dist/tools/git-worktree.js +0 -270
  138. package/dist/tools/git-worktree.js.map +0 -1
  139. package/dist/tools/repositories.d.ts +0 -406
  140. package/dist/tools/repositories.d.ts.map +0 -1
  141. package/dist/tools/repositories.js +0 -570
  142. package/dist/tools/repositories.js.map +0 -1
  143. package/dist/tools/users.d.ts +0 -373
  144. package/dist/tools/users.d.ts.map +0 -1
  145. package/dist/tools/users.js +0 -500
  146. package/dist/tools/users.js.map +0 -1
  147. package/dist/tools/validator.d.ts +0 -171
  148. package/dist/tools/validator.d.ts.map +0 -1
  149. package/dist/tools/validator.js +0 -195
  150. package/dist/tools/validator.js.map +0 -1
  151. package/dist/tools/version-control.d.ts +0 -137
  152. package/dist/tools/version-control.d.ts.map +0 -1
  153. package/dist/tools/version-control.js +0 -165
  154. package/dist/tools/version-control.js.map +0 -1
@@ -1,234 +1,234 @@
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
234
  //# sourceMappingURL=git-archive.js.map