@agllama/mcp 0.5.20 → 0.5.21

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 (48) hide show
  1. package/dist/api-client.d.ts +18 -0
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +76 -2
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/server.d.ts.map +1 -1
  6. package/dist/server.js +56 -1
  7. package/dist/server.js.map +1 -1
  8. package/dist/tools/analytics.d.ts +36 -0
  9. package/dist/tools/analytics.d.ts.map +1 -0
  10. package/dist/tools/analytics.js +182 -0
  11. package/dist/tools/analytics.js.map +1 -0
  12. package/dist/tools/boards.d.ts +6 -3
  13. package/dist/tools/boards.d.ts.map +1 -1
  14. package/dist/tools/boards.js +52 -10
  15. package/dist/tools/boards.js.map +1 -1
  16. package/dist/tools/context.d.ts.map +1 -1
  17. package/dist/tools/context.js +28 -0
  18. package/dist/tools/context.js.map +1 -1
  19. package/dist/tools/index.d.ts +3 -0
  20. package/dist/tools/index.d.ts.map +1 -1
  21. package/dist/tools/index.js +3 -0
  22. package/dist/tools/index.js.map +1 -1
  23. package/dist/tools/issues.d.ts +35 -19
  24. package/dist/tools/issues.d.ts.map +1 -1
  25. package/dist/tools/issues.js +71 -14
  26. package/dist/tools/issues.js.map +1 -1
  27. package/dist/tools/refinement.d.ts +42 -0
  28. package/dist/tools/refinement.d.ts.map +1 -0
  29. package/dist/tools/refinement.js +157 -0
  30. package/dist/tools/refinement.js.map +1 -0
  31. package/dist/tools/rollup.d.ts +42 -0
  32. package/dist/tools/rollup.d.ts.map +1 -0
  33. package/dist/tools/rollup.js +127 -0
  34. package/dist/tools/rollup.js.map +1 -0
  35. package/dist/tools/search.d.ts +9 -3
  36. package/dist/tools/search.d.ts.map +1 -1
  37. package/dist/tools/search.js +11 -1
  38. package/dist/tools/search.js.map +1 -1
  39. package/dist/tools/session.d.ts.map +1 -1
  40. package/dist/tools/session.js +44 -4
  41. package/dist/tools/session.js.map +1 -1
  42. package/dist/tools/sprints.d.ts +1 -1
  43. package/dist/tools/sprints.d.ts.map +1 -1
  44. package/dist/tools/sprints.js +13 -5
  45. package/dist/tools/sprints.js.map +1 -1
  46. package/dist/types.d.ts +31 -1
  47. package/dist/types.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,157 @@
1
+ import { z } from 'zod';
2
+ import { getApiClient, LlamaApiError } from '../api-client.js';
3
+ import { getSessionDefaults } from './session.js';
4
+ // ============================================
5
+ // Refine Story
6
+ // ============================================
7
+ export const refineStoryToolName = 'llama_refine_story';
8
+ export const refineStoryToolDescription = 'Update the refinement status of a story. Use to mark stories as ready for sprint, needs clarification, or refined.';
9
+ export const refineStoryToolSchema = z.object({
10
+ orgSlug: z
11
+ .string()
12
+ .optional()
13
+ .describe('Organization slug (uses session default if not provided)'),
14
+ projectKey: z
15
+ .string()
16
+ .optional()
17
+ .describe('Project key (uses session default if not provided)'),
18
+ issueKey: z.string().describe('Issue key of the story to refine (e.g., "PROJ-123")'),
19
+ status: z
20
+ .enum(['UNREFINED', 'REFINING', 'NEEDS_CLARIFICATION', 'REFINED', 'NOT_APPLICABLE'])
21
+ .describe('New refinement status'),
22
+ comment: z
23
+ .string()
24
+ .optional()
25
+ .describe('Comment explaining what needs clarification (required for NEEDS_CLARIFICATION status)'),
26
+ });
27
+ export async function executeRefineStory(input) {
28
+ try {
29
+ const session = await getSessionDefaults();
30
+ const orgSlug = input.orgSlug ?? session?.orgSlug;
31
+ const projectKey = input.projectKey ?? session?.projectKey;
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
+ if (!projectKey) {
39
+ return JSON.stringify({
40
+ success: false,
41
+ error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
42
+ });
43
+ }
44
+ const client = getApiClient();
45
+ // Record tool call
46
+ try {
47
+ await client.recordToolCall('llama_refine_story', {
48
+ orgSlug,
49
+ projectKey,
50
+ issueKey: input.issueKey,
51
+ status: input.status,
52
+ });
53
+ }
54
+ catch {
55
+ // Ignore recording errors
56
+ }
57
+ const result = await client.patch(`/organizations/${orgSlug}/projects/${projectKey}/issues/${input.issueKey}/refinement-status`, {
58
+ status: input.status,
59
+ comment: input.comment,
60
+ });
61
+ return JSON.stringify({
62
+ success: true,
63
+ message: `Updated refinement status for ${input.issueKey} to ${input.status}`,
64
+ refinementStatus: result.refinementStatus,
65
+ clarificationNote: result.clarificationNote,
66
+ });
67
+ }
68
+ catch (error) {
69
+ if (error instanceof LlamaApiError) {
70
+ return JSON.stringify({
71
+ success: false,
72
+ error: `Failed to update refinement status: ${error.message}`,
73
+ statusCode: error.statusCode,
74
+ });
75
+ }
76
+ return JSON.stringify({
77
+ success: false,
78
+ error: error instanceof Error ? error.message : 'Unknown error',
79
+ });
80
+ }
81
+ }
82
+ // ============================================
83
+ // Get Refinement Data
84
+ // ============================================
85
+ export const getRefinementToolName = 'llama_get_refinement';
86
+ export const getRefinementToolDescription = 'Get refinement data for a sprint, including story readiness status and clarifications needed.';
87
+ export const getRefinementToolSchema = z.object({
88
+ orgSlug: z
89
+ .string()
90
+ .optional()
91
+ .describe('Organization slug (uses session default if not provided)'),
92
+ projectKey: z
93
+ .string()
94
+ .optional()
95
+ .describe('Project key (uses session default if not provided)'),
96
+ sprintId: z.string().describe('Sprint ID to get refinement data for'),
97
+ });
98
+ export async function executeGetRefinement(input) {
99
+ try {
100
+ const session = await getSessionDefaults();
101
+ const orgSlug = input.orgSlug ?? session?.orgSlug;
102
+ const projectKey = input.projectKey ?? session?.projectKey;
103
+ if (!orgSlug) {
104
+ return JSON.stringify({
105
+ success: false,
106
+ error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
107
+ });
108
+ }
109
+ if (!projectKey) {
110
+ return JSON.stringify({
111
+ success: false,
112
+ error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
113
+ });
114
+ }
115
+ const client = getApiClient();
116
+ // Record tool call
117
+ try {
118
+ await client.recordToolCall('llama_get_refinement', {
119
+ orgSlug,
120
+ projectKey,
121
+ sprintId: input.sprintId,
122
+ });
123
+ }
124
+ catch {
125
+ // Ignore recording errors
126
+ }
127
+ const data = await client.get(`/organizations/${orgSlug}/projects/${projectKey}/sprints/${input.sprintId}/refinement`);
128
+ // Format a summary
129
+ const summary = [
130
+ `Sprint: ${data.sprintName}`,
131
+ `Total Stories: ${data.totalStories}`,
132
+ `Refined: ${data.refinedCount}`,
133
+ `Ready: ${data.readyCount}`,
134
+ `Needs Clarification: ${data.needsClarificationCount}`,
135
+ `Draft: ${data.draftCount}`,
136
+ ].join('\n');
137
+ return JSON.stringify({
138
+ success: true,
139
+ summary,
140
+ ...data,
141
+ });
142
+ }
143
+ catch (error) {
144
+ if (error instanceof LlamaApiError) {
145
+ return JSON.stringify({
146
+ success: false,
147
+ error: `Failed to get refinement data: ${error.message}`,
148
+ statusCode: error.statusCode,
149
+ });
150
+ }
151
+ return JSON.stringify({
152
+ success: false,
153
+ error: error instanceof Error ? error.message : 'Unknown error',
154
+ });
155
+ }
156
+ }
157
+ //# sourceMappingURL=refinement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refinement.js","sourceRoot":"","sources":["../../src/tools/refinement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ export declare const configureRollupToolName = "llama_configure_rollup";
3
+ export declare const configureRollupToolDescription = "Get or update rollup rules that auto-progress business stories when technical tasks change status.";
4
+ export declare const configureRollupToolSchema: z.ZodObject<{
5
+ orgSlug: z.ZodOptional<z.ZodString>;
6
+ projectKey: z.ZodOptional<z.ZodString>;
7
+ action: z.ZodEnum<["get", "update"]>;
8
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
9
+ trigger: z.ZodEnum<["FIRST_TASK_STARTED", "ALL_TASKS_DONE", "NO_TASKS_STARTED", "NOT_ALL_TASKS_DONE", "ANY_TASK_BLOCKED"]>;
10
+ targetStatusId: z.ZodNullable<z.ZodString>;
11
+ mode: z.ZodEnum<["AUTOMATIC", "SUGGEST", "DISABLED"]>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ mode: "AUTOMATIC" | "SUGGEST" | "DISABLED";
14
+ trigger: "FIRST_TASK_STARTED" | "ALL_TASKS_DONE" | "NO_TASKS_STARTED" | "NOT_ALL_TASKS_DONE" | "ANY_TASK_BLOCKED";
15
+ targetStatusId: string | null;
16
+ }, {
17
+ mode: "AUTOMATIC" | "SUGGEST" | "DISABLED";
18
+ trigger: "FIRST_TASK_STARTED" | "ALL_TASKS_DONE" | "NO_TASKS_STARTED" | "NOT_ALL_TASKS_DONE" | "ANY_TASK_BLOCKED";
19
+ targetStatusId: string | null;
20
+ }>, "many">>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ action: "update" | "get";
23
+ orgSlug?: string | undefined;
24
+ projectKey?: string | undefined;
25
+ rules?: {
26
+ mode: "AUTOMATIC" | "SUGGEST" | "DISABLED";
27
+ trigger: "FIRST_TASK_STARTED" | "ALL_TASKS_DONE" | "NO_TASKS_STARTED" | "NOT_ALL_TASKS_DONE" | "ANY_TASK_BLOCKED";
28
+ targetStatusId: string | null;
29
+ }[] | undefined;
30
+ }, {
31
+ action: "update" | "get";
32
+ orgSlug?: string | undefined;
33
+ projectKey?: string | undefined;
34
+ rules?: {
35
+ mode: "AUTOMATIC" | "SUGGEST" | "DISABLED";
36
+ trigger: "FIRST_TASK_STARTED" | "ALL_TASKS_DONE" | "NO_TASKS_STARTED" | "NOT_ALL_TASKS_DONE" | "ANY_TASK_BLOCKED";
37
+ targetStatusId: string | null;
38
+ }[] | undefined;
39
+ }>;
40
+ export type ConfigureRollupToolInput = z.infer<typeof configureRollupToolSchema>;
41
+ export declare function executeConfigureRollup(input: ConfigureRollupToolInput): Promise<string>;
42
+ //# sourceMappingURL=rollup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/tools/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,eAAO,MAAM,8BAA8B,uGAC2D,CAAC;AAEvG,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgH7F"}
@@ -0,0 +1,127 @@
1
+ import { z } from 'zod';
2
+ import { getApiClient, LlamaApiError } from '../api-client.js';
3
+ import { getSessionDefaults } from './session.js';
4
+ // ============================================
5
+ // Configure Rollup Rules
6
+ // ============================================
7
+ export const configureRollupToolName = 'llama_configure_rollup';
8
+ export const configureRollupToolDescription = 'Get or update rollup rules that auto-progress business stories when technical tasks change status.';
9
+ export const configureRollupToolSchema = z.object({
10
+ orgSlug: z
11
+ .string()
12
+ .optional()
13
+ .describe('Organization slug (uses session default if not provided)'),
14
+ projectKey: z
15
+ .string()
16
+ .optional()
17
+ .describe('Project key (uses session default if not provided)'),
18
+ action: z
19
+ .enum(['get', 'update'])
20
+ .describe('Action: "get" to view current rules, "update" to modify rules'),
21
+ rules: z
22
+ .array(z.object({
23
+ trigger: z
24
+ .enum([
25
+ 'FIRST_TASK_STARTED',
26
+ 'ALL_TASKS_DONE',
27
+ 'NO_TASKS_STARTED',
28
+ 'NOT_ALL_TASKS_DONE',
29
+ 'ANY_TASK_BLOCKED',
30
+ ])
31
+ .describe('Trigger condition'),
32
+ targetStatusId: z
33
+ .string()
34
+ .nullable()
35
+ .describe('Status ID to transition the story to (null to disable)'),
36
+ mode: z
37
+ .enum(['AUTOMATIC', 'SUGGEST', 'DISABLED'])
38
+ .describe('Rule mode'),
39
+ }))
40
+ .optional()
41
+ .describe('Rules to update (required for action="update")'),
42
+ });
43
+ export async function executeConfigureRollup(input) {
44
+ try {
45
+ const session = await getSessionDefaults();
46
+ const orgSlug = input.orgSlug ?? session?.orgSlug;
47
+ const projectKey = input.projectKey ?? session?.projectKey;
48
+ if (!orgSlug) {
49
+ return JSON.stringify({
50
+ success: false,
51
+ error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
52
+ });
53
+ }
54
+ if (!projectKey) {
55
+ return JSON.stringify({
56
+ success: false,
57
+ error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
58
+ });
59
+ }
60
+ const client = getApiClient();
61
+ // Record tool call
62
+ try {
63
+ await client.recordToolCall('llama_configure_rollup', {
64
+ orgSlug,
65
+ projectKey,
66
+ action: input.action,
67
+ });
68
+ }
69
+ catch {
70
+ // Ignore recording errors
71
+ }
72
+ if (input.action === 'get') {
73
+ const data = await client.get(`/organizations/${orgSlug}/projects/${projectKey}/rollup-rules`);
74
+ // Format summary
75
+ const ruleSummaries = data.rules.map((rule) => {
76
+ const status = rule.targetStatusId
77
+ ? `→ ${rule.targetStatusName || rule.targetStatusId}`
78
+ : '(disabled)';
79
+ return ` ${rule.trigger}: ${status} [${rule.mode}]`;
80
+ });
81
+ const summary = ['Rollup Rules:', '', ...ruleSummaries].join('\n');
82
+ return JSON.stringify({
83
+ success: true,
84
+ summary,
85
+ rules: data.rules,
86
+ });
87
+ }
88
+ else {
89
+ // action === 'update'
90
+ if (!input.rules || input.rules.length === 0) {
91
+ return JSON.stringify({
92
+ success: false,
93
+ error: 'rules are required for action="update"',
94
+ });
95
+ }
96
+ const data = await client.put(`/organizations/${orgSlug}/projects/${projectKey}/rollup-rules`, { rules: input.rules });
97
+ // Format summary
98
+ const ruleSummaries = data.rules.map((rule) => {
99
+ const status = rule.targetStatusId
100
+ ? `→ ${rule.targetStatusName || rule.targetStatusId}`
101
+ : '(disabled)';
102
+ return ` ${rule.trigger}: ${status} [${rule.mode}]`;
103
+ });
104
+ const summary = ['Updated Rollup Rules:', '', ...ruleSummaries].join('\n');
105
+ return JSON.stringify({
106
+ success: true,
107
+ message: 'Rollup rules updated successfully',
108
+ summary,
109
+ rules: data.rules,
110
+ });
111
+ }
112
+ }
113
+ catch (error) {
114
+ if (error instanceof LlamaApiError) {
115
+ return JSON.stringify({
116
+ success: false,
117
+ error: `Failed to configure rollup rules: ${error.message}`,
118
+ statusCode: error.statusCode,
119
+ });
120
+ }
121
+ return JSON.stringify({
122
+ success: false,
123
+ error: error instanceof Error ? error.message : 'Unknown error',
124
+ });
125
+ }
126
+ }
127
+ //# sourceMappingURL=rollup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../src/tools/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,+CAA+C;AAC/C,yBAAyB;AACzB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEhE,MAAM,CAAC,MAAM,8BAA8B,GACzC,oGAAoG,CAAC;AAEvG,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACvB,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;aACP,IAAI,CAAC;YACJ,oBAAoB;YACpB,gBAAgB;YAChB,kBAAkB;YAClB,oBAAoB;YACpB,kBAAkB;SACnB,CAAC;aACD,QAAQ,CAAC,mBAAmB,CAAC;QAChC,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;QACrE,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;aAC1C,QAAQ,CAAC,WAAW,CAAC;KACzB,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAA+B;IAC1E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,CAAC;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,OAAO,EAAE,UAAU,CAAC;QAE3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,6FAA6F;aAChG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,gGAAgG;aACnG,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAE9B,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE;gBACpD,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QAaD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,kBAAkB,OAAO,aAAa,UAAU,eAAe,CAChE,CAAC;YAEF,iBAAiB;YACjB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc;oBAChC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,EAAE;oBACrD,CAAC,CAAC,YAAY,CAAC;gBACjB,OAAO,KAAK,IAAI,CAAC,OAAO,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,wCAAwC;iBAChD,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,kBAAkB,OAAO,aAAa,UAAU,eAAe,EAC/D,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CACvB,CAAC;YAEF,iBAAiB;YACjB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc;oBAChC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,EAAE;oBACrD,CAAC,CAAC,YAAY,CAAC;gBACjB,OAAO,KAAK,IAAI,CAAC,OAAO,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,CAAC,uBAAuB,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3E,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mCAAmC;gBAC5C,OAAO;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qCAAqC,KAAK,CAAC,OAAO,EAAE;gBAC3D,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -4,29 +4,35 @@ export declare const searchToolDescription = "Search issues by text and filters.
4
4
  export declare const searchToolSchema: z.ZodObject<{
5
5
  orgSlug: z.ZodOptional<z.ZodString>;
6
6
  query: z.ZodString;
7
- type: z.ZodOptional<z.ZodEnum<["EPIC", "STORY", "TASK", "BUG", "SUBTASK"]>>;
7
+ type: z.ZodOptional<z.ZodEnum<["EPIC", "STORY", "TASK", "BUG", "SUBTASK", "TECHNICAL_TASK"]>>;
8
8
  priority: z.ZodOptional<z.ZodEnum<["CRITICAL", "HIGH", "MEDIUM", "LOW", "TRIVIAL"]>>;
9
9
  status: z.ZodOptional<z.ZodString>;
10
10
  assigneeId: z.ZodOptional<z.ZodString>;
11
11
  sprintId: z.ZodOptional<z.ZodString>;
12
12
  labels: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], unknown>>;
13
+ parentKey: z.ZodOptional<z.ZodString>;
14
+ refinementStatus: z.ZodOptional<z.ZodEnum<["DRAFT", "READY", "NEEDS_CLARIFICATION", "REFINED"]>>;
13
15
  }, "strip", z.ZodTypeAny, {
14
16
  query: string;
15
- type?: "EPIC" | "STORY" | "TASK" | "BUG" | "SUBTASK" | undefined;
17
+ type?: "EPIC" | "STORY" | "TASK" | "BUG" | "SUBTASK" | "TECHNICAL_TASK" | undefined;
16
18
  priority?: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "TRIVIAL" | undefined;
17
19
  status?: string | undefined;
18
20
  assigneeId?: string | undefined;
19
21
  sprintId?: string | undefined;
20
22
  labels?: string[] | undefined;
23
+ parentKey?: string | undefined;
24
+ refinementStatus?: "DRAFT" | "READY" | "NEEDS_CLARIFICATION" | "REFINED" | undefined;
21
25
  orgSlug?: string | undefined;
22
26
  }, {
23
27
  query: string;
24
- type?: "EPIC" | "STORY" | "TASK" | "BUG" | "SUBTASK" | undefined;
28
+ type?: "EPIC" | "STORY" | "TASK" | "BUG" | "SUBTASK" | "TECHNICAL_TASK" | undefined;
25
29
  priority?: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "TRIVIAL" | undefined;
26
30
  status?: string | undefined;
27
31
  assigneeId?: string | undefined;
28
32
  sprintId?: string | undefined;
29
33
  labels?: unknown;
34
+ parentKey?: string | undefined;
35
+ refinementStatus?: "DRAFT" | "READY" | "NEEDS_CLARIFICATION" | "REFINED" | undefined;
30
36
  orgSlug?: string | undefined;
31
37
  }>;
32
38
  export type SearchToolInput = z.infer<typeof searchToolSchema>;
@@ -1 +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,uCAAuC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B3B,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"}
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,uCAAuC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC3B,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,CAuE3E"}
@@ -10,7 +10,7 @@ export const searchToolSchema = z.object({
10
10
  .describe('Organization slug (uses session default if not provided)'),
11
11
  query: z.string().describe('Search query text'),
12
12
  type: z
13
- .enum(['EPIC', 'STORY', 'TASK', 'BUG', 'SUBTASK'])
13
+ .enum(['EPIC', 'STORY', 'TASK', 'BUG', 'SUBTASK', 'TECHNICAL_TASK'])
14
14
  .optional()
15
15
  .describe('Filter by issue type'),
16
16
  priority: z
@@ -34,6 +34,14 @@ export const searchToolSchema = z.object({
34
34
  }, z.array(z.string()))
35
35
  .optional()
36
36
  .describe('Filter by labels'),
37
+ parentKey: z
38
+ .string()
39
+ .optional()
40
+ .describe('Filter by parent issue key (e.g., get all technical tasks under a story)'),
41
+ refinementStatus: z
42
+ .enum(['DRAFT', 'READY', 'NEEDS_CLARIFICATION', 'REFINED'])
43
+ .optional()
44
+ .describe('Filter by refinement status'),
37
45
  });
38
46
  export async function executeSearch(input) {
39
47
  try {
@@ -63,6 +71,8 @@ export async function executeSearch(input) {
63
71
  assigneeId: input.assigneeId,
64
72
  sprintId: input.sprintId,
65
73
  labels: input.labels,
74
+ parentKey: input.parentKey,
75
+ refinementStatus: input.refinementStatus,
66
76
  });
67
77
  return JSON.stringify({
68
78
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,oCAAoC,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;SACnE,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IACnC,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;SACtD,QAAQ,EAAE;SACV,QAAQ,CAAC,oBAAoB,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC/D,MAAM,EAAE,CAAC;SACN,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACtB,QAAQ,EAAE;SACV,QAAQ,CAAC,kBAAkB,CAAC;IAC/B,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,gBAAgB,EAAE,CAAC;SAChB,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;SAC1D,QAAQ,EAAE;SACV,QAAQ,CAAC,6BAA6B,CAAC;CAC3C,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAsB;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,SAAS,CACnB;gBACE,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,6FAA6F;aAChG,CAAC,CAAC;QACP,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAE9B,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE;gBAC1C,OAAO;gBACP,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE;YAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC;SACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,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,kBAAkB,KAAK,CAAC,OAAO,EAAE;gBACxC,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;QACP,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACP,CAAC;AACH,CAAC"}
@@ -1 +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,6DACsB,CAAC;AAE7D,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,0DACuB,CAAC;AAE1D,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,8CACK,CAAC;AAE9C,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"}
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,6DACsB,CAAC;AAE7D,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,CA2DnF;AAMD,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,qBAAqB,0DACuB,CAAC;AAE1D,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,CAqErD;AAMD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,eAAO,MAAM,2BAA2B,8CACK,CAAC;AAE9C,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"}
@@ -50,7 +50,23 @@ export async function executeSetContext(input) {
50
50
  try {
51
51
  const client = getApiClient();
52
52
  const session = await client.setSession(input);
53
- return JSON.stringify({
53
+ // Enrich with project settings when a project is in context
54
+ let projectSettings = null;
55
+ if (session.orgSlug && session.projectKey) {
56
+ try {
57
+ const settings = await client.get(`/organizations/${session.orgSlug}/projects/${session.projectKey}/settings`);
58
+ if (settings.technicalSprintsEnabled) {
59
+ projectSettings = {
60
+ technicalSprintsEnabled: true,
61
+ hint: 'This project uses dual boards. BUG issues accept a "board" field (BUSINESS or TECHNICAL). Issue types: EPIC, STORY, BUG, TECHNICAL_TASK (no TASK/SUBTASK).',
62
+ };
63
+ }
64
+ }
65
+ catch {
66
+ // Settings not available — ignore
67
+ }
68
+ }
69
+ const response = {
54
70
  success: true,
55
71
  message: 'Session context set successfully',
56
72
  session: {
@@ -60,7 +76,11 @@ export async function executeSetContext(input) {
60
76
  expiresAt: session.expiresAt,
61
77
  updatedAt: session.updatedAt,
62
78
  },
63
- });
79
+ };
80
+ if (projectSettings) {
81
+ response.projectSettings = projectSettings;
82
+ }
83
+ return JSON.stringify(response);
64
84
  }
65
85
  catch (error) {
66
86
  if (error instanceof LlamaApiError) {
@@ -95,7 +115,23 @@ export async function executeResume() {
95
115
  session: null,
96
116
  });
97
117
  }
98
- return JSON.stringify({
118
+ // Enrich with project settings when a project is in context
119
+ let projectSettings = null;
120
+ if (session.orgSlug && session.projectKey) {
121
+ try {
122
+ const settings = await client.get(`/organizations/${session.orgSlug}/projects/${session.projectKey}/settings`);
123
+ if (settings.technicalSprintsEnabled) {
124
+ projectSettings = {
125
+ technicalSprintsEnabled: true,
126
+ hint: 'This project uses dual boards. BUG issues accept a "board" field (BUSINESS or TECHNICAL). Issue types: EPIC, STORY, BUG, TECHNICAL_TASK (no TASK/SUBTASK).',
127
+ };
128
+ }
129
+ }
130
+ catch {
131
+ // Settings not available — ignore
132
+ }
133
+ }
134
+ const response = {
99
135
  success: true,
100
136
  message: 'Session resumed successfully',
101
137
  session: {
@@ -106,7 +142,11 @@ export async function executeResume() {
106
142
  expiresAt: session.expiresAt,
107
143
  updatedAt: session.updatedAt,
108
144
  },
109
- });
145
+ };
146
+ if (projectSettings) {
147
+ response.projectSettings = projectSettings;
148
+ }
149
+ return JSON.stringify(response);
110
150
  }
111
151
  catch (error) {
112
152
  if (error instanceof LlamaApiError) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,7 @@ export declare const startSprintToolSchema: z.ZodObject<{
88
88
  export type StartSprintToolInput = z.infer<typeof startSprintToolSchema>;
89
89
  export declare function executeStartSprint(input: StartSprintToolInput): Promise<string>;
90
90
  export declare const completeSprintToolName = "llama_complete_sprint";
91
- export declare const completeSprintToolDescription = "Complete a sprint. Incomplete issues go to backlog or next sprint.";
91
+ export declare const completeSprintToolDescription = "Complete a sprint. By default, incomplete issues are moved to the next planned sprint (auto-created if none exists). Use moveIncompleteToBacklog to send them to backlog instead.";
92
92
  export declare const completeSprintToolSchema: z.ZodObject<{
93
93
  sprintId: z.ZodString;
94
94
  moveIncompleteToBacklog: z.ZodOptional<z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"sprints.d.ts","sourceRoot":"","sources":["../../src/tools/sprints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprints.d.ts","sourceRoot":"","sources":["../../src/tools/sprints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,eAAO,MAAM,0BAA0B,gCAAgC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;EAShC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAuEjB;AAMD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,eAAO,MAAM,2BAA2B,+CAA+C,CAAC;AAExF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAgBjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAoEjB;AAMD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,eAAO,MAAM,0BAA0B,kDAAkD,CAAC;AAE1F,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAkBhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAuEjB;AAMD,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD,eAAO,MAAM,wBAAwB,yCAAyC,CAAC;AAE/E,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAMD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,eAAO,MAAM,0BAA0B,2DAA2D,CAAC;AAEnG,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAUhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAoCjB;AAMD,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,eAAO,MAAM,6BAA6B,sLAAsL,CAAC;AAEjO,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAUnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,MAAM,CAAC,CA2CjB;AAMD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,eAAO,MAAM,2BAA2B,wCAAwC,CAAC;AAEjF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAMD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,eAAO,MAAM,2BAA2B,2EAA2E,CAAC;AAEpH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -324,24 +324,32 @@ export async function executeStartSprint(input) {
324
324
  // Complete Sprint
325
325
  // ============================================
326
326
  export const completeSprintToolName = 'llama_complete_sprint';
327
- export const completeSprintToolDescription = `Complete a sprint. Incomplete issues go to backlog or next sprint.`;
327
+ export const completeSprintToolDescription = `Complete a sprint. By default, incomplete issues are moved to the next planned sprint (auto-created if none exists). Use moveIncompleteToBacklog to send them to backlog instead.`;
328
328
  export const completeSprintToolSchema = z.object({
329
329
  sprintId: z.string().describe('Sprint ID to complete'),
330
330
  moveIncompleteToBacklog: z
331
331
  .boolean()
332
332
  .optional()
333
- .describe('Move incomplete issues to backlog (default: true)'),
333
+ .describe('Move incomplete issues to backlog instead of next planned sprint (default: false)'),
334
334
  moveIncompleteToSprintId: z
335
335
  .string()
336
336
  .optional()
337
- .describe('Move incomplete issues to this sprint instead of backlog'),
337
+ .describe('Move incomplete issues to a specific sprint ID'),
338
338
  });
339
339
  export async function executeCompleteSprint(input) {
340
340
  try {
341
341
  const client = getApiClient();
342
+ // Translate MCP params to API format
343
+ let moveIncompleteTo;
344
+ if (input.moveIncompleteToSprintId) {
345
+ moveIncompleteTo = input.moveIncompleteToSprintId;
346
+ }
347
+ else if (input.moveIncompleteToBacklog) {
348
+ moveIncompleteTo = 'backlog';
349
+ }
350
+ // When moveIncompleteTo is undefined, server auto-resolves to next PLANNED sprint
342
351
  const sprint = await client.completeSprint(input.sprintId, {
343
- moveIncompleteToBacklog: input.moveIncompleteToBacklog,
344
- moveIncompleteToSprintId: input.moveIncompleteToSprintId,
352
+ moveIncompleteTo,
345
353
  });
346
354
  return JSON.stringify({
347
355
  success: true,