@zhanglc77/bitbucket-mcp-server 1.0.12 → 1.0.13
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/build/handlers/pull-request-handlers.d.ts.map +1 -1
- package/build/handlers/pull-request-handlers.js +5 -2
- package/build/handlers/pull-request-handlers.js.map +1 -1
- package/build/handlers/resource-handlers.d.ts +20 -0
- package/build/handlers/resource-handlers.d.ts.map +1 -0
- package/build/handlers/resource-handlers.js +32 -0
- package/build/handlers/resource-handlers.js.map +1 -0
- package/build/index.d.ts +1245 -4
- package/build/index.d.ts.map +1 -1
- package/build/index.js +25 -96
- package/build/index.js.map +1 -1
- package/build/resources/field-schemas.d.ts +11 -108
- package/build/resources/field-schemas.d.ts.map +1 -1
- package/build/resources/field-schemas.js +169 -871
- package/build/resources/field-schemas.js.map +1 -1
- package/build/resources/resource-definitions.d.ts +19 -0
- package/build/resources/resource-definitions.d.ts.map +1 -0
- package/build/resources/resource-definitions.js +327 -0
- package/build/resources/resource-definitions.js.map +1 -0
- package/build/tools/definitions.d.ts +19 -0
- package/build/tools/definitions.d.ts.map +1 -1
- package/build/tools/definitions.js +4 -0
- package/build/tools/definitions.js.map +1 -1
- package/build/types/guards.d.ts +1 -0
- package/build/types/guards.d.ts.map +1 -1
- package/build/types/guards.js +2 -1
- package/build/types/guards.js.map +1 -1
- package/build/utils/field-filter.d.ts +42 -0
- package/build/utils/field-filter.d.ts.map +1 -0
- package/build/utils/field-filter.js +224 -0
- package/build/utils/field-filter.js.map +1 -0
- package/package.json +1 -1
- package/build/resources/handlers.d.ts +0 -65
- package/build/resources/handlers.d.ts.map +0 -1
- package/build/resources/handlers.js +0 -571
- package/build/resources/handlers.js.map +0 -1
- package/build/resources/schema-handlers.d.ts +0 -44
- package/build/resources/schema-handlers.d.ts.map +0 -1
- package/build/resources/schema-handlers.js +0 -183
- package/build/resources/schema-handlers.js.map +0 -1
- package/build/resources/static-resources.d.ts +0 -20
- package/build/resources/static-resources.d.ts.map +0 -1
- package/build/resources/static-resources.js +0 -73
- package/build/resources/static-resources.js.map +0 -1
- package/build/resources/templates.d.ts +0 -4
- package/build/resources/templates.d.ts.map +0 -1
- package/build/resources/templates.js +0 -306
- package/build/resources/templates.js.map +0 -1
- package/build/utils/bitbucket-uri.d.ts +0 -52
- package/build/utils/bitbucket-uri.d.ts.map +0 -1
- package/build/utils/bitbucket-uri.js +0 -139
- package/build/utils/bitbucket-uri.js.map +0 -1
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
-
import { BitbucketURI } from '../utils/bitbucket-uri.js';
|
|
3
|
-
import { getAllResourceTypes, getResourceTypeIndex, getResourceSchema, getFilteredFields, getValidationRules, getDetailedFieldSchema } from './field-schemas.js';
|
|
4
|
-
/**
|
|
5
|
-
* Handles schema-related resource requests
|
|
6
|
-
*/
|
|
7
|
-
export class SchemaHandlers {
|
|
8
|
-
/**
|
|
9
|
-
* Handle schema index resource request
|
|
10
|
-
* NOTE: This method is deprecated. The schema index is now handled as a static resource in index.ts
|
|
11
|
-
* This is kept for backwards compatibility but may be removed in future versions.
|
|
12
|
-
*/
|
|
13
|
-
async handleSchemaIndex(params) {
|
|
14
|
-
const index = getResourceTypeIndex();
|
|
15
|
-
return {
|
|
16
|
-
uri: 'bitbucket://schema/index',
|
|
17
|
-
mimeType: 'application/json',
|
|
18
|
-
text: JSON.stringify({
|
|
19
|
-
schemaVersion: '1.0.0',
|
|
20
|
-
totalTypes: index.length,
|
|
21
|
-
resourceTypes: index,
|
|
22
|
-
note: 'This endpoint is deprecated. Use the static resource bitbucket://schema/index instead.',
|
|
23
|
-
lastUpdated: new Date().toISOString()
|
|
24
|
-
}, null, 2)
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Handle resource schema request
|
|
29
|
-
*/
|
|
30
|
-
async handleResourceSchema(uri, resourceType, params) {
|
|
31
|
-
const schema = getResourceSchema(resourceType);
|
|
32
|
-
if (!schema) {
|
|
33
|
-
throw new McpError(ErrorCode.InvalidParams, `Unknown resource type: ${resourceType}. Available types: ${getAllResourceTypes().join(', ')}`);
|
|
34
|
-
}
|
|
35
|
-
const fields = params.fields?.split(',') || ['fields', 'metadata', 'examples'];
|
|
36
|
-
const fieldDetails = params.field_details || 'full';
|
|
37
|
-
const filterBy = params.filter_by;
|
|
38
|
-
// Get filtered fields if requested
|
|
39
|
-
const filteredFields = getFilteredFields(resourceType, filterBy);
|
|
40
|
-
// Build response based on requested fields
|
|
41
|
-
const response = {
|
|
42
|
-
resourceType: schema.type,
|
|
43
|
-
description: schema.description,
|
|
44
|
-
schemaVersion: '1.0.0'
|
|
45
|
-
};
|
|
46
|
-
if (fields.includes('fields')) {
|
|
47
|
-
response.fields = fieldDetails === 'minimal'
|
|
48
|
-
? filteredFields.map(f => ({ name: f.name, type: f.type, required: f.required || false }))
|
|
49
|
-
: filteredFields;
|
|
50
|
-
}
|
|
51
|
-
if (fields.includes('metadata')) {
|
|
52
|
-
response.metadata = {
|
|
53
|
-
totalFields: schema.fields.length,
|
|
54
|
-
requiredFields: schema.fields.filter(f => f.required).length,
|
|
55
|
-
readonlyFields: schema.fields.filter(f => f.readonly).length,
|
|
56
|
-
nestedFields: schema.fields.filter(f => f.nested).length,
|
|
57
|
-
optionalFields: schema.fields.filter(f => !f.required).length
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
if (fields.includes('examples')) {
|
|
61
|
-
response.examples = {
|
|
62
|
-
fieldExamples: schema.fields
|
|
63
|
-
.filter(f => f.example !== undefined)
|
|
64
|
-
.reduce((acc, f) => {
|
|
65
|
-
acc[f.name] = f.example;
|
|
66
|
-
return acc;
|
|
67
|
-
}, {})
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
if (fields.includes('validation')) {
|
|
71
|
-
response.validation = getValidationRules(resourceType);
|
|
72
|
-
}
|
|
73
|
-
// Add filtering information if applied
|
|
74
|
-
if (filterBy) {
|
|
75
|
-
response.filter = {
|
|
76
|
-
appliedFilter: filterBy,
|
|
77
|
-
filteredCount: filteredFields.length,
|
|
78
|
-
totalCount: schema.fields.length
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
uri,
|
|
83
|
-
mimeType: 'application/json',
|
|
84
|
-
text: JSON.stringify(response, null, 2)
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Handle field schema request
|
|
89
|
-
*/
|
|
90
|
-
async handleFieldSchema(uri, resourceType, fieldName, params) {
|
|
91
|
-
const includeNested = params.include_nested === true || params.include_nested === 'true';
|
|
92
|
-
const fieldSchema = getDetailedFieldSchema(resourceType, fieldName, includeNested);
|
|
93
|
-
if (!fieldSchema) {
|
|
94
|
-
const availableFields = getResourceSchema(resourceType)?.fields.map(f => f.name) || [];
|
|
95
|
-
throw new McpError(ErrorCode.InvalidParams, `Field '${fieldName}' not found in resource type '${resourceType}'. Available fields: ${availableFields.join(', ')}`);
|
|
96
|
-
}
|
|
97
|
-
const response = {
|
|
98
|
-
resourceType,
|
|
99
|
-
fieldName,
|
|
100
|
-
schema: fieldSchema,
|
|
101
|
-
schemaVersion: '1.0.0',
|
|
102
|
-
retrievedAt: new Date().toISOString()
|
|
103
|
-
};
|
|
104
|
-
return {
|
|
105
|
-
uri,
|
|
106
|
-
mimeType: 'application/json',
|
|
107
|
-
text: JSON.stringify(response, null, 2)
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Handle validation schema request
|
|
112
|
-
*/
|
|
113
|
-
async handleValidationSchema(uri, resourceType, params) {
|
|
114
|
-
const operation = params.operation || 'read';
|
|
115
|
-
const validationRules = getValidationRules(resourceType, operation);
|
|
116
|
-
if (!validationRules) {
|
|
117
|
-
throw new McpError(ErrorCode.InvalidParams, `Unknown resource type: ${resourceType}. Available types: ${getAllResourceTypes().join(', ')}`);
|
|
118
|
-
}
|
|
119
|
-
const response = {
|
|
120
|
-
resourceType,
|
|
121
|
-
operation,
|
|
122
|
-
validation: validationRules,
|
|
123
|
-
schemaVersion: '1.0.0',
|
|
124
|
-
generatedAt: new Date().toISOString()
|
|
125
|
-
};
|
|
126
|
-
return {
|
|
127
|
-
uri,
|
|
128
|
-
mimeType: 'application/json',
|
|
129
|
-
text: JSON.stringify(response, null, 2)
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Parse schema URI and route to appropriate handler
|
|
134
|
-
*/
|
|
135
|
-
async handleSchemaResource(uri) {
|
|
136
|
-
try {
|
|
137
|
-
const bitbucketUri = new BitbucketURI(uri);
|
|
138
|
-
if (!bitbucketUri.isSchemaUri()) {
|
|
139
|
-
throw new McpError(ErrorCode.InvalidParams, `Not a schema URI: ${uri}`);
|
|
140
|
-
}
|
|
141
|
-
const resourcePath = bitbucketUri.resourcePath;
|
|
142
|
-
if (!resourcePath) {
|
|
143
|
-
throw new McpError(ErrorCode.InvalidParams, `Schema resource path required: ${uri}`);
|
|
144
|
-
}
|
|
145
|
-
const pathParts = resourcePath.split('/').filter(p => p);
|
|
146
|
-
const params = bitbucketUri.params;
|
|
147
|
-
if (pathParts.length === 0) {
|
|
148
|
-
throw new McpError(ErrorCode.InvalidParams, `Schema resource type required: ${uri}`);
|
|
149
|
-
}
|
|
150
|
-
const [schemaType, ...rest] = pathParts;
|
|
151
|
-
switch (schemaType) {
|
|
152
|
-
case 'index':
|
|
153
|
-
return this.handleSchemaIndex(params);
|
|
154
|
-
case 'validation':
|
|
155
|
-
if (rest.length < 1) {
|
|
156
|
-
throw new McpError(ErrorCode.InvalidParams, 'Resource type required for validation schema');
|
|
157
|
-
}
|
|
158
|
-
return this.handleValidationSchema(uri, rest[0], params);
|
|
159
|
-
default:
|
|
160
|
-
// Check if it's a resource type schema
|
|
161
|
-
if (rest.length === 0) {
|
|
162
|
-
// bitbucket://schema/{resource_type}
|
|
163
|
-
return this.handleResourceSchema(uri, schemaType, params);
|
|
164
|
-
}
|
|
165
|
-
else if (rest.length === 2 && rest[0] === 'field') {
|
|
166
|
-
// bitbucket://schema/{resource_type}/field/{field_name}
|
|
167
|
-
return this.handleFieldSchema(uri, schemaType, rest[1], params);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
throw new McpError(ErrorCode.InvalidParams, `Invalid schema URI format: ${uri}`);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
if (error instanceof McpError) {
|
|
176
|
-
throw error;
|
|
177
|
-
}
|
|
178
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
179
|
-
throw new McpError(ErrorCode.InvalidParams, `Failed to parse schema URI: ${uri}. ${errorMessage}`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=schema-handlers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-handlers.js","sourceRoot":"","sources":["../../src/resources/schema-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export interface StaticResource {
|
|
2
|
-
uri: string;
|
|
3
|
-
name: string;
|
|
4
|
-
description: string;
|
|
5
|
-
mimeType: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* 静态资源列表 - 这些是具体可访问的资源,而非模板
|
|
9
|
-
* 符合 MCP ListResources 规范,提供具体的、可直接访问的资源
|
|
10
|
-
*/
|
|
11
|
-
export declare const staticResources: StaticResource[];
|
|
12
|
-
/**
|
|
13
|
-
* 检查给定 URI 是否为已定义的静态资源
|
|
14
|
-
*/
|
|
15
|
-
export declare function isStaticResource(uri: string): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* 获取静态资源定义
|
|
18
|
-
*/
|
|
19
|
-
export declare function getStaticResource(uri: string): StaticResource | undefined;
|
|
20
|
-
//# sourceMappingURL=static-resources.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static-resources.d.ts","sourceRoot":"","sources":["../../src/resources/static-resources.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,EAuD3C,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEzE"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 静态资源列表 - 这些是具体可访问的资源,而非模板
|
|
3
|
-
* 符合 MCP ListResources 规范,提供具体的、可直接访问的资源
|
|
4
|
-
*/
|
|
5
|
-
export const staticResources = [
|
|
6
|
-
{
|
|
7
|
-
uri: 'bitbucket://schema/index',
|
|
8
|
-
name: 'Resource Schema Index',
|
|
9
|
-
description: 'Complete index of all available Bitbucket resource types with field schemas',
|
|
10
|
-
mimeType: 'application/json'
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
uri: 'bitbucket://schema/repository',
|
|
14
|
-
name: 'Repository Schema',
|
|
15
|
-
description: 'Field schema for repository resources',
|
|
16
|
-
mimeType: 'application/json'
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
uri: 'bitbucket://schema/pullrequest',
|
|
20
|
-
name: 'Pull Request Schema',
|
|
21
|
-
description: 'Field schema for pull request resources',
|
|
22
|
-
mimeType: 'application/json'
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
uri: 'bitbucket://schema/commit',
|
|
26
|
-
name: 'Commit Schema',
|
|
27
|
-
description: 'Field schema for commit resources',
|
|
28
|
-
mimeType: 'application/json'
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
uri: 'bitbucket://schema/branch',
|
|
32
|
-
name: 'Branch Schema',
|
|
33
|
-
description: 'Field schema for branch resources',
|
|
34
|
-
mimeType: 'application/json'
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
uri: 'bitbucket://schema/file',
|
|
38
|
-
name: 'File Schema',
|
|
39
|
-
description: 'Field schema for file resources',
|
|
40
|
-
mimeType: 'application/json'
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
uri: 'bitbucket://schema/diff',
|
|
44
|
-
name: 'Diff Schema',
|
|
45
|
-
description: 'Field schema for diff/patch resources',
|
|
46
|
-
mimeType: 'application/json'
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
uri: 'bitbucket://schema/user',
|
|
50
|
-
name: 'User Schema',
|
|
51
|
-
description: 'Field schema for user/author resources',
|
|
52
|
-
mimeType: 'application/json'
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
uri: 'bitbucket://schema/workspace',
|
|
56
|
-
name: 'Workspace Schema',
|
|
57
|
-
description: 'Field schema for workspace/project resources',
|
|
58
|
-
mimeType: 'application/json'
|
|
59
|
-
}
|
|
60
|
-
];
|
|
61
|
-
/**
|
|
62
|
-
* 检查给定 URI 是否为已定义的静态资源
|
|
63
|
-
*/
|
|
64
|
-
export function isStaticResource(uri) {
|
|
65
|
-
return staticResources.some(resource => resource.uri === uri);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* 获取静态资源定义
|
|
69
|
-
*/
|
|
70
|
-
export function getStaticResource(uri) {
|
|
71
|
-
return staticResources.find(resource => resource.uri === uri);
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=static-resources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static-resources.js","sourceRoot":"","sources":["../../src/resources/static-resources.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C;QACE,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,6EAA6E;QAC1F,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,+BAA+B;QACpC,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yCAAyC;QACtD,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,2BAA2B;QAChC,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,2BAA2B;QAChC,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,yBAAyB;QAC9B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,yBAAyB;QAC9B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,yBAAyB;QAC9B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,kBAAkB;KAC7B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAYtE,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,EAoS/C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
// Stage 1 resource templates scaffold
|
|
2
|
-
// Future stages will implement dynamic resolution & data retrieval.
|
|
3
|
-
// Resource URI design (scaffold):
|
|
4
|
-
// - bitbucket://{workspace}/{repo}/file/{path}
|
|
5
|
-
// - bitbucket://{workspace}/{repo}/dir/{path?}
|
|
6
|
-
// - bitbucket://{workspace}/{repo}/pull-request/{id}
|
|
7
|
-
// - bitbucket://{workspace}/{repo}/pull-request/{id}/diff{/{filePath?}}
|
|
8
|
-
// - bitbucket://{workspace}/{repo}/pull-request/{id}/commits
|
|
9
|
-
// - bitbucket://{workspace}/{repo}/branch/{name}
|
|
10
|
-
// - bitbucket://{workspace}/{repo}/branches
|
|
11
|
-
// Only templates are declared now; ReadResource returns placeholder until Stage 2.
|
|
12
|
-
export const resourceTemplates = [
|
|
13
|
-
{
|
|
14
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/file/{path}',
|
|
15
|
-
name: 'repository-file',
|
|
16
|
-
description: 'Single file content from a repository with optional field filtering and content slicing',
|
|
17
|
-
inputSchema: {
|
|
18
|
-
type: 'object',
|
|
19
|
-
properties: {
|
|
20
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
21
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
22
|
-
path: { type: 'string', description: 'File path relative to repo root' },
|
|
23
|
-
ref: { type: 'string', description: 'Branch or commit (optional, defaults to main/master)' },
|
|
24
|
-
start_line: { type: 'number', description: 'Starting line number for partial content (optional)' },
|
|
25
|
-
line_count: { type: 'number', description: 'Number of lines to retrieve (optional)' },
|
|
26
|
-
full_content: { type: 'boolean', description: 'Force retrieval of large files (optional)' },
|
|
27
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "path,size,content") (optional)' },
|
|
28
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
29
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
30
|
-
},
|
|
31
|
-
required: ['workspace', 'repo', 'path'],
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/dir/{path?}',
|
|
36
|
-
name: 'repository-directory',
|
|
37
|
-
description: 'Directory listing with optional path and field filtering support',
|
|
38
|
-
inputSchema: {
|
|
39
|
-
type: 'object',
|
|
40
|
-
properties: {
|
|
41
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
42
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
43
|
-
path: { type: 'string', description: 'Directory path or omitted for root' },
|
|
44
|
-
ref: { type: 'string', description: 'Branch or commit (optional, defaults to main/master)' },
|
|
45
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "path,size,type") (optional)' },
|
|
46
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
47
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
48
|
-
},
|
|
49
|
-
required: ['workspace', 'repo'],
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/pull-request/{id}',
|
|
54
|
-
name: 'pull-request',
|
|
55
|
-
description: 'Pull request metadata and detailed information with field filtering support',
|
|
56
|
-
inputSchema: {
|
|
57
|
-
type: 'object',
|
|
58
|
-
properties: {
|
|
59
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
60
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
61
|
-
id: { type: 'string', description: 'Pull request ID' },
|
|
62
|
-
include_comments: { type: 'boolean', description: 'Include PR comments in response (optional)' },
|
|
63
|
-
include_commits: { type: 'boolean', description: 'Include commit list in response (optional)' },
|
|
64
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "id,title,state,author") (optional)' },
|
|
65
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
66
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
67
|
-
},
|
|
68
|
-
required: ['workspace', 'repo', 'id'],
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/pull-request/{id}/diff',
|
|
73
|
-
name: 'pull-request-diff',
|
|
74
|
-
description: 'Full pull request diff with filtering and formatting options',
|
|
75
|
-
inputSchema: {
|
|
76
|
-
type: 'object',
|
|
77
|
-
properties: {
|
|
78
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
79
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
80
|
-
id: { type: 'string', description: 'Pull request ID' },
|
|
81
|
-
context: { type: 'number', description: 'Context lines (default 3)' },
|
|
82
|
-
include: { type: 'string', description: 'Comma-separated glob patterns to include (future)' },
|
|
83
|
-
exclude: { type: 'string', description: 'Comma-separated glob patterns to exclude (future)' },
|
|
84
|
-
mode: { type: 'string', enum: ['structured', 'patch', 'raw'], description: 'Diff output format' },
|
|
85
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "files,stats,changes") (optional)' },
|
|
86
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
87
|
-
},
|
|
88
|
-
required: ['workspace', 'repo', 'id'],
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/pull-request/{id}/diff/{filePath}',
|
|
93
|
-
name: 'pull-request-diff-file',
|
|
94
|
-
description: 'Single file diff within a pull request with enhanced formatting and field filtering',
|
|
95
|
-
inputSchema: {
|
|
96
|
-
type: 'object',
|
|
97
|
-
properties: {
|
|
98
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
99
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
100
|
-
id: { type: 'string', description: 'Pull request ID' },
|
|
101
|
-
filePath: { type: 'string', description: 'Exact file path in diff' },
|
|
102
|
-
context: { type: 'number', description: 'Number of context lines around changes' },
|
|
103
|
-
mode: { type: 'string', enum: ['structured', 'patch', 'raw'], description: 'Diff output format' },
|
|
104
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "path,changes,stats") (optional)' },
|
|
105
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
106
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
107
|
-
},
|
|
108
|
-
required: ['workspace', 'repo', 'id', 'filePath'],
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/pull-request/{id}/commits',
|
|
113
|
-
name: 'pull-request-commits',
|
|
114
|
-
description: 'Commits that belong to a pull request with metadata, changes and field filtering',
|
|
115
|
-
inputSchema: {
|
|
116
|
-
type: 'object',
|
|
117
|
-
properties: {
|
|
118
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
119
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
120
|
-
id: { type: 'string', description: 'Pull request ID' },
|
|
121
|
-
start: { type: 'number', description: 'Pagination start offset (optional)' },
|
|
122
|
-
limit: { type: 'number', description: 'Maximum number of commits to return (optional)' },
|
|
123
|
-
include_changes: { type: 'boolean', description: 'Include file changes for each commit (optional)' },
|
|
124
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "hash,message,author") (optional)' },
|
|
125
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
126
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
127
|
-
},
|
|
128
|
-
required: ['workspace', 'repo', 'id'],
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/branches',
|
|
133
|
-
name: 'repository-branches',
|
|
134
|
-
description: 'List all branches in the repository with metadata and field filtering',
|
|
135
|
-
inputSchema: {
|
|
136
|
-
type: 'object',
|
|
137
|
-
properties: {
|
|
138
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
139
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
140
|
-
filter: { type: 'string', description: 'Filter branches by name pattern (optional)' },
|
|
141
|
-
limit: { type: 'number', description: 'Maximum number of branches to return (optional)' },
|
|
142
|
-
start: { type: 'number', description: 'Pagination start offset (optional)' },
|
|
143
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "name,target,heads") (optional)' },
|
|
144
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
145
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
146
|
-
},
|
|
147
|
-
required: ['workspace', 'repo'],
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/branch/{name}',
|
|
152
|
-
name: 'repository-branch',
|
|
153
|
-
description: 'Detailed information about a specific branch with field filtering support',
|
|
154
|
-
inputSchema: {
|
|
155
|
-
type: 'object',
|
|
156
|
-
properties: {
|
|
157
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
158
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
159
|
-
name: { type: 'string', description: 'Branch name' },
|
|
160
|
-
include_commits: { type: 'boolean', description: 'Include recent commits (optional)' },
|
|
161
|
-
commit_limit: { type: 'number', description: 'Limit for recent commits (optional, default 10)' },
|
|
162
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "name,target,commits") (optional)' },
|
|
163
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
164
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
165
|
-
},
|
|
166
|
-
required: ['workspace', 'repo', 'name'],
|
|
167
|
-
},
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/search',
|
|
171
|
-
name: 'repository-search',
|
|
172
|
-
description: 'Search code within the repository with field filtering support',
|
|
173
|
-
inputSchema: {
|
|
174
|
-
type: 'object',
|
|
175
|
-
properties: {
|
|
176
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
177
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
178
|
-
query: { type: 'string', description: 'Search query string' },
|
|
179
|
-
file_extensions: { type: 'string', description: 'Comma-separated file extensions to search (optional)' },
|
|
180
|
-
include_paths: { type: 'string', description: 'Comma-separated path patterns to include (optional)' },
|
|
181
|
-
exclude_paths: { type: 'string', description: 'Comma-separated path patterns to exclude (optional)' },
|
|
182
|
-
limit: { type: 'number', description: 'Maximum number of results (optional, default 25)' },
|
|
183
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "path,line,content") (optional)' },
|
|
184
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
185
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
186
|
-
},
|
|
187
|
-
required: ['workspace', 'repo', 'query'],
|
|
188
|
-
},
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
uriTemplate: 'bitbucket://{workspace}/{repo}/pull-requests',
|
|
192
|
-
name: 'pull-requests-list',
|
|
193
|
-
description: 'List pull requests with filtering, pagination and field filtering options',
|
|
194
|
-
inputSchema: {
|
|
195
|
-
type: 'object',
|
|
196
|
-
properties: {
|
|
197
|
-
workspace: { type: 'string', description: 'Project/workspace key' },
|
|
198
|
-
repo: { type: 'string', description: 'Repository slug' },
|
|
199
|
-
state: {
|
|
200
|
-
type: 'string',
|
|
201
|
-
enum: ['OPEN', 'MERGED', 'DECLINED', 'ALL'],
|
|
202
|
-
description: 'Filter by PR state (optional, default: OPEN)'
|
|
203
|
-
},
|
|
204
|
-
author: {
|
|
205
|
-
type: 'string',
|
|
206
|
-
description: 'Filter by author username/email (optional)'
|
|
207
|
-
},
|
|
208
|
-
reviewer: {
|
|
209
|
-
type: 'string',
|
|
210
|
-
description: 'Filter by reviewer username/email (optional)'
|
|
211
|
-
},
|
|
212
|
-
limit: {
|
|
213
|
-
type: 'number',
|
|
214
|
-
description: 'Maximum number of PRs to return (optional, default 25)'
|
|
215
|
-
},
|
|
216
|
-
start: {
|
|
217
|
-
type: 'number',
|
|
218
|
-
description: 'Start index for pagination (optional, default 0)'
|
|
219
|
-
},
|
|
220
|
-
sort: {
|
|
221
|
-
type: 'string',
|
|
222
|
-
enum: ['updated', 'created', 'activity'],
|
|
223
|
-
description: 'Sort order for results (optional, default: updated)'
|
|
224
|
-
},
|
|
225
|
-
fields: { type: 'string', description: 'Comma-separated list of fields to include (e.g., "id,title,state,author") (optional)' },
|
|
226
|
-
exclude: { type: 'string', description: 'Comma-separated list of fields to exclude (optional)' },
|
|
227
|
-
format: { type: 'string', enum: ['full', 'minimal', 'summary', 'metadata'], description: 'Response format (optional, default: full)' },
|
|
228
|
-
},
|
|
229
|
-
required: ['workspace', 'repo'],
|
|
230
|
-
},
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
uriTemplate: 'bitbucket://schema/{resource_type}',
|
|
234
|
-
name: 'resource-schema',
|
|
235
|
-
description: 'Get complete field schema for a specific Bitbucket resource type. Returns detailed information about all fields including types, descriptions, examples, and validation rules. Use this after discovering resource types from the index to understand how to work with specific resources and build intelligent field selectors.',
|
|
236
|
-
inputSchema: {
|
|
237
|
-
type: 'object',
|
|
238
|
-
properties: {
|
|
239
|
-
resource_type: {
|
|
240
|
-
type: 'string',
|
|
241
|
-
description: 'Bitbucket resource type (e.g., repository, pullrequest, commit, branch, etc.)'
|
|
242
|
-
},
|
|
243
|
-
fields: {
|
|
244
|
-
type: 'string',
|
|
245
|
-
description: 'Comma-separated list of schema aspects to include (optional): "fields", "metadata", "examples", "validation"'
|
|
246
|
-
},
|
|
247
|
-
field_details: {
|
|
248
|
-
type: 'string',
|
|
249
|
-
enum: ['minimal', 'full'],
|
|
250
|
-
description: 'Level of field detail (optional, default: full)'
|
|
251
|
-
},
|
|
252
|
-
filter_by: {
|
|
253
|
-
type: 'string',
|
|
254
|
-
enum: ['required', 'optional', 'readonly', 'nested'],
|
|
255
|
-
description: 'Filter fields by properties (optional)'
|
|
256
|
-
}
|
|
257
|
-
},
|
|
258
|
-
required: ['resource_type']
|
|
259
|
-
}
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
uriTemplate: 'bitbucket://schema/{resource_type}/field/{field_name}',
|
|
263
|
-
name: 'field-schema',
|
|
264
|
-
description: 'Get detailed schema information for a specific field of a resource type',
|
|
265
|
-
inputSchema: {
|
|
266
|
-
type: 'object',
|
|
267
|
-
properties: {
|
|
268
|
-
resource_type: {
|
|
269
|
-
type: 'string',
|
|
270
|
-
description: 'Bitbucket resource type (e.g., repository, pullrequest, commit)'
|
|
271
|
-
},
|
|
272
|
-
field_name: {
|
|
273
|
-
type: 'string',
|
|
274
|
-
description: 'Field name to get schema for'
|
|
275
|
-
},
|
|
276
|
-
include_nested: {
|
|
277
|
-
type: 'boolean',
|
|
278
|
-
description: 'Include nested field schemas if applicable (optional, default: false)'
|
|
279
|
-
}
|
|
280
|
-
},
|
|
281
|
-
required: ['resource_type', 'field_name']
|
|
282
|
-
}
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
uriTemplate: 'bitbucket://schema/validation/{resource_type}',
|
|
286
|
-
name: 'resource-validation',
|
|
287
|
-
description: 'Get validation rules and constraints for a specific resource type',
|
|
288
|
-
inputSchema: {
|
|
289
|
-
type: 'object',
|
|
290
|
-
properties: {
|
|
291
|
-
resource_type: {
|
|
292
|
-
type: 'string',
|
|
293
|
-
description: 'Bitbucket resource type to get validation rules for'
|
|
294
|
-
},
|
|
295
|
-
operation: {
|
|
296
|
-
type: 'string',
|
|
297
|
-
enum: ['create', 'update', 'read'],
|
|
298
|
-
description: 'Operation context for validation (optional, default: read)'
|
|
299
|
-
}
|
|
300
|
-
},
|
|
301
|
-
required: ['resource_type']
|
|
302
|
-
}
|
|
303
|
-
},
|
|
304
|
-
];
|
|
305
|
-
export default resourceTemplates;
|
|
306
|
-
//# sourceMappingURL=templates.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"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"}
|