@andrebuzeli/git-mcp 2.6.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.
- package/README.md +346 -0
- package/dist/client.d.ts +307 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +299 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +299 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +381 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/base-provider.d.ts +139 -0
- package/dist/providers/base-provider.d.ts.map +1 -0
- package/dist/providers/base-provider.js +246 -0
- package/dist/providers/base-provider.js.map +1 -0
- package/dist/providers/error-handler.d.ts +51 -0
- package/dist/providers/error-handler.d.ts.map +1 -0
- package/dist/providers/error-handler.js +170 -0
- package/dist/providers/error-handler.js.map +1 -0
- package/dist/providers/gitea-provider.d.ts +68 -0
- package/dist/providers/gitea-provider.d.ts.map +1 -0
- package/dist/providers/gitea-provider.js +515 -0
- package/dist/providers/gitea-provider.js.map +1 -0
- package/dist/providers/github-provider.d.ts +68 -0
- package/dist/providers/github-provider.d.ts.map +1 -0
- package/dist/providers/github-provider.js +518 -0
- package/dist/providers/github-provider.js.map +1 -0
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +41 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/provider-factory.d.ts +75 -0
- package/dist/providers/provider-factory.d.ts.map +1 -0
- package/dist/providers/provider-factory.js +298 -0
- package/dist/providers/provider-factory.js.map +1 -0
- package/dist/providers/types.d.ts +276 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +7 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/server.d.ts +77 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +262 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/actions.d.ts +272 -0
- package/dist/tools/actions.d.ts.map +1 -0
- package/dist/tools/actions.js +428 -0
- package/dist/tools/actions.js.map +1 -0
- package/dist/tools/analytics.d.ts +326 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +473 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/branches.d.ts +461 -0
- package/dist/tools/branches.d.ts.map +1 -0
- package/dist/tools/branches.js +525 -0
- package/dist/tools/branches.js.map +1 -0
- package/dist/tools/code-review.d.ts +323 -0
- package/dist/tools/code-review.d.ts.map +1 -0
- package/dist/tools/code-review.js +552 -0
- package/dist/tools/code-review.js.map +1 -0
- package/dist/tools/commits.d.ts +488 -0
- package/dist/tools/commits.d.ts.map +1 -0
- package/dist/tools/commits.js +578 -0
- package/dist/tools/commits.js.map +1 -0
- package/dist/tools/deployments.d.ts +319 -0
- package/dist/tools/deployments.d.ts.map +1 -0
- package/dist/tools/deployments.js +355 -0
- package/dist/tools/deployments.js.map +1 -0
- package/dist/tools/files.d.ts +456 -0
- package/dist/tools/files.d.ts.map +1 -0
- package/dist/tools/files.js +531 -0
- package/dist/tools/files.js.map +1 -0
- package/dist/tools/git-sync.d.ts +177 -0
- package/dist/tools/git-sync.d.ts.map +1 -0
- package/dist/tools/git-sync.js +112 -0
- package/dist/tools/git-sync.js.map +1 -0
- package/dist/tools/issues.d.ts +579 -0
- package/dist/tools/issues.d.ts.map +1 -0
- package/dist/tools/issues.js +631 -0
- package/dist/tools/issues.js.map +1 -0
- package/dist/tools/pulls.d.ts +702 -0
- package/dist/tools/pulls.d.ts.map +1 -0
- package/dist/tools/pulls.js +730 -0
- package/dist/tools/pulls.js.map +1 -0
- package/dist/tools/releases.d.ts +495 -0
- package/dist/tools/releases.d.ts.map +1 -0
- package/dist/tools/releases.js +551 -0
- package/dist/tools/releases.js.map +1 -0
- package/dist/tools/repositories.d.ts +513 -0
- package/dist/tools/repositories.d.ts.map +1 -0
- package/dist/tools/repositories.js +634 -0
- package/dist/tools/repositories.js.map +1 -0
- package/dist/tools/security.d.ts +341 -0
- package/dist/tools/security.d.ts.map +1 -0
- package/dist/tools/security.js +394 -0
- package/dist/tools/security.js.map +1 -0
- package/dist/tools/tags.d.ts +419 -0
- package/dist/tools/tags.d.ts.map +1 -0
- package/dist/tools/tags.js +479 -0
- package/dist/tools/tags.js.map +1 -0
- package/dist/tools/users.d.ts +376 -0
- package/dist/tools/users.d.ts.map +1 -0
- package/dist/tools/users.js +495 -0
- package/dist/tools/users.js.map +1 -0
- package/dist/tools/validator.d.ts +192 -0
- package/dist/tools/validator.d.ts.map +1 -0
- package/dist/tools/validator.js +198 -0
- package/dist/tools/validator.js.map +1 -0
- package/dist/tools/version-control.d.ts +247 -0
- package/dist/tools/version-control.d.ts.map +1 -0
- package/dist/tools/version-control.js +521 -0
- package/dist/tools/version-control.js.map +1 -0
- package/dist/tools/webhooks.d.ts +478 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +541 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/tools/workflows.d.ts +313 -0
- package/dist/tools/workflows.d.ts.map +1 -0
- package/dist/tools/workflows.js +430 -0
- package/dist/tools/workflows.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Tool: git-sync
|
|
4
|
+
*
|
|
5
|
+
* DESCRIÇÃO:
|
|
6
|
+
* Sincronização entre dois repositórios hospedados em provedores distintos (ex.: Gitea <-> GitHub).
|
|
7
|
+
*
|
|
8
|
+
* OBJETIVOS:
|
|
9
|
+
* - Configurar espelhamento (quando suportado pelo backend) e registrar estado
|
|
10
|
+
* - Executar sincronização pontual (one-shot) de código e/ou metadados
|
|
11
|
+
* - Consultar status/diagnóstico da sincronização
|
|
12
|
+
*
|
|
13
|
+
* LIMITAÇÕES:
|
|
14
|
+
* - Histórico Git completo por API REST é limitado; prioriza espelhamento nativo (push mirrors) quando disponível
|
|
15
|
+
* - Metadados (issues, labels, releases, PRs) têm mapeamento best-effort com diferenças entre plataformas
|
|
16
|
+
*
|
|
17
|
+
* DICAS (solo):
|
|
18
|
+
* - Use para manter um backup/em espelho entre provedores
|
|
19
|
+
* - Prefira one-shot antes de configurar contínuo; verifique status e conflitos
|
|
20
|
+
* - Defina estratégia de conflito e escopos explicitamente
|
|
21
|
+
*/
|
|
22
|
+
declare const GitSyncInputSchema: z.ZodObject<{
|
|
23
|
+
action: z.ZodEnum<["configure", "status", "one-shot"]>;
|
|
24
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
25
|
+
provider: z.ZodString;
|
|
26
|
+
owner: z.ZodString;
|
|
27
|
+
repo: z.ZodString;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
provider: string;
|
|
30
|
+
owner: string;
|
|
31
|
+
repo: string;
|
|
32
|
+
}, {
|
|
33
|
+
provider: string;
|
|
34
|
+
owner: string;
|
|
35
|
+
repo: string;
|
|
36
|
+
}>>;
|
|
37
|
+
target: z.ZodOptional<z.ZodObject<{
|
|
38
|
+
provider: z.ZodString;
|
|
39
|
+
owner: z.ZodString;
|
|
40
|
+
repo: z.ZodString;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
provider: string;
|
|
43
|
+
owner: string;
|
|
44
|
+
repo: string;
|
|
45
|
+
}, {
|
|
46
|
+
provider: string;
|
|
47
|
+
owner: string;
|
|
48
|
+
repo: string;
|
|
49
|
+
}>>;
|
|
50
|
+
direction: z.ZodOptional<z.ZodEnum<["one-way", "two-way"]>>;
|
|
51
|
+
include: z.ZodOptional<z.ZodArray<z.ZodEnum<["git", "issues", "labels", "milestones", "releases", "pulls"]>, "many">>;
|
|
52
|
+
strategy: z.ZodOptional<z.ZodEnum<["source-wins", "timestamp", "skip-conflicts"]>>;
|
|
53
|
+
dry_run: z.ZodOptional<z.ZodBoolean>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
action: "status" | "configure" | "one-shot";
|
|
56
|
+
target?: {
|
|
57
|
+
provider: string;
|
|
58
|
+
owner: string;
|
|
59
|
+
repo: string;
|
|
60
|
+
} | undefined;
|
|
61
|
+
direction?: "one-way" | "two-way" | undefined;
|
|
62
|
+
source?: {
|
|
63
|
+
provider: string;
|
|
64
|
+
owner: string;
|
|
65
|
+
repo: string;
|
|
66
|
+
} | undefined;
|
|
67
|
+
include?: ("issues" | "labels" | "pulls" | "releases" | "git" | "milestones")[] | undefined;
|
|
68
|
+
strategy?: "timestamp" | "source-wins" | "skip-conflicts" | undefined;
|
|
69
|
+
dry_run?: boolean | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
action: "status" | "configure" | "one-shot";
|
|
72
|
+
target?: {
|
|
73
|
+
provider: string;
|
|
74
|
+
owner: string;
|
|
75
|
+
repo: string;
|
|
76
|
+
} | undefined;
|
|
77
|
+
direction?: "one-way" | "two-way" | undefined;
|
|
78
|
+
source?: {
|
|
79
|
+
provider: string;
|
|
80
|
+
owner: string;
|
|
81
|
+
repo: string;
|
|
82
|
+
} | undefined;
|
|
83
|
+
include?: ("issues" | "labels" | "pulls" | "releases" | "git" | "milestones")[] | undefined;
|
|
84
|
+
strategy?: "timestamp" | "source-wins" | "skip-conflicts" | undefined;
|
|
85
|
+
dry_run?: boolean | undefined;
|
|
86
|
+
}>;
|
|
87
|
+
export type GitSyncInput = z.infer<typeof GitSyncInputSchema>;
|
|
88
|
+
declare const GitSyncResultSchema: z.ZodObject<{
|
|
89
|
+
success: z.ZodBoolean;
|
|
90
|
+
action: z.ZodString;
|
|
91
|
+
message: z.ZodString;
|
|
92
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
93
|
+
error: z.ZodOptional<z.ZodString>;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
message: string;
|
|
96
|
+
action: string;
|
|
97
|
+
success: boolean;
|
|
98
|
+
error?: string | undefined;
|
|
99
|
+
data?: any;
|
|
100
|
+
}, {
|
|
101
|
+
message: string;
|
|
102
|
+
action: string;
|
|
103
|
+
success: boolean;
|
|
104
|
+
error?: string | undefined;
|
|
105
|
+
data?: any;
|
|
106
|
+
}>;
|
|
107
|
+
export type GitSyncResult = z.infer<typeof GitSyncResultSchema>;
|
|
108
|
+
export declare const gitSyncTool: {
|
|
109
|
+
name: string;
|
|
110
|
+
description: string;
|
|
111
|
+
inputSchema: {
|
|
112
|
+
type: string;
|
|
113
|
+
properties: {
|
|
114
|
+
action: {
|
|
115
|
+
type: string;
|
|
116
|
+
enum: string[];
|
|
117
|
+
description: string;
|
|
118
|
+
};
|
|
119
|
+
source: {
|
|
120
|
+
type: string;
|
|
121
|
+
description: string;
|
|
122
|
+
properties: {
|
|
123
|
+
provider: {
|
|
124
|
+
type: string;
|
|
125
|
+
};
|
|
126
|
+
owner: {
|
|
127
|
+
type: string;
|
|
128
|
+
};
|
|
129
|
+
repo: {
|
|
130
|
+
type: string;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
target: {
|
|
135
|
+
type: string;
|
|
136
|
+
description: string;
|
|
137
|
+
properties: {
|
|
138
|
+
provider: {
|
|
139
|
+
type: string;
|
|
140
|
+
};
|
|
141
|
+
owner: {
|
|
142
|
+
type: string;
|
|
143
|
+
};
|
|
144
|
+
repo: {
|
|
145
|
+
type: string;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
direction: {
|
|
150
|
+
type: string;
|
|
151
|
+
enum: string[];
|
|
152
|
+
description: string;
|
|
153
|
+
};
|
|
154
|
+
include: {
|
|
155
|
+
type: string;
|
|
156
|
+
items: {
|
|
157
|
+
type: string;
|
|
158
|
+
enum: string[];
|
|
159
|
+
};
|
|
160
|
+
description: string;
|
|
161
|
+
};
|
|
162
|
+
strategy: {
|
|
163
|
+
type: string;
|
|
164
|
+
enum: string[];
|
|
165
|
+
description: string;
|
|
166
|
+
};
|
|
167
|
+
dry_run: {
|
|
168
|
+
type: string;
|
|
169
|
+
description: string;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
required: string[];
|
|
173
|
+
};
|
|
174
|
+
handler(input: GitSyncInput): Promise<GitSyncResult>;
|
|
175
|
+
};
|
|
176
|
+
export {};
|
|
177
|
+
//# sourceMappingURL=git-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-sync.d.ts","sourceRoot":"","sources":["../../src/tools/git-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAiCD,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAqC3D,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gitSyncTool = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Tool: git-sync
|
|
7
|
+
*
|
|
8
|
+
* DESCRIÇÃO:
|
|
9
|
+
* Sincronização entre dois repositórios hospedados em provedores distintos (ex.: Gitea <-> GitHub).
|
|
10
|
+
*
|
|
11
|
+
* OBJETIVOS:
|
|
12
|
+
* - Configurar espelhamento (quando suportado pelo backend) e registrar estado
|
|
13
|
+
* - Executar sincronização pontual (one-shot) de código e/ou metadados
|
|
14
|
+
* - Consultar status/diagnóstico da sincronização
|
|
15
|
+
*
|
|
16
|
+
* LIMITAÇÕES:
|
|
17
|
+
* - Histórico Git completo por API REST é limitado; prioriza espelhamento nativo (push mirrors) quando disponível
|
|
18
|
+
* - Metadados (issues, labels, releases, PRs) têm mapeamento best-effort com diferenças entre plataformas
|
|
19
|
+
*
|
|
20
|
+
* DICAS (solo):
|
|
21
|
+
* - Use para manter um backup/em espelho entre provedores
|
|
22
|
+
* - Prefira one-shot antes de configurar contínuo; verifique status e conflitos
|
|
23
|
+
* - Defina estratégia de conflito e escopos explicitamente
|
|
24
|
+
*/
|
|
25
|
+
const GitSyncInputSchema = zod_1.z.object({
|
|
26
|
+
action: zod_1.z.enum(['configure', 'status', 'one-shot']),
|
|
27
|
+
source: zod_1.z.object({ provider: zod_1.z.string(), owner: zod_1.z.string(), repo: zod_1.z.string() }).optional(),
|
|
28
|
+
target: zod_1.z.object({ provider: zod_1.z.string(), owner: zod_1.z.string(), repo: zod_1.z.string() }).optional(),
|
|
29
|
+
direction: zod_1.z.enum(['one-way', 'two-way']).optional(),
|
|
30
|
+
include: zod_1.z.array(zod_1.z.enum(['git', 'issues', 'labels', 'milestones', 'releases', 'pulls'])).optional(),
|
|
31
|
+
strategy: zod_1.z.enum(['source-wins', 'timestamp', 'skip-conflicts']).optional(),
|
|
32
|
+
dry_run: zod_1.z.boolean().optional()
|
|
33
|
+
});
|
|
34
|
+
const GitSyncResultSchema = zod_1.z.object({
|
|
35
|
+
success: zod_1.z.boolean(),
|
|
36
|
+
action: zod_1.z.string(),
|
|
37
|
+
message: zod_1.z.string(),
|
|
38
|
+
data: zod_1.z.any().optional(),
|
|
39
|
+
error: zod_1.z.string().optional()
|
|
40
|
+
});
|
|
41
|
+
exports.gitSyncTool = {
|
|
42
|
+
name: 'git-sync',
|
|
43
|
+
description: 'Synchronize two repositories across providers (Gitea <-> GitHub). Modos: configure (espelhamento quando suportado), one-shot (execução pontual) e status (diagnóstico). Dicas: execute dry-run primeiro, escolha escopos e estratégia de conflito.',
|
|
44
|
+
inputSchema: {
|
|
45
|
+
type: 'object',
|
|
46
|
+
properties: {
|
|
47
|
+
action: { type: 'string', enum: ['configure', 'status', 'one-shot'], description: 'Sync action' },
|
|
48
|
+
source: {
|
|
49
|
+
type: 'object',
|
|
50
|
+
description: 'Source repository descriptor',
|
|
51
|
+
properties: {
|
|
52
|
+
provider: { type: 'string' },
|
|
53
|
+
owner: { type: 'string' },
|
|
54
|
+
repo: { type: 'string' }
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
target: {
|
|
58
|
+
type: 'object',
|
|
59
|
+
description: 'Target repository descriptor',
|
|
60
|
+
properties: {
|
|
61
|
+
provider: { type: 'string' },
|
|
62
|
+
owner: { type: 'string' },
|
|
63
|
+
repo: { type: 'string' }
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
direction: { type: 'string', enum: ['one-way', 'two-way'], description: 'Sync direction' },
|
|
67
|
+
include: { type: 'array', items: { type: 'string', enum: ['git', 'issues', 'labels', 'milestones', 'releases', 'pulls'] }, description: 'Scopes to include' },
|
|
68
|
+
strategy: { type: 'string', enum: ['source-wins', 'timestamp', 'skip-conflicts'], description: 'Conflict strategy' },
|
|
69
|
+
dry_run: { type: 'boolean', description: 'Simulate without applying changes' }
|
|
70
|
+
},
|
|
71
|
+
required: ['action']
|
|
72
|
+
},
|
|
73
|
+
async handler(input) {
|
|
74
|
+
try {
|
|
75
|
+
const params = GitSyncInputSchema.parse(input);
|
|
76
|
+
switch (params.action) {
|
|
77
|
+
case 'configure':
|
|
78
|
+
return {
|
|
79
|
+
success: true,
|
|
80
|
+
action: 'configure',
|
|
81
|
+
message: 'Configuração registrada (placeholder). Integração com providers será aplicada na próxima etapa da implementação.',
|
|
82
|
+
data: { params }
|
|
83
|
+
};
|
|
84
|
+
case 'status':
|
|
85
|
+
return {
|
|
86
|
+
success: true,
|
|
87
|
+
action: 'status',
|
|
88
|
+
message: 'Status coletado (placeholder).',
|
|
89
|
+
data: { health: 'unknown', details: params }
|
|
90
|
+
};
|
|
91
|
+
case 'one-shot':
|
|
92
|
+
return {
|
|
93
|
+
success: true,
|
|
94
|
+
action: 'one-shot',
|
|
95
|
+
message: 'Sincronização pontual executada (placeholder).',
|
|
96
|
+
data: { params, applied: false }
|
|
97
|
+
};
|
|
98
|
+
default:
|
|
99
|
+
throw new Error(`Ação não suportada: ${params.action}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
return {
|
|
104
|
+
success: false,
|
|
105
|
+
action: input.action,
|
|
106
|
+
message: 'Erro na execução do git-sync',
|
|
107
|
+
error: error instanceof Error ? error.message : String(error)
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=git-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-sync.js","sourceRoot":"","sources":["../../src/tools/git-sync.ts"],"names":[],"mappings":"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"}
|