autoproject-mcp 1.1.0 → 1.3.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/README.md +56 -3
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +19 -10
- package/dist/client.js.map +1 -1
- package/dist/index.js +53 -3
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts +4 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +76 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/tools/applicationTools.d.ts +5 -5
- package/dist/tools/applicationTools.js +43 -43
- package/dist/tools/applicationTools.js.map +1 -1
- package/dist/tools/documentTools.d.ts +9 -10
- package/dist/tools/documentTools.d.ts.map +1 -1
- package/dist/tools/documentTools.js +124 -66
- package/dist/tools/documentTools.js.map +1 -1
- package/dist/tools/hierarchyTools.d.ts +5 -1
- package/dist/tools/hierarchyTools.d.ts.map +1 -1
- package/dist/tools/hierarchyTools.js +82 -13
- package/dist/tools/hierarchyTools.js.map +1 -1
- package/dist/tools/releaseCycleLinkTools.d.ts +4 -4
- package/dist/tools/releaseCycleLinkTools.d.ts.map +1 -1
- package/dist/tools/releaseCycleLinkTools.js +60 -36
- package/dist/tools/releaseCycleLinkTools.js.map +1 -1
- package/dist/tools/screenTools.d.ts +9 -1
- package/dist/tools/screenTools.d.ts.map +1 -1
- package/dist/tools/screenTools.js +90 -21
- package/dist/tools/screenTools.js.map +1 -1
- package/dist/tools/useCaseTools.js +2 -2
- package/dist/tools/useCaseTools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* MCP Tools: Hierarchy read and status update
|
|
4
|
-
* Tools:
|
|
4
|
+
* Tools: get_hierarchy, list_modules, list_feature_groups, list_features,
|
|
5
|
+
* get_feature_detail, get_task_detail, update_status
|
|
6
|
+
*
|
|
7
|
+
* Product hierarchy (UI terminology):
|
|
8
|
+
* Module → Feature Group → Feature
|
|
5
9
|
*/
|
|
6
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
11
|
exports.hierarchyToolDefinitions = void 0;
|
|
@@ -9,43 +13,86 @@ exports.handleHierarchyTool = handleHierarchyTool;
|
|
|
9
13
|
const client_js_1 = require("../client.js");
|
|
10
14
|
exports.hierarchyToolDefinitions = [
|
|
11
15
|
{
|
|
12
|
-
name: '
|
|
13
|
-
description: 'Get
|
|
16
|
+
name: 'get_hierarchy',
|
|
17
|
+
description: 'Get the product hierarchy tree: modules with nested feature groups. ' +
|
|
18
|
+
'Use this first to discover module IDs, then list_features with moduleId/status to pull work.',
|
|
14
19
|
inputSchema: {
|
|
15
20
|
type: 'object',
|
|
16
21
|
properties: {
|
|
17
22
|
productId: { type: 'string', description: 'Product ID' },
|
|
18
|
-
featureId: { type: 'string', description: 'Feature ID' },
|
|
19
23
|
},
|
|
20
|
-
required: ['productId'
|
|
24
|
+
required: ['productId'],
|
|
21
25
|
},
|
|
22
26
|
},
|
|
23
27
|
{
|
|
24
|
-
name: '
|
|
25
|
-
description: '
|
|
28
|
+
name: 'list_modules',
|
|
29
|
+
description: 'List modules (top level of the product hierarchy) with status and description. ' +
|
|
30
|
+
'Optionally filter by module status.',
|
|
26
31
|
inputSchema: {
|
|
27
32
|
type: 'object',
|
|
28
33
|
properties: {
|
|
29
34
|
productId: { type: 'string', description: 'Product ID' },
|
|
30
|
-
|
|
35
|
+
status: { type: 'string', description: 'Filter by module status (e.g. IN_PROGRESS, COMPLETED)' },
|
|
36
|
+
limit: { type: 'number', description: 'Max results (default 50, max 200)' },
|
|
31
37
|
},
|
|
32
|
-
required: ['productId'
|
|
38
|
+
required: ['productId'],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'list_feature_groups',
|
|
43
|
+
description: 'List feature groups (second hierarchy level). Filter by moduleId and/or status.',
|
|
44
|
+
inputSchema: {
|
|
45
|
+
type: 'object',
|
|
46
|
+
properties: {
|
|
47
|
+
productId: { type: 'string', description: 'Product ID' },
|
|
48
|
+
moduleId: { type: 'string', description: 'Filter by parent module ID' },
|
|
49
|
+
status: { type: 'string', description: 'Filter by feature-group status' },
|
|
50
|
+
limit: { type: 'number', description: 'Max results (default 50, max 200)' },
|
|
51
|
+
},
|
|
52
|
+
required: ['productId'],
|
|
33
53
|
},
|
|
34
54
|
},
|
|
35
55
|
{
|
|
36
56
|
name: 'list_features',
|
|
37
|
-
description: 'List features (
|
|
57
|
+
description: 'List features (third hierarchy level) within a product. ' +
|
|
58
|
+
'Filter by status, priority, moduleId, and/or featureGroupId to pull incomplete work for a module.',
|
|
38
59
|
inputSchema: {
|
|
39
60
|
type: 'object',
|
|
40
61
|
properties: {
|
|
41
62
|
productId: { type: 'string', description: 'Product ID' },
|
|
42
|
-
status: { type: 'string', description: 'Filter by status (e.g. IN_PROGRESS)' },
|
|
63
|
+
status: { type: 'string', description: 'Filter by feature status (e.g. IN_PROGRESS, TODO)' },
|
|
43
64
|
priority: { type: 'string', description: 'Filter by priority (e.g. HIGH)' },
|
|
44
|
-
|
|
65
|
+
moduleId: { type: 'string', description: 'Filter by parent module ID' },
|
|
66
|
+
featureGroupId: { type: 'string', description: 'Filter by parent feature-group ID' },
|
|
67
|
+
limit: { type: 'number', description: 'Max results (default 50, max 200)' },
|
|
45
68
|
},
|
|
46
69
|
required: ['productId'],
|
|
47
70
|
},
|
|
48
71
|
},
|
|
72
|
+
{
|
|
73
|
+
name: 'get_feature_detail',
|
|
74
|
+
description: 'Get full details of a feature by ID, including acceptance criteria.',
|
|
75
|
+
inputSchema: {
|
|
76
|
+
type: 'object',
|
|
77
|
+
properties: {
|
|
78
|
+
productId: { type: 'string', description: 'Product ID' },
|
|
79
|
+
featureId: { type: 'string', description: 'Feature ID' },
|
|
80
|
+
},
|
|
81
|
+
required: ['productId', 'featureId'],
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'get_task_detail',
|
|
86
|
+
description: 'Get details of a task, including description and current status.',
|
|
87
|
+
inputSchema: {
|
|
88
|
+
type: 'object',
|
|
89
|
+
properties: {
|
|
90
|
+
productId: { type: 'string', description: 'Product ID' },
|
|
91
|
+
taskId: { type: 'string', description: 'Task ID' },
|
|
92
|
+
},
|
|
93
|
+
required: ['productId', 'taskId'],
|
|
94
|
+
},
|
|
95
|
+
},
|
|
49
96
|
{
|
|
50
97
|
name: 'update_status',
|
|
51
98
|
description: 'Update the status of a feature, task, or micro-task. Status must follow valid workflow transitions.',
|
|
@@ -53,7 +100,11 @@ exports.hierarchyToolDefinitions = [
|
|
|
53
100
|
type: 'object',
|
|
54
101
|
properties: {
|
|
55
102
|
productId: { type: 'string', description: 'Product ID' },
|
|
56
|
-
entityType: {
|
|
103
|
+
entityType: {
|
|
104
|
+
type: 'string',
|
|
105
|
+
enum: ['feature', 'task', 'micro-task', 'feature-group'],
|
|
106
|
+
description: 'Type of entity',
|
|
107
|
+
},
|
|
57
108
|
entityId: { type: 'string', description: 'Entity ID' },
|
|
58
109
|
status: { type: 'string', description: 'New status value' },
|
|
59
110
|
},
|
|
@@ -63,6 +114,22 @@ exports.hierarchyToolDefinitions = [
|
|
|
63
114
|
];
|
|
64
115
|
async function handleHierarchyTool(name, args) {
|
|
65
116
|
switch (name) {
|
|
117
|
+
case 'get_hierarchy': {
|
|
118
|
+
return await (0, client_js_1.apiGet)(`/products/${args.productId}/hierarchy`);
|
|
119
|
+
}
|
|
120
|
+
case 'list_modules': {
|
|
121
|
+
return await (0, client_js_1.apiGet)(`/products/${args.productId}/modules`, {
|
|
122
|
+
status: args.status,
|
|
123
|
+
limit: args.limit,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
case 'list_feature_groups': {
|
|
127
|
+
return await (0, client_js_1.apiGet)(`/products/${args.productId}/feature-groups`, {
|
|
128
|
+
moduleId: args.moduleId,
|
|
129
|
+
status: args.status,
|
|
130
|
+
limit: args.limit,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
66
133
|
case 'get_feature_detail': {
|
|
67
134
|
return await (0, client_js_1.apiGet)(`/products/${args.productId}/entities/feature/${args.featureId}`);
|
|
68
135
|
}
|
|
@@ -73,6 +140,8 @@ async function handleHierarchyTool(name, args) {
|
|
|
73
140
|
return await (0, client_js_1.apiGet)(`/products/${args.productId}/features`, {
|
|
74
141
|
status: args.status,
|
|
75
142
|
priority: args.priority,
|
|
143
|
+
moduleId: args.moduleId,
|
|
144
|
+
featureGroupId: args.featureGroupId,
|
|
76
145
|
limit: args.limit,
|
|
77
146
|
});
|
|
78
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchyTools.js","sourceRoot":"","sources":["../../src/tools/hierarchyTools.ts"],"names":[],"mappings":";AAAA;;;
|
|
1
|
+
{"version":3,"file":"hierarchyTools.js","sourceRoot":"","sources":["../../src/tools/hierarchyTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP Tools: Release cycle linking for feature groups and
|
|
2
|
+
* MCP Tools: Release cycle listing and linking for feature groups and features.
|
|
3
3
|
*
|
|
4
4
|
* Workflow for IDE agents:
|
|
5
|
-
* 1. Call list_release_cycles
|
|
5
|
+
* 1. Call list_release_cycles to discover available cycles and their IDs.
|
|
6
6
|
* 2. Call get_feature_group_release_cycle / get_feature_release_cycle to check if already linked.
|
|
7
7
|
* 3. If missing or wrong, call set_feature_group_release_cycle / set_feature_release_cycle.
|
|
8
8
|
*
|
|
9
9
|
* Terminology (aligned with AGENTS.md):
|
|
10
|
-
* "feature group" = DB FeatureGroup / API "
|
|
11
|
-
* "feature" = DB
|
|
10
|
+
* "feature group" = DB FeatureGroup / API "feature-groups" (Feature Group in UI)
|
|
11
|
+
* "feature" = DB Feature / API "features" (Feature in UI)
|
|
12
12
|
*
|
|
13
13
|
* Cascade note: setting a release cycle on a feature group automatically cascades
|
|
14
14
|
* to child features that previously inherited the old parent cycle.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseCycleLinkTools.d.ts","sourceRoot":"","sources":["../../src/tools/releaseCycleLinkTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK1D,eAAO,MAAM,+BAA+B,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"releaseCycleLinkTools.d.ts","sourceRoot":"","sources":["../../src/tools/releaseCycleLinkTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK1D,eAAO,MAAM,+BAA+B,EAAE,IAAI,EA8EjD,CAAC;AAEF,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GAmH/F"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* MCP Tools: Release cycle linking for feature groups and
|
|
3
|
+
* MCP Tools: Release cycle listing and linking for feature groups and features.
|
|
4
4
|
*
|
|
5
5
|
* Workflow for IDE agents:
|
|
6
|
-
* 1. Call list_release_cycles
|
|
6
|
+
* 1. Call list_release_cycles to discover available cycles and their IDs.
|
|
7
7
|
* 2. Call get_feature_group_release_cycle / get_feature_release_cycle to check if already linked.
|
|
8
8
|
* 3. If missing or wrong, call set_feature_group_release_cycle / set_feature_release_cycle.
|
|
9
9
|
*
|
|
10
10
|
* Terminology (aligned with AGENTS.md):
|
|
11
|
-
* "feature group" = DB FeatureGroup / API "
|
|
12
|
-
* "feature" = DB
|
|
11
|
+
* "feature group" = DB FeatureGroup / API "feature-groups" (Feature Group in UI)
|
|
12
|
+
* "feature" = DB Feature / API "features" (Feature in UI)
|
|
13
13
|
*
|
|
14
14
|
* Cascade note: setting a release cycle on a feature group automatically cascades
|
|
15
15
|
* to child features that previously inherited the old parent cycle.
|
|
@@ -20,9 +20,22 @@ exports.handleReleaseCycleLinkTool = handleReleaseCycleLinkTool;
|
|
|
20
20
|
const client_js_1 = require("../client.js");
|
|
21
21
|
const DEFAULT_PRODUCT_ID = process.env.AUTOPROJECT_PRODUCT_ID ?? '';
|
|
22
22
|
exports.releaseCycleLinkToolDefinitions = [
|
|
23
|
+
{
|
|
24
|
+
name: 'list_release_cycles',
|
|
25
|
+
description: 'List release cycles for a product (id, name, status, start/end dates). ' +
|
|
26
|
+
'Call this before set_feature_group_release_cycle or set_feature_release_cycle to get valid releaseCycleIds.',
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
|
|
31
|
+
limit: { type: 'number', description: 'Max results (default 50, max 200).' },
|
|
32
|
+
},
|
|
33
|
+
required: [],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
23
36
|
{
|
|
24
37
|
name: 'get_feature_group_release_cycle',
|
|
25
|
-
description: 'Get the effective release cycle assigned to a feature group
|
|
38
|
+
description: 'Get the effective release cycle assigned to a feature group. ' +
|
|
26
39
|
'Returns the cycle details plus an "inherited" flag — true means the cycle comes from a parent (module), ' +
|
|
27
40
|
'false means it is directly assigned. Returns null if no cycle is assigned at any level. ' +
|
|
28
41
|
'Use this to detect missing release cycle links before calling set_feature_group_release_cycle.',
|
|
@@ -30,53 +43,53 @@ exports.releaseCycleLinkToolDefinitions = [
|
|
|
30
43
|
type: 'object',
|
|
31
44
|
properties: {
|
|
32
45
|
productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
|
|
33
|
-
|
|
46
|
+
featureGroupId: { type: 'string', description: 'Feature group UUID.' },
|
|
34
47
|
},
|
|
35
|
-
required: ['
|
|
48
|
+
required: ['featureGroupId'],
|
|
36
49
|
},
|
|
37
50
|
},
|
|
38
51
|
{
|
|
39
52
|
name: 'set_feature_group_release_cycle',
|
|
40
|
-
description: 'Assign or update the release cycle for a feature group
|
|
53
|
+
description: 'Assign or update the release cycle for a feature group. ' +
|
|
41
54
|
'Replaces any existing assignment. Also cascades to child features that previously ' +
|
|
42
55
|
'inherited the old parent cycle. Use list_release_cycles to get valid releaseCycleIds.',
|
|
43
56
|
inputSchema: {
|
|
44
57
|
type: 'object',
|
|
45
58
|
properties: {
|
|
46
59
|
productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
|
|
47
|
-
|
|
60
|
+
featureGroupId: { type: 'string', description: 'Feature group UUID.' },
|
|
48
61
|
releaseCycleId: { type: 'string', description: 'Release cycle UUID to assign.' },
|
|
49
62
|
},
|
|
50
|
-
required: ['
|
|
63
|
+
required: ['featureGroupId', 'releaseCycleId'],
|
|
51
64
|
},
|
|
52
65
|
},
|
|
53
66
|
{
|
|
54
67
|
name: 'get_feature_release_cycle',
|
|
55
|
-
description: 'Get the effective release cycle for a feature
|
|
68
|
+
description: 'Get the effective release cycle for a feature. ' +
|
|
56
69
|
'Returns cycle details plus "inherited" flag — if inherited=true, the cycle comes from the parent feature group. ' +
|
|
57
70
|
'Returns null if no cycle is assigned at any level.',
|
|
58
71
|
inputSchema: {
|
|
59
72
|
type: 'object',
|
|
60
73
|
properties: {
|
|
61
74
|
productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
|
|
62
|
-
|
|
75
|
+
featureId: { type: 'string', description: 'Feature UUID.' },
|
|
63
76
|
},
|
|
64
|
-
required: ['
|
|
77
|
+
required: ['featureId'],
|
|
65
78
|
},
|
|
66
79
|
},
|
|
67
80
|
{
|
|
68
81
|
name: 'set_feature_release_cycle',
|
|
69
|
-
description: 'Assign or update the release cycle for a specific feature
|
|
82
|
+
description: 'Assign or update the release cycle for a specific feature. ' +
|
|
70
83
|
'This overrides any inherited cycle from the parent feature group with an explicit direct assignment. ' +
|
|
71
84
|
'Use list_release_cycles to get valid releaseCycleIds.',
|
|
72
85
|
inputSchema: {
|
|
73
86
|
type: 'object',
|
|
74
87
|
properties: {
|
|
75
88
|
productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
|
|
76
|
-
|
|
89
|
+
featureId: { type: 'string', description: 'Feature UUID.' },
|
|
77
90
|
releaseCycleId: { type: 'string', description: 'Release cycle UUID to assign.' },
|
|
78
91
|
},
|
|
79
|
-
required: ['
|
|
92
|
+
required: ['featureId', 'releaseCycleId'],
|
|
80
93
|
},
|
|
81
94
|
},
|
|
82
95
|
];
|
|
@@ -86,11 +99,22 @@ async function handleReleaseCycleLinkTool(toolName, args) {
|
|
|
86
99
|
return { content: [{ type: 'text', text: 'Error: productId is required (or set AUTOPROJECT_PRODUCT_ID env).' }] };
|
|
87
100
|
}
|
|
88
101
|
switch (toolName) {
|
|
102
|
+
case 'list_release_cycles': {
|
|
103
|
+
const data = await (0, client_js_1.apiGet)(`/products/${productId}/release-cycles`, {
|
|
104
|
+
limit: args.limit,
|
|
105
|
+
});
|
|
106
|
+
const items = data?.items ?? [];
|
|
107
|
+
if (items.length === 0) {
|
|
108
|
+
return { content: [{ type: 'text', text: 'No release cycles found for this product.' }] };
|
|
109
|
+
}
|
|
110
|
+
const lines = items.map((c) => `[${c.id}] ${c.name}\n Status: ${c.status ?? 'N/A'} | ${c.startDate ?? '?'} → ${c.endDate ?? '?'}`);
|
|
111
|
+
return { content: [{ type: 'text', text: `Release cycles (${items.length}):\n\n${lines.join('\n\n')}` }] };
|
|
112
|
+
}
|
|
89
113
|
case 'get_feature_group_release_cycle': {
|
|
90
|
-
const
|
|
91
|
-
if (!
|
|
92
|
-
return { content: [{ type: 'text', text: 'Error:
|
|
93
|
-
const data = await (0, client_js_1.apiGet)(`/products/${productId}/
|
|
114
|
+
const featureGroupId = args.featureGroupId;
|
|
115
|
+
if (!featureGroupId)
|
|
116
|
+
return { content: [{ type: 'text', text: 'Error: featureGroupId is required.' }] };
|
|
117
|
+
const data = await (0, client_js_1.apiGet)(`/products/${productId}/feature-groups/${featureGroupId}/release-cycle`);
|
|
94
118
|
if (data === null || data === undefined) {
|
|
95
119
|
return { content: [{ type: 'text', text: 'No release cycle is assigned to this feature group.' }] };
|
|
96
120
|
}
|
|
@@ -100,7 +124,7 @@ async function handleReleaseCycleLinkTool(toolName, args) {
|
|
|
100
124
|
content: [
|
|
101
125
|
{
|
|
102
126
|
type: 'text',
|
|
103
|
-
text: `Release cycle for feature group ${
|
|
127
|
+
text: `Release cycle for feature group ${featureGroupId}:\n` +
|
|
104
128
|
`[${cycle.id}] ${cycle.name}${inheritedNote}\n` +
|
|
105
129
|
`Status: ${cycle.status ?? 'N/A'} | ${cycle.startDate ?? '?'} → ${cycle.endDate ?? '?'}`,
|
|
106
130
|
},
|
|
@@ -108,19 +132,19 @@ async function handleReleaseCycleLinkTool(toolName, args) {
|
|
|
108
132
|
};
|
|
109
133
|
}
|
|
110
134
|
case 'set_feature_group_release_cycle': {
|
|
111
|
-
const
|
|
112
|
-
if (!
|
|
113
|
-
return { content: [{ type: 'text', text: 'Error:
|
|
135
|
+
const featureGroupId = args.featureGroupId;
|
|
136
|
+
if (!featureGroupId)
|
|
137
|
+
return { content: [{ type: 'text', text: 'Error: featureGroupId is required.' }] };
|
|
114
138
|
const releaseCycleId = args.releaseCycleId;
|
|
115
139
|
if (!releaseCycleId)
|
|
116
140
|
return { content: [{ type: 'text', text: 'Error: releaseCycleId is required.' }] };
|
|
117
|
-
const data = await (0, client_js_1.apiPut)(`/products/${productId}/
|
|
141
|
+
const data = await (0, client_js_1.apiPut)(`/products/${productId}/feature-groups/${featureGroupId}/release-cycle`, { releaseCycleId });
|
|
118
142
|
return {
|
|
119
143
|
content: [
|
|
120
144
|
{
|
|
121
145
|
type: 'text',
|
|
122
146
|
text: `Release cycle assigned to feature group.\n` +
|
|
123
|
-
`Feature group: ${
|
|
147
|
+
`Feature group: ${featureGroupId}\n` +
|
|
124
148
|
`Cycle: [${data.releaseCycleId}] ${data.releaseCycleName}\n` +
|
|
125
149
|
`(Child features that shared the previous cycle have been updated too.)`,
|
|
126
150
|
},
|
|
@@ -128,10 +152,10 @@ async function handleReleaseCycleLinkTool(toolName, args) {
|
|
|
128
152
|
};
|
|
129
153
|
}
|
|
130
154
|
case 'get_feature_release_cycle': {
|
|
131
|
-
const
|
|
132
|
-
if (!
|
|
133
|
-
return { content: [{ type: 'text', text: 'Error:
|
|
134
|
-
const data = await (0, client_js_1.apiGet)(`/products/${productId}/
|
|
155
|
+
const featureId = args.featureId;
|
|
156
|
+
if (!featureId)
|
|
157
|
+
return { content: [{ type: 'text', text: 'Error: featureId is required.' }] };
|
|
158
|
+
const data = await (0, client_js_1.apiGet)(`/products/${productId}/features/${featureId}/release-cycle`);
|
|
135
159
|
if (data === null || data === undefined) {
|
|
136
160
|
return { content: [{ type: 'text', text: 'No release cycle is assigned to this feature (not even inherited).' }] };
|
|
137
161
|
}
|
|
@@ -141,7 +165,7 @@ async function handleReleaseCycleLinkTool(toolName, args) {
|
|
|
141
165
|
content: [
|
|
142
166
|
{
|
|
143
167
|
type: 'text',
|
|
144
|
-
text: `Release cycle for feature ${
|
|
168
|
+
text: `Release cycle for feature ${featureId}:\n` +
|
|
145
169
|
`[${cycle.id}] ${cycle.name}${inheritedNote}\n` +
|
|
146
170
|
`Status: ${cycle.status ?? 'N/A'} | ${cycle.startDate ?? '?'} → ${cycle.endDate ?? '?'}`,
|
|
147
171
|
},
|
|
@@ -149,19 +173,19 @@ async function handleReleaseCycleLinkTool(toolName, args) {
|
|
|
149
173
|
};
|
|
150
174
|
}
|
|
151
175
|
case 'set_feature_release_cycle': {
|
|
152
|
-
const
|
|
153
|
-
if (!
|
|
154
|
-
return { content: [{ type: 'text', text: 'Error:
|
|
176
|
+
const featureId = args.featureId;
|
|
177
|
+
if (!featureId)
|
|
178
|
+
return { content: [{ type: 'text', text: 'Error: featureId is required.' }] };
|
|
155
179
|
const releaseCycleId = args.releaseCycleId;
|
|
156
180
|
if (!releaseCycleId)
|
|
157
181
|
return { content: [{ type: 'text', text: 'Error: releaseCycleId is required.' }] };
|
|
158
|
-
const data = await (0, client_js_1.apiPut)(`/products/${productId}/
|
|
182
|
+
const data = await (0, client_js_1.apiPut)(`/products/${productId}/features/${featureId}/release-cycle`, { releaseCycleId });
|
|
159
183
|
return {
|
|
160
184
|
content: [
|
|
161
185
|
{
|
|
162
186
|
type: 'text',
|
|
163
187
|
text: `Release cycle assigned to feature.\n` +
|
|
164
|
-
`Feature: ${
|
|
188
|
+
`Feature: ${featureId}\n` +
|
|
165
189
|
`Cycle: [${data.releaseCycleId}] ${data.releaseCycleName}`,
|
|
166
190
|
},
|
|
167
191
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseCycleLinkTools.js","sourceRoot":"","sources":["../../src/tools/releaseCycleLinkTools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;
|
|
1
|
+
{"version":3,"file":"releaseCycleLinkTools.js","sourceRoot":"","sources":["../../src/tools/releaseCycleLinkTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Tools: UI Blueprint screen management
|
|
3
|
-
* Tools: list_screens, get_screen, create_screen,
|
|
3
|
+
* Tools: list_screens, get_screen, create_screen, bulk_create_screens,
|
|
4
|
+
* update_screen, delete_screen
|
|
4
5
|
*
|
|
5
6
|
* Screens belong to an application's UI blueprint. A screen's "page URL" is the
|
|
6
7
|
* `pageUrl` field (the screen route). Agents address screens by applicationId;
|
|
7
8
|
* use list_applications first to discover application IDs.
|
|
9
|
+
*
|
|
10
|
+
* Typical sync workflow (codebase → AutoProject UI Blueprint):
|
|
11
|
+
* 1. list_applications → pick applicationId
|
|
12
|
+
* 2. list_screens → existing blueprint screens
|
|
13
|
+
* 3. Traverse the app codebase for routes / screen names
|
|
14
|
+
* 4. create_screen or bulk_create_screens for missing screens
|
|
15
|
+
* 5. update_screen to rename or set pageUrl when names/routes changed
|
|
8
16
|
*/
|
|
9
17
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
10
18
|
export declare const screenToolDefinitions: Tool[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenTools.d.ts","sourceRoot":"","sources":["../../src/tools/screenTools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screenTools.d.ts","sourceRoot":"","sources":["../../src/tools/screenTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK1D,eAAO,MAAM,qBAAqB,EAAE,IAAI,EA4HvC,CAAC;AAUF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBA0CjF"}
|