@agllama/mcp 0.5.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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +248 -0
  3. package/dist/api-client.d.ts +120 -0
  4. package/dist/api-client.d.ts.map +1 -0
  5. package/dist/api-client.js +421 -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 +673 -0
  14. package/dist/server.js.map +1 -0
  15. package/dist/tools/backlog.d.ts +22 -0
  16. package/dist/tools/backlog.d.ts.map +1 -0
  17. package/dist/tools/backlog.js +109 -0
  18. package/dist/tools/backlog.js.map +1 -0
  19. package/dist/tools/boardConfig.d.ts +77 -0
  20. package/dist/tools/boardConfig.d.ts.map +1 -0
  21. package/dist/tools/boardConfig.js +154 -0
  22. package/dist/tools/boardConfig.js.map +1 -0
  23. package/dist/tools/boardTemplates.d.ts +47 -0
  24. package/dist/tools/boardTemplates.d.ts.map +1 -0
  25. package/dist/tools/boardTemplates.js +119 -0
  26. package/dist/tools/boardTemplates.js.map +1 -0
  27. package/dist/tools/boards.d.ts +62 -0
  28. package/dist/tools/boards.d.ts.map +1 -0
  29. package/dist/tools/boards.js +260 -0
  30. package/dist/tools/boards.js.map +1 -0
  31. package/dist/tools/comments.d.ts +82 -0
  32. package/dist/tools/comments.d.ts.map +1 -0
  33. package/dist/tools/comments.js +275 -0
  34. package/dist/tools/comments.js.map +1 -0
  35. package/dist/tools/connect.d.ts +7 -0
  36. package/dist/tools/connect.d.ts.map +1 -0
  37. package/dist/tools/connect.js +50 -0
  38. package/dist/tools/connect.js.map +1 -0
  39. package/dist/tools/context.d.ts +19 -0
  40. package/dist/tools/context.d.ts.map +1 -0
  41. package/dist/tools/context.js +136 -0
  42. package/dist/tools/context.js.map +1 -0
  43. package/dist/tools/documents.d.ts +99 -0
  44. package/dist/tools/documents.d.ts.map +1 -0
  45. package/dist/tools/documents.js +252 -0
  46. package/dist/tools/documents.js.map +1 -0
  47. package/dist/tools/help.d.ts +13 -0
  48. package/dist/tools/help.d.ts.map +1 -0
  49. package/dist/tools/help.js +485 -0
  50. package/dist/tools/help.js.map +1 -0
  51. package/dist/tools/index.d.ts +21 -0
  52. package/dist/tools/index.d.ts.map +1 -0
  53. package/dist/tools/index.js +21 -0
  54. package/dist/tools/index.js.map +1 -0
  55. package/dist/tools/issueLinks.d.ts +45 -0
  56. package/dist/tools/issueLinks.d.ts.map +1 -0
  57. package/dist/tools/issueLinks.js +147 -0
  58. package/dist/tools/issueLinks.js.map +1 -0
  59. package/dist/tools/issues.d.ts +307 -0
  60. package/dist/tools/issues.d.ts.map +1 -0
  61. package/dist/tools/issues.js +715 -0
  62. package/dist/tools/issues.js.map +1 -0
  63. package/dist/tools/labels.d.ts +56 -0
  64. package/dist/tools/labels.d.ts.map +1 -0
  65. package/dist/tools/labels.js +213 -0
  66. package/dist/tools/labels.js.map +1 -0
  67. package/dist/tools/members.d.ts +13 -0
  68. package/dist/tools/members.d.ts.map +1 -0
  69. package/dist/tools/members.js +43 -0
  70. package/dist/tools/members.js.map +1 -0
  71. package/dist/tools/organizations.d.ts +35 -0
  72. package/dist/tools/organizations.d.ts.map +1 -0
  73. package/dist/tools/organizations.js +116 -0
  74. package/dist/tools/organizations.js.map +1 -0
  75. package/dist/tools/projects.d.ts +67 -0
  76. package/dist/tools/projects.d.ts.map +1 -0
  77. package/dist/tools/projects.js +165 -0
  78. package/dist/tools/projects.js.map +1 -0
  79. package/dist/tools/search.d.ts +34 -0
  80. package/dist/tools/search.d.ts.map +1 -0
  81. package/dist/tools/search.js +85 -0
  82. package/dist/tools/search.js.map +1 -0
  83. package/dist/tools/session.d.ts +38 -0
  84. package/dist/tools/session.d.ts.map +1 -0
  85. package/dist/tools/session.js +158 -0
  86. package/dist/tools/session.js.map +1 -0
  87. package/dist/tools/sprints.d.ts +141 -0
  88. package/dist/tools/sprints.d.ts.map +1 -0
  89. package/dist/tools/sprints.js +470 -0
  90. package/dist/tools/sprints.js.map +1 -0
  91. package/dist/tools/status.d.ts +22 -0
  92. package/dist/tools/status.d.ts.map +1 -0
  93. package/dist/tools/status.js +81 -0
  94. package/dist/tools/status.js.map +1 -0
  95. package/dist/tools/workflows.d.ts +137 -0
  96. package/dist/tools/workflows.d.ts.map +1 -0
  97. package/dist/tools/workflows.js +355 -0
  98. package/dist/tools/workflows.js.map +1 -0
  99. package/dist/types.d.ts +434 -0
  100. package/dist/types.d.ts.map +1 -0
  101. package/dist/types.js +5 -0
  102. package/dist/types.js.map +1 -0
  103. package/dist/utils/column-instructions.d.ts +21 -0
  104. package/dist/utils/column-instructions.d.ts.map +1 -0
  105. package/dist/utils/column-instructions.js +54 -0
  106. package/dist/utils/column-instructions.js.map +1 -0
  107. package/package.json +63 -0
@@ -0,0 +1,165 @@
1
+ import { z } from 'zod';
2
+ import { getApiClient, LlamaApiError } from '../api-client.js';
3
+ // ============================================
4
+ // List Projects
5
+ // ============================================
6
+ export const listProjectsToolName = 'llama_list_projects';
7
+ export const listProjectsToolDescription = `List all projects in an organization.
8
+ Returns project key, name, description, and issue counts.`;
9
+ export const listProjectsToolSchema = z.object({
10
+ orgSlug: z.string().describe('Organization slug'),
11
+ });
12
+ export async function executeListProjects(input) {
13
+ try {
14
+ const client = getApiClient();
15
+ const projects = await client.listProjects(input.orgSlug);
16
+ return JSON.stringify({
17
+ success: true,
18
+ projects: projects.map((p) => ({
19
+ key: p.key,
20
+ name: p.name,
21
+ description: p.description,
22
+ issueCount: p.issueCount,
23
+ })),
24
+ count: projects.length,
25
+ }, null, 2);
26
+ }
27
+ catch (error) {
28
+ if (error instanceof LlamaApiError) {
29
+ return JSON.stringify({
30
+ success: false,
31
+ error: `Failed to list projects: ${error.message}`,
32
+ statusCode: error.statusCode,
33
+ });
34
+ }
35
+ return JSON.stringify({
36
+ success: false,
37
+ error: error instanceof Error ? error.message : 'Unknown error',
38
+ });
39
+ }
40
+ }
41
+ // ============================================
42
+ // Get Project
43
+ // ============================================
44
+ export const getProjectToolName = 'llama_get_project';
45
+ export const getProjectToolDescription = `Get details for a specific project.
46
+ Returns full project info including workflow statuses.`;
47
+ export const getProjectToolSchema = z.object({
48
+ orgSlug: z.string().describe('Organization slug'),
49
+ projectKey: z.string().describe('Project key (e.g., "PROJ")'),
50
+ });
51
+ export async function executeGetProject(input) {
52
+ try {
53
+ const client = getApiClient();
54
+ const project = await client.getProject(input.orgSlug, input.projectKey);
55
+ return JSON.stringify({
56
+ success: true,
57
+ project,
58
+ });
59
+ }
60
+ catch (error) {
61
+ if (error instanceof LlamaApiError) {
62
+ return JSON.stringify({
63
+ success: false,
64
+ error: `Failed to get project: ${error.message}`,
65
+ statusCode: error.statusCode,
66
+ });
67
+ }
68
+ return JSON.stringify({
69
+ success: false,
70
+ error: error instanceof Error ? error.message : 'Unknown error',
71
+ });
72
+ }
73
+ }
74
+ // ============================================
75
+ // Create Project
76
+ // ============================================
77
+ export const createProjectToolName = 'llama_create_project';
78
+ export const createProjectToolDescription = `Create a new project in an organization.
79
+ The project key must be unique, uppercase, and 2-10 characters (e.g., "PROJ", "DEMO").
80
+ A default workflow and board will be created automatically.`;
81
+ export const createProjectToolSchema = z.object({
82
+ orgSlug: z.string().describe('Organization slug'),
83
+ name: z.string().describe('Project display name'),
84
+ key: z.string().describe('Project key (uppercase, 2-10 chars, e.g., "PROJ")'),
85
+ description: z.string().optional().describe('Optional project description'),
86
+ });
87
+ export async function executeCreateProject(input) {
88
+ try {
89
+ const client = getApiClient();
90
+ const project = await client.createProject(input.orgSlug, {
91
+ name: input.name,
92
+ key: input.key.toUpperCase(),
93
+ description: input.description,
94
+ });
95
+ return JSON.stringify({
96
+ success: true,
97
+ message: `Created project "${project.name}" (${project.key})`,
98
+ project: {
99
+ key: project.key,
100
+ name: project.name,
101
+ description: project.description,
102
+ },
103
+ });
104
+ }
105
+ catch (error) {
106
+ if (error instanceof LlamaApiError) {
107
+ return JSON.stringify({
108
+ success: false,
109
+ error: `Failed to create project: ${error.message}`,
110
+ statusCode: error.statusCode,
111
+ });
112
+ }
113
+ return JSON.stringify({
114
+ success: false,
115
+ error: error instanceof Error ? error.message : 'Unknown error',
116
+ });
117
+ }
118
+ }
119
+ // ============================================
120
+ // Update Project
121
+ // ============================================
122
+ export const updateProjectToolName = 'llama_update_project';
123
+ export const updateProjectToolDescription = `Update a project's name or description.
124
+ Only include the fields you want to change.`;
125
+ export const updateProjectToolSchema = z.object({
126
+ orgSlug: z.string().describe('Organization slug'),
127
+ projectKey: z.string().describe('Project key'),
128
+ name: z.string().optional().describe('New project name'),
129
+ description: z.string().optional().describe('New project description'),
130
+ });
131
+ export async function executeUpdateProject(input) {
132
+ try {
133
+ const { orgSlug, projectKey, ...updates } = input;
134
+ const updateFields = {};
135
+ if (updates.name !== undefined)
136
+ updateFields.name = updates.name;
137
+ if (updates.description !== undefined)
138
+ updateFields.description = updates.description;
139
+ const client = getApiClient();
140
+ const project = await client.updateProject(orgSlug, projectKey, updateFields);
141
+ return JSON.stringify({
142
+ success: true,
143
+ message: `Updated project ${project.key}`,
144
+ project: {
145
+ key: project.key,
146
+ name: project.name,
147
+ description: project.description,
148
+ },
149
+ });
150
+ }
151
+ catch (error) {
152
+ if (error instanceof LlamaApiError) {
153
+ return JSON.stringify({
154
+ success: false,
155
+ error: `Failed to update project: ${error.message}`,
156
+ statusCode: error.statusCode,
157
+ });
158
+ }
159
+ return JSON.stringify({
160
+ success: false,
161
+ error: error instanceof Error ? error.message : 'Unknown error',
162
+ });
163
+ }
164
+ }
165
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ export declare const searchToolName = "llama_search";
3
+ export declare const searchToolDescription = "Search for issues across a project.\nSearches issue summaries, descriptions, and keys.\nUse filters to narrow results by type, priority, status, etc.\nUses session defaults if orgSlug not provided.";
4
+ export declare const searchToolSchema: z.ZodObject<{
5
+ orgSlug: z.ZodOptional<z.ZodString>;
6
+ query: z.ZodString;
7
+ type: z.ZodOptional<z.ZodEnum<["EPIC", "STORY", "TASK", "BUG", "SUBTASK"]>>;
8
+ priority: z.ZodOptional<z.ZodEnum<["CRITICAL", "HIGH", "MEDIUM", "LOW", "TRIVIAL"]>>;
9
+ status: z.ZodOptional<z.ZodString>;
10
+ assigneeId: z.ZodOptional<z.ZodString>;
11
+ sprintId: z.ZodOptional<z.ZodString>;
12
+ labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ query: string;
15
+ type?: "EPIC" | "STORY" | "TASK" | "BUG" | "SUBTASK" | undefined;
16
+ priority?: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "TRIVIAL" | undefined;
17
+ status?: string | undefined;
18
+ assigneeId?: string | undefined;
19
+ sprintId?: string | undefined;
20
+ labels?: string[] | undefined;
21
+ orgSlug?: string | undefined;
22
+ }, {
23
+ query: string;
24
+ type?: "EPIC" | "STORY" | "TASK" | "BUG" | "SUBTASK" | undefined;
25
+ priority?: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "TRIVIAL" | undefined;
26
+ status?: string | undefined;
27
+ assigneeId?: string | undefined;
28
+ sprintId?: string | undefined;
29
+ labels?: string[] | undefined;
30
+ orgSlug?: string | undefined;
31
+ }>;
32
+ export type SearchToolInput = z.infer<typeof searchToolSchema>;
33
+ export declare function executeSearch(input: SearchToolInput): Promise<string>;
34
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,qBAAqB,0MAGa,CAAC;AAEhD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAqE3E"}
@@ -0,0 +1,85 @@
1
+ import { z } from 'zod';
2
+ import { getApiClient, LlamaApiError } from '../api-client.js';
3
+ import { getSessionDefaults } from './session.js';
4
+ export const searchToolName = 'llama_search';
5
+ export const searchToolDescription = `Search for issues across a project.
6
+ Searches issue summaries, descriptions, and keys.
7
+ Use filters to narrow results by type, priority, status, etc.
8
+ Uses session defaults if orgSlug not provided.`;
9
+ export const searchToolSchema = z.object({
10
+ orgSlug: z
11
+ .string()
12
+ .optional()
13
+ .describe('Organization slug (uses session default if not provided)'),
14
+ query: z.string().describe('Search query text'),
15
+ type: z
16
+ .enum(['EPIC', 'STORY', 'TASK', 'BUG', 'SUBTASK'])
17
+ .optional()
18
+ .describe('Filter by issue type'),
19
+ priority: z
20
+ .enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'TRIVIAL'])
21
+ .optional()
22
+ .describe('Filter by priority'),
23
+ status: z.string().optional().describe('Filter by status name'),
24
+ assigneeId: z.string().optional().describe('Filter by assignee user ID'),
25
+ sprintId: z.string().optional().describe('Filter by sprint ID'),
26
+ labels: z.array(z.string()).optional().describe('Filter by labels'),
27
+ });
28
+ export async function executeSearch(input) {
29
+ try {
30
+ const session = await getSessionDefaults();
31
+ const orgSlug = input.orgSlug ?? session?.orgSlug;
32
+ if (!orgSlug) {
33
+ return JSON.stringify({
34
+ success: false,
35
+ error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
36
+ });
37
+ }
38
+ const client = getApiClient();
39
+ // Record tool call
40
+ try {
41
+ await client.recordToolCall('llama_search', {
42
+ orgSlug,
43
+ query: input.query,
44
+ });
45
+ }
46
+ catch {
47
+ // Ignore recording errors
48
+ }
49
+ const result = await client.searchIssues(orgSlug, input.query, {
50
+ type: input.type,
51
+ priority: input.priority,
52
+ status: input.status,
53
+ assigneeId: input.assigneeId,
54
+ sprintId: input.sprintId,
55
+ labels: input.labels,
56
+ });
57
+ return JSON.stringify({
58
+ success: true,
59
+ query: input.query,
60
+ total: result.total,
61
+ issues: result.issues.map((i) => ({
62
+ key: i.key,
63
+ summary: i.summary,
64
+ type: i.type,
65
+ status: i.status,
66
+ priority: i.priority,
67
+ assignee: i.assignee,
68
+ })),
69
+ }, null, 2);
70
+ }
71
+ catch (error) {
72
+ if (error instanceof LlamaApiError) {
73
+ return JSON.stringify({
74
+ success: false,
75
+ error: `Search failed: ${error.message}`,
76
+ statusCode: error.statusCode,
77
+ });
78
+ }
79
+ return JSON.stringify({
80
+ success: false,
81
+ error: error instanceof Error ? error.message : 'Unknown error',
82
+ });
83
+ }
84
+ }
85
+ //# 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,38 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Get session defaults for orgSlug, projectKey, and sprintId.
4
+ * Used by tools to fall back to session values when not explicitly provided.
5
+ */
6
+ export declare function getSessionDefaults(): Promise<{
7
+ orgSlug?: string;
8
+ projectKey?: string;
9
+ sprintId?: string;
10
+ } | null>;
11
+ export declare const setContextToolName = "llama_set_context";
12
+ export declare const setContextToolDescription = "Set the working org/project/sprint context for this session. Once set, these become defaults for subsequent tools. Session expires after 30min inactivity or 8hrs max. Use this to establish your working context at the start of a conversation or when switching focus.";
13
+ export declare const setContextToolSchema: z.ZodObject<{
14
+ orgSlug: z.ZodString;
15
+ projectKey: z.ZodOptional<z.ZodString>;
16
+ sprintId: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ orgSlug: string;
19
+ sprintId?: string | undefined;
20
+ projectKey?: string | undefined;
21
+ }, {
22
+ orgSlug: string;
23
+ sprintId?: string | undefined;
24
+ projectKey?: string | undefined;
25
+ }>;
26
+ export type SetContextToolInput = z.infer<typeof setContextToolSchema>;
27
+ export declare function executeSetContext(input: SetContextToolInput): Promise<string>;
28
+ export declare const resumeToolName = "llama_resume";
29
+ export declare const resumeToolDescription = "Resume context after conversation compaction. Returns stored session with org/project/sprint and recent tool calls. Call this first after Claude's context has been compacted to restore your working context.";
30
+ export declare const resumeToolSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
31
+ export type ResumeToolInput = z.infer<typeof resumeToolSchema>;
32
+ export declare function executeResume(): Promise<string>;
33
+ export declare const clearSessionToolName = "llama_clear_session";
34
+ export declare const clearSessionToolDescription = "End the current session and clear stored context. Use this when you're done with the current working context or want to start fresh.";
35
+ export declare const clearSessionToolSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
36
+ export type ClearSessionToolInput = z.infer<typeof clearSessionToolSchema>;
37
+ export declare function executeClearSession(): Promise<string>;
38
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAAC,CAcR;AAMD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAEtD,eAAO,MAAM,yBAAyB,8QACuO,CAAC;AAE9Q,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAiB/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoCnF;AAMD,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,qBAAqB,mNACiL,CAAC;AAEpN,eAAO,MAAM,gBAAgB,gDAAe,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CA8CrD;AAMD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,eAAO,MAAM,2BAA2B,yIACiG,CAAC;AAE1I,eAAO,MAAM,sBAAsB,gDAAe,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CA6B3D"}
@@ -0,0 +1,158 @@
1
+ import { z } from 'zod';
2
+ import { getApiClient, LlamaApiError } from '../api-client.js';
3
+ // ============================================
4
+ // Session Defaults Helper (LLAMA-121)
5
+ // ============================================
6
+ /**
7
+ * Get session defaults for orgSlug, projectKey, and sprintId.
8
+ * Used by tools to fall back to session values when not explicitly provided.
9
+ */
10
+ export async function getSessionDefaults() {
11
+ try {
12
+ const client = getApiClient();
13
+ const session = await client.getSession();
14
+ return session
15
+ ? {
16
+ orgSlug: session.orgSlug,
17
+ projectKey: session.projectKey ?? undefined,
18
+ sprintId: session.sprintId ?? undefined,
19
+ }
20
+ : null;
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ }
26
+ // ============================================
27
+ // llama_set_context (LLAMA-118)
28
+ // ============================================
29
+ export const setContextToolName = 'llama_set_context';
30
+ export const setContextToolDescription = 'Set the working org/project/sprint context for this session. Once set, these become defaults for subsequent tools. Session expires after 30min inactivity or 8hrs max. Use this to establish your working context at the start of a conversation or when switching focus.';
31
+ export const setContextToolSchema = z.object({
32
+ orgSlug: z
33
+ .string()
34
+ .min(2)
35
+ .max(50)
36
+ .describe('Organization slug (e.g., "acme-corp")'),
37
+ projectKey: z
38
+ .string()
39
+ .min(2)
40
+ .max(10)
41
+ .optional()
42
+ .describe('Project key (e.g., "WEB"). Optional - can set org-only context.'),
43
+ sprintId: z
44
+ .string()
45
+ .uuid()
46
+ .optional()
47
+ .describe('Sprint ID to focus on. Optional.'),
48
+ });
49
+ export async function executeSetContext(input) {
50
+ try {
51
+ const client = getApiClient();
52
+ const session = await client.setSession(input);
53
+ return JSON.stringify({
54
+ success: true,
55
+ message: 'Session context set successfully',
56
+ session: {
57
+ orgSlug: session.orgSlug,
58
+ projectKey: session.projectKey,
59
+ sprintId: session.sprintId,
60
+ expiresAt: session.expiresAt,
61
+ updatedAt: session.updatedAt,
62
+ },
63
+ });
64
+ }
65
+ catch (error) {
66
+ if (error instanceof LlamaApiError) {
67
+ return JSON.stringify({
68
+ success: false,
69
+ error: `Failed to set context: ${error.message}`,
70
+ statusCode: error.statusCode,
71
+ });
72
+ }
73
+ return JSON.stringify({
74
+ success: false,
75
+ error: error instanceof Error
76
+ ? error.message
77
+ : 'Unknown error setting context',
78
+ });
79
+ }
80
+ }
81
+ // ============================================
82
+ // llama_resume (LLAMA-119)
83
+ // ============================================
84
+ export const resumeToolName = 'llama_resume';
85
+ export const resumeToolDescription = 'Resume context after conversation compaction. Returns stored session with org/project/sprint and recent tool calls. Call this first after Claude\'s context has been compacted to restore your working context.';
86
+ export const resumeToolSchema = z.object({});
87
+ export async function executeResume() {
88
+ try {
89
+ const client = getApiClient();
90
+ const session = await client.getSession();
91
+ if (!session) {
92
+ return JSON.stringify({
93
+ success: true,
94
+ message: 'No active session found. Use llama_set_context to establish working context.',
95
+ session: null,
96
+ });
97
+ }
98
+ return JSON.stringify({
99
+ success: true,
100
+ message: 'Session resumed successfully',
101
+ session: {
102
+ orgSlug: session.orgSlug,
103
+ projectKey: session.projectKey,
104
+ sprintId: session.sprintId,
105
+ recentCalls: session.recentCalls,
106
+ expiresAt: session.expiresAt,
107
+ updatedAt: session.updatedAt,
108
+ },
109
+ });
110
+ }
111
+ catch (error) {
112
+ if (error instanceof LlamaApiError) {
113
+ return JSON.stringify({
114
+ success: false,
115
+ error: `Failed to resume session: ${error.message}`,
116
+ statusCode: error.statusCode,
117
+ });
118
+ }
119
+ return JSON.stringify({
120
+ success: false,
121
+ error: error instanceof Error
122
+ ? error.message
123
+ : 'Unknown error resuming session',
124
+ });
125
+ }
126
+ }
127
+ // ============================================
128
+ // llama_clear_session (LLAMA-120)
129
+ // ============================================
130
+ export const clearSessionToolName = 'llama_clear_session';
131
+ export const clearSessionToolDescription = 'End the current session and clear stored context. Use this when you\'re done with the current working context or want to start fresh.';
132
+ export const clearSessionToolSchema = z.object({});
133
+ export async function executeClearSession() {
134
+ try {
135
+ const client = getApiClient();
136
+ await client.clearSession();
137
+ return JSON.stringify({
138
+ success: true,
139
+ message: 'Session cleared successfully',
140
+ });
141
+ }
142
+ catch (error) {
143
+ if (error instanceof LlamaApiError) {
144
+ return JSON.stringify({
145
+ success: false,
146
+ error: `Failed to clear session: ${error.message}`,
147
+ statusCode: error.statusCode,
148
+ });
149
+ }
150
+ return JSON.stringify({
151
+ success: false,
152
+ error: error instanceof Error
153
+ ? error.message
154
+ : 'Unknown error clearing session',
155
+ });
156
+ }
157
+ }
158
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.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.ZodOptional<z.ZodString>;
6
+ projectKey: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ orgSlug?: string | undefined;
9
+ projectKey?: string | undefined;
10
+ }, {
11
+ orgSlug?: string | undefined;
12
+ projectKey?: string | undefined;
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.ZodOptional<z.ZodString>;
20
+ projectKey: z.ZodOptional<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
+ name: string;
27
+ orgSlug?: string | undefined;
28
+ projectKey?: string | undefined;
29
+ startDate?: string | undefined;
30
+ endDate?: string | undefined;
31
+ goal?: string | undefined;
32
+ }, {
33
+ name: string;
34
+ orgSlug?: string | undefined;
35
+ projectKey?: string | undefined;
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.ZodOptional<z.ZodString>;
46
+ projectKey: z.ZodOptional<z.ZodString>;
47
+ issueKeys: z.ZodArray<z.ZodString, "many">;
48
+ sprintId: z.ZodNullable<z.ZodString>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ sprintId: string | null;
51
+ issueKeys: string[];
52
+ orgSlug?: string | undefined;
53
+ projectKey?: string | undefined;
54
+ }, {
55
+ sprintId: string | null;
56
+ issueKeys: string[];
57
+ orgSlug?: string | undefined;
58
+ projectKey?: string | undefined;
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.\nReturns the number of issues that were moved to backlog.";
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