@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 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,eAAO,MAAM,sBAAsB,mUASuD,CAAC;AAE3F,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwE7E"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApiClient, LlamaApiError } from '../api-client.js';
|
|
3
|
+
export const contextToolName = 'llama_context';
|
|
4
|
+
export const contextToolDescription = `Get project context snapshot from Llama. Returns:
|
|
5
|
+
- Project info (key, name, description)
|
|
6
|
+
- Organization info
|
|
7
|
+
- Workflow statuses
|
|
8
|
+
- Active sprint with issues
|
|
9
|
+
- Pending sprints
|
|
10
|
+
- Backlog issues (first 50)
|
|
11
|
+
- Team members
|
|
12
|
+
|
|
13
|
+
Use this to understand the current state of a project before creating or updating issues.`;
|
|
14
|
+
export const contextToolSchema = z.object({
|
|
15
|
+
orgSlug: z.string().describe('Organization slug (e.g., "my-team")'),
|
|
16
|
+
projectKey: z.string().describe('Project key (e.g., "PROJ")'),
|
|
17
|
+
});
|
|
18
|
+
export async function executeContext(input) {
|
|
19
|
+
try {
|
|
20
|
+
const client = getApiClient();
|
|
21
|
+
const context = await client.getProjectContext(input.orgSlug, input.projectKey);
|
|
22
|
+
// Format the response for readability
|
|
23
|
+
const formatted = {
|
|
24
|
+
project: context.project,
|
|
25
|
+
organization: context.organization,
|
|
26
|
+
workflow: {
|
|
27
|
+
statuses: context.workflow.statuses.map((s) => `${s.name} (${s.category})`),
|
|
28
|
+
},
|
|
29
|
+
activeSprint: context.activeSprint
|
|
30
|
+
? {
|
|
31
|
+
name: context.activeSprint.name,
|
|
32
|
+
goal: context.activeSprint.goal,
|
|
33
|
+
period: context.activeSprint.startDate && context.activeSprint.endDate
|
|
34
|
+
? `${context.activeSprint.startDate.split('T')[0]} to ${context.activeSprint.endDate.split('T')[0]}`
|
|
35
|
+
: 'Not scheduled',
|
|
36
|
+
issueCount: context.activeSprint.issues.length,
|
|
37
|
+
issues: context.activeSprint.issues.map((i) => ({
|
|
38
|
+
key: i.key,
|
|
39
|
+
summary: i.summary,
|
|
40
|
+
type: i.type,
|
|
41
|
+
status: i.status,
|
|
42
|
+
priority: i.priority,
|
|
43
|
+
assignee: i.assignee,
|
|
44
|
+
})),
|
|
45
|
+
}
|
|
46
|
+
: null,
|
|
47
|
+
pendingSprints: context.pendingSprints,
|
|
48
|
+
backlog: {
|
|
49
|
+
showing: context.backlog.issues.length,
|
|
50
|
+
total: context.backlog.total,
|
|
51
|
+
issues: context.backlog.issues.map((i) => ({
|
|
52
|
+
key: i.key,
|
|
53
|
+
summary: i.summary,
|
|
54
|
+
type: i.type,
|
|
55
|
+
status: i.status,
|
|
56
|
+
priority: i.priority,
|
|
57
|
+
})),
|
|
58
|
+
},
|
|
59
|
+
members: context.members,
|
|
60
|
+
};
|
|
61
|
+
return JSON.stringify(formatted, null, 2);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (error instanceof LlamaApiError) {
|
|
65
|
+
return JSON.stringify({
|
|
66
|
+
success: false,
|
|
67
|
+
error: `Failed to get context: ${error.message}`,
|
|
68
|
+
statusCode: error.statusCode,
|
|
69
|
+
}, null, 2);
|
|
70
|
+
}
|
|
71
|
+
return JSON.stringify({
|
|
72
|
+
success: false,
|
|
73
|
+
error: error instanceof Error
|
|
74
|
+
? error.message
|
|
75
|
+
: 'Unknown error getting project context',
|
|
76
|
+
}, null, 2);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const helpToolName = "llama_help";
|
|
3
|
+
export declare const helpToolDescription = "Get help and documentation for Llama MCP tools. Call without arguments for overview, or specify a category/tool for details.";
|
|
4
|
+
export declare const helpToolSchema: z.ZodObject<{
|
|
5
|
+
topic: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
topic?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
topic?: string | undefined;
|
|
10
|
+
}>;
|
|
11
|
+
export type HelpToolInput = z.infer<typeof helpToolSchema>;
|
|
12
|
+
export declare function executeHelp(input: HelpToolInput): Promise<string>;
|
|
13
|
+
//# sourceMappingURL=help.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/tools/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY,eAAe,CAAC;AAEzC,eAAO,MAAM,mBAAmB,iIACgG,CAAC;AAEjI,eAAO,MAAM,cAAc;;;;;;EAOzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAyZ3D,wBAAsB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CA0FvE"}
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const helpToolName = 'llama_help';
|
|
3
|
+
export const helpToolDescription = 'Get help and documentation for Llama MCP tools. Call without arguments for overview, or specify a category/tool for details.';
|
|
4
|
+
export const helpToolSchema = z.object({
|
|
5
|
+
topic: z
|
|
6
|
+
.string()
|
|
7
|
+
.optional()
|
|
8
|
+
.describe('Optional: tool name (e.g., "llama_create_issue") or category (e.g., "issues", "sprints")'),
|
|
9
|
+
});
|
|
10
|
+
// Tool documentation organized by category
|
|
11
|
+
const TOOL_DOCS = {
|
|
12
|
+
overview: {
|
|
13
|
+
title: 'Llama MCP Tools Overview',
|
|
14
|
+
description: `Llama MCP provides 41 tools for project management. Use llama_help with a topic for details.
|
|
15
|
+
|
|
16
|
+
**Quick Start:**
|
|
17
|
+
1. llama_connect - Test your API connection
|
|
18
|
+
2. llama_context - Get project snapshot (statuses, sprints, team, backlog)
|
|
19
|
+
3. Use other tools with IDs from context
|
|
20
|
+
|
|
21
|
+
**Categories:** context, organizations, projects, issues, sprints, boards, backlog, comments, labels, members, links, search, workflows
|
|
22
|
+
|
|
23
|
+
**Examples:**
|
|
24
|
+
- llama_help { topic: "issues" } - Learn about issue tools
|
|
25
|
+
- llama_help { topic: "llama_create_issue" } - Details for a specific tool`,
|
|
26
|
+
},
|
|
27
|
+
context: {
|
|
28
|
+
title: 'Context Tools',
|
|
29
|
+
tools: [
|
|
30
|
+
{
|
|
31
|
+
name: 'llama_connect',
|
|
32
|
+
description: 'Test API connection and get current user info',
|
|
33
|
+
params: 'None',
|
|
34
|
+
use: 'Starting a session to verify authentication',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'llama_context',
|
|
38
|
+
description: 'Get complete project snapshot: workflow statuses, sprints, backlog, team',
|
|
39
|
+
params: 'orgSlug (required), projectKey (required)',
|
|
40
|
+
use: 'Before creating/updating issues to get valid IDs',
|
|
41
|
+
returns: 'Project info, org info, workflow statuses, active sprint, pending sprints, backlog (first 50), team members',
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
organizations: {
|
|
46
|
+
title: 'Organization Tools',
|
|
47
|
+
tools: [
|
|
48
|
+
{
|
|
49
|
+
name: 'llama_list_organizations',
|
|
50
|
+
description: 'List all organizations the user has access to',
|
|
51
|
+
params: 'None',
|
|
52
|
+
use: 'Finding available orgs or getting org slugs',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'llama_get_organization',
|
|
56
|
+
description: 'Get details for a specific organization',
|
|
57
|
+
params: 'orgSlug (required)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'llama_create_organization',
|
|
61
|
+
description: 'Create a new organization',
|
|
62
|
+
params: 'name (required), slug (required: lowercase, numbers, hyphens), description (optional)',
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
projects: {
|
|
67
|
+
title: 'Project Tools',
|
|
68
|
+
tools: [
|
|
69
|
+
{
|
|
70
|
+
name: 'llama_list_projects',
|
|
71
|
+
description: 'List all projects in an organization',
|
|
72
|
+
params: 'orgSlug (required)',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'llama_get_project',
|
|
76
|
+
description: 'Get project details including workflow statuses',
|
|
77
|
+
params: 'orgSlug (required), projectKey (required)',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'llama_create_project',
|
|
81
|
+
description: 'Create a new project with default workflow and board',
|
|
82
|
+
params: 'orgSlug (required), name (required), key (required: UPPERCASE, 2-10 chars), description (optional)',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'llama_update_project',
|
|
86
|
+
description: 'Update project name or description',
|
|
87
|
+
params: 'orgSlug (required), projectKey (required), name (optional), description (optional)',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
issues: {
|
|
92
|
+
title: 'Issue Tools',
|
|
93
|
+
tools: [
|
|
94
|
+
{
|
|
95
|
+
name: 'llama_get_issue',
|
|
96
|
+
description: 'Get full issue details including comments and history',
|
|
97
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required, e.g., "PROJ-123")',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'llama_create_issue',
|
|
101
|
+
description: 'Create a new issue',
|
|
102
|
+
params: `orgSlug (required), projectKey (required), summary (required), type (required: EPIC|STORY|TASK|BUG|SUBTASK)
|
|
103
|
+
Optional: description, priority (CRITICAL|HIGH|MEDIUM|LOW|TRIVIAL), assigneeId, sprintId, parentKey (for subtasks), estimate, labels`,
|
|
104
|
+
example: `{
|
|
105
|
+
"orgSlug": "my-team",
|
|
106
|
+
"projectKey": "PROJ",
|
|
107
|
+
"summary": "Add user auth",
|
|
108
|
+
"type": "STORY",
|
|
109
|
+
"priority": "HIGH"
|
|
110
|
+
}`,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'llama_update_issue',
|
|
114
|
+
description: 'Update issue fields. Only include fields to change. Set assigneeId/sprintId to null to unassign.',
|
|
115
|
+
params: `orgSlug (required), projectKey (required), issueKey (required)
|
|
116
|
+
Optional: summary, description, type, priority, statusId, assigneeId, sprintId, estimate, labels`,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'llama_delete_issue',
|
|
120
|
+
description: 'Soft-delete an issue (can be restored)',
|
|
121
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required)',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'llama_update_status',
|
|
125
|
+
description: 'Move issue to a different workflow status',
|
|
126
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required), statusId (required: get from llama_context)',
|
|
127
|
+
tip: 'Common statuses: "To Do", "In Progress", "In Review", "Done"',
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
sprints: {
|
|
132
|
+
title: 'Sprint Tools',
|
|
133
|
+
tools: [
|
|
134
|
+
{
|
|
135
|
+
name: 'llama_list_sprints',
|
|
136
|
+
description: 'List all sprints (planned, active, completed)',
|
|
137
|
+
params: 'orgSlug (required), projectKey (required)',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: 'llama_create_sprint',
|
|
141
|
+
description: 'Create a new sprint in PLANNED status',
|
|
142
|
+
params: 'orgSlug (required), projectKey (required), name (required), goal (optional), startDate (optional: YYYY-MM-DD), endDate (optional)',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
name: 'llama_get_sprint',
|
|
146
|
+
description: 'Get sprint details with all issues',
|
|
147
|
+
params: 'sprintId (required)',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: 'llama_start_sprint',
|
|
151
|
+
description: 'Start a planned sprint. Only one active sprint per project.',
|
|
152
|
+
params: 'sprintId (required), startDate (optional: defaults to today), endDate (optional)',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: 'llama_complete_sprint',
|
|
156
|
+
description: 'Complete an active sprint',
|
|
157
|
+
params: 'sprintId (required), moveIncompleteToBacklog (optional: default true), moveIncompleteToSprintId (optional)',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: 'llama_update_sprint',
|
|
161
|
+
description: 'Update sprint name, goal, or dates',
|
|
162
|
+
params: 'sprintId (required), name (optional), goal (optional), startDate (optional), endDate (optional)',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'llama_delete_sprint',
|
|
166
|
+
description: 'Delete a sprint (issues go to backlog). Cannot delete active sprints.',
|
|
167
|
+
params: 'sprintId (required)',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: 'llama_add_to_sprint',
|
|
171
|
+
description: 'Move issues to a sprint. Pass null for sprintId to move to backlog.',
|
|
172
|
+
params: 'orgSlug (required), projectKey (required), issueKeys (required: array, max 20), sprintId (required: sprint ID or null for backlog)',
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
boards: {
|
|
177
|
+
title: 'Board Tools',
|
|
178
|
+
tools: [
|
|
179
|
+
{
|
|
180
|
+
name: 'llama_list_boards',
|
|
181
|
+
description: 'List all boards in a project',
|
|
182
|
+
params: 'orgSlug (required), projectKey (required)',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'llama_get_board',
|
|
186
|
+
description: 'Get board with columns and issues',
|
|
187
|
+
params: 'orgSlug (required), projectKey (required), boardId (required)',
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: 'llama_move_issue_on_board',
|
|
191
|
+
description: 'Move an issue to a different column (changes status)',
|
|
192
|
+
params: 'orgSlug (required), projectKey (required), boardId (required), issueId (required), columnId (required), afterIssueId (optional), beforeIssueId (optional)',
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
backlog: {
|
|
197
|
+
title: 'Backlog Tools',
|
|
198
|
+
tools: [
|
|
199
|
+
{
|
|
200
|
+
name: 'llama_get_backlog',
|
|
201
|
+
description: 'Get all unassigned issues sorted by rank/priority',
|
|
202
|
+
params: 'orgSlug (required), projectKey (required)',
|
|
203
|
+
returns: 'Total count, breakdown by type, issue list',
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
comments: {
|
|
208
|
+
title: 'Comment Tools',
|
|
209
|
+
tools: [
|
|
210
|
+
{
|
|
211
|
+
name: 'llama_list_comments',
|
|
212
|
+
description: 'List all comments on an issue',
|
|
213
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required)',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: 'llama_add_comment',
|
|
217
|
+
description: 'Add a comment (markdown supported)',
|
|
218
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required), content (required)',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: 'llama_update_comment',
|
|
222
|
+
description: 'Update a comment (author only)',
|
|
223
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required), commentId (required), content (required)',
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
name: 'llama_delete_comment',
|
|
227
|
+
description: 'Delete a comment (author only)',
|
|
228
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required), commentId (required)',
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
},
|
|
232
|
+
labels: {
|
|
233
|
+
title: 'Label Tools',
|
|
234
|
+
tools: [
|
|
235
|
+
{
|
|
236
|
+
name: 'llama_list_labels',
|
|
237
|
+
description: 'List all labels in a project',
|
|
238
|
+
params: 'orgSlug (required), projectKey (required)',
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
name: 'llama_create_label',
|
|
242
|
+
description: 'Create a new label',
|
|
243
|
+
params: 'orgSlug (required), projectKey (required), name (required), color (required: hex e.g., "#ff0000"), description (optional)',
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: 'llama_delete_label',
|
|
247
|
+
description: 'Delete a label (removes from all issues)',
|
|
248
|
+
params: 'orgSlug (required), projectKey (required), labelName (required)',
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
},
|
|
252
|
+
members: {
|
|
253
|
+
title: 'Member Tools',
|
|
254
|
+
tools: [
|
|
255
|
+
{
|
|
256
|
+
name: 'llama_list_members',
|
|
257
|
+
description: 'List all org members. Use to find user IDs for assignments.',
|
|
258
|
+
params: 'orgSlug (required)',
|
|
259
|
+
returns: 'Member ID, name, email, role, join date',
|
|
260
|
+
},
|
|
261
|
+
],
|
|
262
|
+
},
|
|
263
|
+
links: {
|
|
264
|
+
title: 'Issue Link Tools',
|
|
265
|
+
tools: [
|
|
266
|
+
{
|
|
267
|
+
name: 'llama_create_issue_link',
|
|
268
|
+
description: 'Create a relationship between issues',
|
|
269
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required), targetIssueKey (required), type (required)',
|
|
270
|
+
tip: 'Link types: BLOCKS, IS_BLOCKED_BY, RELATES_TO, DUPLICATES, IS_DUPLICATED_BY',
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
name: 'llama_delete_issue_link',
|
|
274
|
+
description: 'Remove a link between issues',
|
|
275
|
+
params: 'orgSlug (required), projectKey (required), issueKey (required), linkId (required)',
|
|
276
|
+
},
|
|
277
|
+
],
|
|
278
|
+
},
|
|
279
|
+
search: {
|
|
280
|
+
title: 'Search Tools',
|
|
281
|
+
tools: [
|
|
282
|
+
{
|
|
283
|
+
name: 'llama_search',
|
|
284
|
+
description: 'Search issues by text and filters across summaries, descriptions, keys',
|
|
285
|
+
params: 'orgSlug (required), query (required), type (optional), priority (optional), status (optional), assigneeId (optional), sprintId (optional), labels (optional)',
|
|
286
|
+
example: `{
|
|
287
|
+
"orgSlug": "my-team",
|
|
288
|
+
"query": "login bug",
|
|
289
|
+
"type": "BUG",
|
|
290
|
+
"priority": "HIGH"
|
|
291
|
+
}`,
|
|
292
|
+
},
|
|
293
|
+
],
|
|
294
|
+
},
|
|
295
|
+
workflows: {
|
|
296
|
+
title: 'Claude Workflow Tools',
|
|
297
|
+
description: 'Reusable procedures that Claude can execute with parameters.',
|
|
298
|
+
tools: [
|
|
299
|
+
{
|
|
300
|
+
name: 'llama_list_workflows',
|
|
301
|
+
description: 'List available workflows (project-level and org-level)',
|
|
302
|
+
params: 'orgSlug (required), projectKey (required)',
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
name: 'llama_get_workflow',
|
|
306
|
+
description: 'Get workflow details including content and parameters',
|
|
307
|
+
params: 'orgSlug (required), projectKey (required), workflowId (required)',
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
name: 'llama_run_workflow',
|
|
311
|
+
description: 'Execute a workflow with parameters',
|
|
312
|
+
params: 'orgSlug (required), projectKey (required), workflowId (required), parameters (optional: key-value pairs)',
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
name: 'llama_suggest_workflow',
|
|
316
|
+
description: 'Find workflows matching user intent',
|
|
317
|
+
params: 'orgSlug (required), projectKey (required), intent (required: what the user wants to do)',
|
|
318
|
+
example: `{
|
|
319
|
+
"orgSlug": "my-team",
|
|
320
|
+
"projectKey": "PROJ",
|
|
321
|
+
"intent": "start a new sprint"
|
|
322
|
+
}`,
|
|
323
|
+
},
|
|
324
|
+
],
|
|
325
|
+
},
|
|
326
|
+
patterns: {
|
|
327
|
+
title: 'Common Patterns',
|
|
328
|
+
description: `**Creating issues for a sprint:**
|
|
329
|
+
1. llama_context → get sprintId from active/pending sprints
|
|
330
|
+
2. llama_create_issue → include sprintId
|
|
331
|
+
|
|
332
|
+
**Moving issue through workflow:**
|
|
333
|
+
1. llama_context → get status IDs from workflow.statuses
|
|
334
|
+
2. llama_update_status → use statusId for target status
|
|
335
|
+
|
|
336
|
+
**Assigning issues:**
|
|
337
|
+
1. llama_list_members → get user IDs
|
|
338
|
+
2. llama_update_issue → set assigneeId
|
|
339
|
+
|
|
340
|
+
**Sprint planning:**
|
|
341
|
+
1. llama_get_backlog → see available issues
|
|
342
|
+
2. llama_create_sprint → create new sprint
|
|
343
|
+
3. llama_add_to_sprint → add issues to sprint
|
|
344
|
+
4. llama_start_sprint → begin the sprint
|
|
345
|
+
|
|
346
|
+
**Searching for work:**
|
|
347
|
+
1. llama_search → find issues by text/filters
|
|
348
|
+
2. llama_get_issue → get full details for specific issue`,
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
// Individual tool details for deep lookup
|
|
352
|
+
const TOOL_DETAILS = {};
|
|
353
|
+
// Build tool details from categories
|
|
354
|
+
Object.entries(TOOL_DOCS).forEach(([category, data]) => {
|
|
355
|
+
if ('tools' in data && Array.isArray(data.tools)) {
|
|
356
|
+
data.tools.forEach((tool) => {
|
|
357
|
+
TOOL_DETAILS[tool.name] = { ...tool, category };
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
export async function executeHelp(input) {
|
|
362
|
+
const { topic } = input;
|
|
363
|
+
// No topic - return overview
|
|
364
|
+
if (!topic) {
|
|
365
|
+
const categories = Object.keys(TOOL_DOCS)
|
|
366
|
+
.filter((k) => k !== 'overview')
|
|
367
|
+
.map((k) => {
|
|
368
|
+
const data = TOOL_DOCS[k];
|
|
369
|
+
const toolCount = 'tools' in data && Array.isArray(data.tools)
|
|
370
|
+
? ` (${data.tools.length} tools)`
|
|
371
|
+
: '';
|
|
372
|
+
return ` - ${k}${toolCount}`;
|
|
373
|
+
})
|
|
374
|
+
.join('\n');
|
|
375
|
+
return JSON.stringify({
|
|
376
|
+
success: true,
|
|
377
|
+
help: {
|
|
378
|
+
title: TOOL_DOCS.overview.title,
|
|
379
|
+
content: TOOL_DOCS.overview.description,
|
|
380
|
+
categories: categories,
|
|
381
|
+
tip: 'Use llama_help { topic: "category" } for details on a category, or llama_help { topic: "tool_name" } for a specific tool.',
|
|
382
|
+
},
|
|
383
|
+
}, null, 2);
|
|
384
|
+
}
|
|
385
|
+
// Check if topic is a tool name
|
|
386
|
+
const normalizedTopic = topic.toLowerCase().replace(/^llama_/, '');
|
|
387
|
+
const toolName = topic.startsWith('llama_') ? topic : `llama_${normalizedTopic}`;
|
|
388
|
+
if (TOOL_DETAILS[toolName]) {
|
|
389
|
+
return JSON.stringify({
|
|
390
|
+
success: true,
|
|
391
|
+
help: {
|
|
392
|
+
tool: TOOL_DETAILS[toolName],
|
|
393
|
+
},
|
|
394
|
+
}, null, 2);
|
|
395
|
+
}
|
|
396
|
+
// Check if topic is a category
|
|
397
|
+
const categoryKey = normalizedTopic;
|
|
398
|
+
if (TOOL_DOCS[categoryKey]) {
|
|
399
|
+
const categoryData = TOOL_DOCS[categoryKey];
|
|
400
|
+
return JSON.stringify({
|
|
401
|
+
success: true,
|
|
402
|
+
help: categoryData,
|
|
403
|
+
}, null, 2);
|
|
404
|
+
}
|
|
405
|
+
// Topic not found - return suggestions
|
|
406
|
+
const allTools = Object.keys(TOOL_DETAILS);
|
|
407
|
+
const allCategories = Object.keys(TOOL_DOCS).filter((k) => k !== 'overview');
|
|
408
|
+
// Simple fuzzy match
|
|
409
|
+
const matchingTools = allTools.filter((t) => t.includes(normalizedTopic) || normalizedTopic.includes(t.replace('llama_', '')));
|
|
410
|
+
const matchingCategories = allCategories.filter((c) => c.includes(normalizedTopic) || normalizedTopic.includes(c));
|
|
411
|
+
return JSON.stringify({
|
|
412
|
+
success: false,
|
|
413
|
+
error: `Topic "${topic}" not found`,
|
|
414
|
+
suggestions: {
|
|
415
|
+
matchingTools: matchingTools.length > 0 ? matchingTools : undefined,
|
|
416
|
+
matchingCategories: matchingCategories.length > 0 ? matchingCategories : undefined,
|
|
417
|
+
availableCategories: allCategories,
|
|
418
|
+
},
|
|
419
|
+
}, null, 2);
|
|
420
|
+
}
|
|
421
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/tools/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './connect.js';
|
|
2
|
+
export * from './context.js';
|
|
3
|
+
export * from './issues.js';
|
|
4
|
+
export * from './sprints.js';
|
|
5
|
+
export * from './status.js';
|
|
6
|
+
export * from './search.js';
|
|
7
|
+
export * from './organizations.js';
|
|
8
|
+
export * from './projects.js';
|
|
9
|
+
export * from './boards.js';
|
|
10
|
+
export * from './backlog.js';
|
|
11
|
+
export * from './comments.js';
|
|
12
|
+
export * from './labels.js';
|
|
13
|
+
export * from './members.js';
|
|
14
|
+
export * from './issueLinks.js';
|
|
15
|
+
export * from './workflows.js';
|
|
16
|
+
export * from './help.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './connect.js';
|
|
2
|
+
export * from './context.js';
|
|
3
|
+
export * from './issues.js';
|
|
4
|
+
export * from './sprints.js';
|
|
5
|
+
export * from './status.js';
|
|
6
|
+
export * from './search.js';
|
|
7
|
+
export * from './organizations.js';
|
|
8
|
+
export * from './projects.js';
|
|
9
|
+
export * from './boards.js';
|
|
10
|
+
export * from './backlog.js';
|
|
11
|
+
export * from './comments.js';
|
|
12
|
+
export * from './labels.js';
|
|
13
|
+
export * from './members.js';
|
|
14
|
+
export * from './issueLinks.js';
|
|
15
|
+
export * from './workflows.js';
|
|
16
|
+
export * from './help.js';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const createIssueLinkToolName = "llama_create_issue_link";
|
|
3
|
+
export declare const createIssueLinkToolDescription = "Create a link between two issues.\n\nLink types:\n- BLOCKS: This issue blocks the target issue\n- IS_BLOCKED_BY: This issue is blocked by the target issue\n- RELATES_TO: General relationship between issues\n- DUPLICATES: This issue duplicates the target issue\n- IS_DUPLICATED_BY: This issue is duplicated by the target issue";
|
|
4
|
+
export declare const createIssueLinkToolSchema: z.ZodObject<{
|
|
5
|
+
orgSlug: z.ZodString;
|
|
6
|
+
projectKey: z.ZodString;
|
|
7
|
+
issueKey: z.ZodString;
|
|
8
|
+
targetIssueKey: z.ZodString;
|
|
9
|
+
type: z.ZodEnum<["BLOCKS", "IS_BLOCKED_BY", "RELATES_TO", "DUPLICATES", "IS_DUPLICATED_BY"]>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
type: "BLOCKS" | "IS_BLOCKED_BY" | "RELATES_TO" | "DUPLICATES" | "IS_DUPLICATED_BY";
|
|
12
|
+
orgSlug: string;
|
|
13
|
+
projectKey: string;
|
|
14
|
+
issueKey: string;
|
|
15
|
+
targetIssueKey: string;
|
|
16
|
+
}, {
|
|
17
|
+
type: "BLOCKS" | "IS_BLOCKED_BY" | "RELATES_TO" | "DUPLICATES" | "IS_DUPLICATED_BY";
|
|
18
|
+
orgSlug: string;
|
|
19
|
+
projectKey: string;
|
|
20
|
+
issueKey: string;
|
|
21
|
+
targetIssueKey: string;
|
|
22
|
+
}>;
|
|
23
|
+
export type CreateIssueLinkToolInput = z.infer<typeof createIssueLinkToolSchema>;
|
|
24
|
+
export declare function executeCreateIssueLink(input: CreateIssueLinkToolInput): Promise<string>;
|
|
25
|
+
export declare const deleteIssueLinkToolName = "llama_delete_issue_link";
|
|
26
|
+
export declare const deleteIssueLinkToolDescription = "Remove a link between two issues.";
|
|
27
|
+
export declare const deleteIssueLinkToolSchema: z.ZodObject<{
|
|
28
|
+
orgSlug: z.ZodString;
|
|
29
|
+
projectKey: z.ZodString;
|
|
30
|
+
issueKey: z.ZodString;
|
|
31
|
+
linkId: z.ZodString;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
orgSlug: string;
|
|
34
|
+
projectKey: string;
|
|
35
|
+
issueKey: string;
|
|
36
|
+
linkId: string;
|
|
37
|
+
}, {
|
|
38
|
+
orgSlug: string;
|
|
39
|
+
projectKey: string;
|
|
40
|
+
issueKey: string;
|
|
41
|
+
linkId: string;
|
|
42
|
+
}>;
|
|
43
|
+
export type DeleteIssueLinkToolInput = z.infer<typeof deleteIssueLinkToolSchema>;
|
|
44
|
+
export declare function executeDeleteIssueLink(input: DeleteIssueLinkToolInput): Promise<string>;
|
|
45
|
+
//# sourceMappingURL=issueLinks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issueLinks.d.ts","sourceRoot":"","sources":["../../src/tools/issueLinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,8BAA8B,0UAOsB,CAAC;AAElE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EAQpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAMD,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,8BAA8B,sCAAsC,CAAC;AAElF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAwCjB"}
|