@crypto512/jicon-mcp 0.6.0 → 0.7.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 (74) hide show
  1. package/CLAUDE.md +252 -27
  2. package/README.md +229 -18
  3. package/TOOL_LIST.md +201 -5
  4. package/dist/config/types.d.ts +6 -6
  5. package/dist/config/types.d.ts.map +1 -1
  6. package/dist/config/types.js +3 -2
  7. package/dist/config/types.js.map +1 -1
  8. package/dist/confluence/client.d.ts +8 -16
  9. package/dist/confluence/client.d.ts.map +1 -1
  10. package/dist/confluence/client.js +75 -43
  11. package/dist/confluence/client.js.map +1 -1
  12. package/dist/confluence/formatters.d.ts +4 -0
  13. package/dist/confluence/formatters.d.ts.map +1 -1
  14. package/dist/confluence/formatters.js +19 -0
  15. package/dist/confluence/formatters.js.map +1 -1
  16. package/dist/confluence/tools.d.ts +9 -36
  17. package/dist/confluence/tools.d.ts.map +1 -1
  18. package/dist/confluence/tools.js +90 -158
  19. package/dist/confluence/tools.js.map +1 -1
  20. package/dist/index.js +9 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/jira/client.d.ts +9 -9
  23. package/dist/jira/client.d.ts.map +1 -1
  24. package/dist/jira/client.js +252 -30
  25. package/dist/jira/client.js.map +1 -1
  26. package/dist/jira/formatters.d.ts +4 -0
  27. package/dist/jira/formatters.d.ts.map +1 -1
  28. package/dist/jira/formatters.js +24 -0
  29. package/dist/jira/formatters.js.map +1 -1
  30. package/dist/jira/tools.d.ts +36 -36
  31. package/dist/jira/tools.d.ts.map +1 -1
  32. package/dist/jira/tools.js +161 -139
  33. package/dist/jira/tools.js.map +1 -1
  34. package/dist/jira/types.d.ts +50 -0
  35. package/dist/jira/types.d.ts.map +1 -1
  36. package/dist/permissions/filter.d.ts.map +1 -1
  37. package/dist/permissions/filter.js +42 -13
  38. package/dist/permissions/filter.js.map +1 -1
  39. package/dist/permissions/tool-registry.d.ts +33 -14
  40. package/dist/permissions/tool-registry.d.ts.map +1 -1
  41. package/dist/permissions/tool-registry.js +80 -5
  42. package/dist/permissions/tool-registry.js.map +1 -1
  43. package/dist/tempo/client.d.ts +1 -0
  44. package/dist/tempo/client.d.ts.map +1 -1
  45. package/dist/tempo/client.js +43 -0
  46. package/dist/tempo/client.js.map +1 -1
  47. package/dist/tempo/formatters.d.ts +4 -0
  48. package/dist/tempo/formatters.d.ts.map +1 -1
  49. package/dist/tempo/formatters.js +24 -0
  50. package/dist/tempo/formatters.js.map +1 -1
  51. package/dist/tempo/tools.d.ts +21 -0
  52. package/dist/tempo/tools.d.ts.map +1 -1
  53. package/dist/tempo/tools.js +74 -134
  54. package/dist/tempo/tools.js.map +1 -1
  55. package/dist/types.d.ts +1 -0
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/types.js.map +1 -1
  58. package/dist/utils/buffer-tools.d.ts +128 -0
  59. package/dist/utils/buffer-tools.d.ts.map +1 -0
  60. package/dist/utils/buffer-tools.js +312 -0
  61. package/dist/utils/buffer-tools.js.map +1 -0
  62. package/dist/utils/content-buffer.d.ts +132 -0
  63. package/dist/utils/content-buffer.d.ts.map +1 -0
  64. package/dist/utils/content-buffer.js +313 -0
  65. package/dist/utils/content-buffer.js.map +1 -0
  66. package/dist/utils/response-formatter.d.ts +5 -1
  67. package/dist/utils/response-formatter.d.ts.map +1 -1
  68. package/dist/utils/response-formatter.js +52 -2
  69. package/dist/utils/response-formatter.js.map +1 -1
  70. package/dist/utils/workload-tools.d.ts +68 -0
  71. package/dist/utils/workload-tools.d.ts.map +1 -0
  72. package/dist/utils/workload-tools.js +134 -0
  73. package/dist/utils/workload-tools.js.map +1 -0
  74. package/package.json +1 -1
@@ -3,103 +3,84 @@
3
3
  */
4
4
  import { z } from "zod";
5
5
  import { formatSuccess, formatError, isApiError } from "../utils/response-formatter.js";
6
- import { formatIssue, formatSearchResults, formatProject, formatProjects, } from "./formatters.js";
6
+ import { formatIssueMetadata, formatSearchResults, formatProject, formatProjects, } from "./formatters.js";
7
7
  export function createJiraTools(client) {
8
8
  return {
9
- jira_search_issues: {
10
- description: `Search for Jira issues using JQL (Jira Query Language).
11
-
12
- JQL Syntax Basics:
9
+ jira_jql_help: {
10
+ description: "Get JQL (Jira Query Language) syntax guide and examples.",
11
+ inputSchema: z.object({}),
12
+ handler: async () => {
13
+ return {
14
+ content: [
15
+ {
16
+ type: "text",
17
+ text: `# JQL Syntax Guide
18
+
19
+ ## Operators
13
20
  - Field operators: =, !=, >, <, >=, <=, ~, IN, NOT IN
14
21
  - Text search: use ~ for "contains" (e.g., summary~"bug")
15
- - Dates: use functions like startOfDay(), startOfWeek(), etc.
16
22
  - Combine: AND, OR, NOT
17
23
  - Order: ORDER BY field ASC/DESC
18
24
 
19
- Top 10 Useful JQL Queries:
20
-
21
- 1. Recently updated issues (last 7 days):
22
- updated >= startOfDay(-7)
23
-
24
- 2. My open issues:
25
- assignee = currentUser() AND status != Done
25
+ ## Common Examples
26
+ 1. All Epics in a project:
27
+ project = PROJ AND type = Epic
26
28
 
27
- 3. Unassigned issues in a project:
28
- project = PROJ AND assignee is EMPTY AND status != Done
29
+ 2. Stories in current sprint:
30
+ project = PROJ AND type = Story AND sprint in openSprints()
29
31
 
30
- 4. Issues created this week:
31
- created >= startOfWeek()
32
+ 3. Open bugs by priority:
33
+ project = PROJ AND type = Bug AND status != Done ORDER BY priority DESC
32
34
 
33
- 5. Overdue issues:
34
- duedate < now() AND status != Done
35
-
36
- 6. High priority bugs:
37
- type = Bug AND priority = High AND status != Done
38
-
39
- 7. Issues in current sprint:
40
- sprint in openSprints()
41
-
42
- 8. Issues updated by me recently:
43
- updatedBy = currentUser() AND updated >= startOfDay(-3)
35
+ 4. Recently updated issues (last 7 days):
36
+ updated >= startOfDay(-7)
44
37
 
45
- 9. Issues with specific label:
46
- labels = "urgent" AND status != Done
38
+ 5. Issues by assignee:
39
+ assignee = currentUser()
47
40
 
48
- 10. Recently resolved issues:
49
- resolved >= startOfWeek() ORDER BY resolved DESC
41
+ 6. Text search in summary/description:
42
+ summary~"login" OR description~"login"
50
43
 
51
- Common Patterns:
52
- - Date ranges: created >= "2025-01-01" AND created <= "2025-01-31"
53
- - Multiple projects: project IN (PROJ1, PROJ2, PROJ3)
54
- - Exclude resolved: AND resolution = Unresolved
55
- - Text search: summary~"login" OR description~"login"
44
+ 7. Date range:
45
+ created >= "2025-01-01" AND created <= "2025-01-31"
56
46
 
57
- PAGINATION:
58
- When there are many results, use pagination to retrieve them in batches:
59
- - startAt: Index of first result to return (0-based, default: 0)
60
- - maxResults: Maximum results per page (default: 50)
61
- - Response includes: total, startAt, maxResults for pagination tracking
47
+ 8. Multiple projects:
48
+ project IN (PROJ1, PROJ2, PROJ3)
62
49
 
63
- AUTO-FETCH ALL RESULTS:
64
- Set fetchAll: true to automatically retrieve ALL results (up to 5000 max):
65
- - MCP will paginate through all pages automatically
66
- - Returns complete dataset in one response
67
- - Ignores startAt when fetchAll is true
68
- - Useful when you need the complete dataset
50
+ 9. Exclude resolved:
51
+ resolution = Unresolved
69
52
 
70
- Examples:
71
- 1. Get first 50 results (page 1):
72
- jql: "project = PROJ", maxResults: 50, startAt: 0
53
+ 10. Issues with specific label:
54
+ labels = "urgent" AND status != Done
73
55
 
74
- 2. Get next 50 results (page 2):
75
- jql: "project = PROJ", maxResults: 50, startAt: 50
56
+ ## Tips
57
+ - Use jira_get_issue_types first to discover type names for your instance
58
+ - Date functions: startOfDay(), startOfWeek(), startOfMonth(), now()
59
+ - Relative dates: startOfDay(-7) = 7 days ago
60
+ - Always quote field values that contain spaces
61
+ - Issue type names may be localized (e.g., "Épopée" instead of "Epic")`,
62
+ },
63
+ ],
64
+ };
65
+ },
66
+ },
67
+ jira_search_issues: {
68
+ description: `Search Jira issues using JQL. Auto-fetches all results (up to 5000).
76
69
 
77
- 3. Get ALL results automatically (up to 5000):
78
- jql: "project = PROJ", fetchAll: true
70
+ Example: project = PROJ AND status = "In Progress" ORDER BY created DESC
79
71
 
80
- 4. Get ALL results with custom limit:
81
- jql: "project = PROJ", fetchAll: true, maxResults: 1000
72
+ Use jira_get_issue_types first to discover type names for your instance.
73
+ For full JQL syntax guide, use jira_jql_help.
82
74
 
83
- Tip: Use fetchAll: true when you need complete dataset. Otherwise use pagination.`,
75
+ Large responses are buffered - use buffer_get_chunk or buffer_grep to access.`,
84
76
  inputSchema: z.object({
85
77
  jql: z.string().describe("JQL query string"),
86
- maxResults: z.number().optional().describe("Maximum number of results per page (default: 50). When fetchAll=true, this is the maximum total results (default: 5000)."),
87
78
  fields: z.array(z.string()).optional().describe("Specific fields to return"),
88
- startAt: z.number().optional().describe("Index of first result (0-based, default: 0). Ignored when fetchAll=true."),
89
- fetchAll: z.boolean().optional().describe("Automatically fetch all results across multiple pages (default: false, max: 5000)"),
90
79
  }),
91
80
  handler: async (args) => {
92
81
  try {
93
- let result;
94
- if (args.fetchAll) {
95
- // Auto-fetch all results
96
- const maxTotal = args.maxResults || 5000;
97
- result = await client.searchIssuesAll(args.jql, args.fields, maxTotal);
98
- }
99
- else {
100
- // Single page
101
- result = await client.searchIssues(args.jql, args.maxResults, args.fields, args.startAt);
102
- }
82
+ // Always fetch all results with auto-buffering
83
+ const result = await client.searchIssuesAll(args.jql, args.fields, 5000);
103
84
  return {
104
85
  content: [
105
86
  {
@@ -115,7 +96,11 @@ Tip: Use fetchAll: true when you need complete dataset. Otherwise use pagination
115
96
  },
116
97
  },
117
98
  jira_get_issue: {
118
- description: "Get detailed information about a specific Jira issue",
99
+ description: `Get detailed information about a specific Jira issue.
100
+
101
+ Returns full issue data including metadata, description, comments, and custom fields.
102
+ Large responses are automatically buffered - use buffer_get_chunk or buffer_grep to access.
103
+ For complex analysis, spawn a sub-agent with the bufferId.`,
119
104
  inputSchema: z.object({
120
105
  issueKey: z.string().describe('Issue key (e.g., "PROJ-123")'),
121
106
  fields: z.array(z.string()).optional().describe("Specific fields to return"),
@@ -127,14 +112,10 @@ Tip: Use fetchAll: true when you need complete dataset. Otherwise use pagination
127
112
  handler: async (args) => {
128
113
  try {
129
114
  const result = await client.getIssue(args.issueKey, args.fields, args.expand);
130
- return {
131
- content: [
132
- {
133
- type: "text",
134
- text: formatIssue(result),
135
- },
136
- ],
137
- };
115
+ return formatSuccess({
116
+ ...formatIssueMetadata(result),
117
+ data: result,
118
+ });
138
119
  }
139
120
  catch (error) {
140
121
  return formatError(isApiError(error) ? error : new Error(String(error)));
@@ -240,35 +221,20 @@ Tip: Use fetchAll: true when you need complete dataset. Otherwise use pagination
240
221
  },
241
222
  },
242
223
  jira_get_issue_comments: {
243
- description: `Retrieve comments from a Jira issue.
244
-
245
- PAGINATION:
246
- When an issue has many comments, use pagination to retrieve them in batches:
247
- - startAt: Index of first comment (0-based, default: 0)
248
- - maxResults: Maximum comments per page
249
- - Response includes: total, startAt, maxResults for pagination tracking
250
-
251
- Examples:
252
- 1. Get first 50 comments:
253
- issueKey: "PROJ-123", maxResults: 50, startAt: 0
224
+ description: `Retrieve all comments from a Jira issue.
254
225
 
255
- 2. Get next 50 comments:
256
- issueKey: "PROJ-123", maxResults: 50, startAt: 50
257
-
258
- 3. Get all comments in batches:
259
- Loop with increasing startAt until startAt + maxResults >= total`,
226
+ Returns all comments. Large responses are automatically buffered - use buffer_get_chunk or buffer_grep to access.
227
+ For complex analysis, spawn a sub-agent with the bufferId.`,
260
228
  inputSchema: z.object({
261
229
  issueKey: z.string().describe("Issue key"),
262
- maxResults: z.number().optional().describe("Maximum number of comments per page"),
263
230
  orderBy: z
264
231
  .string()
265
232
  .optional()
266
233
  .describe('Sort order ("created" or "-created")'),
267
- startAt: z.number().optional().describe("Index of first comment (0-based, default: 0). Use for pagination."),
268
234
  }),
269
235
  handler: async (args) => {
270
236
  try {
271
- const result = await client.getComments(args.issueKey, args.maxResults, args.orderBy, args.startAt);
237
+ const result = await client.getComments(args.issueKey, args.orderBy);
272
238
  return formatSuccess(result);
273
239
  }
274
240
  catch (error) {
@@ -322,6 +288,37 @@ Examples:
322
288
  }
323
289
  },
324
290
  },
291
+ jira_get_issue_types: {
292
+ description: `Get all available issue types in this Jira instance.
293
+
294
+ Use this tool FIRST when you need to filter by issue type but don't know the exact type names.
295
+ Issue type names vary by Jira instance (may be localized or custom).
296
+
297
+ Returns: List of issue types with id, name, description, and whether it's a subtask.
298
+
299
+ Example workflow:
300
+ 1. Call jira_get_issue_types to discover available types
301
+ 2. Use the exact type name in JQL: type = "Epic" or type = "Épopée"`,
302
+ inputSchema: z.object({}),
303
+ handler: async () => {
304
+ try {
305
+ const result = await client.getIssueTypes();
306
+ const formatted = result.map(t => ({
307
+ id: t.id,
308
+ name: t.name,
309
+ description: t.description,
310
+ subtask: t.subtask,
311
+ }));
312
+ return formatSuccess({
313
+ count: formatted.length,
314
+ issueTypes: formatted,
315
+ });
316
+ }
317
+ catch (error) {
318
+ return formatError(isApiError(error) ? error : new Error(String(error)));
319
+ }
320
+ },
321
+ },
325
322
  jira_get_transitions: {
326
323
  description: "Get available transitions for an issue",
327
324
  inputSchema: z.object({
@@ -374,37 +371,20 @@ Examples:
374
371
  },
375
372
  },
376
373
  jira_get_sprints: {
377
- description: `List sprints for a board.
374
+ description: `List all sprints for a board.
378
375
 
379
- PAGINATION:
380
- When a board has many sprints, use pagination to retrieve them in batches:
381
- - startAt: Index of first sprint (0-based, default: 0)
382
- - maxResults: Maximum sprints per page (default: 50)
383
- - Response includes: total, startAt, maxResults, isLast for pagination tracking
384
-
385
- Examples:
386
- 1. Get first 50 sprints:
387
- boardId: 123, maxResults: 50, startAt: 0
388
-
389
- 2. Get next 50 sprints:
390
- boardId: 123, maxResults: 50, startAt: 50
391
-
392
- 3. Get only active sprints (paginated):
393
- boardId: 123, state: "active", maxResults: 50, startAt: 0
394
-
395
- Tip: Check 'isLast' in response or compare startAt + maxResults < total to determine if more pages exist.`,
376
+ Returns all sprints. Large responses are automatically buffered - use buffer_get_chunk or buffer_grep to access.
377
+ For complex analysis, spawn a sub-agent with the bufferId.`,
396
378
  inputSchema: z.object({
397
379
  boardId: z.number().describe("Board ID"),
398
380
  state: z
399
381
  .enum(["active", "future", "closed"])
400
382
  .optional()
401
383
  .describe("Sprint state filter"),
402
- startAt: z.number().optional().describe("Index of first sprint (0-based, default: 0). Use for pagination."),
403
- maxResults: z.number().optional().describe("Maximum number of sprints per page (default: 50)"),
404
384
  }),
405
385
  handler: async (args) => {
406
386
  try {
407
- const result = await client.getSprints(args.boardId, args.state, args.startAt, args.maxResults);
387
+ const result = await client.getSprints(args.boardId, args.state);
408
388
  return formatSuccess(result);
409
389
  }
410
390
  catch (error) {
@@ -413,31 +393,16 @@ Tip: Check 'isLast' in response or compare startAt + maxResults < total to deter
413
393
  },
414
394
  },
415
395
  jira_get_sprint_issues: {
416
- description: `Get issues in a specific sprint.
417
-
418
- PAGINATION:
419
- When a sprint has many issues, use pagination to retrieve them in batches:
420
- - startAt: Index of first issue (0-based, default: 0)
421
- - maxResults: Maximum issues per page
422
- - Response includes: total, startAt, maxResults for pagination tracking
396
+ description: `Get all issues in a specific sprint.
423
397
 
424
- Examples:
425
- 1. Get first 50 issues in sprint:
426
- sprintId: 456, maxResults: 50, startAt: 0
427
-
428
- 2. Get next 50 issues:
429
- sprintId: 456, maxResults: 50, startAt: 50
430
-
431
- 3. Get all sprint issues in batches:
432
- Loop with increasing startAt until startAt + maxResults >= total`,
398
+ Returns all issues. Large responses are automatically buffered - use buffer_get_chunk or buffer_grep to access.
399
+ For complex analysis, spawn a sub-agent with the bufferId.`,
433
400
  inputSchema: z.object({
434
401
  sprintId: z.number().describe("Sprint ID"),
435
- maxResults: z.number().optional().describe("Maximum number of issues per page"),
436
- startAt: z.number().optional().describe("Index of first issue (0-based, default: 0). Use for pagination."),
437
402
  }),
438
403
  handler: async (args) => {
439
404
  try {
440
- const result = await client.getSprintIssues(args.sprintId, args.maxResults, args.startAt);
405
+ const result = await client.getSprintIssues(args.sprintId);
441
406
  return formatSuccess(result);
442
407
  }
443
408
  catch (error) {
@@ -460,6 +425,63 @@ Examples:
460
425
  }
461
426
  },
462
427
  },
428
+ jira_get_issue_worklogs: {
429
+ description: `Retrieve all worklogs from a Jira issue.
430
+
431
+ Use this tool to analyze time logged against a specific issue. Returns worklog entries with author, date, time spent, and a total time summary.
432
+
433
+ Example: Get worklogs for PROJ-123 to see how much time was logged.
434
+
435
+ Large responses are automatically buffered - use buffer_get_chunk or buffer_grep to access.`,
436
+ inputSchema: z.object({
437
+ issueKey: z.string().describe("Issue key (e.g., PROJ-123)"),
438
+ }),
439
+ handler: async (args) => {
440
+ try {
441
+ const result = await client.getIssueWorklogs(args.issueKey);
442
+ // Calculate total time spent
443
+ const totalSeconds = result.worklogs.reduce((sum, w) => sum + (w.timeSpentSeconds || 0), 0);
444
+ // Format time spent
445
+ const hours = Math.floor(totalSeconds / 3600);
446
+ const minutes = Math.floor((totalSeconds % 3600) / 60);
447
+ const totalTimeSpent = hours > 0 ? `${hours}h ${minutes}m` : `${minutes}m`;
448
+ return formatSuccess({
449
+ issueKey: args.issueKey,
450
+ worklogCount: result.total,
451
+ totalTimeSpentSeconds: totalSeconds,
452
+ totalTimeSpent,
453
+ worklogs: result.worklogs,
454
+ });
455
+ }
456
+ catch (error) {
457
+ return formatError(isApiError(error) ? error : new Error(String(error)));
458
+ }
459
+ },
460
+ },
461
+ jira_get_total_worklogs: {
462
+ description: `Get total worklogs for an issue and all its children recursively.
463
+
464
+ Calculates the sum of all time logged on:
465
+ - The specified issue
466
+ - All sub-tasks
467
+ - All issues in the Epic (if the issue is an Epic)
468
+
469
+ Returns a breakdown by issue and a grand total.
470
+
471
+ Example: Get total time spent on Epic PROJ-100 including all stories and sub-tasks.`,
472
+ inputSchema: z.object({
473
+ issueKey: z.string().describe("Issue key (e.g., PROJ-123)"),
474
+ }),
475
+ handler: async (args) => {
476
+ try {
477
+ const result = await client.getTotalWorklogs(args.issueKey);
478
+ return formatSuccess(result);
479
+ }
480
+ catch (error) {
481
+ return formatError(isApiError(error) ? error : new Error(String(error)));
482
+ }
483
+ },
484
+ },
463
485
  };
464
486
  }
465
487
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/jira/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/jira/tools.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,13 @@ export interface JiraSearchResult {
47
47
  maxResults: number;
48
48
  total: number;
49
49
  }
50
+ export interface JiraIssueType {
51
+ id: string;
52
+ name: string;
53
+ description?: string;
54
+ subtask: boolean;
55
+ iconUrl?: string;
56
+ }
50
57
  export interface JiraProject {
51
58
  id: string;
52
59
  key: string;
@@ -107,4 +114,47 @@ export interface JiraIssueLink {
107
114
  outwardIssue?: JiraIssue;
108
115
  inwardIssue?: JiraIssue;
109
116
  }
117
+ export interface JiraWorklog {
118
+ id: string;
119
+ self: string;
120
+ author: {
121
+ displayName: string;
122
+ emailAddress?: string;
123
+ accountId?: string;
124
+ };
125
+ updateAuthor?: {
126
+ displayName: string;
127
+ emailAddress?: string;
128
+ accountId?: string;
129
+ };
130
+ comment?: string;
131
+ created: string;
132
+ updated: string;
133
+ started: string;
134
+ timeSpent: string;
135
+ timeSpentSeconds: number;
136
+ issueId: string;
137
+ }
138
+ export interface JiraWorklogResult {
139
+ startAt: number;
140
+ maxResults: number;
141
+ total: number;
142
+ worklogs: JiraWorklog[];
143
+ }
144
+ export interface WorklogSummary {
145
+ issueKey: string;
146
+ summary: string;
147
+ issueType: string;
148
+ timeSpentSeconds: number;
149
+ timeSpent: string;
150
+ worklogCount: number;
151
+ }
152
+ export interface TotalWorklogsResult {
153
+ rootIssue: string;
154
+ totalTimeSpentSeconds: number;
155
+ totalTimeSpent: string;
156
+ totalWorklogCount: number;
157
+ issueCount: number;
158
+ breakdown: WorklogSummary[];
159
+ }
110
160
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jira/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jira/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/permissions/filter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAW5D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,YAAY,CAAc;gBAEtB,MAAM,EAAE,iBAAiB;IAKrC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IA4B1C;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,UAAU,GAAG,QAAQ;CAG1C"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/permissions/filter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAe5D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,YAAY,CAAc;gBAEtB,MAAM,EAAE,iBAAiB;IAKrC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkE3B;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IA4B1C;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,UAAU,GAAG,QAAQ;CAG1C"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Permission filter for tool execution
3
3
  */
4
- import { expandVirtualActions, ALL_JIRA_TOOLS, ALL_CONFLUENCE_TOOLS, ALL_TEMPO_TOOLS, JIRA_READ_TOOLS, CONFLUENCE_READ_TOOLS, TEMPO_READ_TOOLS, } from "./tool-registry.js";
4
+ import { expandVirtualActions, expandVirtualActionsWithDependencies, ALL_JIRA_TOOLS, ALL_CONFLUENCE_TOOLS, ALL_TEMPO_TOOLS, JIRA_READ_TOOLS, CONFLUENCE_READ_TOOLS, TEMPO_READ_TOOLS, BUFFER_READ_TOOLS, BUFFER_WRITE_TOOLS, WORKLOAD_TOOLS, } from "./tool-registry.js";
5
5
  export class PermissionFilter {
6
6
  mode;
7
7
  allowedTools;
@@ -13,34 +13,63 @@ export class PermissionFilter {
13
13
  * Compute the set of allowed tools based on configuration
14
14
  */
15
15
  computeAllowedTools(config) {
16
- // Mode "full": allow all tools
16
+ // Mode "full": all tools (buffer and workload auto-included)
17
17
  if (this.mode === "full") {
18
- return new Set([...ALL_JIRA_TOOLS, ...ALL_CONFLUENCE_TOOLS, ...ALL_TEMPO_TOOLS]);
18
+ return new Set([
19
+ ...ALL_JIRA_TOOLS,
20
+ ...ALL_CONFLUENCE_TOOLS,
21
+ ...ALL_TEMPO_TOOLS,
22
+ ...BUFFER_READ_TOOLS,
23
+ ...BUFFER_WRITE_TOOLS,
24
+ ...WORKLOAD_TOOLS,
25
+ ]);
19
26
  }
20
- // Mode "readonly": allow only read tools
27
+ // Mode "readonly": jira_read + confluence_read + tempo_read
28
+ // Buffer read and workload tools are auto-included
21
29
  if (this.mode === "readonly") {
22
- return new Set([...JIRA_READ_TOOLS, ...CONFLUENCE_READ_TOOLS, ...TEMPO_READ_TOOLS]);
30
+ return new Set([...JIRA_READ_TOOLS, ...CONFLUENCE_READ_TOOLS, ...TEMPO_READ_TOOLS, ...BUFFER_READ_TOOLS, ...WORKLOAD_TOOLS]);
23
31
  }
24
- // Mode "custom": use whitelist/blacklist
32
+ // Mode "custom": use whitelist/blacklist with buffer dependency
25
33
  if (this.mode === "custom") {
26
- // Whitelist has priority
34
+ // Whitelist has priority - use expandVirtualActionsWithDependencies for auto buffer inclusion
27
35
  if (config.whitelist.length > 0) {
28
- const expanded = expandVirtualActions(config.whitelist);
36
+ const expanded = expandVirtualActionsWithDependencies(config.whitelist);
29
37
  return new Set(expanded);
30
38
  }
31
- // If no whitelist, use blacklist
39
+ // Blacklist mode: start with all tools, remove blacklisted
32
40
  if (config.blacklist.length > 0) {
33
- const allTools = new Set([...ALL_JIRA_TOOLS, ...ALL_CONFLUENCE_TOOLS, ...ALL_TEMPO_TOOLS]);
41
+ const allTools = new Set([
42
+ ...ALL_JIRA_TOOLS,
43
+ ...ALL_CONFLUENCE_TOOLS,
44
+ ...ALL_TEMPO_TOOLS,
45
+ ...BUFFER_READ_TOOLS,
46
+ ...BUFFER_WRITE_TOOLS,
47
+ ...WORKLOAD_TOOLS,
48
+ ]);
34
49
  const blacklisted = new Set(expandVirtualActions(config.blacklist));
35
50
  // Remove blacklisted tools
36
51
  blacklisted.forEach((tool) => allTools.delete(tool));
37
52
  return allTools;
38
53
  }
39
- // No whitelist or blacklist in custom mode: allow all (default)
40
- return new Set([...ALL_JIRA_TOOLS, ...ALL_CONFLUENCE_TOOLS, ...ALL_TEMPO_TOOLS]);
54
+ // No whitelist or blacklist in custom mode: allow all
55
+ return new Set([
56
+ ...ALL_JIRA_TOOLS,
57
+ ...ALL_CONFLUENCE_TOOLS,
58
+ ...ALL_TEMPO_TOOLS,
59
+ ...BUFFER_READ_TOOLS,
60
+ ...BUFFER_WRITE_TOOLS,
61
+ ...WORKLOAD_TOOLS,
62
+ ]);
41
63
  }
42
64
  // Fallback: allow all
43
- return new Set([...ALL_JIRA_TOOLS, ...ALL_CONFLUENCE_TOOLS, ...ALL_TEMPO_TOOLS]);
65
+ return new Set([
66
+ ...ALL_JIRA_TOOLS,
67
+ ...ALL_CONFLUENCE_TOOLS,
68
+ ...ALL_TEMPO_TOOLS,
69
+ ...BUFFER_READ_TOOLS,
70
+ ...BUFFER_WRITE_TOOLS,
71
+ ...WORKLOAD_TOOLS,
72
+ ]);
44
73
  }
45
74
  /**
46
75
  * Check if a tool is allowed to execute