@crypto512/jicon-mcp 2.3.0 → 2.3.19

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 (181) hide show
  1. package/PROMPT.md +10 -28
  2. package/README.md +35 -7
  3. package/TOOL_LIST.md +206 -136
  4. package/dist/config/constants.d.ts +17 -4
  5. package/dist/config/constants.d.ts.map +1 -1
  6. package/dist/config/constants.js +20 -5
  7. package/dist/config/constants.js.map +1 -1
  8. package/dist/config/loader.d.ts.map +1 -1
  9. package/dist/config/loader.js +6 -2
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/types.d.ts +19 -8
  12. package/dist/config/types.d.ts.map +1 -1
  13. package/dist/config/types.js +10 -8
  14. package/dist/config/types.js.map +1 -1
  15. package/dist/confluence/client.d.ts.map +1 -1
  16. package/dist/confluence/client.js +7 -2
  17. package/dist/confluence/client.js.map +1 -1
  18. package/dist/confluence/tools.d.ts +8 -13
  19. package/dist/confluence/tools.d.ts.map +1 -1
  20. package/dist/confluence/tools.js +19 -37
  21. package/dist/confluence/tools.js.map +1 -1
  22. package/dist/credentials/extractor.d.ts +14 -3
  23. package/dist/credentials/extractor.d.ts.map +1 -1
  24. package/dist/credentials/extractor.js +83 -13
  25. package/dist/credentials/extractor.js.map +1 -1
  26. package/dist/credentials/index.d.ts +1 -1
  27. package/dist/credentials/index.d.ts.map +1 -1
  28. package/dist/credentials/index.js.map +1 -1
  29. package/dist/credentials/types.d.ts +22 -0
  30. package/dist/credentials/types.d.ts.map +1 -1
  31. package/dist/credentials/types.js.map +1 -1
  32. package/dist/index.js +196 -184
  33. package/dist/index.js.map +1 -1
  34. package/dist/jira/activity-tools.d.ts +0 -4
  35. package/dist/jira/activity-tools.d.ts.map +1 -1
  36. package/dist/jira/activity-tools.js +42 -65
  37. package/dist/jira/activity-tools.js.map +1 -1
  38. package/dist/jira/client.d.ts +12 -0
  39. package/dist/jira/client.d.ts.map +1 -1
  40. package/dist/jira/client.js +30 -6
  41. package/dist/jira/client.js.map +1 -1
  42. package/dist/jira/formatters.d.ts +4 -1
  43. package/dist/jira/formatters.d.ts.map +1 -1
  44. package/dist/jira/formatters.js +9 -6
  45. package/dist/jira/formatters.js.map +1 -1
  46. package/dist/jira/tools.d.ts +48 -14
  47. package/dist/jira/tools.d.ts.map +1 -1
  48. package/dist/jira/tools.js +174 -101
  49. package/dist/jira/tools.js.map +1 -1
  50. package/dist/permissions/filter.d.ts.map +1 -1
  51. package/dist/permissions/filter.js +8 -4
  52. package/dist/permissions/filter.js.map +1 -1
  53. package/dist/permissions/tool-registry.d.ts +15 -13
  54. package/dist/permissions/tool-registry.d.ts.map +1 -1
  55. package/dist/permissions/tool-registry.js +16 -8
  56. package/dist/permissions/tool-registry.js.map +1 -1
  57. package/dist/session/context.d.ts +3 -3
  58. package/dist/session/context.d.ts.map +1 -1
  59. package/dist/session/manager.d.ts +58 -27
  60. package/dist/session/manager.d.ts.map +1 -1
  61. package/dist/session/manager.js +177 -79
  62. package/dist/session/manager.js.map +1 -1
  63. package/dist/tempo/client.d.ts.map +1 -1
  64. package/dist/tempo/client.js +3 -1
  65. package/dist/tempo/client.js.map +1 -1
  66. package/dist/tempo/tools.d.ts +4 -4
  67. package/dist/tempo/tools.d.ts.map +1 -1
  68. package/dist/tempo/tools.js +15 -0
  69. package/dist/tempo/tools.js.map +1 -1
  70. package/dist/transport/http.d.ts +17 -18
  71. package/dist/transport/http.d.ts.map +1 -1
  72. package/dist/transport/http.js +135 -120
  73. package/dist/transport/http.js.map +1 -1
  74. package/dist/transport/index.d.ts +7 -2
  75. package/dist/transport/index.d.ts.map +1 -1
  76. package/dist/transport/index.js +10 -4
  77. package/dist/transport/index.js.map +1 -1
  78. package/dist/transport/types.d.ts +0 -2
  79. package/dist/transport/types.d.ts.map +1 -1
  80. package/dist/transport/types.js.map +1 -1
  81. package/dist/utils/buffer-tools.d.ts +2 -2
  82. package/dist/utils/buffer-tools.d.ts.map +1 -1
  83. package/dist/utils/buffer-tools.js +41 -19
  84. package/dist/utils/buffer-tools.js.map +1 -1
  85. package/dist/utils/http-client.d.ts.map +1 -1
  86. package/dist/utils/http-client.js +99 -2
  87. package/dist/utils/http-client.js.map +1 -1
  88. package/dist/utils/jicon-help.d.ts +1 -1
  89. package/dist/utils/jicon-help.d.ts.map +1 -1
  90. package/dist/utils/jicon-help.js +126 -336
  91. package/dist/utils/jicon-help.js.map +1 -1
  92. package/dist/utils/logger.d.ts +43 -0
  93. package/dist/utils/logger.d.ts.map +1 -0
  94. package/dist/utils/logger.js +102 -0
  95. package/dist/utils/logger.js.map +1 -0
  96. package/dist/utils/plantuml/tools.js +2 -2
  97. package/dist/utils/plantuml/tools.js.map +1 -1
  98. package/dist/utils/response-formatter.d.ts +8 -0
  99. package/dist/utils/response-formatter.d.ts.map +1 -1
  100. package/dist/utils/response-formatter.js +65 -7
  101. package/dist/utils/response-formatter.js.map +1 -1
  102. package/dist/utils/schemas/confluence.js +11 -11
  103. package/dist/utils/schemas/confluence.js.map +1 -1
  104. package/dist/utils/schemas/index.d.ts +11 -0
  105. package/dist/utils/schemas/index.d.ts.map +1 -1
  106. package/dist/utils/schemas/index.js.map +1 -1
  107. package/dist/utils/schemas/jira.d.ts +1 -1
  108. package/dist/utils/schemas/jira.d.ts.map +1 -1
  109. package/dist/utils/schemas/jira.js +37 -35
  110. package/dist/utils/schemas/jira.js.map +1 -1
  111. package/dist/utils/schemas/tempo.js +13 -13
  112. package/dist/utils/schemas/tempo.js.map +1 -1
  113. package/dist/utils/whoami-tools.d.ts +17 -0
  114. package/dist/utils/whoami-tools.d.ts.map +1 -0
  115. package/dist/utils/whoami-tools.js +90 -0
  116. package/dist/utils/whoami-tools.js.map +1 -0
  117. package/package.json +3 -3
  118. package/dist/credentials/client-factory.d.ts +0 -64
  119. package/dist/credentials/client-factory.d.ts.map +0 -1
  120. package/dist/credentials/client-factory.js +0 -110
  121. package/dist/credentials/client-factory.js.map +0 -1
  122. package/dist/credentials/context.d.ts +0 -25
  123. package/dist/credentials/context.d.ts.map +0 -1
  124. package/dist/credentials/context.js +0 -35
  125. package/dist/credentials/context.js.map +0 -1
  126. package/dist/utils/buffer-pipeline/index.d.ts +0 -30
  127. package/dist/utils/buffer-pipeline/index.d.ts.map +0 -1
  128. package/dist/utils/buffer-pipeline/index.js +0 -317
  129. package/dist/utils/buffer-pipeline/index.js.map +0 -1
  130. package/dist/utils/buffer-pipeline/output/csv.d.ts +0 -20
  131. package/dist/utils/buffer-pipeline/output/csv.d.ts.map +0 -1
  132. package/dist/utils/buffer-pipeline/output/csv.js +0 -117
  133. package/dist/utils/buffer-pipeline/output/csv.js.map +0 -1
  134. package/dist/utils/buffer-pipeline/output/json.d.ts +0 -16
  135. package/dist/utils/buffer-pipeline/output/json.d.ts.map +0 -1
  136. package/dist/utils/buffer-pipeline/output/json.js +0 -48
  137. package/dist/utils/buffer-pipeline/output/json.js.map +0 -1
  138. package/dist/utils/buffer-pipeline/output/markdown.d.ts +0 -15
  139. package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +0 -1
  140. package/dist/utils/buffer-pipeline/output/markdown.js +0 -105
  141. package/dist/utils/buffer-pipeline/output/markdown.js.map +0 -1
  142. package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +0 -16
  143. package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +0 -1
  144. package/dist/utils/buffer-pipeline/output/xhtml-list.js +0 -81
  145. package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +0 -1
  146. package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +0 -15
  147. package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +0 -1
  148. package/dist/utils/buffer-pipeline/output/xhtml-table.js +0 -176
  149. package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +0 -1
  150. package/dist/utils/buffer-pipeline/schema.d.ts +0 -1878
  151. package/dist/utils/buffer-pipeline/schema.d.ts.map +0 -1
  152. package/dist/utils/buffer-pipeline/schema.js +0 -168
  153. package/dist/utils/buffer-pipeline/schema.js.map +0 -1
  154. package/dist/utils/buffer-pipeline/stages/filter.d.ts +0 -32
  155. package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +0 -1
  156. package/dist/utils/buffer-pipeline/stages/filter.js +0 -208
  157. package/dist/utils/buffer-pipeline/stages/filter.js.map +0 -1
  158. package/dist/utils/buffer-pipeline/stages/format.d.ts +0 -45
  159. package/dist/utils/buffer-pipeline/stages/format.d.ts.map +0 -1
  160. package/dist/utils/buffer-pipeline/stages/format.js +0 -160
  161. package/dist/utils/buffer-pipeline/stages/format.js.map +0 -1
  162. package/dist/utils/buffer-pipeline/stages/group-by.d.ts +0 -25
  163. package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +0 -1
  164. package/dist/utils/buffer-pipeline/stages/group-by.js +0 -190
  165. package/dist/utils/buffer-pipeline/stages/group-by.js.map +0 -1
  166. package/dist/utils/buffer-pipeline/stages/select.d.ts +0 -54
  167. package/dist/utils/buffer-pipeline/stages/select.d.ts.map +0 -1
  168. package/dist/utils/buffer-pipeline/stages/select.js +0 -228
  169. package/dist/utils/buffer-pipeline/stages/select.js.map +0 -1
  170. package/dist/utils/buffer-pipeline/stages/sort.d.ts +0 -20
  171. package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +0 -1
  172. package/dist/utils/buffer-pipeline/stages/sort.js +0 -96
  173. package/dist/utils/buffer-pipeline/stages/sort.js.map +0 -1
  174. package/dist/utils/buffer-pipeline/types.d.ts +0 -277
  175. package/dist/utils/buffer-pipeline/types.d.ts.map +0 -1
  176. package/dist/utils/buffer-pipeline/types.js +0 -8
  177. package/dist/utils/buffer-pipeline/types.js.map +0 -1
  178. package/dist/utils/plantuml/docker-manager.d.ts +0 -37
  179. package/dist/utils/plantuml/docker-manager.d.ts.map +0 -1
  180. package/dist/utils/plantuml/docker-manager.js +0 -284
  181. package/dist/utils/plantuml/docker-manager.js.map +0 -1
@@ -8,33 +8,33 @@
8
8
  */
9
9
  /**
10
10
  * Jira Issue schema
11
- * Used by: jira_search_issues, jira_get_issue, jira_list_epic_children, jira_get_sprint_issues
11
+ * Used by: jira_search_issues, jira_get_issue, jira_get_issues, jira_list_epic_children, jira_get_sprint_issues
12
12
  */
13
13
  export const JIRA_ISSUE_SCHEMA = {
14
14
  schemaType: "jira_issue",
15
- description: "Jira issue with core fields flattened for easy access. Note: Time tracking fields (timespent, etc.) are often null - use jira_get_total_worklogs for accurate time data.",
15
+ description: "Jira issue with core fields flattened for easy access",
16
16
  fields: {
17
17
  id: { type: "string", required: true, description: "Jira internal issue ID" },
18
- key: { type: "string", required: true, description: "Issue key (e.g., PROJ-123)" },
18
+ key: { type: "string", required: true, searchable: true, description: "Issue key (e.g., PROJ-123)" },
19
19
  self: { type: "string", required: true, description: "API URL for this issue" },
20
- summary: { type: "string", required: true, description: "Issue title/summary" },
21
- status: { type: "string", required: true, description: "Current status name (e.g., 'In Progress')" },
22
- statusCategory: { type: "string", required: false, description: "Status category (To Do, In Progress, Done)" },
23
- type: { type: "string", required: true, description: "Issue type name (Bug, Story, Epic, Task, etc.)" },
24
- priority: { type: "string", required: false, description: "Priority name (Highest, High, Medium, Low, Lowest)" },
25
- assignee: { type: "string", required: false, description: "Assignee display name" },
26
- assigneeEmail: { type: "string", required: false, description: "Assignee email address" },
27
- reporter: { type: "string", required: false, description: "Reporter display name" },
28
- reporterEmail: { type: "string", required: false, description: "Reporter email address" },
29
- created: { type: "string", required: true, description: "ISO date when issue was created" },
30
- updated: { type: "string", required: true, description: "ISO date when issue was last updated" },
31
- labels: { type: "array", required: true, description: "Array of label strings", itemType: "string" },
32
- components: { type: "array", required: true, description: "Array of component names", itemType: "string" },
33
- // Time tracking fields - often null, use jira_get_total_worklogs for accurate data
34
- timespent: { type: "number", required: false, description: "Time spent in seconds (often null - use jira_get_total_worklogs instead)" },
35
- timespentSeconds: { type: "number", required: false, description: "Alias for timespent (often null - use jira_get_total_worklogs instead)" },
36
- timeoriginalestimate: { type: "number", required: false, description: "Original estimate in seconds (often null)" },
37
- aggregatetimespent: { type: "number", required: false, description: "Aggregate time spent including subtasks (often null - use jira_get_total_worklogs instead)" },
20
+ summary: { type: "string", required: true, searchable: true, writable: true, description: "Issue title/summary" },
21
+ description: { type: "string", required: false, optional: true, searchable: true, writable: true, description: "Issue description (plain text or wiki markup)" },
22
+ status: { type: "string", required: true, searchable: true, description: "Current status name (e.g., 'In Progress')" },
23
+ statusCategory: { type: "string", required: false, optional: true, searchable: true, description: "Status category (To Do, In Progress, Done)" },
24
+ type: { type: "string", required: true, searchable: true, writable: true, jqlName: "issuetype", description: "Issue type name (Bug, Story, Epic, Task, etc.)" },
25
+ priority: { type: "string", required: false, optional: true, searchable: true, writable: true, description: "Priority name (Highest, High, Medium, Low, Lowest)" },
26
+ assignee: { type: "string", required: false, optional: true, searchable: true, writable: true, description: "Assignee display name" },
27
+ assigneeEmail: { type: "string", required: false, optional: true, description: "Assignee email address" },
28
+ reporter: { type: "string", required: false, optional: true, searchable: true, writable: true, description: "Reporter display name" },
29
+ reporterEmail: { type: "string", required: false, optional: true, description: "Reporter email address" },
30
+ created: { type: "string", required: true, searchable: true, description: "ISO date when issue was created" },
31
+ updated: { type: "string", required: true, searchable: true, description: "ISO date when issue was last updated" },
32
+ labels: { type: "array", required: true, searchable: true, writable: true, description: "Array of label strings", itemType: "string" },
33
+ components: { type: "array", required: true, searchable: true, writable: true, jqlName: "component", description: "Array of component names", itemType: "string" },
34
+ timespent: { type: "number", required: false, optional: true, searchable: true, description: "Time spent in seconds (use jira_get_total_worklogs for accuracy)" },
35
+ timespentSeconds: { type: "number", required: false, optional: true, description: "Alias for timespent (use jira_get_total_worklogs for accuracy)" },
36
+ timeoriginalestimate: { type: "number", required: false, optional: true, searchable: true, writable: true, description: "Original estimate in seconds" },
37
+ aggregatetimespent: { type: "number", required: false, optional: true, searchable: true, description: "Aggregate time spent incl. subtasks in seconds (use jira_get_total_worklogs for accuracy)" },
38
38
  },
39
39
  };
40
40
  /**
@@ -46,11 +46,13 @@ export const JIRA_COMMENT_SCHEMA = {
46
46
  description: "Jira issue comment",
47
47
  fields: {
48
48
  id: { type: "string", required: true, description: "Comment ID" },
49
+ issueKey: { type: "string", required: false, optional: true, description: "Parent issue key (e.g., PROJ-123). Present in multi-issue results." },
50
+ issueSummary: { type: "string", required: false, optional: true, description: "Parent issue summary. Present in multi-issue results." },
49
51
  author: { type: "string", required: true, description: "Author display name" },
50
- authorEmail: { type: "string", required: false, description: "Author email address" },
52
+ authorEmail: { type: "string", required: false, optional: true, description: "Author email address" },
51
53
  body: { type: "string", required: true, description: "Comment text content" },
52
54
  created: { type: "string", required: true, description: "ISO date when comment was created" },
53
- updated: { type: "string", required: false, description: "ISO date when comment was last updated" },
55
+ updated: { type: "string", required: false, optional: true, description: "ISO date when comment was last updated" },
54
56
  },
55
57
  };
56
58
  /**
@@ -64,9 +66,9 @@ export const JIRA_PROJECT_SCHEMA = {
64
66
  id: { type: "string", required: true, description: "Project internal ID" },
65
67
  key: { type: "string", required: true, description: "Project key (e.g., PROJ)" },
66
68
  name: { type: "string", required: true, description: "Project name" },
67
- description: { type: "string", required: false, description: "Project description" },
68
- lead: { type: "string", required: false, description: "Project lead display name" },
69
- leadEmail: { type: "string", required: false, description: "Project lead email" },
69
+ description: { type: "string", required: false, optional: true, description: "Project description" },
70
+ lead: { type: "string", required: false, optional: true, description: "Project lead display name" },
71
+ leadEmail: { type: "string", required: false, optional: true, description: "Project lead email" },
70
72
  type: { type: "string", required: true, description: "Project type (software, business, etc.)" },
71
73
  },
72
74
  };
@@ -81,7 +83,7 @@ export const JIRA_BOARD_SCHEMA = {
81
83
  id: { type: "number", required: true, description: "Board ID" },
82
84
  name: { type: "string", required: true, description: "Board name" },
83
85
  type: { type: "string", required: true, description: "Board type (scrum, kanban)" },
84
- projectKey: { type: "string", required: false, description: "Associated project key" },
86
+ projectKey: { type: "string", required: false, optional: true, description: "Associated project key" },
85
87
  },
86
88
  };
87
89
  /**
@@ -95,9 +97,9 @@ export const JIRA_SPRINT_SCHEMA = {
95
97
  id: { type: "number", required: true, description: "Sprint ID" },
96
98
  name: { type: "string", required: true, description: "Sprint name" },
97
99
  state: { type: "string", required: true, description: "Sprint state (active, future, closed)" },
98
- startDate: { type: "string", required: false, description: "Sprint start date (ISO)" },
99
- endDate: { type: "string", required: false, description: "Sprint end date (ISO)" },
100
- goal: { type: "string", required: false, description: "Sprint goal" },
100
+ startDate: { type: "string", required: false, optional: true, description: "Sprint start date (ISO)" },
101
+ endDate: { type: "string", required: false, optional: true, description: "Sprint end date (ISO)" },
102
+ goal: { type: "string", required: false, optional: true, description: "Sprint goal" },
101
103
  },
102
104
  };
103
105
  /**
@@ -109,15 +111,15 @@ export const JIRA_WORKLOG_SCHEMA = {
109
111
  description: "Jira worklog entry (time logged)",
110
112
  fields: {
111
113
  id: { type: "string", required: true, description: "Worklog ID" },
112
- issueKey: { type: "string", required: false, description: "Parent issue key" },
114
+ issueKey: { type: "string", required: false, optional: true, description: "Parent issue key" },
113
115
  author: { type: "string", required: true, description: "Author display name" },
114
- authorEmail: { type: "string", required: false, description: "Author email" },
116
+ authorEmail: { type: "string", required: false, optional: true, description: "Author email" },
115
117
  timeSpentSeconds: { type: "number", required: true, description: "Time spent in seconds" },
116
- timeSpent: { type: "string", required: false, description: "Time spent formatted (e.g., '2h 30m')" },
118
+ timeSpent: { type: "string", required: false, optional: true, description: "Time spent formatted (e.g., '2h 30m')" },
117
119
  started: { type: "string", required: true, description: "Work start date (ISO)" },
118
- comment: { type: "string", required: false, description: "Worklog description" },
120
+ comment: { type: "string", required: false, optional: true, description: "Worklog description" },
119
121
  created: { type: "string", required: true, description: "When worklog was created (ISO)" },
120
- updated: { type: "string", required: false, description: "When worklog was updated (ISO)" },
122
+ updated: { type: "string", required: false, optional: true, description: "When worklog was updated (ISO)" },
121
123
  },
122
124
  };
123
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../src/utils/schemas/jira.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../src/utils/schemas/jira.ts"],"names":[],"mappings":"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"}
@@ -15,18 +15,18 @@ export const TEMPO_WORKLOG_SCHEMA = {
15
15
  description: "Tempo worklog entry with time tracking details",
16
16
  fields: {
17
17
  tempoWorklogId: { type: "number", required: true, description: "Tempo worklog ID" },
18
- jiraWorklogId: { type: "number", required: false, description: "Linked Jira worklog ID" },
18
+ jiraWorklogId: { type: "number", required: false, optional: true, description: "Linked Jira worklog ID" },
19
19
  issueKey: { type: "string", required: true, description: "Jira issue key (e.g., PROJ-123)" },
20
- issueId: { type: "number", required: false, description: "Jira issue ID" },
20
+ issueId: { type: "number", required: false, optional: true, description: "Jira issue ID" },
21
21
  workerKey: { type: "string", required: true, description: "Worker username or JIRAUSER key" },
22
- workerDisplayName: { type: "string", required: false, description: "Worker display name (resolved from Jira)" },
22
+ workerDisplayName: { type: "string", required: false, optional: true, description: "Worker display name (resolved from Jira)" },
23
23
  timeSpentSeconds: { type: "number", required: true, description: "Time spent in seconds" },
24
- timeSpent: { type: "string", required: false, description: "Time spent formatted (e.g., '2h 30m')" },
25
- billableSeconds: { type: "number", required: false, description: "Billable time in seconds" },
24
+ timeSpent: { type: "string", required: false, optional: true, description: "Time spent formatted (e.g., '2h 30m')" },
25
+ billableSeconds: { type: "number", required: false, optional: true, description: "Billable time in seconds" },
26
26
  startDate: { type: "string", required: true, description: "Work date (YYYY-MM-DD or full timestamp)" },
27
- comment: { type: "string", required: false, description: "Work description" },
27
+ comment: { type: "string", required: false, optional: true, description: "Work description" },
28
28
  dateCreated: { type: "string", required: true, description: "When worklog was created (ISO)" },
29
- dateUpdated: { type: "string", required: false, description: "When worklog was updated (ISO)" },
29
+ dateUpdated: { type: "string", required: false, optional: true, description: "When worklog was updated (ISO)" },
30
30
  },
31
31
  };
32
32
  /**
@@ -41,9 +41,9 @@ export const TEMPO_ACCOUNT_SCHEMA = {
41
41
  key: { type: "string", required: true, description: "Account key" },
42
42
  name: { type: "string", required: true, description: "Account name" },
43
43
  status: { type: "string", required: true, description: "Account status (OPEN, CLOSED, ARCHIVED)" },
44
- lead: { type: "string", required: false, description: "Account lead display name" },
45
- leadEmail: { type: "string", required: false, description: "Account lead email" },
46
- category: { type: "string", required: false, description: "Account category" },
44
+ lead: { type: "string", required: false, optional: true, description: "Account lead display name" },
45
+ leadEmail: { type: "string", required: false, optional: true, description: "Account lead email" },
46
+ category: { type: "string", required: false, optional: true, description: "Account category" },
47
47
  },
48
48
  };
49
49
  /**
@@ -56,9 +56,9 @@ export const TEMPO_TEAM_SCHEMA = {
56
56
  fields: {
57
57
  id: { type: "number", required: true, description: "Team ID" },
58
58
  name: { type: "string", required: true, description: "Team name" },
59
- lead: { type: "string", required: false, description: "Team lead display name" },
60
- leadEmail: { type: "string", required: false, description: "Team lead email" },
61
- members: { type: "array", required: false, description: "Team member list", itemType: "object" },
59
+ lead: { type: "string", required: false, optional: true, description: "Team lead display name" },
60
+ leadEmail: { type: "string", required: false, optional: true, description: "Team lead email" },
61
+ members: { type: "array", required: false, optional: true, description: "Team member list", itemType: "object" },
62
62
  },
63
63
  };
64
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tempo.js","sourceRoot":"","sources":["../../../src/utils/schemas/tempo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tempo.js","sourceRoot":"","sources":["../../../src/utils/schemas/tempo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Unified user identity tool
3
+ * Returns authenticated user info from all configured services
4
+ */
5
+ import { z } from "zod";
6
+ import type { ToolResult } from "../types.js";
7
+ /**
8
+ * Create whoami tools
9
+ */
10
+ export declare function createWhoamiTools(): {
11
+ whoami: {
12
+ description: string;
13
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
14
+ handler: () => Promise<ToolResult>;
15
+ };
16
+ };
17
+ //# sourceMappingURL=whoami-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami-tools.d.ts","sourceRoot":"","sources":["../../src/utils/whoami-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,wBAAgB,iBAAiB;;;;uBAWR,OAAO,CAAC,UAAU,CAAC;;EAuE3C"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Unified user identity tool
3
+ * Returns authenticated user info from all configured services
4
+ */
5
+ import { z } from "zod";
6
+ import { formatSuccess, formatError, isApiError } from "./response-formatter.js";
7
+ import { getSessionJiraClient, getSessionConfluenceClient, } from "../session/context.js";
8
+ /**
9
+ * Create whoami tools
10
+ */
11
+ export function createWhoamiTools() {
12
+ return {
13
+ whoami: {
14
+ description: `Get the currently authenticated user from all configured services.
15
+
16
+ Returns user identity from Jira and Confluence (whichever are configured).
17
+ For Confluence, also returns personal space info (spaceKey, homePageId).
18
+ Useful for verifying credentials, getting user keys for queries, or confirming access.
19
+
20
+ Example: whoami()`,
21
+ inputSchema: z.object({}),
22
+ handler: async () => {
23
+ const result = {};
24
+ const errors = [];
25
+ // Get Jira user
26
+ const jiraClient = getSessionJiraClient();
27
+ if (jiraClient) {
28
+ try {
29
+ const user = await jiraClient.getCurrentUser();
30
+ result.jira = {
31
+ key: user.key,
32
+ name: user.name,
33
+ displayName: user.displayName,
34
+ emailAddress: user.emailAddress,
35
+ };
36
+ }
37
+ catch (error) {
38
+ errors.push(`Jira: ${isApiError(error) ? error.message : String(error)}`);
39
+ }
40
+ }
41
+ // Get Confluence user and personal space
42
+ const confluenceClient = getSessionConfluenceClient();
43
+ if (confluenceClient) {
44
+ try {
45
+ const user = await confluenceClient.getCurrentUser();
46
+ const confluenceInfo = {
47
+ userKey: user.userKey,
48
+ username: user.username,
49
+ displayName: user.displayName,
50
+ };
51
+ // Also get personal space
52
+ try {
53
+ const userSpace = await confluenceClient.getCurrentUserSpace();
54
+ if (userSpace) {
55
+ confluenceInfo.personalSpace = {
56
+ spaceKey: userSpace.key,
57
+ spaceName: userSpace.name,
58
+ spaceType: userSpace.type,
59
+ homePageId: userSpace.homepage?.id,
60
+ homePageTitle: userSpace.homepage?.title,
61
+ };
62
+ }
63
+ }
64
+ catch {
65
+ // Personal space not available - that's ok
66
+ }
67
+ result.confluence = confluenceInfo;
68
+ }
69
+ catch (error) {
70
+ errors.push(`Confluence: ${isApiError(error) ? error.message : String(error)}`);
71
+ }
72
+ }
73
+ // Check if any service returned data
74
+ if (Object.keys(result).length === 0 && errors.length === 0) {
75
+ return formatError({
76
+ error: true,
77
+ message: "No services configured. Configure Jira or Confluence credentials.",
78
+ statusCode: 400,
79
+ });
80
+ }
81
+ // Include errors if any service failed
82
+ if (errors.length > 0) {
83
+ result.errors = errors;
84
+ }
85
+ return formatSuccess(result);
86
+ },
87
+ },
88
+ };
89
+ }
90
+ //# sourceMappingURL=whoami-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami-tools.js","sourceRoot":"","sources":["../../src/utils/whoami-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crypto512/jicon-mcp",
3
- "version": "2.3.0",
3
+ "version": "2.3.19",
4
4
  "description": "Model Context Protocol server for Jira, Confluence, and Tempo integration",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -39,7 +39,7 @@
39
39
  "author": "",
40
40
  "license": "MIT",
41
41
  "dependencies": {
42
- "@modelcontextprotocol/sdk": "^1.25.3",
42
+ "@modelcontextprotocol/sdk": "^1.26.0",
43
43
  "axios": "^1.13.4",
44
44
  "express": "^4.22.1",
45
45
  "form-data": "^4.0.5",
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/express": "^5.0.6",
52
- "@types/node": "^22.19.8",
52
+ "@types/node": "^22.19.9",
53
53
  "typescript": "^5.9.3"
54
54
  },
55
55
  "engines": {
@@ -1,64 +0,0 @@
1
- /**
2
- * Client factory for creating API clients with per-request or default credentials
3
- */
4
- import { JiraClient } from "../jira/client.js";
5
- import { ConfluenceClient } from "../confluence/client.js";
6
- import { TempoClient } from "../tempo/client.js";
7
- import type { ApiConfig } from "../types.js";
8
- export interface Clients {
9
- jira: JiraClient | null;
10
- confluence: ConfluenceClient | null;
11
- tempo: TempoClient | null;
12
- }
13
- export interface ClientFactoryConfig {
14
- defaultJiraConfig: ApiConfig | null;
15
- defaultConfluenceConfig: ApiConfig | null;
16
- }
17
- /**
18
- * Factory for creating API clients
19
- *
20
- * - Checks AsyncLocalStorage for per-request credentials
21
- * - Falls back to default credentials from environment
22
- * - Caches default clients for reuse (when no per-request credentials)
23
- */
24
- export declare class ClientFactory {
25
- private defaultClients;
26
- private config;
27
- constructor(config: ClientFactoryConfig);
28
- /**
29
- * Get Jira client for current request
30
- *
31
- * Checks for per-request credentials in AsyncLocalStorage context,
32
- * falls back to default client if none provided.
33
- */
34
- getJiraClient(): JiraClient | null;
35
- /**
36
- * Get Confluence client for current request
37
- */
38
- getConfluenceClient(): ConfluenceClient | null;
39
- /**
40
- * Get Tempo client for current request (uses Jira credentials)
41
- */
42
- getTempoClient(): TempoClient | null;
43
- /**
44
- * Get all clients for current request
45
- */
46
- getClients(): Clients;
47
- /**
48
- * Get default clients (ignores per-request credentials)
49
- */
50
- getDefaultClients(): Clients;
51
- /**
52
- * Check if Jira is configured (either default or per-request)
53
- */
54
- hasJira(): boolean;
55
- /**
56
- * Check if Confluence is configured (either default or per-request)
57
- */
58
- hasConfluence(): boolean;
59
- /**
60
- * Convert service credentials to ApiConfig
61
- */
62
- private toApiConfig;
63
- }
64
- //# sourceMappingURL=client-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-factory.d.ts","sourceRoot":"","sources":["../../src/credentials/client-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,uBAAuB,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB;IAavC;;;;;OAKG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAYlC;;OAEG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAY9C;;OAEG;IACH,cAAc,IAAI,WAAW,GAAG,IAAI;IAYpC;;OAEG;IACH,UAAU,IAAI,OAAO;IAQrB;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,OAAO,IAAI,OAAO;IAKlB;;OAEG;IACH,aAAa,IAAI,OAAO;IAKxB;;OAEG;IACH,OAAO,CAAC,WAAW;CAQpB"}
@@ -1,110 +0,0 @@
1
- /**
2
- * Client factory for creating API clients with per-request or default credentials
3
- */
4
- import { JiraClient } from "../jira/client.js";
5
- import { ConfluenceClient } from "../confluence/client.js";
6
- import { TempoClient } from "../tempo/client.js";
7
- import { getRequestCredentials } from "./context.js";
8
- /**
9
- * Factory for creating API clients
10
- *
11
- * - Checks AsyncLocalStorage for per-request credentials
12
- * - Falls back to default credentials from environment
13
- * - Caches default clients for reuse (when no per-request credentials)
14
- */
15
- export class ClientFactory {
16
- defaultClients;
17
- config;
18
- constructor(config) {
19
- this.config = config;
20
- // Create default clients from environment credentials
21
- this.defaultClients = {
22
- jira: config.defaultJiraConfig ? new JiraClient(config.defaultJiraConfig) : null,
23
- confluence: config.defaultConfluenceConfig
24
- ? new ConfluenceClient(config.defaultConfluenceConfig)
25
- : null,
26
- tempo: config.defaultJiraConfig ? new TempoClient(config.defaultJiraConfig) : null,
27
- };
28
- }
29
- /**
30
- * Get Jira client for current request
31
- *
32
- * Checks for per-request credentials in AsyncLocalStorage context,
33
- * falls back to default client if none provided.
34
- */
35
- getJiraClient() {
36
- const requestCreds = getRequestCredentials();
37
- if (requestCreds?.jira) {
38
- // Create client with per-request credentials
39
- return new JiraClient(this.toApiConfig(requestCreds.jira));
40
- }
41
- // Use default client
42
- return this.defaultClients.jira;
43
- }
44
- /**
45
- * Get Confluence client for current request
46
- */
47
- getConfluenceClient() {
48
- const requestCreds = getRequestCredentials();
49
- if (requestCreds?.confluence) {
50
- // Create client with per-request credentials
51
- return new ConfluenceClient(this.toApiConfig(requestCreds.confluence));
52
- }
53
- // Use default client
54
- return this.defaultClients.confluence;
55
- }
56
- /**
57
- * Get Tempo client for current request (uses Jira credentials)
58
- */
59
- getTempoClient() {
60
- const requestCreds = getRequestCredentials();
61
- if (requestCreds?.jira) {
62
- // Create client with per-request Jira credentials
63
- return new TempoClient(this.toApiConfig(requestCreds.jira));
64
- }
65
- // Use default client
66
- return this.defaultClients.tempo;
67
- }
68
- /**
69
- * Get all clients for current request
70
- */
71
- getClients() {
72
- return {
73
- jira: this.getJiraClient(),
74
- confluence: this.getConfluenceClient(),
75
- tempo: this.getTempoClient(),
76
- };
77
- }
78
- /**
79
- * Get default clients (ignores per-request credentials)
80
- */
81
- getDefaultClients() {
82
- return this.defaultClients;
83
- }
84
- /**
85
- * Check if Jira is configured (either default or per-request)
86
- */
87
- hasJira() {
88
- const requestCreds = getRequestCredentials();
89
- return !!(requestCreds?.jira || this.config.defaultJiraConfig);
90
- }
91
- /**
92
- * Check if Confluence is configured (either default or per-request)
93
- */
94
- hasConfluence() {
95
- const requestCreds = getRequestCredentials();
96
- return !!(requestCreds?.confluence || this.config.defaultConfluenceConfig);
97
- }
98
- /**
99
- * Convert service credentials to ApiConfig
100
- */
101
- toApiConfig(creds) {
102
- return {
103
- url: creds.url,
104
- token: creds.token,
105
- // Per-request credentials use bearer auth (PAT style)
106
- authType: "bearer",
107
- };
108
- }
109
- }
110
- //# sourceMappingURL=client-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-factory.js","sourceRoot":"","sources":["../../src/credentials/client-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAarD;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IAChB,cAAc,CAAU;IACxB,MAAM,CAAsB;IAEpC,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,sDAAsD;QACtD,IAAI,CAAC,cAAc,GAAG;YACpB,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;YAChF,UAAU,EAAE,MAAM,CAAC,uBAAuB;gBACxC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,uBAAuB,CAAC;gBACtD,CAAC,CAAC,IAAI;YACR,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;SACnF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;QAE7C,IAAI,YAAY,EAAE,IAAI,EAAE,CAAC;YACvB,6CAA6C;YAC7C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,qBAAqB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;QAE7C,IAAI,YAAY,EAAE,UAAU,EAAE,CAAC;YAC7B,6CAA6C;YAC7C,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,qBAAqB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;QAE7C,IAAI,YAAY,EAAE,IAAI,EAAE,CAAC;YACvB,kDAAkD;YAClD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,qBAAqB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE;YAC1B,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACtC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;QAC7C,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,aAAa;QACX,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;QAC7C,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAyB;QAC3C,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,sDAAsD;YACtD,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;CACF"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Request context for per-user credentials using AsyncLocalStorage
3
- *
4
- * This allows tool handlers to access per-request credentials without
5
- * needing to modify their function signatures.
6
- */
7
- import type { RequestCredentials } from "./types.js";
8
- /**
9
- * Run a function with per-request credentials in context
10
- *
11
- * @param credentials - Per-request credentials from HTTP headers
12
- * @param fn - Function to run with credentials in context
13
- */
14
- export declare function runWithCredentials<T>(credentials: RequestCredentials, fn: () => T | Promise<T>): T | Promise<T>;
15
- /**
16
- * Get credentials from the current request context
17
- *
18
- * @returns Per-request credentials if available, undefined otherwise
19
- */
20
- export declare function getRequestCredentials(): RequestCredentials | undefined;
21
- /**
22
- * Check if we're running in a request context with credentials
23
- */
24
- export declare function hasRequestContext(): boolean;
25
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/credentials/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOrD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,WAAW,EAAE,kBAAkB,EAC/B,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAEtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}