autoproject-mcp 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.
Files changed (82) hide show
  1. package/README.md +135 -0
  2. package/dist/client.d.ts +14 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +62 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +17 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +188 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/prompts/index.d.ts +14 -0
  11. package/dist/prompts/index.d.ts.map +1 -0
  12. package/dist/prompts/index.js +128 -0
  13. package/dist/prompts/index.js.map +1 -0
  14. package/dist/resources/index.d.ts +21 -0
  15. package/dist/resources/index.d.ts.map +1 -0
  16. package/dist/resources/index.js +81 -0
  17. package/dist/resources/index.js.map +1 -0
  18. package/dist/tools/applicationTools.d.ts +24 -0
  19. package/dist/tools/applicationTools.d.ts.map +1 -0
  20. package/dist/tools/applicationTools.js +160 -0
  21. package/dist/tools/applicationTools.js.map +1 -0
  22. package/dist/tools/copilotTools.d.ts +8 -0
  23. package/dist/tools/copilotTools.d.ts.map +1 -0
  24. package/dist/tools/copilotTools.js +55 -0
  25. package/dist/tools/copilotTools.js.map +1 -0
  26. package/dist/tools/defectTools.d.ts +8 -0
  27. package/dist/tools/defectTools.d.ts.map +1 -0
  28. package/dist/tools/defectTools.js +144 -0
  29. package/dist/tools/defectTools.js.map +1 -0
  30. package/dist/tools/documentTools.d.ts +18 -0
  31. package/dist/tools/documentTools.d.ts.map +1 -0
  32. package/dist/tools/documentTools.js +146 -0
  33. package/dist/tools/documentTools.js.map +1 -0
  34. package/dist/tools/evidenceTools.d.ts +8 -0
  35. package/dist/tools/evidenceTools.d.ts.map +1 -0
  36. package/dist/tools/evidenceTools.js +63 -0
  37. package/dist/tools/evidenceTools.js.map +1 -0
  38. package/dist/tools/hierarchyTools.d.ts +8 -0
  39. package/dist/tools/hierarchyTools.d.ts.map +1 -0
  40. package/dist/tools/hierarchyTools.js +86 -0
  41. package/dist/tools/hierarchyTools.js.map +1 -0
  42. package/dist/tools/importTools.d.ts +22 -0
  43. package/dist/tools/importTools.d.ts.map +1 -0
  44. package/dist/tools/importTools.js +145 -0
  45. package/dist/tools/importTools.js.map +1 -0
  46. package/dist/tools/launchPlanTools.d.ts +19 -0
  47. package/dist/tools/launchPlanTools.d.ts.map +1 -0
  48. package/dist/tools/launchPlanTools.js +319 -0
  49. package/dist/tools/launchPlanTools.js.map +1 -0
  50. package/dist/tools/productTools.d.ts +8 -0
  51. package/dist/tools/productTools.d.ts.map +1 -0
  52. package/dist/tools/productTools.js +80 -0
  53. package/dist/tools/productTools.js.map +1 -0
  54. package/dist/tools/releaseCycleLinkTools.d.ts +24 -0
  55. package/dist/tools/releaseCycleLinkTools.d.ts.map +1 -0
  56. package/dist/tools/releaseCycleLinkTools.js +174 -0
  57. package/dist/tools/releaseCycleLinkTools.js.map +1 -0
  58. package/dist/tools/screenTools.d.ts +12 -0
  59. package/dist/tools/screenTools.d.ts.map +1 -0
  60. package/dist/tools/screenTools.js +125 -0
  61. package/dist/tools/screenTools.js.map +1 -0
  62. package/dist/tools/testTools.d.ts +8 -0
  63. package/dist/tools/testTools.d.ts.map +1 -0
  64. package/dist/tools/testTools.js +91 -0
  65. package/dist/tools/testTools.js.map +1 -0
  66. package/dist/tools/ticketTools.d.ts +18 -0
  67. package/dist/tools/ticketTools.d.ts.map +1 -0
  68. package/dist/tools/ticketTools.js +138 -0
  69. package/dist/tools/ticketTools.js.map +1 -0
  70. package/dist/tools/todoTools.d.ts +8 -0
  71. package/dist/tools/todoTools.d.ts.map +1 -0
  72. package/dist/tools/todoTools.js +104 -0
  73. package/dist/tools/todoTools.js.map +1 -0
  74. package/dist/tools/useCaseTools.d.ts +8 -0
  75. package/dist/tools/useCaseTools.d.ts.map +1 -0
  76. package/dist/tools/useCaseTools.js +238 -0
  77. package/dist/tools/useCaseTools.js.map +1 -0
  78. package/dist/tools/workTools.d.ts +8 -0
  79. package/dist/tools/workTools.d.ts.map +1 -0
  80. package/dist/tools/workTools.js +99 -0
  81. package/dist/tools/workTools.js.map +1 -0
  82. package/package.json +37 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releaseCycleLinkTools.js","sourceRoot":"","sources":["../../src/tools/releaseCycleLinkTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MCP Tools: UI Blueprint screen management
3
+ * Tools: list_screens, get_screen, create_screen, update_screen, delete_screen
4
+ *
5
+ * Screens belong to an application's UI blueprint. A screen's "page URL" is the
6
+ * `pageUrl` field (the screen route). Agents address screens by applicationId;
7
+ * use list_applications first to discover application IDs.
8
+ */
9
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
10
+ export declare const screenToolDefinitions: Tool[];
11
+ export declare function handleScreenTool(name: string, args: Record<string, unknown>): Promise<unknown>;
12
+ //# sourceMappingURL=screenTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenTools.d.ts","sourceRoot":"","sources":["../../src/tools/screenTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,qBAAqB,EAAE,IAAI,EA6EvC,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAiCjF"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tools: UI Blueprint screen management
4
+ * Tools: list_screens, get_screen, create_screen, update_screen, delete_screen
5
+ *
6
+ * Screens belong to an application's UI blueprint. A screen's "page URL" is the
7
+ * `pageUrl` field (the screen route). Agents address screens by applicationId;
8
+ * use list_applications first to discover application IDs.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.screenToolDefinitions = void 0;
12
+ exports.handleScreenTool = handleScreenTool;
13
+ const client_js_1 = require("../client.js");
14
+ exports.screenToolDefinitions = [
15
+ {
16
+ name: 'list_screens',
17
+ description: "List all screens in an application's UI blueprint, including each screen's page URL (route), "
18
+ + 'type, and status. Use list_applications first to get the applicationId.',
19
+ inputSchema: {
20
+ type: 'object',
21
+ properties: {
22
+ productId: { type: 'string', description: 'Product ID' },
23
+ applicationId: { type: 'string', description: 'Application ID (the app whose blueprint screens to list)' },
24
+ },
25
+ required: ['productId', 'applicationId'],
26
+ },
27
+ },
28
+ {
29
+ name: 'get_screen',
30
+ description: 'Get a single screen including its page URL (route), type, status, and description.',
31
+ inputSchema: {
32
+ type: 'object',
33
+ properties: {
34
+ productId: { type: 'string', description: 'Product ID' },
35
+ applicationId: { type: 'string', description: 'Application ID' },
36
+ screenId: { type: 'string', description: 'Screen ID' },
37
+ },
38
+ required: ['productId', 'applicationId', 'screenId'],
39
+ },
40
+ },
41
+ {
42
+ name: 'create_screen',
43
+ description: "Add a new screen to an application's UI blueprint, optionally with its page URL (route).",
44
+ inputSchema: {
45
+ type: 'object',
46
+ properties: {
47
+ productId: { type: 'string', description: 'Product ID' },
48
+ applicationId: { type: 'string', description: 'Application ID' },
49
+ name: { type: 'string', description: 'Screen name' },
50
+ pageUrl: { type: 'string', description: 'Page URL / route for the screen (e.g. /dashboard)' },
51
+ description: { type: 'string', description: 'Optional screen description' },
52
+ screenType: { type: 'string', description: 'Optional screen type (default CUSTOM)' },
53
+ status: { type: 'string', description: 'Optional initial status' },
54
+ parentScreenId: { type: 'string', description: 'Optional parent screen ID to nest under a container' },
55
+ },
56
+ required: ['productId', 'applicationId', 'name'],
57
+ },
58
+ },
59
+ {
60
+ name: 'update_screen',
61
+ description: 'Update an existing screen β€” most commonly to set or change its page URL (route). '
62
+ + 'You can also update name, description, or status. Only provided fields are changed.',
63
+ inputSchema: {
64
+ type: 'object',
65
+ properties: {
66
+ productId: { type: 'string', description: 'Product ID' },
67
+ applicationId: { type: 'string', description: 'Application ID' },
68
+ screenId: { type: 'string', description: 'Screen ID' },
69
+ pageUrl: { type: 'string', description: 'New page URL / route for the screen' },
70
+ name: { type: 'string', description: 'New screen name' },
71
+ description: { type: 'string', description: 'New screen description' },
72
+ status: { type: 'string', description: 'New status' },
73
+ },
74
+ required: ['productId', 'applicationId', 'screenId'],
75
+ },
76
+ },
77
+ {
78
+ name: 'delete_screen',
79
+ description: 'Delete a screen from an application UI blueprint (soft delete; cascades to child screens).',
80
+ inputSchema: {
81
+ type: 'object',
82
+ properties: {
83
+ productId: { type: 'string', description: 'Product ID' },
84
+ applicationId: { type: 'string', description: 'Application ID' },
85
+ screenId: { type: 'string', description: 'Screen ID' },
86
+ },
87
+ required: ['productId', 'applicationId', 'screenId'],
88
+ },
89
+ },
90
+ ];
91
+ async function handleScreenTool(name, args) {
92
+ const base = `/products/${args.productId}/applications/${args.applicationId}/screens`;
93
+ switch (name) {
94
+ case 'list_screens': {
95
+ return await (0, client_js_1.apiGet)(base);
96
+ }
97
+ case 'get_screen': {
98
+ return await (0, client_js_1.apiGet)(`${base}/${args.screenId}`);
99
+ }
100
+ case 'create_screen': {
101
+ return await (0, client_js_1.apiPost)(base, {
102
+ name: args.name,
103
+ pageUrl: args.pageUrl,
104
+ description: args.description,
105
+ screenType: args.screenType,
106
+ status: args.status,
107
+ parentScreenId: args.parentScreenId,
108
+ });
109
+ }
110
+ case 'update_screen': {
111
+ return await (0, client_js_1.apiPatch)(`${base}/${args.screenId}`, {
112
+ pageUrl: args.pageUrl,
113
+ name: args.name,
114
+ description: args.description,
115
+ status: args.status,
116
+ });
117
+ }
118
+ case 'delete_screen': {
119
+ return await (0, client_js_1.apiDelete)(`${base}/${args.screenId}`);
120
+ }
121
+ default:
122
+ throw new Error(`Unknown screen tool: ${name}`);
123
+ }
124
+ }
125
+ //# sourceMappingURL=screenTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenTools.js","sourceRoot":"","sources":["../../src/tools/screenTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MCP Tools: Test management
3
+ * Tools: list_test_scripts, record_test_result, suggest_tests
4
+ */
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ export declare const testToolDefinitions: Tool[];
7
+ export declare function handleTestTool(name: string, args: Record<string, unknown>): Promise<unknown>;
8
+ //# sourceMappingURL=testTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testTools.d.ts","sourceRoot":"","sources":["../../src/tools/testTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,mBAAmB,EAAE,IAAI,EAqDrC,CAAC;AAEF,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBA0B/E"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tools: Test management
4
+ * Tools: list_test_scripts, record_test_result, suggest_tests
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.testToolDefinitions = void 0;
8
+ exports.handleTestTool = handleTestTool;
9
+ const client_js_1 = require("../client.js");
10
+ exports.testToolDefinitions = [
11
+ {
12
+ name: 'list_test_scripts',
13
+ description: 'List test scripts for a product or feature.',
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {
17
+ productId: { type: 'string', description: 'Product ID' },
18
+ featureId: { type: 'string', description: 'Filter by feature ID (optional)' },
19
+ status: { type: 'string', description: 'Filter by status' },
20
+ limit: { type: 'number', description: 'Max results' },
21
+ },
22
+ required: ['productId'],
23
+ },
24
+ },
25
+ {
26
+ name: 'record_test_result',
27
+ description: 'Record the result of a test execution (PASS, FAIL, or SKIP).',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ productId: { type: 'string', description: 'Product ID' },
32
+ testScriptId: { type: 'string', description: 'Test script ID' },
33
+ status: { type: 'string', enum: ['PASS', 'FAIL', 'SKIP'], description: 'Test result' },
34
+ executionNote: { type: 'string', description: 'Notes about the test run' },
35
+ defectId: { type: 'string', description: 'Linked defect ID if FAIL (optional)' },
36
+ },
37
+ required: ['productId', 'testScriptId', 'status'],
38
+ },
39
+ },
40
+ {
41
+ name: 'suggest_tests',
42
+ description: 'Create draft test script suggestions based on feature analysis.',
43
+ inputSchema: {
44
+ type: 'object',
45
+ properties: {
46
+ productId: { type: 'string', description: 'Product ID' },
47
+ featureId: { type: 'string', description: 'Feature ID to create test suggestions for' },
48
+ suggestions: {
49
+ type: 'array',
50
+ description: 'Array of test suggestions',
51
+ items: {
52
+ type: 'object',
53
+ properties: {
54
+ name: { type: 'string' },
55
+ description: { type: 'string' },
56
+ },
57
+ },
58
+ },
59
+ },
60
+ required: ['productId', 'suggestions'],
61
+ },
62
+ },
63
+ ];
64
+ async function handleTestTool(name, args) {
65
+ switch (name) {
66
+ case 'list_test_scripts': {
67
+ return await (0, client_js_1.apiGet)(`/products/${args.productId}/test-scripts`, {
68
+ featureId: args.featureId,
69
+ status: args.status,
70
+ limit: args.limit,
71
+ });
72
+ }
73
+ case 'record_test_result': {
74
+ return await (0, client_js_1.apiPost)(`/products/${args.productId}/test-results`, {
75
+ testScriptId: args.testScriptId,
76
+ status: args.status,
77
+ executionNote: args.executionNote,
78
+ defectId: args.defectId,
79
+ });
80
+ }
81
+ case 'suggest_tests': {
82
+ return await (0, client_js_1.apiPost)(`/products/${args.productId}/test-suggestions`, {
83
+ featureId: args.featureId,
84
+ suggestions: args.suggestions,
85
+ });
86
+ }
87
+ default:
88
+ throw new Error(`Unknown test tool: ${name}`);
89
+ }
90
+ }
91
+ //# sourceMappingURL=testTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testTools.js","sourceRoot":"","sources":["../../src/tools/testTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * MCP Tools: Support Ticket Management
3
+ *
4
+ * Provides 3 tools for reading and updating support tickets via the AutoProject Agent API.
5
+ *
6
+ * Statuses: OPEN β†’ TRIAGED β†’ IN_PROGRESS β†’ WAITING_ON_REQUESTER | WAITING_ON_INTERNAL β†’ RESOLVED β†’ CLOSED | REOPENED
7
+ * Priorities: LOW, MEDIUM, HIGH, URGENT
8
+ * Categories: REQUEST, BUG, INCIDENT, QUESTION
9
+ */
10
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
11
+ export declare const ticketToolDefinitions: Tool[];
12
+ export declare function handleTicketTool(toolName: string, args: Record<string, unknown>): Promise<{
13
+ content: {
14
+ type: string;
15
+ text: string;
16
+ }[];
17
+ }>;
18
+ //# sourceMappingURL=ticketTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticketTools.d.ts","sourceRoot":"","sources":["../../src/tools/ticketTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK1D,eAAO,MAAM,qBAAqB,EAAE,IAAI,EAgEvC,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GA+DrF"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tools: Support Ticket Management
4
+ *
5
+ * Provides 3 tools for reading and updating support tickets via the AutoProject Agent API.
6
+ *
7
+ * Statuses: OPEN β†’ TRIAGED β†’ IN_PROGRESS β†’ WAITING_ON_REQUESTER | WAITING_ON_INTERNAL β†’ RESOLVED β†’ CLOSED | REOPENED
8
+ * Priorities: LOW, MEDIUM, HIGH, URGENT
9
+ * Categories: REQUEST, BUG, INCIDENT, QUESTION
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ticketToolDefinitions = void 0;
13
+ exports.handleTicketTool = handleTicketTool;
14
+ const client_js_1 = require("../client.js");
15
+ const DEFAULT_PRODUCT_ID = process.env.AUTOPROJECT_PRODUCT_ID ?? '';
16
+ exports.ticketToolDefinitions = [
17
+ {
18
+ name: 'list_tickets',
19
+ description: 'List support tickets for a product. Supports filtering by status, priority, category, and free-text search.',
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
24
+ status: {
25
+ type: 'string',
26
+ enum: ['OPEN', 'TRIAGED', 'IN_PROGRESS', 'WAITING_ON_REQUESTER', 'WAITING_ON_INTERNAL', 'RESOLVED', 'CLOSED', 'REOPENED'],
27
+ description: 'Filter by status.',
28
+ },
29
+ priority: {
30
+ type: 'string',
31
+ enum: ['LOW', 'MEDIUM', 'HIGH', 'URGENT'],
32
+ description: 'Filter by priority.',
33
+ },
34
+ category: {
35
+ type: 'string',
36
+ enum: ['REQUEST', 'BUG', 'INCIDENT', 'QUESTION'],
37
+ description: 'Filter by category.',
38
+ },
39
+ search: { type: 'string', description: 'Full-text search on subject/description.' },
40
+ page: { type: 'number', description: 'Page number (1-based). Default: 1.' },
41
+ pageSize: { type: 'number', description: 'Results per page. Default: 20.' },
42
+ },
43
+ required: [],
44
+ },
45
+ },
46
+ {
47
+ name: 'get_ticket',
48
+ description: 'Get full detail of a support ticket including requester, assignee, and resolution note.',
49
+ inputSchema: {
50
+ type: 'object',
51
+ properties: {
52
+ productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
53
+ ticketId: { type: 'string', description: 'Ticket UUID.' },
54
+ },
55
+ required: ['ticketId'],
56
+ },
57
+ },
58
+ {
59
+ name: 'update_ticket_status',
60
+ description: 'Transition a support ticket to a new status. ' +
61
+ 'Allowed flow: OPEN β†’ TRIAGED β†’ IN_PROGRESS β†’ WAITING_ON_REQUESTER | WAITING_ON_INTERNAL β†’ RESOLVED β†’ CLOSED. ' +
62
+ 'REOPENED is reachable from RESOLVED or CLOSED. Transitions are validated by the server.',
63
+ inputSchema: {
64
+ type: 'object',
65
+ properties: {
66
+ productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
67
+ ticketId: { type: 'string', description: 'Ticket UUID.' },
68
+ status: {
69
+ type: 'string',
70
+ enum: ['OPEN', 'TRIAGED', 'IN_PROGRESS', 'WAITING_ON_REQUESTER', 'WAITING_ON_INTERNAL', 'RESOLVED', 'CLOSED', 'REOPENED'],
71
+ description: 'Target status.',
72
+ },
73
+ resolutionNote: { type: 'string', description: 'Optional resolution note (recommended when moving to RESOLVED).' },
74
+ },
75
+ required: ['ticketId', 'status'],
76
+ },
77
+ },
78
+ ];
79
+ async function handleTicketTool(toolName, args) {
80
+ const productId = args.productId || DEFAULT_PRODUCT_ID;
81
+ if (!productId) {
82
+ return { content: [{ type: 'text', text: 'Error: productId is required (or set AUTOPROJECT_PRODUCT_ID env).' }] };
83
+ }
84
+ const ticketId = args.ticketId;
85
+ switch (toolName) {
86
+ case 'list_tickets': {
87
+ const params = {};
88
+ if (args.status)
89
+ params.status = args.status;
90
+ if (args.priority)
91
+ params.priority = args.priority;
92
+ if (args.category)
93
+ params.category = args.category;
94
+ if (args.search)
95
+ params.search = args.search;
96
+ if (args.page)
97
+ params.page = args.page;
98
+ if (args.pageSize)
99
+ params.pageSize = args.pageSize;
100
+ const data = await (0, client_js_1.apiGet)(`/products/${productId}/tickets`, params);
101
+ const items = data?.items ?? [];
102
+ const total = data?.total ?? items.length;
103
+ if (items.length === 0) {
104
+ return { content: [{ type: 'text', text: 'No tickets found.' }] };
105
+ }
106
+ const lines = items.map((t) => `[${t.id}] ${t.ticketKey ?? 'SUP-?'} | ${t.priority} | ${t.status} | ${t.category}\n Subject: ${t.subject}`);
107
+ return { content: [{ type: 'text', text: `Tickets (${items.length} of ${total}):\n${lines.join('\n')}` }] };
108
+ }
109
+ case 'get_ticket': {
110
+ if (!ticketId)
111
+ return { content: [{ type: 'text', text: 'Error: ticketId is required.' }] };
112
+ const data = await (0, client_js_1.apiGet)(`/products/${productId}/tickets/${ticketId}`);
113
+ const t = data;
114
+ const text = `Ticket: ${t.ticketKey ?? 'SUP-?'} β€” ${t.subject}\n` +
115
+ `ID: ${t.id}\n` +
116
+ `Status: ${t.status} | Priority: ${t.priority} | Category: ${t.category}\n` +
117
+ `Requester: ${t.requesterName ?? 'N/A'} (${t.requesterEmail ?? 'N/A'})\n` +
118
+ `Assignee ID: ${t.assigneeId ?? 'unassigned'}\n` +
119
+ `Due: ${t.dueAt ?? 'N/A'}\n` +
120
+ `Description: ${t.description ?? 'N/A'}\n` +
121
+ `Resolution: ${t.resolutionNote ?? 'N/A'}`;
122
+ return { content: [{ type: 'text', text }] };
123
+ }
124
+ case 'update_ticket_status': {
125
+ if (!ticketId)
126
+ return { content: [{ type: 'text', text: 'Error: ticketId is required.' }] };
127
+ const body = { status: args.status };
128
+ if (args.resolutionNote !== undefined)
129
+ body.resolutionNote = args.resolutionNote;
130
+ const data = await (0, client_js_1.apiPatch)(`/products/${productId}/tickets/${ticketId}/status`, body);
131
+ const t = data;
132
+ return { content: [{ type: 'text', text: `Ticket status updated.\nID: ${t.id}\nNew status: ${t.status}` }] };
133
+ }
134
+ default:
135
+ return { content: [{ type: 'text', text: `Unknown ticket tool: ${toolName}` }] };
136
+ }
137
+ }
138
+ //# sourceMappingURL=ticketTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticketTools.js","sourceRoot":"","sources":["../../src/tools/ticketTools.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAyEH,4CA+DC;AArID,4CAAgD;AAEhD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;AAEvD,QAAA,qBAAqB,GAAW;IAC3C;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,6GAA6G;QAC/G,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACnG,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;oBACzH,WAAW,EAAE,mBAAmB;iBACjC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;oBACzC,WAAW,EAAE,qBAAqB;iBACnC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC;oBAChD,WAAW,EAAE,qBAAqB;iBACnC;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACnF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBAC3E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;aAC5E;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,yFAAyF;QACtG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACnG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;aAC1D;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,+CAA+C;YAC/C,+GAA+G;YAC/G,yFAAyF;QAC3F,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACnG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACzD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;oBACzH,WAAW,EAAE,gBAAgB;iBAC9B;gBACD,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;aACnH;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;SACjC;KACF;CACF,CAAC;AAEK,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAA6B;IACpF,MAAM,SAAS,GAAI,IAAI,CAAC,SAAgC,IAAI,kBAAkB,CAAC;IAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,EAAE,CAAC;IACpH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IAErD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7C,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvC,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEnD,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAM,EAAM,aAAa,SAAS,UAAU,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,KAAK,GAA8B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAW,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YAElD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACpE,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,QAAQ,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAC7G,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,CAAC,MAAM,OAAO,KAAK,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9G,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,EAAE,CAAC;YAE5F,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAM,EAAM,aAAa,SAAS,YAAY,QAAQ,EAAE,CAAC,CAAC;YAC7E,MAAM,CAAC,GAAG,IAAI,CAAC;YACf,MAAM,IAAI,GACR,WAAW,CAAC,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,CAAC,OAAO,IAAI;gBACpD,OAAO,CAAC,CAAC,EAAE,IAAI;gBACf,WAAW,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,QAAQ,gBAAgB,CAAC,CAAC,QAAQ,IAAI;gBAC3E,cAAc,CAAC,CAAC,aAAa,IAAI,KAAK,KAAK,CAAC,CAAC,cAAc,IAAI,KAAK,KAAK;gBACzE,gBAAgB,CAAC,CAAC,UAAU,IAAI,YAAY,IAAI;gBAChD,QAAQ,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI;gBAC5B,gBAAgB,CAAC,CAAC,WAAW,IAAI,KAAK,IAAI;gBAC1C,eAAe,CAAC,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,EAAE,CAAC;YAE5F,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;gBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAEjF,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAQ,EAAM,aAAa,SAAS,YAAY,QAAQ,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5F,MAAM,CAAC,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/G,CAAC;QAED;YACE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MCP Tools: Todo (UserTask) management
3
+ * Tools: list_todos, update_todo_status
4
+ */
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ export declare const todoToolDefinitions: Tool[];
7
+ export declare function handleTodoTool(name: string, args: Record<string, unknown>): Promise<unknown>;
8
+ //# sourceMappingURL=todoTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todoTools.d.ts","sourceRoot":"","sources":["../../src/tools/todoTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAS1D,eAAO,MAAM,mBAAmB,EAAE,IAAI,EA0CrC,CAAC;AAUF,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDlG"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tools: Todo (UserTask) management
4
+ * Tools: list_todos, update_todo_status
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.todoToolDefinitions = void 0;
8
+ exports.handleTodoTool = handleTodoTool;
9
+ const client_js_1 = require("../client.js");
10
+ const PRODUCT_ID = process.env.AUTOPROJECT_PRODUCT_ID ?? '';
11
+ function resolveProductId(args) {
12
+ return args.productId || PRODUCT_ID;
13
+ }
14
+ exports.todoToolDefinitions = [
15
+ {
16
+ name: 'list_todos',
17
+ description: 'List todos (action items / user tasks) for a product. Supports filtering by status and priority. ' +
18
+ 'Statuses: PENDING, IN_PROGRESS, COMPLETED, CANCELLED, ON_HOLD.',
19
+ inputSchema: {
20
+ type: 'object',
21
+ properties: {
22
+ productId: { type: 'string', description: 'Product ID (falls back to AUTOPROJECT_PRODUCT_ID env var)' },
23
+ status: {
24
+ type: 'string',
25
+ enum: ['PENDING', 'IN_PROGRESS', 'COMPLETED', 'CANCELLED', 'ON_HOLD'],
26
+ description: 'Filter by status',
27
+ },
28
+ priority: { type: 'string', description: 'Filter by priority (e.g. HIGH, NORMAL, LOW)' },
29
+ category: { type: 'string', description: 'Filter by category tag' },
30
+ limit: { type: 'number', description: 'Max results (default 50, max 200)' },
31
+ cursor: { type: 'string', description: 'Pagination cursor from previous response' },
32
+ },
33
+ required: [],
34
+ },
35
+ },
36
+ {
37
+ name: 'update_todo_status',
38
+ description: 'Update the status of a specific todo item for a product. ' +
39
+ 'Valid statuses: PENDING, IN_PROGRESS, COMPLETED, CANCELLED, ON_HOLD.',
40
+ inputSchema: {
41
+ type: 'object',
42
+ properties: {
43
+ productId: { type: 'string', description: 'Product ID (falls back to AUTOPROJECT_PRODUCT_ID env var)' },
44
+ todoId: { type: 'string', description: 'Todo (UserTask) ID to update (required)' },
45
+ status: {
46
+ type: 'string',
47
+ enum: ['PENDING', 'IN_PROGRESS', 'COMPLETED', 'CANCELLED', 'ON_HOLD'],
48
+ description: 'New status (required)',
49
+ },
50
+ },
51
+ required: ['todoId', 'status'],
52
+ },
53
+ },
54
+ ];
55
+ const STATUS_EMOJI = {
56
+ PENDING: '⏳',
57
+ IN_PROGRESS: 'πŸ”„',
58
+ COMPLETED: 'βœ…',
59
+ CANCELLED: '❌',
60
+ ON_HOLD: '⏸️',
61
+ };
62
+ async function handleTodoTool(name, args) {
63
+ const productId = resolveProductId(args);
64
+ switch (name) {
65
+ case 'list_todos': {
66
+ const params = {};
67
+ if (args.status)
68
+ params.status = args.status;
69
+ if (args.priority)
70
+ params.priority = args.priority;
71
+ if (args.category)
72
+ params.category = args.category;
73
+ if (args.limit)
74
+ params.limit = args.limit;
75
+ if (args.cursor)
76
+ params.cursor = args.cursor;
77
+ const result = await (0, client_js_1.apiGet)(`/products/${productId}/todos`, params);
78
+ const items = result.items ?? [];
79
+ if (!items.length) {
80
+ return 'No todos found for this product with the given filters.';
81
+ }
82
+ const lines = items.map((t, i) => {
83
+ const todo = t;
84
+ const emoji = STATUS_EMOJI[todo.status] ?? 'β€’';
85
+ const due = todo.dueDate ? ` (due: ${String(todo.dueDate).split('T')[0]})` : '';
86
+ return `${i + 1}. ${emoji} [${todo.id}] **${todo.title}** β€” ${todo.status} | ${todo.priority}${due}`;
87
+ });
88
+ return [
89
+ `Found ${items.length} todo(s):`,
90
+ ...lines,
91
+ result.nextCursor ? `\nNext cursor: ${result.nextCursor}` : '',
92
+ ]
93
+ .filter(Boolean)
94
+ .join('\n');
95
+ }
96
+ case 'update_todo_status': {
97
+ const result = await (0, client_js_1.apiPatch)(`/products/${productId}/todos/${args.todoId}/status`, { status: args.status });
98
+ return `Todo ${result.id} status updated to ${result.status}.`;
99
+ }
100
+ default:
101
+ throw new Error(`Unknown todo tool: ${name}`);
102
+ }
103
+ }
104
+ //# sourceMappingURL=todoTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todoTools.js","sourceRoot":"","sources":["../../src/tools/todoTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MCP Tools: Use case management
3
+ * Tools: list_use_cases, get_use_case, create_use_case, update_use_case, change_use_case_status
4
+ */
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ export declare const useCaseToolDefinitions: Tool[];
7
+ export declare function handleUseCaseTool(name: string, args: Record<string, unknown>): Promise<unknown>;
8
+ //# sourceMappingURL=useCaseTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCaseTools.d.ts","sourceRoot":"","sources":["../../src/tools/useCaseTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAS1D,eAAO,MAAM,sBAAsB,EAAE,IAAI,EA2HxC,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAsGrG"}