@andrebuzeli/git-mcp 3.0.1 → 3.1.1

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 (97) hide show
  1. package/README.md +71 -101
  2. package/dist/providers/base-provider.d.ts.map +1 -1
  3. package/dist/providers/base-provider.js +26 -3
  4. package/dist/providers/base-provider.js.map +1 -1
  5. package/dist/providers/gitea-provider.d.ts +2 -0
  6. package/dist/providers/gitea-provider.d.ts.map +1 -1
  7. package/dist/providers/gitea-provider.js +62 -0
  8. package/dist/providers/gitea-provider.js.map +1 -1
  9. package/dist/providers/github-provider.d.ts +2 -0
  10. package/dist/providers/github-provider.d.ts.map +1 -1
  11. package/dist/providers/github-provider.js +57 -0
  12. package/dist/providers/github-provider.js.map +1 -1
  13. package/dist/server.d.ts.map +1 -1
  14. package/dist/server.js +76 -82
  15. package/dist/server.js.map +1 -1
  16. package/dist/tools/git-archive.d.ts.map +1 -1
  17. package/dist/tools/git-archive.js +28 -12
  18. package/dist/tools/git-archive.js.map +1 -1
  19. package/dist/tools/git-branches.d.ts +359 -125
  20. package/dist/tools/git-branches.d.ts.map +1 -1
  21. package/dist/tools/git-branches.js +530 -179
  22. package/dist/tools/git-branches.js.map +1 -1
  23. package/dist/tools/git-commits.d.ts +6 -2
  24. package/dist/tools/git-commits.d.ts.map +1 -1
  25. package/dist/tools/git-commits.js +1 -0
  26. package/dist/tools/git-commits.js.map +1 -1
  27. package/dist/tools/git-config.d.ts +2 -2
  28. package/dist/tools/git-config.d.ts.map +1 -1
  29. package/dist/tools/git-config.js +13 -16
  30. package/dist/tools/git-config.js.map +1 -1
  31. package/dist/tools/git-files-backup.d.ts +596 -0
  32. package/dist/tools/git-files-backup.d.ts.map +1 -0
  33. package/dist/tools/git-files-backup.js +868 -0
  34. package/dist/tools/git-files-backup.js.map +1 -0
  35. package/dist/tools/git-files.d.ts +406 -246
  36. package/dist/tools/git-files.d.ts.map +1 -1
  37. package/dist/tools/git-files.js +499 -556
  38. package/dist/tools/git-files.js.map +1 -1
  39. package/dist/tools/git-issues.d.ts +14 -10
  40. package/dist/tools/git-issues.d.ts.map +1 -1
  41. package/dist/tools/git-issues.js +39 -53
  42. package/dist/tools/git-issues.js.map +1 -1
  43. package/dist/tools/git-packages.d.ts +2 -2
  44. package/dist/tools/git-projects.d.ts +57 -142
  45. package/dist/tools/git-projects.d.ts.map +1 -1
  46. package/dist/tools/git-projects.js +283 -281
  47. package/dist/tools/git-projects.js.map +1 -1
  48. package/dist/tools/git-publish.d.ts +327 -0
  49. package/dist/tools/git-publish.d.ts.map +1 -0
  50. package/dist/tools/git-publish.js +632 -0
  51. package/dist/tools/git-publish.js.map +1 -0
  52. package/dist/tools/git-pulls.d.ts +16 -16
  53. package/dist/tools/git-releases.d.ts +401 -131
  54. package/dist/tools/git-releases.d.ts.map +1 -1
  55. package/dist/tools/git-releases.js +469 -374
  56. package/dist/tools/git-releases.js.map +1 -1
  57. package/dist/tools/git-remote.d.ts +4 -4
  58. package/dist/tools/git-remote.d.ts.map +1 -1
  59. package/dist/tools/git-remote.js +27 -17
  60. package/dist/tools/git-remote.js.map +1 -1
  61. package/dist/tools/git-repositories.d.ts +8 -8
  62. package/dist/tools/git-reset.d.ts +65 -106
  63. package/dist/tools/git-reset.d.ts.map +1 -1
  64. package/dist/tools/git-reset.js +149 -265
  65. package/dist/tools/git-reset.js.map +1 -1
  66. package/dist/tools/git-revert.d.ts.map +1 -1
  67. package/dist/tools/git-revert.js +17 -1
  68. package/dist/tools/git-revert.js.map +1 -1
  69. package/dist/tools/git-stash.d.ts +68 -110
  70. package/dist/tools/git-stash.d.ts.map +1 -1
  71. package/dist/tools/git-stash.js +163 -309
  72. package/dist/tools/git-stash.js.map +1 -1
  73. package/dist/tools/git-sync.d.ts +80 -149
  74. package/dist/tools/git-sync.d.ts.map +1 -1
  75. package/dist/tools/git-sync.js +246 -346
  76. package/dist/tools/git-sync.js.map +1 -1
  77. package/dist/tools/git-tags.d.ts +6 -2
  78. package/dist/tools/git-tags.d.ts.map +1 -1
  79. package/dist/tools/git-tags.js +1 -0
  80. package/dist/tools/git-tags.js.map +1 -1
  81. package/dist/tools/git-update-project.d.ts +4 -4
  82. package/dist/tools/git-workflow.d.ts +195 -252
  83. package/dist/tools/git-workflow.d.ts.map +1 -1
  84. package/dist/tools/git-workflow.js +426 -433
  85. package/dist/tools/git-workflow.js.map +1 -1
  86. package/dist/utils/git-operations.d.ts.map +1 -1
  87. package/dist/utils/git-operations.js +51 -6
  88. package/dist/utils/git-operations.js.map +1 -1
  89. package/package.json +5 -4
  90. package/dist/tools/git-undo.d.ts +0 -268
  91. package/dist/tools/git-undo.d.ts.map +0 -1
  92. package/dist/tools/git-undo.js +0 -516
  93. package/dist/tools/git-undo.js.map +0 -1
  94. package/dist/tools/git-versioning.d.ts +0 -286
  95. package/dist/tools/git-versioning.d.ts.map +0 -1
  96. package/dist/tools/git-versioning.js +0 -483
  97. package/dist/tools/git-versioning.js.map +0 -1
@@ -1,138 +1,208 @@
1
1
  import { z } from 'zod';
2
+ import { VcsOperations } from '../providers/index.js';
2
3
  /**
3
- * Tool: git-releases
4
+ * Tool: releases
4
5
  *
5
- * GERENCIAMENTO DE RELEASES - Com auto-versioning
6
- * Funcionalidades inteligentes de versionamento semântico
6
+ * DESCRIÇÃO:
7
+ * Gerenciamento completo de releases com suporte multi-provider (GitHub e Gitea)
7
8
  *
8
- * DESIGNED FOR: Programador individual autônomo
9
- * PHILOSOPHY: Versionamento automático e inteligente
9
+ * FUNCIONALIDADES:
10
+ * - Criação de novos releases
11
+ * - Listagem e busca de releases
12
+ * - Obtenção de detalhes específicos
13
+ * - Atualização de releases existentes
14
+ * - Publicação de releases
15
+ * - Exclusão de releases
16
+ * - Controle de versão
17
+ *
18
+ * USO:
19
+ * - Para gerenciar versões do software
20
+ * - Para controle de deploy
21
+ * - Para documentação de mudanças
22
+ * - Para distribuição de releases
23
+ *
24
+ * RECOMENDAÇÕES:
25
+ * - Use versionamento semântico
26
+ * - Documente mudanças detalhadamente
27
+ * - Teste antes de publicar
28
+ * - Mantenha histórico de versões
29
+ */
30
+ /**
31
+ * Schema de validação para entrada da tool releases
32
+ *
33
+ * VALIDAÇÕES:
34
+ * - action: Ação obrigatória (create, list, get, update, delete, publish)
35
+ * - Parâmetros específicos por ação
36
+ * - Validação de tipos e formatos
37
+ *
38
+ * RECOMENDAÇÕES:
39
+ * - Sempre valide entrada antes de usar
40
+ * - Use parâmetros opcionais adequadamente
41
+ * - Documente parâmetros obrigatórios
10
42
  */
11
- declare const GitReleasesInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObject<{
12
- action: z.ZodLiteral<"create">;
43
+ declare const ReleasesInputSchema: z.ZodObject<{
44
+ action: z.ZodEnum<["create", "list", "get", "update", "delete", "publish"]>;
45
+ owner: z.ZodOptional<z.ZodString>;
13
46
  repo: z.ZodString;
14
47
  provider: z.ZodEnum<["gitea", "github"]>;
15
- version: z.ZodOptional<z.ZodString>;
48
+ projectPath: z.ZodString;
49
+ tag_name: z.ZodOptional<z.ZodString>;
16
50
  name: z.ZodOptional<z.ZodString>;
17
- description: z.ZodOptional<z.ZodString>;
18
- draft: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
19
- prerelease: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
51
+ body: z.ZodOptional<z.ZodString>;
52
+ draft: z.ZodOptional<z.ZodBoolean>;
53
+ prerelease: z.ZodOptional<z.ZodBoolean>;
54
+ target_commitish: z.ZodOptional<z.ZodString>;
55
+ release_id: z.ZodOptional<z.ZodNumber>;
56
+ page: z.ZodOptional<z.ZodNumber>;
57
+ limit: z.ZodOptional<z.ZodNumber>;
58
+ new_tag_name: z.ZodOptional<z.ZodString>;
59
+ new_name: z.ZodOptional<z.ZodString>;
60
+ new_body: z.ZodOptional<z.ZodString>;
61
+ new_draft: z.ZodOptional<z.ZodBoolean>;
62
+ new_prerelease: z.ZodOptional<z.ZodBoolean>;
63
+ new_target_commitish: z.ZodOptional<z.ZodString>;
64
+ latest: z.ZodOptional<z.ZodBoolean>;
20
65
  }, "strip", z.ZodTypeAny, {
21
66
  provider: "gitea" | "github";
22
- draft: boolean;
23
- prerelease: boolean;
24
67
  repo: string;
25
- action: "create";
68
+ action: "delete" | "get" | "list" | "create" | "update" | "publish";
69
+ projectPath: string;
26
70
  name?: string | undefined;
27
- description?: string | undefined;
28
- version?: string | undefined;
29
- }, {
30
- provider: "gitea" | "github";
31
- repo: string;
32
- action: "create";
33
- name?: string | undefined;
34
- description?: string | undefined;
71
+ owner?: string | undefined;
72
+ body?: string | undefined;
73
+ tag_name?: string | undefined;
35
74
  draft?: boolean | undefined;
36
75
  prerelease?: boolean | undefined;
37
- version?: string | undefined;
38
- }>, z.ZodObject<{
39
- action: z.ZodLiteral<"list">;
40
- repo: z.ZodString;
41
- provider: z.ZodEnum<["gitea", "github"]>;
42
- limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
43
- }, "strip", z.ZodTypeAny, {
44
- provider: "gitea" | "github";
45
- repo: string;
46
- limit: number;
47
- action: "list";
48
- }, {
49
- provider: "gitea" | "github";
50
- repo: string;
51
- action: "list";
76
+ page?: number | undefined;
52
77
  limit?: number | undefined;
53
- }>, z.ZodObject<{
54
- action: z.ZodLiteral<"bump">;
55
- repo: z.ZodString;
56
- provider: z.ZodEnum<["gitea", "github"]>;
57
- type: z.ZodDefault<z.ZodEnum<["patch", "minor", "major"]>>;
58
- createRelease: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
59
- description: z.ZodOptional<z.ZodString>;
60
- draft: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
61
- }, "strip", z.ZodTypeAny, {
62
- provider: "gitea" | "github";
63
- type: "patch" | "minor" | "major";
64
- draft: boolean;
65
- repo: string;
66
- action: "bump";
67
- createRelease: boolean;
68
- description?: string | undefined;
78
+ latest?: boolean | undefined;
79
+ new_name?: string | undefined;
80
+ new_body?: string | undefined;
81
+ target_commitish?: string | undefined;
82
+ release_id?: number | undefined;
83
+ new_tag_name?: string | undefined;
84
+ new_draft?: boolean | undefined;
85
+ new_prerelease?: boolean | undefined;
86
+ new_target_commitish?: string | undefined;
69
87
  }, {
70
88
  provider: "gitea" | "github";
71
89
  repo: string;
72
- action: "bump";
73
- type?: "patch" | "minor" | "major" | undefined;
74
- description?: string | undefined;
90
+ action: "delete" | "get" | "list" | "create" | "update" | "publish";
91
+ projectPath: string;
92
+ name?: string | undefined;
93
+ owner?: string | undefined;
94
+ body?: string | undefined;
95
+ tag_name?: string | undefined;
75
96
  draft?: boolean | undefined;
76
- createRelease?: boolean | undefined;
77
- }>, z.ZodObject<{
78
- action: z.ZodLiteral<"current-version">;
79
- repo: z.ZodString;
80
- provider: z.ZodEnum<["gitea", "github"]>;
81
- }, "strip", z.ZodTypeAny, {
82
- provider: "gitea" | "github";
83
- repo: string;
84
- action: "current-version";
85
- }, {
86
- provider: "gitea" | "github";
87
- repo: string;
88
- action: "current-version";
89
- }>, z.ZodObject<{
90
- action: z.ZodLiteral<"changelog">;
91
- repo: z.ZodString;
92
- provider: z.ZodEnum<["gitea", "github"]>;
93
- from: z.ZodOptional<z.ZodString>;
94
- to: z.ZodDefault<z.ZodOptional<z.ZodString>>;
95
- }, "strip", z.ZodTypeAny, {
96
- provider: "gitea" | "github";
97
- repo: string;
98
- action: "changelog";
99
- to: string;
100
- from?: string | undefined;
101
- }, {
102
- provider: "gitea" | "github";
103
- repo: string;
104
- action: "changelog";
105
- from?: string | undefined;
106
- to?: string | undefined;
107
- }>]>;
108
- export type GitReleasesInput = z.infer<typeof GitReleasesInputSchema>;
109
- declare const GitReleasesResultSchema: z.ZodObject<{
97
+ prerelease?: boolean | undefined;
98
+ page?: number | undefined;
99
+ limit?: number | undefined;
100
+ latest?: boolean | undefined;
101
+ new_name?: string | undefined;
102
+ new_body?: string | undefined;
103
+ target_commitish?: string | undefined;
104
+ release_id?: number | undefined;
105
+ new_tag_name?: string | undefined;
106
+ new_draft?: boolean | undefined;
107
+ new_prerelease?: boolean | undefined;
108
+ new_target_commitish?: string | undefined;
109
+ }>;
110
+ export type ReleasesInput = z.infer<typeof ReleasesInputSchema>;
111
+ /**
112
+ * Schema de saída padronizado
113
+ *
114
+ * ESTRUTURA:
115
+ * - success: Status da operação
116
+ * - action: Ação executada
117
+ * - message: Mensagem descritiva
118
+ * - data: Dados retornados (opcional)
119
+ * - error: Detalhes do erro (opcional)
120
+ */
121
+ declare const ReleasesResultSchema: z.ZodObject<{
110
122
  success: z.ZodBoolean;
111
123
  action: z.ZodString;
112
124
  message: z.ZodString;
113
125
  data: z.ZodOptional<z.ZodAny>;
114
126
  error: z.ZodOptional<z.ZodString>;
115
- recoverable: z.ZodOptional<z.ZodBoolean>;
116
- suggestion: z.ZodOptional<z.ZodString>;
117
127
  }, "strip", z.ZodTypeAny, {
118
128
  message: string;
119
129
  action: string;
120
130
  success: boolean;
121
131
  error?: string | undefined;
122
132
  data?: any;
123
- recoverable?: boolean | undefined;
124
- suggestion?: string | undefined;
125
133
  }, {
126
134
  message: string;
127
135
  action: string;
128
136
  success: boolean;
129
137
  error?: string | undefined;
130
138
  data?: any;
131
- recoverable?: boolean | undefined;
132
- suggestion?: string | undefined;
133
139
  }>;
134
- export type GitReleasesResult = z.infer<typeof GitReleasesResultSchema>;
135
- export declare const gitReleasesTool: {
140
+ export type ReleasesResult = z.infer<typeof ReleasesResultSchema>;
141
+ /**
142
+ * Tool: releases
143
+ *
144
+ * DESCRIÇÃO:
145
+ * Gerenciamento completo de releases Gitea com múltiplas ações
146
+ *
147
+ * ACTIONS DISPONÍVEIS:
148
+ *
149
+ * 1. create - Criar novo release
150
+ * Parâmetros:
151
+ * - owner (obrigatório): Proprietário do repositório
152
+ * - repo (obrigatório): Nome do repositório
153
+ * - tag_name (obrigatório): Nome da tag do release
154
+ * - name (opcional): Nome do release
155
+ * - body (opcional): Descrição detalhada (changelog)
156
+ * - draft (opcional): Se é um draft release (padrão: false)
157
+ * - prerelease (opcional): Se é um prerelease (padrão: false)
158
+ * - target_commitish (opcional): Branch ou commit alvo (padrão: branch padrão)
159
+ *
160
+ * 2. list - Listar releases
161
+ * Parâmetros:
162
+ * - owner (obrigatório): Proprietário do repositório
163
+ * - repo (obrigatório): Nome do repositório
164
+ * - page (opcional): Página da listagem (padrão: 1)
165
+ * - limit (opcional): Itens por página (padrão: 30, máximo: 100)
166
+ *
167
+ * 3. get - Obter detalhes do release
168
+ * Parâmetros:
169
+ * - owner (obrigatório): Proprietário do repositório
170
+ * - repo (obrigatório): Nome do repositório
171
+ * - release_id (obrigatório): ID do release
172
+ *
173
+ * 4. update - Atualizar release existente
174
+ * Parâmetros:
175
+ * - owner (obrigatório): Proprietário do repositório
176
+ * - repo (obrigatório): Nome do repositório
177
+ * - release_id (obrigatório): ID do release
178
+ * - new_tag_name (opcional): Nova tag
179
+ * - new_name (opcional): Novo nome
180
+ * - new_body (opcional): Nova descrição
181
+ * - new_draft (opcional): Novo status de draft
182
+ * - new_prerelease (opcional): Novo status de prerelease
183
+ * - new_target_commitish (opcional): Nova branch/commit alvo
184
+ *
185
+ * 5. delete - Deletar release
186
+ * Parâmetros:
187
+ * - owner (obrigatório): Proprietário do repositório
188
+ * - repo (obrigatório): Nome do repositório
189
+ * - release_id (obrigatório): ID do release
190
+ *
191
+ * 6. publish - Publicar release
192
+ * Parâmetros:
193
+ * - owner (obrigatório): Proprietário do repositório
194
+ * - repo (obrigatório): Nome do repositório
195
+ * - release_id (obrigatório): ID do release
196
+ *
197
+ * RECOMENDAÇÕES DE USO:
198
+ * - Use versionamento semântico (ex: v1.0.0, v2.1.3)
199
+ * - Documente mudanças detalhadamente no body
200
+ * - Use drafts para releases em preparação
201
+ * - Marque prereleases adequadamente
202
+ * - Teste releases antes de publicar
203
+ * - Mantenha changelog organizado
204
+ */
205
+ export declare const releasesTool: {
136
206
  name: string;
137
207
  description: string;
138
208
  inputSchema: {
@@ -149,10 +219,9 @@ export declare const gitReleasesTool: {
149
219
  };
150
220
  provider: {
151
221
  type: string;
152
- enum: string[];
153
222
  description: string;
154
223
  };
155
- version: {
224
+ tag_name: {
156
225
  type: string;
157
226
  description: string;
158
227
  };
@@ -160,65 +229,266 @@ export declare const gitReleasesTool: {
160
229
  type: string;
161
230
  description: string;
162
231
  };
163
- description: {
232
+ body: {
164
233
  type: string;
165
234
  description: string;
166
235
  };
167
- type: {
236
+ draft: {
168
237
  type: string;
169
- enum: string[];
170
238
  description: string;
171
- default: string;
172
239
  };
173
- draft: {
240
+ prerelease: {
174
241
  type: string;
175
242
  description: string;
176
- default: boolean;
177
243
  };
178
- prerelease: {
244
+ target_commitish: {
245
+ type: string;
246
+ description: string;
247
+ };
248
+ release_id: {
179
249
  type: string;
180
250
  description: string;
181
- default: boolean;
182
251
  };
183
- createRelease: {
252
+ page: {
184
253
  type: string;
185
254
  description: string;
186
- default: boolean;
255
+ minimum: number;
187
256
  };
188
257
  limit: {
189
258
  type: string;
190
259
  description: string;
191
- default: number;
260
+ minimum: number;
261
+ maximum: number;
262
+ };
263
+ new_tag_name: {
264
+ type: string;
265
+ description: string;
266
+ };
267
+ new_name: {
268
+ type: string;
269
+ description: string;
270
+ };
271
+ new_body: {
272
+ type: string;
273
+ description: string;
274
+ };
275
+ new_draft: {
276
+ type: string;
277
+ description: string;
278
+ };
279
+ new_prerelease: {
280
+ type: string;
281
+ description: string;
192
282
  };
193
- from: {
283
+ new_target_commitish: {
194
284
  type: string;
195
285
  description: string;
196
286
  };
197
- to: {
287
+ latest: {
198
288
  type: string;
199
289
  description: string;
200
- default: string;
201
290
  };
202
291
  };
203
292
  required: string[];
204
293
  };
205
- handler(input: GitReleasesInput): Promise<GitReleasesResult>;
206
- handleCreate(params: GitReleasesInput & {
207
- action: "create";
208
- }): Promise<GitReleasesResult>;
209
- handleList(params: GitReleasesInput & {
210
- action: "list";
211
- }): Promise<GitReleasesResult>;
212
- handleBump(params: GitReleasesInput & {
213
- action: "bump";
214
- }): Promise<GitReleasesResult>;
215
- handleCurrentVersion(params: GitReleasesInput & {
216
- action: "current-version";
217
- }): Promise<GitReleasesResult>;
218
- handleChangelog(params: GitReleasesInput & {
219
- action: "changelog";
220
- }): Promise<GitReleasesResult>;
221
- getRecentCommits(repo: string, provider: "gitea" | "github", from?: string, to?: string): Promise<string[]>;
294
+ /**
295
+ * Handler principal da tool releases
296
+ *
297
+ * FUNCIONALIDADE:
298
+ * - Valida entrada usando Zod schema
299
+ * - Roteia para método específico baseado na ação
300
+ * - Trata erros de forma uniforme
301
+ * - Retorna resultado padronizado
302
+ *
303
+ * FLUXO:
304
+ * 1. Validação de entrada
305
+ * 2. Seleção do provider
306
+ * 3. Roteamento por ação
307
+ * 4. Execução do método específico
308
+ * 5. Tratamento de erros
309
+ * 6. Retorno de resultado
310
+ *
311
+ * TRATAMENTO DE ERROS:
312
+ * - Validação: erro de schema
313
+ * - Execução: erro da operação
314
+ * - Roteamento: ação não suportada
315
+ *
316
+ * RECOMENDAÇÕES:
317
+ * - Sempre valide entrada antes de processar
318
+ * - Trate erros específicos adequadamente
319
+ * - Log detalhes de erro para debug
320
+ * - Retorne mensagens de erro úteis
321
+ */
322
+ handler(input: ReleasesInput): Promise<ReleasesResult>;
323
+ /**
324
+ * Cria um novo release no repositório
325
+ *
326
+ * FUNCIONALIDADE:
327
+ * - Cria release com tag e descrição
328
+ * - Suporta configuração de draft e prerelease
329
+ * - Permite especificar branch/commit alvo
330
+ *
331
+ * PARÂMETROS OBRIGATÓRIOS:
332
+ * - owner: Proprietário do repositório
333
+ * - repo: Nome do repositório
334
+ * - tag_name: Nome da tag do release
335
+ *
336
+ * PARÂMETROS OPCIONAIS:
337
+ * - name: Nome do release
338
+ * - body: Descrição detalhada (changelog)
339
+ * - draft: Se é um draft release (padrão: false)
340
+ * - prerelease: Se é um prerelease (padrão: false)
341
+ * - target_commitish: Branch ou commit alvo (padrão: branch padrão)
342
+ *
343
+ * VALIDAÇÕES:
344
+ * - Todos os parâmetros obrigatórios
345
+ * - Tag deve ser única no repositório
346
+ * - Target commitish deve existir
347
+ * - Usuário deve ter permissão de escrita
348
+ *
349
+ * RECOMENDAÇÕES:
350
+ * - Use versionamento semântico (ex: v1.0.0)
351
+ * - Documente mudanças detalhadamente
352
+ * - Use drafts para releases em preparação
353
+ * - Marque prereleases adequadamente
354
+ */
355
+ createRelease(params: ReleasesInput, provider: VcsOperations): Promise<ReleasesResult>;
356
+ /**
357
+ * Lista releases do repositório
358
+ *
359
+ * FUNCIONALIDADE:
360
+ * - Lista releases com paginação
361
+ * - Retorna informações básicas de cada release
362
+ * - Inclui status de draft e prerelease
363
+ *
364
+ * PARÂMETROS OBRIGATÓRIOS:
365
+ * - owner: Proprietário do repositório
366
+ * - repo: Nome do repositório
367
+ *
368
+ * PARÂMETROS OPCIONAIS:
369
+ * - page: Página da listagem (padrão: 1)
370
+ * - limit: Itens por página (padrão: 30, máximo: 100)
371
+ *
372
+ * VALIDAÇÕES:
373
+ * - e repo obrigatórios
374
+ * - Page deve ser >= 1
375
+ * - Limit deve ser entre 1 e 100
376
+ *
377
+ * RECOMENDAÇÕES:
378
+ * - Use paginação para repositórios com muitos releases
379
+ * - Monitore número total de releases
380
+ * - Verifique status de draft e prerelease
381
+ * - Mantenha releases organizados
382
+ */
383
+ listReleases(params: ReleasesInput, provider: VcsOperations): Promise<ReleasesResult>;
384
+ /**
385
+ * Obtém detalhes de um release específico
386
+ *
387
+ * FUNCIONALIDADE:
388
+ * - Retorna informações completas do release
389
+ * - Inclui tag, nome, descrição e status
390
+ * - Mostra URLs de download
391
+ *
392
+ * PARÂMETROS OBRIGATÓRIOS:
393
+ * - owner: Proprietário do repositório
394
+ * - repo: Nome do repositório
395
+ * - release_id: ID do release
396
+ *
397
+ * VALIDAÇÕES:
398
+ * - Todos os parâmetros obrigatórios
399
+ * - Release deve existir no repositório
400
+ * - ID deve ser válido
401
+ *
402
+ * RECOMENDAÇÕES:
403
+ * - Use para obter detalhes completos
404
+ * - Verifique status de draft e prerelease
405
+ * - Analise changelog e descrição
406
+ * - Monitore URLs de download
407
+ */
408
+ getRelease(params: ReleasesInput, provider: VcsOperations): Promise<ReleasesResult>;
409
+ /**
410
+ * Atualiza um release existente
411
+ *
412
+ * FUNCIONALIDADE:
413
+ * - Atualiza campos do release
414
+ * - Suporta mudança de tag e descrição
415
+ * - Permite alteração de status
416
+ *
417
+ * PARÂMETROS OBRIGATÓRIOS:
418
+ * - owner: Proprietário do repositório
419
+ * - repo: Nome do repositório
420
+ * - release_id: ID do release
421
+ *
422
+ * PARÂMETROS OPCIONAIS:
423
+ * - new_tag_name: Nova tag
424
+ * - new_name: Novo nome
425
+ * - new_body: Nova descrição
426
+ * - new_draft: Novo status de draft
427
+ * - new_prerelease: Novo status de prerelease
428
+ * - new_target_commitish: Nova branch/commit alvo
429
+ *
430
+ * VALIDAÇÕES:
431
+ * - Todos os parâmetros obrigatórios
432
+ * - Release deve existir
433
+ * - Pelo menos um campo deve ser atualizado
434
+ *
435
+ * RECOMENDAÇÕES:
436
+ * - Atualize apenas campos necessários
437
+ * - Use mensagens de commit descritivas
438
+ * - Documente mudanças importantes
439
+ * - Notifique usuários sobre mudanças
440
+ */
441
+ updateRelease(params: ReleasesInput, provider: VcsOperations): Promise<ReleasesResult>;
442
+ /**
443
+ * Deleta um release do repositório
444
+ *
445
+ * FUNCIONALIDADE:
446
+ * - Remove release especificado
447
+ * - Mantém tag associada (se existir)
448
+ * - Confirma exclusão bem-sucedida
449
+ *
450
+ * PARÂMETROS OBRIGATÓRIOS:
451
+ * - owner: Proprietário do repositório
452
+ * - repo: Nome do repositório
453
+ * - release_id: ID do release
454
+ *
455
+ * VALIDAÇÕES:
456
+ * - Todos os parâmetros obrigatórios
457
+ * - Release deve existir
458
+ * - Usuário deve ter permissão de exclusão
459
+ *
460
+ * RECOMENDAÇÕES:
461
+ * - Confirme exclusão antes de executar
462
+ * - Verifique se release não está sendo usado
463
+ * - Mantenha backup se necessário
464
+ * - Documente motivo da exclusão
465
+ */
466
+ deleteRelease(params: ReleasesInput, provider: VcsOperations): Promise<ReleasesResult>;
467
+ /**
468
+ * Publica um release draft
469
+ *
470
+ * FUNCIONALIDADE:
471
+ * - Altera status do release de draft para publicado
472
+ * - Mantém todas as outras configurações
473
+ * - Permite download público
474
+ *
475
+ * PARÂMETROS OBRIGATÓRIOS:
476
+ * - owner: Proprietário do repositório
477
+ * - repo: Nome do repositório
478
+ * - release_id: ID do release
479
+ *
480
+ * VALIDAÇÕES:
481
+ * - Todos os parâmetros obrigatórios
482
+ * - Release deve existir
483
+ * - Release deve estar como draft
484
+ *
485
+ * RECOMENDAÇÕES:
486
+ * - Confirme que release está pronto
487
+ * - Teste antes de publicar
488
+ * - Verifique se não há bugs conhecidos
489
+ * - Notifique usuários sobre nova versão
490
+ */
491
+ publishRelease(params: ReleasesInput, provider: VcsOperations): Promise<ReleasesResult>;
222
492
  };
223
493
  export {};
224
494
  //# sourceMappingURL=git-releases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-releases.d.ts","sourceRoot":"","sources":["../../src/tools/git-releases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;GAQG;AAEH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0C1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AA4JxE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAkDL,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;yBAuBvC,gBAAgB,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;uBA4DtE,gBAAgB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;uBAmClE,gBAAgB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;iCAiExD,gBAAgB,GAAG;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;4BAkBlF,gBAAgB,GAAG;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;2BAkCxE,MAAM,YAAY,OAAO,GAAG,QAAQ,SAAS,MAAM,OAAM,MAAM,GAAY,OAAO,CAAC,MAAM,EAAE,CAAC;CAqB1H,CAAC"}
1
+ {"version":3,"file":"git-releases.d.ts","sourceRoot":"","sources":["../../src/tools/git-releases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAyB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG7E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;;;GASG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCvB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;mBACkB,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA2C5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;0BACyB,aAAa,YAAY,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAwC5F;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;yBACwB,aAAa,YAAY,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA2B3F;;;;;;;;;;;;;;;;;;;;;;;OAuBG;uBACsB,aAAa,YAAY,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAmBzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;0BACyB,aAAa,YAAY,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAgC5F;;;;;;;;;;;;;;;;;;;;;;;OAuBG;0BACyB,aAAa,YAAY,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAoB5F;;;;;;;;;;;;;;;;;;;;;;;OAuBG;2BAC0B,aAAa,YAAY,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CAqB9F,CAAC"}