mcp-perforce-server 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/tools/basic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC,OAAO,CAAC,WAAW,CAAC,CAqBtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,WAAW,CAAC,CAwBtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC,OAAO,CAAC,WAAW,CAAC,CA6DtB;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE,OAAO,CAAC,WAAW,CAAC,CAiDtB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE,OAAO,CAAC,WAAW,CAAC,CAiDtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE,OAAO,CAAC,WAAW,CAAC,CA+DtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3E,OAAO,CAAC,WAAW,CAAC,CAuCtB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3F,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,OAAO,CAAC,WAAW,CAAC,CA4BtB"}
@@ -0,0 +1,401 @@
1
+ "use strict";
2
+ /**
3
+ * Tool implementations for MCP Perforce server
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.p4Info = p4Info;
40
+ exports.p4Opened = p4Opened;
41
+ exports.p4Status = p4Status;
42
+ exports.p4Add = p4Add;
43
+ exports.p4Edit = p4Edit;
44
+ exports.p4Delete = p4Delete;
45
+ exports.p4Revert = p4Revert;
46
+ exports.p4Sync = p4Sync;
47
+ exports.p4Diff = p4Diff;
48
+ const parse = __importStar(require("../p4/parse.js"));
49
+ /**
50
+ * p4 info - Get Perforce server and client information
51
+ */
52
+ async function p4Info(context, args = {}) {
53
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
54
+ const result = await context.runner.run('info', [], cwd, {
55
+ env,
56
+ useZtag: false,
57
+ parseOutput: true,
58
+ });
59
+ if (result.ok && result.result) {
60
+ // Parse info output into structured format
61
+ result.result = parse.parseInfoOutput(result.result);
62
+ }
63
+ // Include config information
64
+ result.configUsed = {
65
+ ...result.configUsed,
66
+ p4configPath: configResult.configPath,
67
+ };
68
+ return result;
69
+ }
70
+ /**
71
+ * p4 opened - List opened files
72
+ */
73
+ async function p4Opened(context, args = {}) {
74
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
75
+ const cmdArgs = [];
76
+ if (args.changelist) {
77
+ cmdArgs.push('-c', args.changelist);
78
+ }
79
+ const result = await context.runner.run('opened', cmdArgs, cwd, {
80
+ env,
81
+ useZtag: false,
82
+ parseOutput: true,
83
+ });
84
+ if (result.ok && result.result) {
85
+ result.result = parse.parseOpenedOutput(result.result);
86
+ }
87
+ result.configUsed = {
88
+ ...result.configUsed,
89
+ p4configPath: configResult.configPath,
90
+ };
91
+ return result;
92
+ }
93
+ /**
94
+ * p4 status - Get status of opened files and pending changes
95
+ */
96
+ async function p4Status(context, args = {}) {
97
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
98
+ // Get opened files
99
+ const openedResult = await context.runner.run('opened', [], cwd, {
100
+ env,
101
+ useZtag: false,
102
+ parseOutput: true,
103
+ });
104
+ let openedFiles = [];
105
+ if (openedResult.ok && openedResult.result) {
106
+ openedFiles = parse.parseOpenedOutput(openedResult.result);
107
+ }
108
+ // Get pending changes
109
+ const changesResult = await context.runner.run('changes', ['-s', 'pending', '-c', env.P4CLIENT || ''], cwd, {
110
+ env,
111
+ useZtag: false,
112
+ parseOutput: true,
113
+ });
114
+ let pendingChanges = [];
115
+ if (changesResult.ok && changesResult.result) {
116
+ pendingChanges = parse.parseChangesOutput(changesResult.result);
117
+ }
118
+ const result = {
119
+ ok: true,
120
+ command: 'status',
121
+ args: [],
122
+ cwd,
123
+ configUsed: {
124
+ ...openedResult.configUsed,
125
+ p4configPath: configResult.configPath,
126
+ },
127
+ result: {
128
+ openedFiles,
129
+ pendingChanges,
130
+ summary: {
131
+ totalOpenedFiles: openedFiles.length,
132
+ totalPendingChanges: pendingChanges.length,
133
+ filesByAction: openedFiles.reduce((acc, file) => {
134
+ acc[file.action] = (acc[file.action] || 0) + 1;
135
+ return acc;
136
+ }, {}),
137
+ },
138
+ },
139
+ };
140
+ if (openedResult.error && !changesResult.ok) {
141
+ result.ok = false;
142
+ result.error = openedResult.error;
143
+ }
144
+ else if (changesResult.error && !openedResult.ok) {
145
+ result.ok = false;
146
+ result.error = changesResult.error;
147
+ }
148
+ else if (openedResult.warnings || changesResult.warnings) {
149
+ result.warnings = [...(openedResult.warnings || []), ...(changesResult.warnings || [])];
150
+ }
151
+ return result;
152
+ }
153
+ /**
154
+ * p4 add - Add files to Perforce
155
+ */
156
+ async function p4Add(context, args) {
157
+ if (!args.files || args.files.length === 0) {
158
+ return {
159
+ ok: false,
160
+ command: 'add',
161
+ args: [],
162
+ cwd: process.cwd(),
163
+ configUsed: {},
164
+ error: {
165
+ code: 'P4_INVALID_ARGS',
166
+ message: 'files parameter is required and must not be empty',
167
+ },
168
+ };
169
+ }
170
+ if (context.serverConfig.readOnlyMode) {
171
+ return {
172
+ ok: false,
173
+ command: 'add',
174
+ args: [],
175
+ cwd: process.cwd(),
176
+ configUsed: {},
177
+ error: {
178
+ code: 'P4_READONLY_MODE',
179
+ message: 'Server is in read-only mode. Set P4_READONLY_MODE=false to enable write operations.',
180
+ },
181
+ };
182
+ }
183
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
184
+ const cmdArgs = [];
185
+ if (args.changelist) {
186
+ cmdArgs.push('-c', args.changelist);
187
+ }
188
+ cmdArgs.push(...args.files);
189
+ const result = await context.runner.run('add', cmdArgs, cwd, {
190
+ env,
191
+ useZtag: false,
192
+ parseOutput: false,
193
+ });
194
+ result.configUsed = {
195
+ ...result.configUsed,
196
+ p4configPath: configResult.configPath,
197
+ };
198
+ return result;
199
+ }
200
+ /**
201
+ * p4 edit - Open files for edit
202
+ */
203
+ async function p4Edit(context, args) {
204
+ if (!args.files || args.files.length === 0) {
205
+ return {
206
+ ok: false,
207
+ command: 'edit',
208
+ args: [],
209
+ cwd: process.cwd(),
210
+ configUsed: {},
211
+ error: {
212
+ code: 'P4_INVALID_ARGS',
213
+ message: 'files parameter is required and must not be empty',
214
+ },
215
+ };
216
+ }
217
+ if (context.serverConfig.readOnlyMode) {
218
+ return {
219
+ ok: false,
220
+ command: 'edit',
221
+ args: [],
222
+ cwd: process.cwd(),
223
+ configUsed: {},
224
+ error: {
225
+ code: 'P4_READONLY_MODE',
226
+ message: 'Server is in read-only mode. Set P4_READONLY_MODE=false to enable write operations.',
227
+ },
228
+ };
229
+ }
230
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
231
+ const cmdArgs = [];
232
+ if (args.changelist) {
233
+ cmdArgs.push('-c', args.changelist);
234
+ }
235
+ cmdArgs.push(...args.files);
236
+ const result = await context.runner.run('edit', cmdArgs, cwd, {
237
+ env,
238
+ useZtag: false,
239
+ parseOutput: false,
240
+ });
241
+ result.configUsed = {
242
+ ...result.configUsed,
243
+ p4configPath: configResult.configPath,
244
+ };
245
+ return result;
246
+ }
247
+ /**
248
+ * p4 delete - Mark files for delete
249
+ */
250
+ async function p4Delete(context, args) {
251
+ if (!args.files || args.files.length === 0) {
252
+ return {
253
+ ok: false,
254
+ command: 'delete',
255
+ args: [],
256
+ cwd: process.cwd(),
257
+ configUsed: {},
258
+ error: {
259
+ code: 'P4_INVALID_ARGS',
260
+ message: 'files parameter is required and must not be empty',
261
+ },
262
+ };
263
+ }
264
+ if (context.serverConfig.readOnlyMode) {
265
+ return {
266
+ ok: false,
267
+ command: 'delete',
268
+ args: [],
269
+ cwd: process.cwd(),
270
+ configUsed: {},
271
+ error: {
272
+ code: 'P4_READONLY_MODE',
273
+ message: 'Server is in read-only mode. Set P4_READONLY_MODE=false to enable write operations.',
274
+ },
275
+ };
276
+ }
277
+ if (context.serverConfig.disableDelete) {
278
+ return {
279
+ ok: false,
280
+ command: 'delete',
281
+ args: [],
282
+ cwd: process.cwd(),
283
+ configUsed: {},
284
+ error: {
285
+ code: 'P4_DELETE_DISABLED',
286
+ message: 'Delete operations are disabled for safety. Set P4_DISABLE_DELETE=false to enable delete operations.',
287
+ },
288
+ };
289
+ }
290
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
291
+ const cmdArgs = [];
292
+ if (args.changelist) {
293
+ cmdArgs.push('-c', args.changelist);
294
+ }
295
+ cmdArgs.push(...args.files);
296
+ const result = await context.runner.run('delete', cmdArgs, cwd, {
297
+ env,
298
+ useZtag: false,
299
+ parseOutput: false,
300
+ });
301
+ result.configUsed = {
302
+ ...result.configUsed,
303
+ p4configPath: configResult.configPath,
304
+ };
305
+ return result;
306
+ }
307
+ /**
308
+ * p4 revert - Revert files
309
+ */
310
+ async function p4Revert(context, args = {}) {
311
+ if (context.serverConfig.readOnlyMode) {
312
+ return {
313
+ ok: false,
314
+ command: 'revert',
315
+ args: [],
316
+ cwd: process.cwd(),
317
+ configUsed: {},
318
+ error: {
319
+ code: 'P4_READONLY_MODE',
320
+ message: 'Server is in read-only mode. Set P4_READONLY_MODE=false to enable write operations.',
321
+ },
322
+ };
323
+ }
324
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
325
+ const cmdArgs = [];
326
+ if (args.changelist) {
327
+ cmdArgs.push('-c', args.changelist);
328
+ }
329
+ if (args.files && args.files.length > 0) {
330
+ cmdArgs.push(...args.files);
331
+ }
332
+ else {
333
+ cmdArgs.push('...');
334
+ }
335
+ const result = await context.runner.run('revert', cmdArgs, cwd, {
336
+ env,
337
+ useZtag: false,
338
+ parseOutput: false,
339
+ });
340
+ result.configUsed = {
341
+ ...result.configUsed,
342
+ p4configPath: configResult.configPath,
343
+ };
344
+ return result;
345
+ }
346
+ /**
347
+ * p4 sync - Sync files from depot
348
+ */
349
+ async function p4Sync(context, args = {}) {
350
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
351
+ const cmdArgs = [];
352
+ if (args.force) {
353
+ cmdArgs.push('-f');
354
+ }
355
+ if (args.preview) {
356
+ cmdArgs.push('-n');
357
+ }
358
+ if (args.filespec) {
359
+ cmdArgs.push(args.filespec);
360
+ }
361
+ const result = await context.runner.run('sync', cmdArgs, cwd, {
362
+ env,
363
+ useZtag: false,
364
+ parseOutput: true,
365
+ });
366
+ if (result.ok && result.result) {
367
+ result.result = parse.parseSyncOutput(result.result);
368
+ }
369
+ result.configUsed = {
370
+ ...result.configUsed,
371
+ p4configPath: configResult.configPath,
372
+ };
373
+ return result;
374
+ }
375
+ /**
376
+ * p4 diff - Show differences
377
+ */
378
+ async function p4Diff(context, args = {}) {
379
+ const { cwd, env, configResult } = await context.config.setupForCommand(args.workspacePath);
380
+ const cmdArgs = [];
381
+ if (args.summary) {
382
+ cmdArgs.push('-s');
383
+ }
384
+ if (args.files && args.files.length > 0) {
385
+ cmdArgs.push(...args.files);
386
+ }
387
+ const result = await context.runner.run('diff', cmdArgs, cwd, {
388
+ env,
389
+ useZtag: false,
390
+ parseOutput: true,
391
+ });
392
+ if (result.ok && result.result) {
393
+ result.result = parse.parseDiffOutput(result.result);
394
+ }
395
+ result.configUsed = {
396
+ ...result.configUsed,
397
+ p4configPath: configResult.configPath,
398
+ };
399
+ return result;
400
+ }
401
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/tools/basic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Changelist management tools for MCP Perforce server
3
+ */
4
+ import { P4Runner, P4RunResult } from '../p4/runner.js';
5
+ import { P4Config, P4ServerConfig } from '../p4/config.js';
6
+ export interface ToolContext {
7
+ runner: P4Runner;
8
+ config: P4Config;
9
+ serverConfig: P4ServerConfig;
10
+ }
11
+ /**
12
+ * p4 changelist.create - Create a new changelist
13
+ */
14
+ export declare function p4ChangelistCreate(context: ToolContext, args: {
15
+ description: string;
16
+ files?: string[];
17
+ workspacePath?: string;
18
+ }): Promise<P4RunResult>;
19
+ /**
20
+ * p4 changelist.update - Update an existing changelist
21
+ */
22
+ export declare function p4ChangelistUpdate(context: ToolContext, args: {
23
+ changelist: string;
24
+ description?: string;
25
+ files?: string[];
26
+ workspacePath?: string;
27
+ }): Promise<P4RunResult>;
28
+ /**
29
+ * p4 changelist.submit - Submit a numbered changelist
30
+ */
31
+ export declare function p4ChangelistSubmit(context: ToolContext, args: {
32
+ changelist: string;
33
+ workspacePath?: string;
34
+ }): Promise<P4RunResult>;
35
+ /**
36
+ * p4 submit - Submit default changelist with description
37
+ */
38
+ export declare function p4Submit(context: ToolContext, args: {
39
+ description: string;
40
+ files?: string[];
41
+ workspacePath?: string;
42
+ }): Promise<P4RunResult>;
43
+ /**
44
+ * p4 describe - Describe a changelist
45
+ */
46
+ export declare function p4Describe(context: ToolContext, args: {
47
+ changelist: string;
48
+ workspacePath?: string;
49
+ }): Promise<P4RunResult>;
50
+ //# sourceMappingURL=changelist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelist.d.ts","sourceRoot":"","sources":["../../src/tools/changelist.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,OAAO,CAAC,WAAW,CAAC,CA6FtB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3F,OAAO,CAAC,WAAW,CAAC,CAqGtB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAAC,WAAW,CAAC,CAsDtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,OAAO,CAAC,WAAW,CAAC,CAwFtB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAAC,WAAW,CAAC,CAiCtB"}