@agllama/mcp 0.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/LICENSE +21 -0
- package/README.md +249 -0
- package/dist/api-client.d.ts +71 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +315 -0
- package/dist/api-client.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +495 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/backlog.d.ts +16 -0
- package/dist/tools/backlog.d.ts.map +1 -0
- package/dist/tools/backlog.js +59 -0
- package/dist/tools/backlog.js.map +1 -0
- package/dist/tools/boards.d.ts +62 -0
- package/dist/tools/boards.d.ts.map +1 -0
- package/dist/tools/boards.js +158 -0
- package/dist/tools/boards.js.map +1 -0
- package/dist/tools/comments.d.ts +82 -0
- package/dist/tools/comments.d.ts.map +1 -0
- package/dist/tools/comments.js +162 -0
- package/dist/tools/comments.js.map +1 -0
- package/dist/tools/connect.d.ts +7 -0
- package/dist/tools/connect.d.ts.map +1 -0
- package/dist/tools/connect.js +61 -0
- package/dist/tools/connect.js.map +1 -0
- package/dist/tools/context.d.ts +16 -0
- package/dist/tools/context.d.ts.map +1 -0
- package/dist/tools/context.js +79 -0
- package/dist/tools/context.js.map +1 -0
- package/dist/tools/help.d.ts +13 -0
- package/dist/tools/help.d.ts.map +1 -0
- package/dist/tools/help.js +421 -0
- package/dist/tools/help.js.map +1 -0
- package/dist/tools/index.d.ts +17 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +17 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/issueLinks.d.ts +45 -0
- package/dist/tools/issueLinks.d.ts.map +1 -0
- package/dist/tools/issueLinks.js +90 -0
- package/dist/tools/issueLinks.js.map +1 -0
- package/dist/tools/issues.d.ts +127 -0
- package/dist/tools/issues.d.ts.map +1 -0
- package/dist/tools/issues.js +262 -0
- package/dist/tools/issues.js.map +1 -0
- package/dist/tools/labels.d.ts +56 -0
- package/dist/tools/labels.d.ts.map +1 -0
- package/dist/tools/labels.js +123 -0
- package/dist/tools/labels.js.map +1 -0
- package/dist/tools/members.d.ts +13 -0
- package/dist/tools/members.d.ts.map +1 -0
- package/dist/tools/members.js +43 -0
- package/dist/tools/members.js.map +1 -0
- package/dist/tools/organizations.d.ts +35 -0
- package/dist/tools/organizations.d.ts.map +1 -0
- package/dist/tools/organizations.js +116 -0
- package/dist/tools/organizations.js.map +1 -0
- package/dist/tools/projects.d.ts +67 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +165 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/search.d.ts +34 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +62 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/sprints.d.ts +141 -0
- package/dist/tools/sprints.d.ts.map +1 -0
- package/dist/tools/sprints.js +380 -0
- package/dist/tools/sprints.js.map +1 -0
- package/dist/tools/status.d.ts +22 -0
- package/dist/tools/status.d.ts.map +1 -0
- package/dist/tools/status.js +44 -0
- package/dist/tools/status.js.map +1 -0
- package/dist/tools/workflows.d.ts +137 -0
- package/dist/tools/workflows.d.ts.map +1 -0
- package/dist/tools/workflows.js +355 -0
- package/dist/tools/workflows.js.map +1 -0
- package/dist/types.d.ts +312 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApiClient, LlamaApiError } from '../api-client.js';
|
|
3
|
+
export const searchToolName = 'llama_search';
|
|
4
|
+
export const searchToolDescription = `Search for issues across a project.
|
|
5
|
+
Searches issue summaries, descriptions, and keys.
|
|
6
|
+
Use filters to narrow results by type, priority, status, etc.`;
|
|
7
|
+
export const searchToolSchema = z.object({
|
|
8
|
+
orgSlug: z.string().describe('Organization slug'),
|
|
9
|
+
query: z.string().describe('Search query text'),
|
|
10
|
+
type: z
|
|
11
|
+
.enum(['EPIC', 'STORY', 'TASK', 'BUG', 'SUBTASK'])
|
|
12
|
+
.optional()
|
|
13
|
+
.describe('Filter by issue type'),
|
|
14
|
+
priority: z
|
|
15
|
+
.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'TRIVIAL'])
|
|
16
|
+
.optional()
|
|
17
|
+
.describe('Filter by priority'),
|
|
18
|
+
status: z.string().optional().describe('Filter by status name'),
|
|
19
|
+
assigneeId: z.string().optional().describe('Filter by assignee user ID'),
|
|
20
|
+
sprintId: z.string().optional().describe('Filter by sprint ID'),
|
|
21
|
+
labels: z.array(z.string()).optional().describe('Filter by labels'),
|
|
22
|
+
});
|
|
23
|
+
export async function executeSearch(input) {
|
|
24
|
+
try {
|
|
25
|
+
const client = getApiClient();
|
|
26
|
+
const result = await client.searchIssues(input.orgSlug, input.query, {
|
|
27
|
+
type: input.type,
|
|
28
|
+
priority: input.priority,
|
|
29
|
+
status: input.status,
|
|
30
|
+
assigneeId: input.assigneeId,
|
|
31
|
+
sprintId: input.sprintId,
|
|
32
|
+
labels: input.labels,
|
|
33
|
+
});
|
|
34
|
+
return JSON.stringify({
|
|
35
|
+
success: true,
|
|
36
|
+
query: input.query,
|
|
37
|
+
total: result.total,
|
|
38
|
+
issues: result.issues.map((i) => ({
|
|
39
|
+
key: i.key,
|
|
40
|
+
summary: i.summary,
|
|
41
|
+
type: i.type,
|
|
42
|
+
status: i.status,
|
|
43
|
+
priority: i.priority,
|
|
44
|
+
assignee: i.assignee,
|
|
45
|
+
})),
|
|
46
|
+
}, null, 2);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error instanceof LlamaApiError) {
|
|
50
|
+
return JSON.stringify({
|
|
51
|
+
success: false,
|
|
52
|
+
error: `Search failed: ${error.message}`,
|
|
53
|
+
statusCode: error.statusCode,
|
|
54
|
+
}, null, 2);
|
|
55
|
+
}
|
|
56
|
+
return JSON.stringify({
|
|
57
|
+
success: false,
|
|
58
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
59
|
+
}, null, 2);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listSprintsToolName = "llama_list_sprints";
|
|
3
|
+
export declare const listSprintsToolDescription = "List all sprints for a project.\nReturns planned, active, and completed sprints with their issues.";
|
|
4
|
+
export declare const listSprintsToolSchema: z.ZodObject<{
|
|
5
|
+
orgSlug: z.ZodString;
|
|
6
|
+
projectKey: z.ZodString;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
orgSlug: string;
|
|
9
|
+
projectKey: string;
|
|
10
|
+
}, {
|
|
11
|
+
orgSlug: string;
|
|
12
|
+
projectKey: string;
|
|
13
|
+
}>;
|
|
14
|
+
export type ListSprintsToolInput = z.infer<typeof listSprintsToolSchema>;
|
|
15
|
+
export declare function executeListSprints(input: ListSprintsToolInput): Promise<string>;
|
|
16
|
+
export declare const createSprintToolName = "llama_create_sprint";
|
|
17
|
+
export declare const createSprintToolDescription = "Create a new sprint for a project.\nSprints start in PLANNED status and can be started later.";
|
|
18
|
+
export declare const createSprintToolSchema: z.ZodObject<{
|
|
19
|
+
orgSlug: z.ZodString;
|
|
20
|
+
projectKey: z.ZodString;
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
goal: z.ZodOptional<z.ZodString>;
|
|
23
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
24
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
orgSlug: string;
|
|
27
|
+
projectKey: string;
|
|
28
|
+
name: string;
|
|
29
|
+
startDate?: string | undefined;
|
|
30
|
+
endDate?: string | undefined;
|
|
31
|
+
goal?: string | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
orgSlug: string;
|
|
34
|
+
projectKey: string;
|
|
35
|
+
name: string;
|
|
36
|
+
startDate?: string | undefined;
|
|
37
|
+
endDate?: string | undefined;
|
|
38
|
+
goal?: string | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
export type CreateSprintToolInput = z.infer<typeof createSprintToolSchema>;
|
|
41
|
+
export declare function executeCreateSprint(input: CreateSprintToolInput): Promise<string>;
|
|
42
|
+
export declare const addToSprintToolName = "llama_add_to_sprint";
|
|
43
|
+
export declare const addToSprintToolDescription = "Move one or more issues to a sprint (or remove from sprint).\nPass null for sprintId to move issues to the backlog.";
|
|
44
|
+
export declare const addToSprintToolSchema: z.ZodObject<{
|
|
45
|
+
orgSlug: z.ZodString;
|
|
46
|
+
projectKey: z.ZodString;
|
|
47
|
+
issueKeys: z.ZodArray<z.ZodString, "many">;
|
|
48
|
+
sprintId: z.ZodNullable<z.ZodString>;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
sprintId: string | null;
|
|
51
|
+
orgSlug: string;
|
|
52
|
+
projectKey: string;
|
|
53
|
+
issueKeys: string[];
|
|
54
|
+
}, {
|
|
55
|
+
sprintId: string | null;
|
|
56
|
+
orgSlug: string;
|
|
57
|
+
projectKey: string;
|
|
58
|
+
issueKeys: string[];
|
|
59
|
+
}>;
|
|
60
|
+
export type AddToSprintToolInput = z.infer<typeof addToSprintToolSchema>;
|
|
61
|
+
export declare function executeAddToSprint(input: AddToSprintToolInput): Promise<string>;
|
|
62
|
+
export declare const getSprintToolName = "llama_get_sprint";
|
|
63
|
+
export declare const getSprintToolDescription = "Get details for a specific sprint by ID.\nReturns sprint info including all issues in the sprint.";
|
|
64
|
+
export declare const getSprintToolSchema: z.ZodObject<{
|
|
65
|
+
sprintId: z.ZodString;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
sprintId: string;
|
|
68
|
+
}, {
|
|
69
|
+
sprintId: string;
|
|
70
|
+
}>;
|
|
71
|
+
export type GetSprintToolInput = z.infer<typeof getSprintToolSchema>;
|
|
72
|
+
export declare function executeGetSprint(input: GetSprintToolInput): Promise<string>;
|
|
73
|
+
export declare const startSprintToolName = "llama_start_sprint";
|
|
74
|
+
export declare const startSprintToolDescription = "Start a planned sprint.\nOnly one sprint can be active at a time per project.\nOptionally specify start and end dates.";
|
|
75
|
+
export declare const startSprintToolSchema: z.ZodObject<{
|
|
76
|
+
sprintId: z.ZodString;
|
|
77
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
78
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, "strip", z.ZodTypeAny, {
|
|
80
|
+
sprintId: string;
|
|
81
|
+
startDate?: string | undefined;
|
|
82
|
+
endDate?: string | undefined;
|
|
83
|
+
}, {
|
|
84
|
+
sprintId: string;
|
|
85
|
+
startDate?: string | undefined;
|
|
86
|
+
endDate?: string | undefined;
|
|
87
|
+
}>;
|
|
88
|
+
export type StartSprintToolInput = z.infer<typeof startSprintToolSchema>;
|
|
89
|
+
export declare function executeStartSprint(input: StartSprintToolInput): Promise<string>;
|
|
90
|
+
export declare const completeSprintToolName = "llama_complete_sprint";
|
|
91
|
+
export declare const completeSprintToolDescription = "Complete an active sprint.\nIncomplete issues can be moved to backlog or another sprint.";
|
|
92
|
+
export declare const completeSprintToolSchema: z.ZodObject<{
|
|
93
|
+
sprintId: z.ZodString;
|
|
94
|
+
moveIncompleteToBacklog: z.ZodOptional<z.ZodBoolean>;
|
|
95
|
+
moveIncompleteToSprintId: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, "strip", z.ZodTypeAny, {
|
|
97
|
+
sprintId: string;
|
|
98
|
+
moveIncompleteToBacklog?: boolean | undefined;
|
|
99
|
+
moveIncompleteToSprintId?: string | undefined;
|
|
100
|
+
}, {
|
|
101
|
+
sprintId: string;
|
|
102
|
+
moveIncompleteToBacklog?: boolean | undefined;
|
|
103
|
+
moveIncompleteToSprintId?: string | undefined;
|
|
104
|
+
}>;
|
|
105
|
+
export type CompleteSprintToolInput = z.infer<typeof completeSprintToolSchema>;
|
|
106
|
+
export declare function executeCompleteSprint(input: CompleteSprintToolInput): Promise<string>;
|
|
107
|
+
export declare const updateSprintToolName = "llama_update_sprint";
|
|
108
|
+
export declare const updateSprintToolDescription = "Update a sprint's name, goal, or dates.\nOnly include the fields you want to change.";
|
|
109
|
+
export declare const updateSprintToolSchema: z.ZodObject<{
|
|
110
|
+
sprintId: z.ZodString;
|
|
111
|
+
name: z.ZodOptional<z.ZodString>;
|
|
112
|
+
goal: z.ZodOptional<z.ZodString>;
|
|
113
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
114
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
115
|
+
}, "strip", z.ZodTypeAny, {
|
|
116
|
+
sprintId: string;
|
|
117
|
+
startDate?: string | undefined;
|
|
118
|
+
endDate?: string | undefined;
|
|
119
|
+
name?: string | undefined;
|
|
120
|
+
goal?: string | undefined;
|
|
121
|
+
}, {
|
|
122
|
+
sprintId: string;
|
|
123
|
+
startDate?: string | undefined;
|
|
124
|
+
endDate?: string | undefined;
|
|
125
|
+
name?: string | undefined;
|
|
126
|
+
goal?: string | undefined;
|
|
127
|
+
}>;
|
|
128
|
+
export type UpdateSprintToolInput = z.infer<typeof updateSprintToolSchema>;
|
|
129
|
+
export declare function executeUpdateSprint(input: UpdateSprintToolInput): Promise<string>;
|
|
130
|
+
export declare const deleteSprintToolName = "llama_delete_sprint";
|
|
131
|
+
export declare const deleteSprintToolDescription = "Delete a sprint.\nIssues in the sprint will be moved to the backlog.\nCannot delete an active sprint - complete it first.";
|
|
132
|
+
export declare const deleteSprintToolSchema: z.ZodObject<{
|
|
133
|
+
sprintId: z.ZodString;
|
|
134
|
+
}, "strip", z.ZodTypeAny, {
|
|
135
|
+
sprintId: string;
|
|
136
|
+
}, {
|
|
137
|
+
sprintId: string;
|
|
138
|
+
}>;
|
|
139
|
+
export type DeleteSprintToolInput = z.infer<typeof deleteSprintToolSchema>;
|
|
140
|
+
export declare function executeDeleteSprint(input: DeleteSprintToolInput): Promise<string>;
|
|
141
|
+
//# sourceMappingURL=sprints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprints.d.ts","sourceRoot":"","sources":["../../src/tools/sprints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApiClient, LlamaApiError } from '../api-client.js';
|
|
3
|
+
// ============================================
|
|
4
|
+
// List Sprints
|
|
5
|
+
// ============================================
|
|
6
|
+
export const listSprintsToolName = 'llama_list_sprints';
|
|
7
|
+
export const listSprintsToolDescription = `List all sprints for a project.
|
|
8
|
+
Returns planned, active, and completed sprints with their issues.`;
|
|
9
|
+
export const listSprintsToolSchema = z.object({
|
|
10
|
+
orgSlug: z.string().describe('Organization slug'),
|
|
11
|
+
projectKey: z.string().describe('Project key'),
|
|
12
|
+
});
|
|
13
|
+
export async function executeListSprints(input) {
|
|
14
|
+
try {
|
|
15
|
+
const client = getApiClient();
|
|
16
|
+
const sprints = await client.listSprints(input.orgSlug, input.projectKey);
|
|
17
|
+
return JSON.stringify({
|
|
18
|
+
success: true,
|
|
19
|
+
sprints: sprints.map((s) => ({
|
|
20
|
+
id: s.id,
|
|
21
|
+
name: s.name,
|
|
22
|
+
status: s.status,
|
|
23
|
+
goal: s.goal,
|
|
24
|
+
period: s.startDate && s.endDate
|
|
25
|
+
? `${s.startDate.split('T')[0]} to ${s.endDate.split('T')[0]}`
|
|
26
|
+
: 'Not scheduled',
|
|
27
|
+
issueCount: s.issueCount,
|
|
28
|
+
completedCount: s.completedCount,
|
|
29
|
+
})),
|
|
30
|
+
}, null, 2);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (error instanceof LlamaApiError) {
|
|
34
|
+
return JSON.stringify({
|
|
35
|
+
success: false,
|
|
36
|
+
error: `Failed to list sprints: ${error.message}`,
|
|
37
|
+
statusCode: error.statusCode,
|
|
38
|
+
}, null, 2);
|
|
39
|
+
}
|
|
40
|
+
return JSON.stringify({
|
|
41
|
+
success: false,
|
|
42
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
43
|
+
}, null, 2);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// ============================================
|
|
47
|
+
// Create Sprint
|
|
48
|
+
// ============================================
|
|
49
|
+
export const createSprintToolName = 'llama_create_sprint';
|
|
50
|
+
export const createSprintToolDescription = `Create a new sprint for a project.
|
|
51
|
+
Sprints start in PLANNED status and can be started later.`;
|
|
52
|
+
export const createSprintToolSchema = z.object({
|
|
53
|
+
orgSlug: z.string().describe('Organization slug'),
|
|
54
|
+
projectKey: z.string().describe('Project key'),
|
|
55
|
+
name: z.string().describe('Sprint name (e.g., "Sprint 5")'),
|
|
56
|
+
goal: z.string().optional().describe('Sprint goal'),
|
|
57
|
+
startDate: z
|
|
58
|
+
.string()
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Start date (ISO format: YYYY-MM-DD)'),
|
|
61
|
+
endDate: z.string().optional().describe('End date (ISO format: YYYY-MM-DD)'),
|
|
62
|
+
});
|
|
63
|
+
export async function executeCreateSprint(input) {
|
|
64
|
+
try {
|
|
65
|
+
const client = getApiClient();
|
|
66
|
+
const sprint = await client.createSprint(input.orgSlug, input.projectKey, {
|
|
67
|
+
name: input.name,
|
|
68
|
+
goal: input.goal,
|
|
69
|
+
startDate: input.startDate,
|
|
70
|
+
endDate: input.endDate,
|
|
71
|
+
});
|
|
72
|
+
return JSON.stringify({
|
|
73
|
+
success: true,
|
|
74
|
+
message: `Created sprint "${sprint.name}"`,
|
|
75
|
+
sprint: {
|
|
76
|
+
id: sprint.id,
|
|
77
|
+
name: sprint.name,
|
|
78
|
+
status: sprint.status,
|
|
79
|
+
goal: sprint.goal,
|
|
80
|
+
},
|
|
81
|
+
}, null, 2);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (error instanceof LlamaApiError) {
|
|
85
|
+
return JSON.stringify({
|
|
86
|
+
success: false,
|
|
87
|
+
error: `Failed to create sprint: ${error.message}`,
|
|
88
|
+
statusCode: error.statusCode,
|
|
89
|
+
}, null, 2);
|
|
90
|
+
}
|
|
91
|
+
return JSON.stringify({
|
|
92
|
+
success: false,
|
|
93
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
94
|
+
}, null, 2);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// ============================================
|
|
98
|
+
// Add Issues to Sprint
|
|
99
|
+
// ============================================
|
|
100
|
+
export const addToSprintToolName = 'llama_add_to_sprint';
|
|
101
|
+
export const addToSprintToolDescription = `Move one or more issues to a sprint (or remove from sprint).
|
|
102
|
+
Pass null for sprintId to move issues to the backlog.`;
|
|
103
|
+
export const addToSprintToolSchema = z.object({
|
|
104
|
+
orgSlug: z.string().describe('Organization slug'),
|
|
105
|
+
projectKey: z.string().describe('Project key'),
|
|
106
|
+
issueKeys: z
|
|
107
|
+
.array(z.string())
|
|
108
|
+
.min(1)
|
|
109
|
+
.max(20)
|
|
110
|
+
.describe('Issue keys to move (max 20)'),
|
|
111
|
+
sprintId: z
|
|
112
|
+
.string()
|
|
113
|
+
.nullable()
|
|
114
|
+
.describe('Sprint ID to move to, or null for backlog'),
|
|
115
|
+
});
|
|
116
|
+
export async function executeAddToSprint(input) {
|
|
117
|
+
try {
|
|
118
|
+
const client = getApiClient();
|
|
119
|
+
const issues = await client.addIssuesToSprint(input.orgSlug, input.projectKey, input.issueKeys, input.sprintId);
|
|
120
|
+
const destination = input.sprintId ? 'sprint' : 'backlog';
|
|
121
|
+
return JSON.stringify({
|
|
122
|
+
success: true,
|
|
123
|
+
message: `Moved ${issues.length} issue(s) to ${destination}`,
|
|
124
|
+
issues: issues.map((i) => ({
|
|
125
|
+
key: i.key,
|
|
126
|
+
summary: i.summary,
|
|
127
|
+
})),
|
|
128
|
+
}, null, 2);
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
if (error instanceof LlamaApiError) {
|
|
132
|
+
return JSON.stringify({
|
|
133
|
+
success: false,
|
|
134
|
+
error: `Failed to move issues: ${error.message}`,
|
|
135
|
+
statusCode: error.statusCode,
|
|
136
|
+
}, null, 2);
|
|
137
|
+
}
|
|
138
|
+
return JSON.stringify({
|
|
139
|
+
success: false,
|
|
140
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
141
|
+
}, null, 2);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// ============================================
|
|
145
|
+
// Get Sprint
|
|
146
|
+
// ============================================
|
|
147
|
+
export const getSprintToolName = 'llama_get_sprint';
|
|
148
|
+
export const getSprintToolDescription = `Get details for a specific sprint by ID.
|
|
149
|
+
Returns sprint info including all issues in the sprint.`;
|
|
150
|
+
export const getSprintToolSchema = z.object({
|
|
151
|
+
sprintId: z.string().describe('Sprint ID'),
|
|
152
|
+
});
|
|
153
|
+
export async function executeGetSprint(input) {
|
|
154
|
+
try {
|
|
155
|
+
const client = getApiClient();
|
|
156
|
+
const sprint = await client.getSprint(input.sprintId);
|
|
157
|
+
return JSON.stringify({
|
|
158
|
+
success: true,
|
|
159
|
+
sprint: {
|
|
160
|
+
id: sprint.id,
|
|
161
|
+
name: sprint.name,
|
|
162
|
+
status: sprint.status,
|
|
163
|
+
goal: sprint.goal,
|
|
164
|
+
startDate: sprint.startDate,
|
|
165
|
+
endDate: sprint.endDate,
|
|
166
|
+
issueCount: sprint.issueCount,
|
|
167
|
+
completedCount: sprint.completedCount,
|
|
168
|
+
issues: sprint.issues?.map((i) => ({
|
|
169
|
+
key: i.key,
|
|
170
|
+
summary: i.summary,
|
|
171
|
+
type: i.type,
|
|
172
|
+
status: i.status,
|
|
173
|
+
priority: i.priority,
|
|
174
|
+
assignee: i.assignee,
|
|
175
|
+
})),
|
|
176
|
+
},
|
|
177
|
+
}, null, 2);
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
if (error instanceof LlamaApiError) {
|
|
181
|
+
return JSON.stringify({
|
|
182
|
+
success: false,
|
|
183
|
+
error: `Failed to get sprint: ${error.message}`,
|
|
184
|
+
statusCode: error.statusCode,
|
|
185
|
+
}, null, 2);
|
|
186
|
+
}
|
|
187
|
+
return JSON.stringify({
|
|
188
|
+
success: false,
|
|
189
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
190
|
+
}, null, 2);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// ============================================
|
|
194
|
+
// Start Sprint
|
|
195
|
+
// ============================================
|
|
196
|
+
export const startSprintToolName = 'llama_start_sprint';
|
|
197
|
+
export const startSprintToolDescription = `Start a planned sprint.
|
|
198
|
+
Only one sprint can be active at a time per project.
|
|
199
|
+
Optionally specify start and end dates.`;
|
|
200
|
+
export const startSprintToolSchema = z.object({
|
|
201
|
+
sprintId: z.string().describe('Sprint ID to start'),
|
|
202
|
+
startDate: z
|
|
203
|
+
.string()
|
|
204
|
+
.optional()
|
|
205
|
+
.describe('Start date (ISO format: YYYY-MM-DD). Defaults to today.'),
|
|
206
|
+
endDate: z
|
|
207
|
+
.string()
|
|
208
|
+
.optional()
|
|
209
|
+
.describe('End date (ISO format: YYYY-MM-DD). Typically 2 weeks from start.'),
|
|
210
|
+
});
|
|
211
|
+
export async function executeStartSprint(input) {
|
|
212
|
+
try {
|
|
213
|
+
const client = getApiClient();
|
|
214
|
+
const sprint = await client.startSprint(input.sprintId, {
|
|
215
|
+
startDate: input.startDate,
|
|
216
|
+
endDate: input.endDate,
|
|
217
|
+
});
|
|
218
|
+
return JSON.stringify({
|
|
219
|
+
success: true,
|
|
220
|
+
message: `Started sprint "${sprint.name}"`,
|
|
221
|
+
sprint: {
|
|
222
|
+
id: sprint.id,
|
|
223
|
+
name: sprint.name,
|
|
224
|
+
status: sprint.status,
|
|
225
|
+
startDate: sprint.startDate,
|
|
226
|
+
endDate: sprint.endDate,
|
|
227
|
+
},
|
|
228
|
+
}, null, 2);
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
if (error instanceof LlamaApiError) {
|
|
232
|
+
return JSON.stringify({
|
|
233
|
+
success: false,
|
|
234
|
+
error: `Failed to start sprint: ${error.message}`,
|
|
235
|
+
statusCode: error.statusCode,
|
|
236
|
+
}, null, 2);
|
|
237
|
+
}
|
|
238
|
+
return JSON.stringify({
|
|
239
|
+
success: false,
|
|
240
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
241
|
+
}, null, 2);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// ============================================
|
|
245
|
+
// Complete Sprint
|
|
246
|
+
// ============================================
|
|
247
|
+
export const completeSprintToolName = 'llama_complete_sprint';
|
|
248
|
+
export const completeSprintToolDescription = `Complete an active sprint.
|
|
249
|
+
Incomplete issues can be moved to backlog or another sprint.`;
|
|
250
|
+
export const completeSprintToolSchema = z.object({
|
|
251
|
+
sprintId: z.string().describe('Sprint ID to complete'),
|
|
252
|
+
moveIncompleteToBacklog: z
|
|
253
|
+
.boolean()
|
|
254
|
+
.optional()
|
|
255
|
+
.describe('Move incomplete issues to backlog (default: true)'),
|
|
256
|
+
moveIncompleteToSprintId: z
|
|
257
|
+
.string()
|
|
258
|
+
.optional()
|
|
259
|
+
.describe('Move incomplete issues to this sprint instead of backlog'),
|
|
260
|
+
});
|
|
261
|
+
export async function executeCompleteSprint(input) {
|
|
262
|
+
try {
|
|
263
|
+
const client = getApiClient();
|
|
264
|
+
const sprint = await client.completeSprint(input.sprintId, {
|
|
265
|
+
moveIncompleteToBacklog: input.moveIncompleteToBacklog,
|
|
266
|
+
moveIncompleteToSprintId: input.moveIncompleteToSprintId,
|
|
267
|
+
});
|
|
268
|
+
return JSON.stringify({
|
|
269
|
+
success: true,
|
|
270
|
+
message: `Completed sprint "${sprint.name}"`,
|
|
271
|
+
sprint: {
|
|
272
|
+
id: sprint.id,
|
|
273
|
+
name: sprint.name,
|
|
274
|
+
status: sprint.status,
|
|
275
|
+
completedCount: sprint.completedCount,
|
|
276
|
+
issueCount: sprint.issueCount,
|
|
277
|
+
},
|
|
278
|
+
}, null, 2);
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
if (error instanceof LlamaApiError) {
|
|
282
|
+
return JSON.stringify({
|
|
283
|
+
success: false,
|
|
284
|
+
error: `Failed to complete sprint: ${error.message}`,
|
|
285
|
+
statusCode: error.statusCode,
|
|
286
|
+
}, null, 2);
|
|
287
|
+
}
|
|
288
|
+
return JSON.stringify({
|
|
289
|
+
success: false,
|
|
290
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
291
|
+
}, null, 2);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
// ============================================
|
|
295
|
+
// Update Sprint
|
|
296
|
+
// ============================================
|
|
297
|
+
export const updateSprintToolName = 'llama_update_sprint';
|
|
298
|
+
export const updateSprintToolDescription = `Update a sprint's name, goal, or dates.
|
|
299
|
+
Only include the fields you want to change.`;
|
|
300
|
+
export const updateSprintToolSchema = z.object({
|
|
301
|
+
sprintId: z.string().describe('Sprint ID to update'),
|
|
302
|
+
name: z.string().optional().describe('New sprint name'),
|
|
303
|
+
goal: z.string().optional().describe('New sprint goal'),
|
|
304
|
+
startDate: z.string().optional().describe('New start date (YYYY-MM-DD)'),
|
|
305
|
+
endDate: z.string().optional().describe('New end date (YYYY-MM-DD)'),
|
|
306
|
+
});
|
|
307
|
+
export async function executeUpdateSprint(input) {
|
|
308
|
+
try {
|
|
309
|
+
const { sprintId, ...updates } = input;
|
|
310
|
+
const updateFields = {};
|
|
311
|
+
if (updates.name !== undefined)
|
|
312
|
+
updateFields.name = updates.name;
|
|
313
|
+
if (updates.goal !== undefined)
|
|
314
|
+
updateFields.goal = updates.goal;
|
|
315
|
+
if (updates.startDate !== undefined)
|
|
316
|
+
updateFields.startDate = updates.startDate;
|
|
317
|
+
if (updates.endDate !== undefined)
|
|
318
|
+
updateFields.endDate = updates.endDate;
|
|
319
|
+
const client = getApiClient();
|
|
320
|
+
const sprint = await client.updateSprint(sprintId, updateFields);
|
|
321
|
+
return JSON.stringify({
|
|
322
|
+
success: true,
|
|
323
|
+
message: `Updated sprint "${sprint.name}"`,
|
|
324
|
+
sprint: {
|
|
325
|
+
id: sprint.id,
|
|
326
|
+
name: sprint.name,
|
|
327
|
+
goal: sprint.goal,
|
|
328
|
+
startDate: sprint.startDate,
|
|
329
|
+
endDate: sprint.endDate,
|
|
330
|
+
},
|
|
331
|
+
}, null, 2);
|
|
332
|
+
}
|
|
333
|
+
catch (error) {
|
|
334
|
+
if (error instanceof LlamaApiError) {
|
|
335
|
+
return JSON.stringify({
|
|
336
|
+
success: false,
|
|
337
|
+
error: `Failed to update sprint: ${error.message}`,
|
|
338
|
+
statusCode: error.statusCode,
|
|
339
|
+
}, null, 2);
|
|
340
|
+
}
|
|
341
|
+
return JSON.stringify({
|
|
342
|
+
success: false,
|
|
343
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
344
|
+
}, null, 2);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
// ============================================
|
|
348
|
+
// Delete Sprint
|
|
349
|
+
// ============================================
|
|
350
|
+
export const deleteSprintToolName = 'llama_delete_sprint';
|
|
351
|
+
export const deleteSprintToolDescription = `Delete a sprint.
|
|
352
|
+
Issues in the sprint will be moved to the backlog.
|
|
353
|
+
Cannot delete an active sprint - complete it first.`;
|
|
354
|
+
export const deleteSprintToolSchema = z.object({
|
|
355
|
+
sprintId: z.string().describe('Sprint ID to delete'),
|
|
356
|
+
});
|
|
357
|
+
export async function executeDeleteSprint(input) {
|
|
358
|
+
try {
|
|
359
|
+
const client = getApiClient();
|
|
360
|
+
await client.deleteSprint(input.sprintId);
|
|
361
|
+
return JSON.stringify({
|
|
362
|
+
success: true,
|
|
363
|
+
message: `Deleted sprint`,
|
|
364
|
+
}, null, 2);
|
|
365
|
+
}
|
|
366
|
+
catch (error) {
|
|
367
|
+
if (error instanceof LlamaApiError) {
|
|
368
|
+
return JSON.stringify({
|
|
369
|
+
success: false,
|
|
370
|
+
error: `Failed to delete sprint: ${error.message}`,
|
|
371
|
+
statusCode: error.statusCode,
|
|
372
|
+
}, null, 2);
|
|
373
|
+
}
|
|
374
|
+
return JSON.stringify({
|
|
375
|
+
success: false,
|
|
376
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
377
|
+
}, null, 2);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
//# sourceMappingURL=sprints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprints.js","sourceRoot":"","sources":["../../src/tools/sprints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const updateStatusToolName = "llama_update_status";
|
|
3
|
+
export declare const updateStatusToolDescription = "Move an issue to a different status in the workflow.\nFirst use llama_context to see available statuses for the project.\n\nCommon status names: \"To Do\", \"In Progress\", \"In Review\", \"Done\"\nThe exact names depend on the project's workflow configuration.";
|
|
4
|
+
export declare const updateStatusToolSchema: z.ZodObject<{
|
|
5
|
+
orgSlug: z.ZodString;
|
|
6
|
+
projectKey: z.ZodString;
|
|
7
|
+
issueKey: z.ZodString;
|
|
8
|
+
statusId: z.ZodString;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
orgSlug: string;
|
|
11
|
+
projectKey: string;
|
|
12
|
+
issueKey: string;
|
|
13
|
+
statusId: string;
|
|
14
|
+
}, {
|
|
15
|
+
orgSlug: string;
|
|
16
|
+
projectKey: string;
|
|
17
|
+
issueKey: string;
|
|
18
|
+
statusId: string;
|
|
19
|
+
}>;
|
|
20
|
+
export type UpdateStatusToolInput = z.infer<typeof updateStatusToolSchema>;
|
|
21
|
+
export declare function executeUpdateStatus(input: UpdateStatusToolInput): Promise<string>;
|
|
22
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,eAAO,MAAM,2BAA2B,0QAIwB,CAAC;AAEjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA8CjB"}
|