@zhanglc77/bitbucket-mcp-server 1.0.13 → 1.1.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.
- package/CHANGELOG.md +14 -0
- package/build/handlers/pull-request-handlers.d.ts.map +1 -1
- package/build/handlers/pull-request-handlers.js +7 -3
- package/build/handlers/pull-request-handlers.js.map +1 -1
- package/build/resources/field-schemas.d.ts.map +1 -1
- package/build/resources/field-schemas.js +5 -0
- package/build/resources/field-schemas.js.map +1 -1
- package/build/resources/handlers.d.ts +65 -0
- package/build/resources/handlers.d.ts.map +1 -0
- package/build/resources/handlers.js +571 -0
- package/build/resources/handlers.js.map +1 -0
- package/build/resources/resource-definitions.js +9 -8
- package/build/resources/resource-definitions.js.map +1 -1
- package/build/resources/schema-handlers.d.ts +44 -0
- package/build/resources/schema-handlers.d.ts.map +1 -0
- package/build/resources/schema-handlers.js +183 -0
- package/build/resources/schema-handlers.js.map +1 -0
- package/build/resources/static-resources.d.ts +20 -0
- package/build/resources/static-resources.d.ts.map +1 -0
- package/build/resources/static-resources.js +73 -0
- package/build/resources/static-resources.js.map +1 -0
- package/build/resources/templates.d.ts +4 -0
- package/build/resources/templates.d.ts.map +1 -0
- package/build/resources/templates.js +306 -0
- package/build/resources/templates.js.map +1 -0
- package/build/tools/definitions.js +2 -2
- package/build/tools/definitions.js.map +1 -1
- package/build/types/bitbucket.d.ts +2 -0
- package/build/types/bitbucket.d.ts.map +1 -1
- package/build/utils/bitbucket-uri.d.ts +52 -0
- package/build/utils/bitbucket-uri.d.ts.map +1 -0
- package/build/utils/bitbucket-uri.js +139 -0
- package/build/utils/bitbucket-uri.js.map +1 -0
- package/build/utils/field-filter.d.ts.map +1 -1
- package/build/utils/field-filter.js +4 -0
- package/build/utils/field-filter.js.map +1 -1
- package/build/utils/formatters.d.ts.map +1 -1
- package/build/utils/formatters.js +2 -0
- package/build/utils/formatters.js.map +1 -1
- package/package.json +1 -1
|
@@ -192,7 +192,7 @@ Field filtering allows you to specify exactly which fields you want in the respo
|
|
|
192
192
|
|
|
193
193
|
### Only basic information
|
|
194
194
|
\`\`\`
|
|
195
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state
|
|
195
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state,draft
|
|
196
196
|
\`\`\`
|
|
197
197
|
|
|
198
198
|
### Only author and reviewer names
|
|
@@ -204,34 +204,34 @@ list_pull_requests workspace=my-workspace repository=my-repo fields=author,revie
|
|
|
204
204
|
|
|
205
205
|
### Get specific reviewer information
|
|
206
206
|
\`\`\`
|
|
207
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,reviewers.name,reviewers.approved
|
|
207
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,draft,reviewers.name,reviewers.approved
|
|
208
208
|
\`\`\`
|
|
209
209
|
|
|
210
210
|
### Get specific reviewer by index
|
|
211
211
|
\`\`\`
|
|
212
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,reviewers.0.name,reviewers.0.approved
|
|
212
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,draft,reviewers.0.name,reviewers.0.approved
|
|
213
213
|
\`\`\`
|
|
214
214
|
|
|
215
215
|
### Author details with timestamps
|
|
216
216
|
\`\`\`
|
|
217
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=title,author.name,author.email,created_on,updated_on
|
|
217
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=title,draft,author.name,author.email,created_on,updated_on
|
|
218
218
|
\`\`\`
|
|
219
219
|
|
|
220
220
|
## Practical Scenarios
|
|
221
221
|
|
|
222
222
|
### For dashboards - minimal data
|
|
223
223
|
\`\`\`
|
|
224
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state,author.name,reviewers.name
|
|
224
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state,draft,author.name,reviewers.name
|
|
225
225
|
\`\`\`
|
|
226
226
|
|
|
227
227
|
### For notifications - key status info
|
|
228
228
|
\`\`\`
|
|
229
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state,reviewers.approved,updated_on
|
|
229
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state,draft,reviewers.approved,updated_on
|
|
230
230
|
\`\`\`
|
|
231
231
|
|
|
232
232
|
### For reporting - comprehensive but focused
|
|
233
233
|
\`\`\`
|
|
234
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,author.name,reviewers.name,reviewers.approved,state,created_on,updated_on
|
|
234
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,author.name,reviewers.name,reviewers.approved,state,draft,created_on,updated_on
|
|
235
235
|
\`\`\`
|
|
236
236
|
|
|
237
237
|
Field filtering can significantly reduce response size and improve performance when you only need specific information.
|
|
@@ -265,6 +265,7 @@ The following fields are available for selection using the \`fields\` parameter:
|
|
|
265
265
|
- \`title\` - Pull request title
|
|
266
266
|
- \`state\` - Current state (OPEN, MERGED, DECLINED)
|
|
267
267
|
- \`description\` - Pull request description
|
|
268
|
+
- \`draft\` - Whether the pull request is a draft (work in progress, cannot be merged)
|
|
268
269
|
|
|
269
270
|
### Author Information
|
|
270
271
|
- \`author\` - Complete author object
|
|
@@ -293,7 +294,7 @@ list_pull_requests workspace=my-workspace repository=my-repo
|
|
|
293
294
|
\`\`\`
|
|
294
295
|
|
|
295
296
|
\`\`\`
|
|
296
|
-
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state
|
|
297
|
+
list_pull_requests workspace=my-workspace repository=my-repo fields=id,title,state,draft
|
|
297
298
|
\`\`\`
|
|
298
299
|
|
|
299
300
|
See the examples resources for detailed usage scenarios:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-definitions.js","sourceRoot":"","sources":["../../src/resources/resource-definitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resource-definitions.js","sourceRoot":"","sources":["../../src/resources/resource-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handles schema-related resource requests
|
|
3
|
+
*/
|
|
4
|
+
export declare class SchemaHandlers {
|
|
5
|
+
/**
|
|
6
|
+
* Handle schema index resource request
|
|
7
|
+
* NOTE: This method is deprecated. The schema index is now handled as a static resource in index.ts
|
|
8
|
+
* This is kept for backwards compatibility but may be removed in future versions.
|
|
9
|
+
*/
|
|
10
|
+
handleSchemaIndex(params: Record<string, any>): Promise<{
|
|
11
|
+
uri: string;
|
|
12
|
+
mimeType: string;
|
|
13
|
+
text: string;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Handle resource schema request
|
|
17
|
+
*/
|
|
18
|
+
handleResourceSchema(uri: string, resourceType: string, params: Record<string, any>): Promise<{
|
|
19
|
+
uri: string;
|
|
20
|
+
mimeType: string;
|
|
21
|
+
text: string;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Handle field schema request
|
|
25
|
+
*/
|
|
26
|
+
handleFieldSchema(uri: string, resourceType: string, fieldName: string, params: Record<string, any>): Promise<{
|
|
27
|
+
uri: string;
|
|
28
|
+
mimeType: string;
|
|
29
|
+
text: string;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Handle validation schema request
|
|
33
|
+
*/
|
|
34
|
+
handleValidationSchema(uri: string, resourceType: string, params: Record<string, any>): Promise<{
|
|
35
|
+
uri: string;
|
|
36
|
+
mimeType: string;
|
|
37
|
+
text: string;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* Parse schema URI and route to appropriate handler
|
|
41
|
+
*/
|
|
42
|
+
handleSchemaResource(uri: string): Promise<any>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=schema-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-handlers.d.ts","sourceRoot":"","sources":["../../src/resources/schema-handlers.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,qBAAa,cAAc;IAEzB;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;IAgBnD;;OAEG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;IAsEzF;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;IA2BzG;;OAEG;IACG,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;IA0B3F;;OAEG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAoDtD"}
|
|
@@ -0,0 +1,183 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-handlers.js","sourceRoot":"","sources":["../../src/resources/schema-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|