@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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +249 -0
  3. package/dist/api-client.d.ts +71 -0
  4. package/dist/api-client.d.ts.map +1 -0
  5. package/dist/api-client.js +315 -0
  6. package/dist/api-client.js.map +1 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +18 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/server.d.ts +4 -0
  12. package/dist/server.d.ts.map +1 -0
  13. package/dist/server.js +495 -0
  14. package/dist/server.js.map +1 -0
  15. package/dist/tools/backlog.d.ts +16 -0
  16. package/dist/tools/backlog.d.ts.map +1 -0
  17. package/dist/tools/backlog.js +59 -0
  18. package/dist/tools/backlog.js.map +1 -0
  19. package/dist/tools/boards.d.ts +62 -0
  20. package/dist/tools/boards.d.ts.map +1 -0
  21. package/dist/tools/boards.js +158 -0
  22. package/dist/tools/boards.js.map +1 -0
  23. package/dist/tools/comments.d.ts +82 -0
  24. package/dist/tools/comments.d.ts.map +1 -0
  25. package/dist/tools/comments.js +162 -0
  26. package/dist/tools/comments.js.map +1 -0
  27. package/dist/tools/connect.d.ts +7 -0
  28. package/dist/tools/connect.d.ts.map +1 -0
  29. package/dist/tools/connect.js +61 -0
  30. package/dist/tools/connect.js.map +1 -0
  31. package/dist/tools/context.d.ts +16 -0
  32. package/dist/tools/context.d.ts.map +1 -0
  33. package/dist/tools/context.js +79 -0
  34. package/dist/tools/context.js.map +1 -0
  35. package/dist/tools/help.d.ts +13 -0
  36. package/dist/tools/help.d.ts.map +1 -0
  37. package/dist/tools/help.js +421 -0
  38. package/dist/tools/help.js.map +1 -0
  39. package/dist/tools/index.d.ts +17 -0
  40. package/dist/tools/index.d.ts.map +1 -0
  41. package/dist/tools/index.js +17 -0
  42. package/dist/tools/index.js.map +1 -0
  43. package/dist/tools/issueLinks.d.ts +45 -0
  44. package/dist/tools/issueLinks.d.ts.map +1 -0
  45. package/dist/tools/issueLinks.js +90 -0
  46. package/dist/tools/issueLinks.js.map +1 -0
  47. package/dist/tools/issues.d.ts +127 -0
  48. package/dist/tools/issues.d.ts.map +1 -0
  49. package/dist/tools/issues.js +262 -0
  50. package/dist/tools/issues.js.map +1 -0
  51. package/dist/tools/labels.d.ts +56 -0
  52. package/dist/tools/labels.d.ts.map +1 -0
  53. package/dist/tools/labels.js +123 -0
  54. package/dist/tools/labels.js.map +1 -0
  55. package/dist/tools/members.d.ts +13 -0
  56. package/dist/tools/members.d.ts.map +1 -0
  57. package/dist/tools/members.js +43 -0
  58. package/dist/tools/members.js.map +1 -0
  59. package/dist/tools/organizations.d.ts +35 -0
  60. package/dist/tools/organizations.d.ts.map +1 -0
  61. package/dist/tools/organizations.js +116 -0
  62. package/dist/tools/organizations.js.map +1 -0
  63. package/dist/tools/projects.d.ts +67 -0
  64. package/dist/tools/projects.d.ts.map +1 -0
  65. package/dist/tools/projects.js +165 -0
  66. package/dist/tools/projects.js.map +1 -0
  67. package/dist/tools/search.d.ts +34 -0
  68. package/dist/tools/search.d.ts.map +1 -0
  69. package/dist/tools/search.js +62 -0
  70. package/dist/tools/search.js.map +1 -0
  71. package/dist/tools/sprints.d.ts +141 -0
  72. package/dist/tools/sprints.d.ts.map +1 -0
  73. package/dist/tools/sprints.js +380 -0
  74. package/dist/tools/sprints.js.map +1 -0
  75. package/dist/tools/status.d.ts +22 -0
  76. package/dist/tools/status.d.ts.map +1 -0
  77. package/dist/tools/status.js +44 -0
  78. package/dist/tools/status.js.map +1 -0
  79. package/dist/tools/workflows.d.ts +137 -0
  80. package/dist/tools/workflows.d.ts.map +1 -0
  81. package/dist/tools/workflows.js +355 -0
  82. package/dist/tools/workflows.js.map +1 -0
  83. package/dist/types.d.ts +312 -0
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/types.js +5 -0
  86. package/dist/types.js.map +1 -0
  87. 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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;0FASoD,CAAC;AAE3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CAC9D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAuB;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAEhF,sCAAsC;QACtC,MAAM,SAAS,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE;gBACR,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC;aAC5E;YACD,YAAY,EAAE,OAAO,CAAC,YAAY;gBAChC,CAAC,CAAC;oBACE,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;oBAC/B,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;oBAC/B,MAAM,EACJ,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;wBAC5D,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;wBACpG,CAAC,CAAC,eAAe;oBACrB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM;oBAC9C,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC9C,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;iBACJ;gBACH,CAAC,CAAC,IAAI;YACR,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;gBACtC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;gBAC5B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzC,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;aACJ;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,SAAS,CACnB;gBACE,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B,KAAK,CAAC,OAAO,EAAE;gBAChD,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,EACD,IAAI,EACJ,CAAC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EACH,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,uCAAuC;SAC9C,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAC9B,8HAA8H,CAAC;AAEjI,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F,CAC3F;CACJ,CAAC,CAAC;AAIH,2CAA2C;AAC3C,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE;;;;;;;;;;;2EAW0D;KACxE;IAED,OAAO,EAAE;QACP,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,+CAA+C;gBAC5D,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,6CAA6C;aACnD;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EACT,0EAA0E;gBAC5E,MAAM,EAAE,2CAA2C;gBACnD,GAAG,EAAE,kDAAkD;gBACvD,OAAO,EACL,6GAA6G;aAChH;SACF;KACF;IAED,aAAa,EAAE;QACb,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,+CAA+C;gBAC5D,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,6CAA6C;aACnD;YACD;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,yCAAyC;gBACtD,MAAM,EAAE,oBAAoB;aAC7B;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EAAE,2BAA2B;gBACxC,MAAM,EACJ,uFAAuF;aAC1F;SACF;KACF;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,sCAAsC;gBACnD,MAAM,EAAE,oBAAoB;aAC7B;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,iDAAiD;gBAC9D,MAAM,EAAE,2CAA2C;aACpD;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EACT,sDAAsD;gBACxD,MAAM,EACJ,oGAAoG;aACvG;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EACJ,oFAAoF;aACvF;SACF;KACF;IAED,MAAM,EAAE;QACN,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,uDAAuD;gBACpE,MAAM,EACJ,kFAAkF;aACrF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,oBAAoB;gBACjC,MAAM,EAAE;qIACqH;gBAC7H,OAAO,EAAE;;;;;;EAMf;aACK;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,kGAAkG;gBACpG,MAAM,EAAE;iGACiF;aAC1F;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,wCAAwC;gBACrD,MAAM,EACJ,gEAAgE;aACnE;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,2CAA2C;gBACxD,MAAM,EACJ,6GAA6G;gBAC/G,GAAG,EAAE,8DAA8D;aACpE;SACF;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,+CAA+C;gBAC5D,MAAM,EAAE,2CAA2C;aACpD;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,uCAAuC;gBACpD,MAAM,EACJ,mIAAmI;aACtI;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EAAE,qBAAqB;aAC9B;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,6DAA6D;gBAC/D,MAAM,EACJ,kFAAkF;aACrF;YACD;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,2BAA2B;gBACxC,MAAM,EACJ,4GAA4G;aAC/G;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EACJ,iGAAiG;aACpG;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,uEAAuE;gBACzE,MAAM,EAAE,qBAAqB;aAC9B;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,qEAAqE;gBACvE,MAAM,EACJ,oIAAoI;aACvI;SACF;KACF;IAED,MAAM,EAAE;QACN,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,8BAA8B;gBAC3C,MAAM,EAAE,2CAA2C;aACpD;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,mCAAmC;gBAChD,MAAM,EACJ,+DAA+D;aAClE;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EACT,sDAAsD;gBACxD,MAAM,EACJ,2JAA2J;aAC9J;SACF;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,mDAAmD;gBACrD,MAAM,EAAE,2CAA2C;gBACnD,OAAO,EAAE,4CAA4C;aACtD;SACF;KACF;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,+BAA+B;gBAC5C,MAAM,EACJ,gEAAgE;aACnE;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EACJ,oFAAoF;aACvF;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,gCAAgC;gBAC7C,MAAM,EACJ,0GAA0G;aAC7G;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,gCAAgC;gBAC7C,MAAM,EACJ,sFAAsF;aACzF;SACF;KACF;IAED,MAAM,EAAE;QACN,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,8BAA8B;gBAC3C,MAAM,EAAE,2CAA2C;aACpD;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,oBAAoB;gBACjC,MAAM,EACJ,2HAA2H;aAC9H;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,0CAA0C;gBACvD,MAAM,EACJ,iEAAiE;aACpE;SACF;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,6DAA6D;gBAC/D,MAAM,EAAE,oBAAoB;gBAC5B,OAAO,EAAE,yCAAyC;aACnD;SACF;KACF;IAED,KAAK,EAAE;QACL,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,sCAAsC;gBACnD,MAAM,EACJ,4GAA4G;gBAC9G,GAAG,EAAE,6EAA6E;aACnF;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,8BAA8B;gBAC3C,MAAM,EACJ,mFAAmF;aACtF;SACF;KACF;IAED,MAAM,EAAE;QACN,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,wEAAwE;gBAC1E,MAAM,EACJ,8JAA8J;gBAChK,OAAO,EAAE;;;;;EAKf;aACK;SACF;KACF;IAED,SAAS,EAAE;QACT,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,8DAA8D;QAChE,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EACT,wDAAwD;gBAC1D,MAAM,EAAE,2CAA2C;aACpD;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,uDAAuD;gBACzD,MAAM,EACJ,kEAAkE;aACrE;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EACJ,0GAA0G;aAC7G;YACD;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,qCAAqC;gBAClD,MAAM,EACJ,yFAAyF;gBAC3F,OAAO,EAAE;;;;EAIf;aACK;SACF;KACF;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;yDAoBwC;KACtD;CACF,CAAC;AAEF,0CAA0C;AAC1C,MAAM,YAAY,GAA2B,EAAE,CAAC;AAEhD,qCAAqC;AACrC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;IACrD,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAoB;IACpD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,6BAA6B;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,IAAI,GAAG,SAAS,CAAC,CAA2B,CAAC,CAAC;YACpD,MAAM,SAAS,GACb,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1C,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS;gBACjC,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,OAAO,CAAC,GAAG,SAAS,EAAE,CAAC;QAChC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK;gBAC/B,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,WAAW;gBACvC,UAAU,EAAE,UAAU;gBACtB,GAAG,EAAE,2HAA2H;aACjI;SACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC;IAEjF,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;aAC7B;SACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,WAAW,GAAG,eAAyC,CAAC;IAC9D,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,YAAY;SACnB,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IAE7E,qBAAqB;IACrB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CACnF,CAAC;IACF,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClE,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,UAAU,KAAK,aAAa;QACnC,WAAW,EAAE;YACX,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACnE,kBAAkB,EAChB,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;YAChE,mBAAmB,EAAE,aAAa;SACnC;KACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,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.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"}