@andrebuzeli/git-mcp 2.14.2 → 2.16.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 (59) hide show
  1. package/README.md +346 -346
  2. package/dist/providers/base-provider.d.ts +7 -0
  3. package/dist/providers/base-provider.d.ts.map +1 -1
  4. package/dist/providers/base-provider.js.map +1 -1
  5. package/dist/providers/gitea-provider.d.ts +4 -0
  6. package/dist/providers/gitea-provider.d.ts.map +1 -1
  7. package/dist/providers/gitea-provider.js +75 -0
  8. package/dist/providers/gitea-provider.js.map +1 -1
  9. package/dist/providers/github-provider.d.ts +4 -0
  10. package/dist/providers/github-provider.d.ts.map +1 -1
  11. package/dist/providers/github-provider.js +75 -0
  12. package/dist/providers/github-provider.js.map +1 -1
  13. package/dist/providers/types.d.ts +4 -0
  14. package/dist/providers/types.d.ts.map +1 -1
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +3 -1
  17. package/dist/server.js.map +1 -1
  18. package/dist/tools/gh-codespaces.d.ts +2 -2
  19. package/dist/tools/gh-deployments.d.ts +4 -4
  20. package/dist/tools/gh-gists.d.ts +2 -2
  21. package/dist/tools/gh-projects.d.ts +2 -2
  22. package/dist/tools/gh-sync.d.ts +2 -2
  23. package/dist/tools/gh-workflows.d.ts +4 -4
  24. package/dist/tools/git-archive.d.ts +4 -4
  25. package/dist/tools/git-branches.d.ts +2 -2
  26. package/dist/tools/git-cherry-pick.d.ts +2 -2
  27. package/dist/tools/git-commits.d.ts +4 -4
  28. package/dist/tools/git-files.d.ts +35 -5
  29. package/dist/tools/git-files.d.ts.map +1 -1
  30. package/dist/tools/git-files.js +55 -3
  31. package/dist/tools/git-files.js.map +1 -1
  32. package/dist/tools/git-issues.d.ts +2 -2
  33. package/dist/tools/git-pulls.d.ts +2 -2
  34. package/dist/tools/git-releases.d.ts +2 -2
  35. package/dist/tools/git-remote.d.ts +4 -4
  36. package/dist/tools/git-repositories.d.ts +90 -21
  37. package/dist/tools/git-repositories.d.ts.map +1 -1
  38. package/dist/tools/git-repositories.js +88 -19
  39. package/dist/tools/git-repositories.js.map +1 -1
  40. package/dist/tools/git-stash.d.ts +2 -2
  41. package/dist/tools/git-submodule.d.ts +4 -4
  42. package/dist/tools/git-tags.d.ts +4 -4
  43. package/dist/tools/git-upload-project.d.ts +153 -0
  44. package/dist/tools/git-upload-project.d.ts.map +1 -0
  45. package/dist/tools/git-upload-project.js +153 -0
  46. package/dist/tools/git-upload-project.js.map +1 -0
  47. package/dist/tools/git-webhooks.d.ts +2 -2
  48. package/dist/tools/git-worktree.d.ts +4 -4
  49. package/dist/tools/repositories.d.ts +2 -2
  50. package/dist/tools/users.d.ts +2 -2
  51. package/dist/utils/git-operations.d.ts +168 -0
  52. package/dist/utils/git-operations.d.ts.map +1 -0
  53. package/dist/utils/git-operations.js +760 -0
  54. package/dist/utils/git-operations.js.map +1 -0
  55. package/dist/utils/terminal-controller.d.ts +7 -7
  56. package/dist/utils/terminal-controller.d.ts.map +1 -1
  57. package/dist/utils/terminal-controller.js +202 -60
  58. package/dist/utils/terminal-controller.js.map +1 -1
  59. package/package.json +2 -2
@@ -40,7 +40,7 @@ declare const GitStashInputSchema: z.ZodObject<{
40
40
  provider: "gitea" | "github";
41
41
  owner: string;
42
42
  repo: string;
43
- action: "pop" | "list" | "stash" | "apply" | "show" | "drop" | "clear";
43
+ action: "pop" | "apply" | "list" | "show" | "drop" | "clear" | "stash";
44
44
  projectPath: string;
45
45
  message?: string | undefined;
46
46
  include_untracked?: boolean | undefined;
@@ -51,7 +51,7 @@ declare const GitStashInputSchema: z.ZodObject<{
51
51
  provider: "gitea" | "github";
52
52
  owner: string;
53
53
  repo: string;
54
- action: "pop" | "list" | "stash" | "apply" | "show" | "drop" | "clear";
54
+ action: "pop" | "apply" | "list" | "show" | "drop" | "clear" | "stash";
55
55
  projectPath: string;
56
56
  message?: string | undefined;
57
57
  include_untracked?: boolean | undefined;
@@ -41,27 +41,27 @@ declare const GitSubmoduleInputSchema: z.ZodObject<{
41
41
  provider: "gitea" | "github";
42
42
  owner: string;
43
43
  repo: string;
44
- action: "status" | "update" | "init" | "add" | "deinit" | "sync";
44
+ action: "status" | "init" | "add" | "update" | "deinit" | "sync";
45
45
  projectPath: string;
46
+ recursive?: boolean | undefined;
46
47
  remote?: boolean | undefined;
47
48
  submodule_url?: string | undefined;
48
49
  submodule_path?: string | undefined;
49
50
  submodule_branch?: string | undefined;
50
51
  submodule_name?: string | undefined;
51
- recursive?: boolean | undefined;
52
52
  recursive_sync?: boolean | undefined;
53
53
  }, {
54
54
  provider: "gitea" | "github";
55
55
  owner: string;
56
56
  repo: string;
57
- action: "status" | "update" | "init" | "add" | "deinit" | "sync";
57
+ action: "status" | "init" | "add" | "update" | "deinit" | "sync";
58
58
  projectPath: string;
59
+ recursive?: boolean | undefined;
59
60
  remote?: boolean | undefined;
60
61
  submodule_url?: string | undefined;
61
62
  submodule_path?: string | undefined;
62
63
  submodule_branch?: string | undefined;
63
64
  submodule_name?: string | undefined;
64
- recursive?: boolean | undefined;
65
65
  recursive_sync?: boolean | undefined;
66
66
  }>;
67
67
  export type GitSubmoduleInput = z.infer<typeof GitSubmoduleInputSchema>;
@@ -59,33 +59,33 @@ declare const TagsInputSchema: z.ZodObject<{
59
59
  provider: "gitea" | "github";
60
60
  owner: string;
61
61
  repo: string;
62
- action: "delete" | "get" | "create" | "list" | "search";
62
+ action: "delete" | "get" | "search" | "list" | "create";
63
63
  message?: string | undefined;
64
64
  type?: "lightweight" | "annotated" | undefined;
65
65
  tag_name?: string | undefined;
66
66
  page?: number | undefined;
67
67
  limit?: number | undefined;
68
+ tag?: string | undefined;
68
69
  query?: string | undefined;
69
70
  target?: string | undefined;
70
71
  tagger_name?: string | undefined;
71
72
  tagger_email?: string | undefined;
72
- tag?: string | undefined;
73
73
  pattern?: string | undefined;
74
74
  }, {
75
75
  provider: "gitea" | "github";
76
76
  owner: string;
77
77
  repo: string;
78
- action: "delete" | "get" | "create" | "list" | "search";
78
+ action: "delete" | "get" | "search" | "list" | "create";
79
79
  message?: string | undefined;
80
80
  type?: "lightweight" | "annotated" | undefined;
81
81
  tag_name?: string | undefined;
82
82
  page?: number | undefined;
83
83
  limit?: number | undefined;
84
+ tag?: string | undefined;
84
85
  query?: string | undefined;
85
86
  target?: string | undefined;
86
87
  tagger_name?: string | undefined;
87
88
  tagger_email?: string | undefined;
88
- tag?: string | undefined;
89
89
  pattern?: string | undefined;
90
90
  }>;
91
91
  export type TagsInput = z.infer<typeof TagsInputSchema>;
@@ -0,0 +1,153 @@
1
+ import { z } from 'zod';
2
+ import { VcsOperations } from '../providers/index.js';
3
+ /**
4
+ * Tool: git-upload-project
5
+ *
6
+ * DESCRIÇÃO:
7
+ * Upload completo de projeto para repositório remoto
8
+ *
9
+ * FUNCIONALIDADES:
10
+ * - Upload de todos os arquivos do projeto
11
+ * - Ignora diretórios desnecessários (node_modules, .git, dist)
12
+ * - Ignora arquivos temporários e logs
13
+ * - Faz commit com mensagem personalizada
14
+ * - Suporta GitHub e Gitea
15
+ *
16
+ * USO:
17
+ * - Para enviar projeto completo para repositório
18
+ * - Para backup de projeto
19
+ * - Para migração de código
20
+ * - Para sincronização de projeto
21
+ *
22
+ * RECOMENDAÇÕES:
23
+ * - Use mensagens de commit descritivas
24
+ * - Verifique se o repositório está limpo
25
+ * - Use branches para mudanças grandes
26
+ * - Monitore erros de upload
27
+ */
28
+ /**
29
+ * Schema de validação para entrada da tool upload-project
30
+ */
31
+ declare const UploadProjectInputSchema: z.ZodObject<{
32
+ action: z.ZodEnum<["upload"]>;
33
+ owner: z.ZodString;
34
+ repo: z.ZodString;
35
+ projectPath: z.ZodString;
36
+ provider: z.ZodEnum<["gitea", "github"]>;
37
+ message: z.ZodString;
38
+ branch: z.ZodOptional<z.ZodString>;
39
+ }, "strip", z.ZodTypeAny, {
40
+ provider: "gitea" | "github";
41
+ message: string;
42
+ owner: string;
43
+ repo: string;
44
+ action: "upload";
45
+ projectPath: string;
46
+ branch?: string | undefined;
47
+ }, {
48
+ provider: "gitea" | "github";
49
+ message: string;
50
+ owner: string;
51
+ repo: string;
52
+ action: "upload";
53
+ projectPath: string;
54
+ branch?: string | undefined;
55
+ }>;
56
+ export type UploadProjectInput = z.infer<typeof UploadProjectInputSchema>;
57
+ /**
58
+ * Schema de saída padronizado
59
+ */
60
+ declare const UploadProjectResultSchema: z.ZodObject<{
61
+ success: z.ZodBoolean;
62
+ action: z.ZodString;
63
+ message: z.ZodString;
64
+ data: z.ZodOptional<z.ZodAny>;
65
+ error: z.ZodOptional<z.ZodString>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ message: string;
68
+ action: string;
69
+ success: boolean;
70
+ error?: string | undefined;
71
+ data?: any;
72
+ }, {
73
+ message: string;
74
+ action: string;
75
+ success: boolean;
76
+ error?: string | undefined;
77
+ data?: any;
78
+ }>;
79
+ export type UploadProjectResult = z.infer<typeof UploadProjectResultSchema>;
80
+ /**
81
+ * Tool: git-upload-project
82
+ *
83
+ * DESCRIÇÃO:
84
+ * Upload completo de projeto para repositório remoto
85
+ *
86
+ * ACTIONS DISPONÍVEIS:
87
+ *
88
+ * 1. upload - Upload de projeto completo
89
+ * Parâmetros:
90
+ * - owner (obrigatório): Proprietário do repositório
91
+ * - repo (obrigatório): Nome do repositório
92
+ * - projectPath (obrigatório): Caminho do projeto local
93
+ * - message (obrigatório): Mensagem de commit
94
+ * - branch (opcional): Branch de destino (padrão: branch padrão)
95
+ *
96
+ * RECOMENDAÇÕES DE USO:
97
+ * - Use mensagens de commit descritivas
98
+ * - Verifique se o repositório está limpo
99
+ * - Use branches para mudanças grandes
100
+ * - Monitore erros de upload
101
+ * - Organize estrutura de diretórios
102
+ * - Documente mudanças importantes
103
+ * - Mantenha histórico de commits limpo
104
+ */
105
+ export declare const uploadProjectTool: {
106
+ name: string;
107
+ description: string;
108
+ inputSchema: {
109
+ type: string;
110
+ properties: {
111
+ action: {
112
+ type: string;
113
+ enum: string[];
114
+ description: string;
115
+ };
116
+ owner: {
117
+ type: string;
118
+ description: string;
119
+ };
120
+ repo: {
121
+ type: string;
122
+ description: string;
123
+ };
124
+ projectPath: {
125
+ type: string;
126
+ description: string;
127
+ };
128
+ provider: {
129
+ type: string;
130
+ description: string;
131
+ };
132
+ message: {
133
+ type: string;
134
+ description: string;
135
+ };
136
+ branch: {
137
+ type: string;
138
+ description: string;
139
+ };
140
+ };
141
+ required: string[];
142
+ };
143
+ /**
144
+ * Handler principal da tool upload-project
145
+ */
146
+ handler(input: UploadProjectInput): Promise<UploadProjectResult>;
147
+ /**
148
+ * Faz upload de todo o projeto para o repositório
149
+ */
150
+ uploadProject(params: UploadProjectInput, provider: VcsOperations): Promise<UploadProjectResult>;
151
+ };
152
+ export {};
153
+ //# sourceMappingURL=git-upload-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-upload-project.d.ts","sourceRoot":"","sources":["../../src/tools/git-upload-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAyB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;GAEG;AACH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqB5B;;OAEG;mBACkB,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8BtE;;OAEG;0BACyB,kBAAkB,YAAY,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA4BvG,CAAC"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadProjectTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const index_js_1 = require("../providers/index.js");
6
+ const user_detection_js_1 = require("../utils/user-detection.js");
7
+ /**
8
+ * Tool: git-upload-project
9
+ *
10
+ * DESCRIÇÃO:
11
+ * Upload completo de projeto para repositório remoto
12
+ *
13
+ * FUNCIONALIDADES:
14
+ * - Upload de todos os arquivos do projeto
15
+ * - Ignora diretórios desnecessários (node_modules, .git, dist)
16
+ * - Ignora arquivos temporários e logs
17
+ * - Faz commit com mensagem personalizada
18
+ * - Suporta GitHub e Gitea
19
+ *
20
+ * USO:
21
+ * - Para enviar projeto completo para repositório
22
+ * - Para backup de projeto
23
+ * - Para migração de código
24
+ * - Para sincronização de projeto
25
+ *
26
+ * RECOMENDAÇÕES:
27
+ * - Use mensagens de commit descritivas
28
+ * - Verifique se o repositório está limpo
29
+ * - Use branches para mudanças grandes
30
+ * - Monitore erros de upload
31
+ */
32
+ /**
33
+ * Schema de validação para entrada da tool upload-project
34
+ */
35
+ const UploadProjectInputSchema = zod_1.z.object({
36
+ action: zod_1.z.enum(['upload']),
37
+ owner: zod_1.z.string(),
38
+ repo: zod_1.z.string(),
39
+ projectPath: zod_1.z.string().describe('Local project path for git operations'),
40
+ provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
41
+ message: zod_1.z.string(),
42
+ branch: zod_1.z.string().optional(),
43
+ });
44
+ /**
45
+ * Schema de saída padronizado
46
+ */
47
+ const UploadProjectResultSchema = zod_1.z.object({
48
+ success: zod_1.z.boolean(),
49
+ action: zod_1.z.string(),
50
+ message: zod_1.z.string(),
51
+ data: zod_1.z.any().optional(),
52
+ error: zod_1.z.string().optional()
53
+ });
54
+ /**
55
+ * Tool: git-upload-project
56
+ *
57
+ * DESCRIÇÃO:
58
+ * Upload completo de projeto para repositório remoto
59
+ *
60
+ * ACTIONS DISPONÍVEIS:
61
+ *
62
+ * 1. upload - Upload de projeto completo
63
+ * Parâmetros:
64
+ * - owner (obrigatório): Proprietário do repositório
65
+ * - repo (obrigatório): Nome do repositório
66
+ * - projectPath (obrigatório): Caminho do projeto local
67
+ * - message (obrigatório): Mensagem de commit
68
+ * - branch (opcional): Branch de destino (padrão: branch padrão)
69
+ *
70
+ * RECOMENDAÇÕES DE USO:
71
+ * - Use mensagens de commit descritivas
72
+ * - Verifique se o repositório está limpo
73
+ * - Use branches para mudanças grandes
74
+ * - Monitore erros de upload
75
+ * - Organize estrutura de diretórios
76
+ * - Documente mudanças importantes
77
+ * - Mantenha histórico de commits limpo
78
+ */
79
+ exports.uploadProjectTool = {
80
+ name: 'git-upload-project',
81
+ description: 'Upload completo de projeto para repositório remoto com suporte multi-provider (GitHub e Gitea). PARÂMETROS OBRIGATÓRIOS: action, owner, repo, provider, projectPath, message. AÇÕES: upload (envia projeto completo). Boas práticas: use mensagens descritivas, verifique repositório limpo, monitore erros.',
82
+ inputSchema: {
83
+ type: 'object',
84
+ properties: {
85
+ action: {
86
+ type: 'string',
87
+ enum: ['upload'],
88
+ description: 'Action to perform on project upload'
89
+ },
90
+ owner: { type: 'string', description: 'Repository owner' },
91
+ repo: { type: 'string', description: 'Repository name' },
92
+ projectPath: { type: 'string', description: 'Local project path for git operations' },
93
+ provider: { type: 'string', description: 'Specific provider (github, gitea) or use default' },
94
+ message: { type: 'string', description: 'Commit message' },
95
+ branch: { type: 'string', description: 'Target branch' }
96
+ },
97
+ required: ['action', 'owner', 'repo', 'provider', 'projectPath', 'message']
98
+ },
99
+ /**
100
+ * Handler principal da tool upload-project
101
+ */
102
+ async handler(input) {
103
+ try {
104
+ const validatedInput = UploadProjectInputSchema.parse(input);
105
+ // Aplicar auto-detecção apenas para owner dentro do provider especificado
106
+ const processedInput = await (0, user_detection_js_1.applyAutoUserDetection)(validatedInput, validatedInput.provider);
107
+ // Usar o provider especificado pelo usuário
108
+ const provider = index_js_1.globalProviderFactory.getProvider(processedInput.provider);
109
+ if (!provider) {
110
+ throw new Error(`Provider '${processedInput.provider}' não encontrado`);
111
+ }
112
+ switch (processedInput.action) {
113
+ case 'upload':
114
+ return await this.uploadProject(processedInput, provider);
115
+ default:
116
+ throw new Error(`Ação não suportada: ${processedInput.action}`);
117
+ }
118
+ }
119
+ catch (error) {
120
+ return {
121
+ success: false,
122
+ action: input.action,
123
+ message: 'Erro na operação de upload de projeto',
124
+ error: error instanceof Error ? error.message : String(error)
125
+ };
126
+ }
127
+ },
128
+ /**
129
+ * Faz upload de todo o projeto para o repositório
130
+ */
131
+ async uploadProject(params, provider) {
132
+ try {
133
+ if (!params.owner || !params.repo || !params.projectPath || !params.message) {
134
+ throw new Error('Owner, repo, projectPath e message são obrigatórios');
135
+ }
136
+ const result = await provider.uploadProject(params.owner, params.repo, params.projectPath, params.message, params.branch);
137
+ return {
138
+ success: true,
139
+ action: 'upload',
140
+ message: `Projeto enviado com sucesso: ${result.uploaded} arquivos enviados`,
141
+ data: {
142
+ uploaded: result.uploaded,
143
+ errors: result.errors,
144
+ totalErrors: result.errors.length
145
+ }
146
+ };
147
+ }
148
+ catch (error) {
149
+ throw new Error(`Falha ao fazer upload do projeto: ${error instanceof Error ? error.message : String(error)}`);
150
+ }
151
+ }
152
+ };
153
+ //# sourceMappingURL=git-upload-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-upload-project.js","sourceRoot":"","sources":["../../src/tools/git-upload-project.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,7 @@ declare const WebhooksInputSchema: z.ZodObject<{
74
74
  provider: "gitea" | "github";
75
75
  owner: string;
76
76
  repo: string;
77
- action: "delete" | "get" | "create" | "list" | "update" | "test";
77
+ action: "delete" | "get" | "list" | "create" | "update" | "test";
78
78
  active?: boolean | undefined;
79
79
  events?: string[] | undefined;
80
80
  url?: string | undefined;
@@ -92,7 +92,7 @@ declare const WebhooksInputSchema: z.ZodObject<{
92
92
  provider: "gitea" | "github";
93
93
  owner: string;
94
94
  repo: string;
95
- action: "delete" | "get" | "create" | "list" | "update" | "test";
95
+ action: "delete" | "get" | "list" | "create" | "update" | "test";
96
96
  active?: boolean | undefined;
97
97
  events?: string[] | undefined;
98
98
  url?: string | undefined;
@@ -42,13 +42,13 @@ declare const GitWorktreeInputSchema: z.ZodObject<{
42
42
  provider: "gitea" | "github";
43
43
  owner: string;
44
44
  repo: string;
45
- action: "list" | "add" | "remove" | "prune" | "move" | "repair";
45
+ action: "add" | "list" | "remove" | "prune" | "move" | "repair";
46
46
  projectPath: string;
47
+ force?: boolean | undefined;
47
48
  branch_name?: string | undefined;
48
49
  commit_hash?: string | undefined;
49
50
  worktree_path?: string | undefined;
50
51
  worktree_to_remove?: string | undefined;
51
- force?: boolean | undefined;
52
52
  old_path?: string | undefined;
53
53
  new_path?: string | undefined;
54
54
  worktree_to_repair?: string | undefined;
@@ -56,13 +56,13 @@ declare const GitWorktreeInputSchema: z.ZodObject<{
56
56
  provider: "gitea" | "github";
57
57
  owner: string;
58
58
  repo: string;
59
- action: "list" | "add" | "remove" | "prune" | "move" | "repair";
59
+ action: "add" | "list" | "remove" | "prune" | "move" | "repair";
60
60
  projectPath: string;
61
+ force?: boolean | undefined;
61
62
  branch_name?: string | undefined;
62
63
  commit_hash?: string | undefined;
63
64
  worktree_path?: string | undefined;
64
65
  worktree_to_remove?: string | undefined;
65
- force?: boolean | undefined;
66
66
  old_path?: string | undefined;
67
67
  new_path?: string | undefined;
68
68
  worktree_to_repair?: string | undefined;
@@ -66,7 +66,7 @@ declare const RepositoriesInputSchema: z.ZodObject<{
66
66
  provider: "gitea" | "github";
67
67
  owner: string;
68
68
  repo: string;
69
- action: "delete" | "get" | "create" | "list" | "update" | "fork" | "search" | "init" | "clone";
69
+ action: "delete" | "get" | "search" | "init" | "clone" | "list" | "create" | "update" | "fork";
70
70
  projectPath: string;
71
71
  name?: string | undefined;
72
72
  description?: string | undefined;
@@ -89,7 +89,7 @@ declare const RepositoriesInputSchema: z.ZodObject<{
89
89
  provider: "gitea" | "github";
90
90
  owner: string;
91
91
  repo: string;
92
- action: "delete" | "get" | "create" | "list" | "update" | "fork" | "search" | "init" | "clone";
92
+ action: "delete" | "get" | "search" | "init" | "clone" | "list" | "create" | "update" | "fork";
93
93
  projectPath: string;
94
94
  name?: string | undefined;
95
95
  description?: string | undefined;
@@ -51,7 +51,7 @@ declare const UsersInputSchema: z.ZodObject<{
51
51
  direction: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
52
52
  }, "strip", z.ZodTypeAny, {
53
53
  provider: "gitea" | "github" | "both";
54
- action: "get" | "list" | "search" | "orgs" | "repos";
54
+ action: "get" | "search" | "list" | "orgs" | "repos";
55
55
  sort?: "full_name" | "updated" | "created" | "pushed" | undefined;
56
56
  page?: number | undefined;
57
57
  limit?: number | undefined;
@@ -61,7 +61,7 @@ declare const UsersInputSchema: z.ZodObject<{
61
61
  repo_type?: "all" | "owner" | "member" | "collaborator" | undefined;
62
62
  }, {
63
63
  provider: "gitea" | "github" | "both";
64
- action: "get" | "list" | "search" | "orgs" | "repos";
64
+ action: "get" | "search" | "list" | "orgs" | "repos";
65
65
  sort?: "full_name" | "updated" | "created" | "pushed" | undefined;
66
66
  page?: number | undefined;
67
67
  limit?: number | undefined;
@@ -0,0 +1,168 @@
1
+ export interface GitResult {
2
+ success: boolean;
3
+ output: string;
4
+ error?: string;
5
+ exitCode: number;
6
+ }
7
+ export interface FileOperationResult {
8
+ success: boolean;
9
+ message: string;
10
+ data?: any;
11
+ error?: string;
12
+ }
13
+ /**
14
+ * Classe para operações Git locais - 100% auto-suficiente
15
+ * Implementa todas as operações Git sem depender de outras tools
16
+ */
17
+ export declare class GitOperations {
18
+ private projectPath;
19
+ constructor(projectPath: string);
20
+ /**
21
+ * Executa comando Git local
22
+ */
23
+ private runGitCommand;
24
+ /**
25
+ * Executa comando de sistema
26
+ */
27
+ private runSystemCommand;
28
+ /**
29
+ * Verifica se é um repositório Git
30
+ */
31
+ isGitRepository(): Promise<boolean>;
32
+ /**
33
+ * Inicializa repositório Git
34
+ */
35
+ initRepository(bare?: boolean): Promise<GitResult>;
36
+ /**
37
+ * Clona repositório
38
+ */
39
+ cloneRepository(url: string, directory?: string, options?: any): Promise<GitResult>;
40
+ /**
41
+ * Adiciona arquivos ao staging
42
+ */
43
+ addFiles(files?: string[]): Promise<GitResult>;
44
+ /**
45
+ * Remove arquivos do staging
46
+ */
47
+ resetFiles(files?: string[]): Promise<GitResult>;
48
+ /**
49
+ * Faz commit
50
+ */
51
+ commit(message: string, options?: any): Promise<GitResult>;
52
+ /**
53
+ * Push para remote
54
+ */
55
+ push(remote?: string, branch?: string, options?: any): Promise<GitResult>;
56
+ /**
57
+ * Pull do remote
58
+ */
59
+ pull(remote?: string, branch?: string, options?: any): Promise<GitResult>;
60
+ /**
61
+ * Fetch do remote
62
+ */
63
+ fetch(remote?: string, options?: any): Promise<GitResult>;
64
+ /**
65
+ * Lista branches
66
+ */
67
+ listBranches(options?: any): Promise<GitResult>;
68
+ /**
69
+ * Cria branch
70
+ */
71
+ createBranch(name: string, startPoint?: string, options?: any): Promise<GitResult>;
72
+ /**
73
+ * Deleta branch
74
+ */
75
+ deleteBranch(name: string, options?: any): Promise<GitResult>;
76
+ /**
77
+ * Checkout branch/commit
78
+ */
79
+ checkout(target: string, options?: any): Promise<GitResult>;
80
+ /**
81
+ * Merge branches
82
+ */
83
+ merge(branch: string, options?: any): Promise<GitResult>;
84
+ /**
85
+ * Rebase
86
+ */
87
+ rebase(target: string, options?: any): Promise<GitResult>;
88
+ /**
89
+ * Reset
90
+ */
91
+ reset(target: string, options?: any): Promise<GitResult>;
92
+ /**
93
+ * Revert commit
94
+ */
95
+ revert(commit: string, options?: any): Promise<GitResult>;
96
+ /**
97
+ * Cherry-pick
98
+ */
99
+ cherryPick(commit: string, options?: any): Promise<GitResult>;
100
+ /**
101
+ * Stash
102
+ */
103
+ stash(action?: string, options?: any): Promise<GitResult>;
104
+ /**
105
+ * Tag operations
106
+ */
107
+ tag(name?: string, options?: any): Promise<GitResult>;
108
+ /**
109
+ * Log
110
+ */
111
+ log(options?: any): Promise<GitResult>;
112
+ /**
113
+ * Status
114
+ */
115
+ status(options?: any): Promise<GitResult>;
116
+ /**
117
+ * Diff
118
+ */
119
+ diff(options?: any): Promise<GitResult>;
120
+ /**
121
+ * Remote operations
122
+ */
123
+ remote(action: string, name?: string, url?: string): Promise<GitResult>;
124
+ /**
125
+ * Config operations
126
+ */
127
+ config(key?: string, value?: string, options?: any): Promise<GitResult>;
128
+ /**
129
+ * Submodule operations
130
+ */
131
+ submodule(action: string, options?: any): Promise<GitResult>;
132
+ /**
133
+ * Worktree operations
134
+ */
135
+ worktree(action: string, options?: any): Promise<GitResult>;
136
+ /**
137
+ * Archive operations
138
+ */
139
+ archive(format: string, treeish: string, output?: string, options?: any): Promise<GitResult>;
140
+ /**
141
+ * Bundle operations
142
+ */
143
+ bundle(action: string, options?: any): Promise<GitResult>;
144
+ /**
145
+ * File operations
146
+ */
147
+ readFile(filePath: string): Promise<FileOperationResult>;
148
+ writeFile(filePath: string, content: string): Promise<FileOperationResult>;
149
+ deleteFile(filePath: string): Promise<FileOperationResult>;
150
+ listFiles(directory?: string): Promise<FileOperationResult>;
151
+ createDirectory(dirPath: string): Promise<FileOperationResult>;
152
+ deleteDirectory(dirPath: string): Promise<FileOperationResult>;
153
+ /**
154
+ * Terminal operations
155
+ */
156
+ runCommand(command: string, args?: string[]): Promise<GitResult>;
157
+ /**
158
+ * Network operations
159
+ */
160
+ testConnection(url: string): Promise<GitResult>;
161
+ /**
162
+ * Utility operations
163
+ */
164
+ getCurrentDirectory(): Promise<string>;
165
+ changeDirectory(newPath: string): Promise<void>;
166
+ getGitInfo(): Promise<any>;
167
+ }
168
+ //# sourceMappingURL=git-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-operations.d.ts","sourceRoot":"","sources":["../../src/utils/git-operations.ts"],"names":[],"mappings":"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"}