@crypto512/jicon-mcp 0.2.0 → 0.3.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.
@@ -52,15 +52,35 @@ Common Patterns:
52
52
  - Date ranges: created >= "2025-01-01" AND created <= "2025-01-31"
53
53
  - Multiple projects: project IN (PROJ1, PROJ2, PROJ3)
54
54
  - Exclude resolved: AND resolution = Unresolved
55
- - Text search: summary~"login" OR description~"login"`,
55
+ - Text search: summary~"login" OR description~"login"
56
+
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
62
+
63
+ Examples:
64
+ 1. Get first 50 results (page 1):
65
+ jql: "project = PROJ", maxResults: 50, startAt: 0
66
+
67
+ 2. Get next 50 results (page 2):
68
+ jql: "project = PROJ", maxResults: 50, startAt: 50
69
+
70
+ 3. Get results 100-149 (page 3):
71
+ jql: "project = PROJ", maxResults: 50, startAt: 100
72
+
73
+ Tip: Check 'total' in response to determine if more results exist.
74
+ If startAt + maxResults < total, there are more pages available.`,
56
75
  inputSchema: z.object({
57
76
  jql: z.string().describe("JQL query string"),
58
- maxResults: z.number().optional().describe("Maximum number of results (default: 50)"),
77
+ maxResults: z.number().optional().describe("Maximum number of results per page (default: 50)"),
59
78
  fields: z.array(z.string()).optional().describe("Specific fields to return"),
79
+ startAt: z.number().optional().describe("Index of first result (0-based, default: 0). Use for pagination."),
60
80
  }),
61
81
  handler: async (args) => {
62
82
  try {
63
- const result = await client.searchIssues(args.jql, args.maxResults, args.fields);
83
+ const result = await client.searchIssues(args.jql, args.maxResults, args.fields, args.startAt);
64
84
  return {
65
85
  content: [
66
86
  {
@@ -201,18 +221,35 @@ Common Patterns:
201
221
  },
202
222
  },
203
223
  jira_get_issue_comments: {
204
- description: "Retrieve comments from a Jira issue",
224
+ description: `Retrieve comments from a Jira issue.
225
+
226
+ PAGINATION:
227
+ When an issue has many comments, use pagination to retrieve them in batches:
228
+ - startAt: Index of first comment (0-based, default: 0)
229
+ - maxResults: Maximum comments per page
230
+ - Response includes: total, startAt, maxResults for pagination tracking
231
+
232
+ Examples:
233
+ 1. Get first 50 comments:
234
+ issueKey: "PROJ-123", maxResults: 50, startAt: 0
235
+
236
+ 2. Get next 50 comments:
237
+ issueKey: "PROJ-123", maxResults: 50, startAt: 50
238
+
239
+ 3. Get all comments in batches:
240
+ Loop with increasing startAt until startAt + maxResults >= total`,
205
241
  inputSchema: z.object({
206
242
  issueKey: z.string().describe("Issue key"),
207
- maxResults: z.number().optional().describe("Maximum number of comments"),
243
+ maxResults: z.number().optional().describe("Maximum number of comments per page"),
208
244
  orderBy: z
209
245
  .string()
210
246
  .optional()
211
247
  .describe('Sort order ("created" or "-created")'),
248
+ startAt: z.number().optional().describe("Index of first comment (0-based, default: 0). Use for pagination."),
212
249
  }),
213
250
  handler: async (args) => {
214
251
  try {
215
- const result = await client.getComments(args.issueKey, args.maxResults, args.orderBy);
252
+ const result = await client.getComments(args.issueKey, args.maxResults, args.orderBy, args.startAt);
216
253
  return formatSuccess(result);
217
254
  }
218
255
  catch (error) {
@@ -318,17 +355,37 @@ Common Patterns:
318
355
  },
319
356
  },
320
357
  jira_get_sprints: {
321
- description: "List sprints for a board",
358
+ description: `List sprints for a board.
359
+
360
+ PAGINATION:
361
+ When a board has many sprints, use pagination to retrieve them in batches:
362
+ - startAt: Index of first sprint (0-based, default: 0)
363
+ - maxResults: Maximum sprints per page (default: 50)
364
+ - Response includes: total, startAt, maxResults, isLast for pagination tracking
365
+
366
+ Examples:
367
+ 1. Get first 50 sprints:
368
+ boardId: 123, maxResults: 50, startAt: 0
369
+
370
+ 2. Get next 50 sprints:
371
+ boardId: 123, maxResults: 50, startAt: 50
372
+
373
+ 3. Get only active sprints (paginated):
374
+ boardId: 123, state: "active", maxResults: 50, startAt: 0
375
+
376
+ Tip: Check 'isLast' in response or compare startAt + maxResults < total to determine if more pages exist.`,
322
377
  inputSchema: z.object({
323
378
  boardId: z.number().describe("Board ID"),
324
379
  state: z
325
380
  .enum(["active", "future", "closed"])
326
381
  .optional()
327
382
  .describe("Sprint state filter"),
383
+ startAt: z.number().optional().describe("Index of first sprint (0-based, default: 0). Use for pagination."),
384
+ maxResults: z.number().optional().describe("Maximum number of sprints per page (default: 50)"),
328
385
  }),
329
386
  handler: async (args) => {
330
387
  try {
331
- const result = await client.getSprints(args.boardId, args.state);
388
+ const result = await client.getSprints(args.boardId, args.state, args.startAt, args.maxResults);
332
389
  return formatSuccess(result);
333
390
  }
334
391
  catch (error) {
@@ -337,14 +394,31 @@ Common Patterns:
337
394
  },
338
395
  },
339
396
  jira_get_sprint_issues: {
340
- description: "Get issues in a specific sprint",
397
+ description: `Get issues in a specific sprint.
398
+
399
+ PAGINATION:
400
+ When a sprint has many issues, use pagination to retrieve them in batches:
401
+ - startAt: Index of first issue (0-based, default: 0)
402
+ - maxResults: Maximum issues per page
403
+ - Response includes: total, startAt, maxResults for pagination tracking
404
+
405
+ Examples:
406
+ 1. Get first 50 issues in sprint:
407
+ sprintId: 456, maxResults: 50, startAt: 0
408
+
409
+ 2. Get next 50 issues:
410
+ sprintId: 456, maxResults: 50, startAt: 50
411
+
412
+ 3. Get all sprint issues in batches:
413
+ Loop with increasing startAt until startAt + maxResults >= total`,
341
414
  inputSchema: z.object({
342
415
  sprintId: z.number().describe("Sprint ID"),
343
- maxResults: z.number().optional().describe("Maximum number of results"),
416
+ maxResults: z.number().optional().describe("Maximum number of issues per page"),
417
+ startAt: z.number().optional().describe("Index of first issue (0-based, default: 0). Use for pagination."),
344
418
  }),
345
419
  handler: async (args) => {
346
420
  try {
347
- const result = await client.getSprintIssues(args.sprintId, args.maxResults);
421
+ const result = await client.getSprintIssues(args.sprintId, args.maxResults, args.startAt);
348
422
  return formatSuccess(result);
349
423
  }
350
424
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/jira/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,OAAO;QACL,kBAAkB,EAAE;YAClB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA6CmC;YAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;gBACrF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aAC7E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CACtC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC;6BAClC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,cAAc,EAAE;YACd,WAAW,EAAE,sDAAsD;YACnE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBAC7D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBAC5E,MAAM,EAAE,CAAC;qBACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,CAAC,iEAAiE,CAAC;aAC/E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAClC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;6BAC1B;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,iBAAiB,EAAE;YACjB,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBAC3E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC7D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAClE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBAC/E,YAAY,EAAE,CAAC;qBACZ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;qBACnB,QAAQ,EAAE;qBACV,QAAQ,CAAC,qBAAqB,CAAC;aACnC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAUf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC9C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,iBAAiB,EAAE;YACjB,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC1D,WAAW,EAAE,CAAC;qBACX,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,oCAAoC,CAAC;aAClD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACvE,OAAO,aAAa,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,SAAS,IAAI,CAAC,QAAQ,uBAAuB;qBACvD,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,qBAAqB,EAAE;YACrB,WAAW,EAAE,2CAA2C;YACxD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,cAAc,EAAE,CAAC;qBACd,MAAM,EAAE;qBACR,QAAQ,CAAC,+CAA+C,CAAC;gBAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;gBACzE,MAAM,EAAE,CAAC;qBACN,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;qBACnB,QAAQ,EAAE;qBACV,QAAQ,CAAC,oCAAoC,CAAC;aAClD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAKf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,eAAe,CAC1B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO,aAAa,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,SAAS,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,cAAc,EAAE;qBACzE,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;gBACrE,UAAU,EAAE,CAAC;qBACV,MAAM,CAAC;oBACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;iBAClB,CAAC;qBACD,QAAQ,EAAE;qBACV,QAAQ,CAAC,yBAAyB,CAAC;aACvC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,CAChB,CAAC;oBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,uBAAuB,EAAE;YACvB,WAAW,EAAE,qCAAqC;YAClD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBACxE,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,sCAAsC,CAAC;aACpD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,kBAAkB,EAAE;YAClB,WAAW,EAAE,mCAAmC;YAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBACtE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aAC7E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAGf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnE,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;6BAC7B;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aAC7E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAGf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrE,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;6BAC5B;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,oBAAoB,EAAE;YACpB,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC3C,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAA0B,EAAuB,EAAE;gBACjE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACjD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;gBACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;aAChE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAKf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,UAAU,CACrB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO,aAAa,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,cAAc,cAAc,IAAI,CAAC,QAAQ,EAAE;qBACxF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,cAAc,EAAE;YACd,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;aACzC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAuB,EAAE;gBAChE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,0BAA0B;YACvC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,CAAC;qBACL,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;qBACpC,QAAQ,EAAE;qBACV,QAAQ,CAAC,qBAAqB,CAAC;aACnC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAGf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,sBAAsB,EAAE;YACtB,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aACxE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAGf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CACzC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAChB,CAAC;oBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,uBAAuB,EAAE;YACvB,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC3C,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAA0B,EAAuB,EAAE;gBACjE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/jira/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,OAAO;QACL,kBAAkB,EAAE;YAClB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEAgEmD;YAChE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;gBAC9F,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;aAC5G,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAKf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CACtC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC;6BAClC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,cAAc,EAAE;YACd,WAAW,EAAE,sDAAsD;YACnE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBAC7D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBAC5E,MAAM,EAAE,CAAC;qBACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,CAAC,iEAAiE,CAAC;aAC/E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAClC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;6BAC1B;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,iBAAiB,EAAE;YACjB,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBAC3E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC7D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAClE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBAC/E,YAAY,EAAE,CAAC;qBACZ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;qBACnB,QAAQ,EAAE;qBACV,QAAQ,CAAC,qBAAqB,CAAC;aACnC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAUf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC9C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,iBAAiB,EAAE;YACjB,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC1D,WAAW,EAAE,CAAC;qBACX,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,oCAAoC,CAAC;aAClD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACvE,OAAO,aAAa,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,SAAS,IAAI,CAAC,QAAQ,uBAAuB;qBACvD,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,qBAAqB,EAAE;YACrB,WAAW,EAAE,2CAA2C;YACxD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,cAAc,EAAE,CAAC;qBACd,MAAM,EAAE;qBACR,QAAQ,CAAC,+CAA+C,CAAC;gBAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;gBACzE,MAAM,EAAE,CAAC;qBACN,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;qBACnB,QAAQ,EAAE;qBACV,QAAQ,CAAC,oCAAoC,CAAC;aAClD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAKf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,eAAe,CAC1B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO,aAAa,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,SAAS,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,cAAc,EAAE;qBACzE,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;gBACrE,UAAU,EAAE,CAAC;qBACV,MAAM,CAAC;oBACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;iBAClB,CAAC;qBACD,QAAQ,EAAE;qBACV,QAAQ,CAAC,yBAAyB,CAAC;aACvC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,CAChB,CAAC;oBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,uBAAuB,EAAE;YACvB,WAAW,EAAE;;;;;;;;;;;;;;;;oEAgBiD;YAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;gBACjF,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,sCAAsC,CAAC;gBACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;aAC7G,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAKf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,kBAAkB,EAAE;YAClB,WAAW,EAAE,mCAAmC;YAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBACtE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aAC7E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAGf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnE,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;6BAC7B;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aAC7E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAGf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrE,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;6BAC5B;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,oBAAoB,EAAE;YACpB,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC3C,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAA0B,EAAuB,EAAE;gBACjE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACjD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;gBACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;aAChE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAKf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,UAAU,CACrB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO,aAAa,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,cAAc,cAAc,IAAI,CAAC,QAAQ,EAAE;qBACxF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,cAAc,EAAE;YACd,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;aACzC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAuB,EAAE;gBAChE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE;;;;;;;;;;;;;;;;;;0GAkBuF;YACpG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,CAAC;qBACL,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;qBACpC,QAAQ,EAAE;qBACV,QAAQ,CAAC,qBAAqB,CAAC;gBAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;gBAC3G,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;aAC/F,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAKf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,CAChB,CAAC;oBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,sBAAsB,EAAE;YACtB,WAAW,EAAE;;;;;;;;;;;;;;;;oEAgBiD;YAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;gBAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;aAC3G,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAIf,EAAuB,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CACzC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,uBAAuB,EAAE;YACvB,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC3C,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAA0B,EAAuB,EAAE;gBACjE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,14 +1,19 @@
1
1
  /**
2
2
  * Tempo API Client
3
- * Uses Tempo v3 API (fallback to v2 if needed)
3
+ * Uses Tempo v4 API
4
+ *
5
+ * The v4 API requires issueId and projectId (integers) instead of keys.
6
+ * This client automatically converts user-friendly keys to numeric IDs.
4
7
  */
5
8
  import type { ApiConfig } from "../types.js";
6
9
  import type { TempoWorklog, TempoWorklogInput, TempoWorklogSearchResult, TempoAccount, TempoTeam } from "./types.js";
7
10
  export declare class TempoClient {
8
11
  private http;
9
- private apiVersion;
10
- constructor(config: ApiConfig, apiVersion?: string);
11
- getWorklogs(dateFrom?: string, dateTo?: string, projectKey?: string, issueKey?: string, accountId?: string): Promise<TempoWorklogSearchResult>;
12
+ constructor(config: ApiConfig);
13
+ private resolveIssueId;
14
+ private resolveProjectId;
15
+ getWorklogs(dateFrom?: string, dateTo?: string, projectKey?: string, issueKey?: string, workerKey?: string, // Changed from accountId to workerKey
16
+ offset?: number, limit?: number): Promise<TempoWorklogSearchResult>;
12
17
  getWorklog(worklogId: number): Promise<TempoWorklog>;
13
18
  logWork(worklogData: TempoWorklogInput): Promise<TempoWorklog>;
14
19
  updateWorklog(worklogId: number, worklogData: Partial<TempoWorklogInput>): Promise<TempoWorklog>;
@@ -27,6 +32,8 @@ export declare class TempoClient {
27
32
  getCurrentUser(): Promise<{
28
33
  accountId: string;
29
34
  displayName: string;
35
+ key: string;
36
+ name: string;
30
37
  }>;
31
38
  }
32
39
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/tempo/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,SAAS,EAAE,UAAU,GAAE,MAAY;IAMjD,WAAW,CACf,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,CAAC;IA8D9B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMpD,OAAO,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9D,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACtC,OAAO,CAAC,YAAY,CAAC;IAOlB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQtC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMrD,aAAa,CAAC,WAAW,EAAE;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC5B,GAAG,OAAO,CAAC,YAAY,CAAC;IAQnB,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3C,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC;IA4B9B,cAAc,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAM5E"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/tempo/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;gBAEb,MAAM,EAAE,SAAS;YAKf,cAAc;YAKd,gBAAgB;IAMxB,WAAW,CACf,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAAE,sCAAsC;IAC1D,MAAM,GAAE,MAAU,EAClB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC;IA6E9B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMpD,OAAO,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAiC9D,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACtC,OAAO,CAAC,YAAY,CAAC;IAgClB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQtC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMrD,aAAa,CAAC,WAAW,EAAE;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC5B,GAAG,OAAO,CAAC,YAAY,CAAC;IAQnB,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3C,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC;IA4B9B,cAAc,IAAI,OAAO,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CAUH"}
@@ -1,31 +1,51 @@
1
1
  /**
2
2
  * Tempo API Client
3
- * Uses Tempo v3 API (fallback to v2 if needed)
3
+ * Uses Tempo v4 API
4
+ *
5
+ * The v4 API requires issueId and projectId (integers) instead of keys.
6
+ * This client automatically converts user-friendly keys to numeric IDs.
4
7
  */
5
8
  import { HttpClient } from "../utils/http-client.js";
6
9
  export class TempoClient {
7
10
  http;
8
- apiVersion;
9
- constructor(config, apiVersion = "3") {
11
+ constructor(config) {
10
12
  this.http = new HttpClient(config);
11
- this.apiVersion = apiVersion;
13
+ }
14
+ // Helper methods to resolve keys to IDs for v4 API
15
+ async resolveIssueId(issueKey) {
16
+ const issue = await this.http.get(`/rest/api/2/issue/${issueKey}?fields=id`);
17
+ return parseInt(issue.id, 10);
18
+ }
19
+ async resolveProjectId(projectKey) {
20
+ const project = await this.http.get(`/rest/api/2/project/${projectKey}`);
21
+ return parseInt(project.id, 10);
12
22
  }
13
23
  // Worklog operations
14
- async getWorklogs(dateFrom, dateTo, projectKey, issueKey, accountId) {
15
- const params = new URLSearchParams();
24
+ async getWorklogs(dateFrom, dateTo, projectKey, issueKey, workerKey, // Changed from accountId to workerKey
25
+ offset = 0, limit = 50) {
26
+ // v4 API uses POST /worklogs/search instead of GET /worklogs
27
+ const searchParams = {};
16
28
  if (dateFrom)
17
- params.append("from", dateFrom);
29
+ searchParams.from = dateFrom;
18
30
  if (dateTo)
19
- params.append("to", dateTo);
20
- if (projectKey)
21
- params.append("projectKey", projectKey);
22
- if (issueKey)
23
- params.append("issueKey", issueKey);
24
- if (accountId)
25
- params.append("worker", accountId);
26
- const queryString = params.toString();
27
- const url = `/rest/tempo-timesheets/${this.apiVersion}/worklogs${queryString ? `?${queryString}` : ""}`;
28
- const response = await this.http.get(url);
31
+ searchParams.to = dateTo;
32
+ // v4 API requires issueId and projectId (integers) as arrays
33
+ if (projectKey) {
34
+ const projectId = await this.resolveProjectId(projectKey);
35
+ searchParams.projectId = [projectId]; // Must be array!
36
+ }
37
+ if (issueKey) {
38
+ const issueId = await this.resolveIssueId(issueKey);
39
+ searchParams.taskId = [issueId]; // Must be array!
40
+ }
41
+ // v4 API expects workerKey (username), not accountId
42
+ if (workerKey) {
43
+ searchParams.worker = [workerKey]; // Must be array of user keys
44
+ }
45
+ // Add pagination parameters
46
+ searchParams.offset = offset;
47
+ searchParams.limit = limit;
48
+ const response = await this.http.post("/rest/tempo-timesheets/4/worklogs/search", searchParams);
29
49
  // Defensive handling of response format
30
50
  // Official API should return: { self, metadata: { count, offset, limit }, results: [] }
31
51
  // Handle direct array (shouldn't happen but be defensive)
@@ -66,16 +86,63 @@ export class TempoClient {
66
86
  throw new Error(`Unexpected Tempo API response format. Expected object with 'results' array, got: ${JSON.stringify(response).substring(0, 200)}`);
67
87
  }
68
88
  async getWorklog(worklogId) {
69
- return this.http.get(`/rest/tempo-timesheets/${this.apiVersion}/worklogs/${worklogId}`);
89
+ return this.http.get(`/rest/tempo-timesheets/4/worklogs/${worklogId}`);
70
90
  }
71
91
  async logWork(worklogData) {
72
- return this.http.post(`/rest/tempo-timesheets/${this.apiVersion}/worklogs`, worklogData);
92
+ // v4 API uses different field names than v3
93
+ // - startDate → started
94
+ // - issueKey → originTaskId (can be key or ID)
95
+ // - description → comment
96
+ const requestBody = {
97
+ originTaskId: worklogData.issueKey, // v4 accepts both key and ID
98
+ timeSpentSeconds: worklogData.timeSpentSeconds,
99
+ started: worklogData.startDate, // v4 uses 'started' not 'startDate'
100
+ };
101
+ if (worklogData.description) {
102
+ requestBody.comment = worklogData.description;
103
+ }
104
+ if (worklogData.billableSeconds !== undefined) {
105
+ requestBody.billableSeconds = worklogData.billableSeconds;
106
+ }
107
+ if (worklogData.remainingEstimateSeconds !== undefined) {
108
+ requestBody.remainingEstimate = worklogData.remainingEstimateSeconds;
109
+ }
110
+ if (worklogData.authorAccountId) {
111
+ requestBody.worker = worklogData.authorAccountId;
112
+ }
113
+ if (worklogData.attributes) {
114
+ requestBody.attributes = worklogData.attributes;
115
+ }
116
+ return this.http.post(`/rest/tempo-timesheets/4/worklogs`, requestBody);
73
117
  }
74
118
  async updateWorklog(worklogId, worklogData) {
75
- return this.http.put(`/rest/tempo-timesheets/${this.apiVersion}/worklogs/${worklogId}`, worklogData);
119
+ // v4 API uses different field names
120
+ const requestBody = {};
121
+ if (worklogData.issueKey) {
122
+ requestBody.originTaskId = worklogData.issueKey;
123
+ }
124
+ if (worklogData.timeSpentSeconds !== undefined) {
125
+ requestBody.timeSpentSeconds = worklogData.timeSpentSeconds;
126
+ }
127
+ if (worklogData.startDate) {
128
+ requestBody.started = worklogData.startDate;
129
+ }
130
+ if (worklogData.description) {
131
+ requestBody.comment = worklogData.description;
132
+ }
133
+ if (worklogData.billableSeconds !== undefined) {
134
+ requestBody.billableSeconds = worklogData.billableSeconds;
135
+ }
136
+ if (worklogData.remainingEstimateSeconds !== undefined) {
137
+ requestBody.remainingEstimate = worklogData.remainingEstimateSeconds;
138
+ }
139
+ if (worklogData.attributes) {
140
+ requestBody.attributes = worklogData.attributes;
141
+ }
142
+ return this.http.put(`/rest/tempo-timesheets/4/worklogs/${worklogId}`, requestBody);
76
143
  }
77
144
  async deleteWorklog(worklogId) {
78
- await this.http.delete(`/rest/tempo-timesheets/${this.apiVersion}/worklogs/${worklogId}`);
145
+ await this.http.delete(`/rest/tempo-timesheets/4/worklogs/${worklogId}`);
79
146
  }
80
147
  // Account operations
81
148
  async getAccounts() {
@@ -84,7 +151,7 @@ export class TempoClient {
84
151
  return Array.isArray(response) ? response : [];
85
152
  }
86
153
  async getAccount(accountKey) {
87
- return this.http.get(`/rest/tempo-accounts/1/account/${accountKey}`);
154
+ return this.http.get(`/rest/tempo-accounts/1/account/key/${accountKey}`);
88
155
  }
89
156
  async createAccount(accountData) {
90
157
  return this.http.post("/rest/tempo-accounts/1/account", accountData);
@@ -92,11 +159,11 @@ export class TempoClient {
92
159
  // Team operations
93
160
  async getTeams() {
94
161
  // API returns array directly, not wrapped object
95
- const response = await this.http.get("/rest/tempo-teams/1/team");
162
+ const response = await this.http.get("/rest/tempo-teams/2/team");
96
163
  return Array.isArray(response) ? response : [];
97
164
  }
98
165
  async getTeam(teamId) {
99
- return this.http.get(`/rest/tempo-teams/1/team/${teamId}`);
166
+ return this.http.get(`/rest/tempo-teams/2/team/${teamId}`);
100
167
  }
101
168
  async getTeamWorklogs(teamId, dateFrom, dateTo) {
102
169
  const team = await this.getTeam(teamId);
@@ -119,7 +186,13 @@ export class TempoClient {
119
186
  // User operations
120
187
  async getCurrentUser() {
121
188
  // Use Jira's myself endpoint since Tempo doesn't have its own
122
- return this.http.get("/rest/api/2/myself");
189
+ const user = await this.http.get("/rest/api/2/myself");
190
+ return {
191
+ accountId: user.accountId,
192
+ displayName: user.displayName,
193
+ key: user.key || user.name, // User key (workerKey for Tempo)
194
+ name: user.name, // Username
195
+ };
123
196
  }
124
197
  }
125
198
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/tempo/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/tempo/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/tempo/formatters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACV,MAAM,YAAY,CAAC;AAkBpB;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA8B3D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,wBAAwB,GAC/B,MAAM,CAsER;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAgB3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAoB/D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAwBlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAkBtD"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/tempo/formatters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACV,MAAM,YAAY,CAAC;AAkBpB;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA2C3D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,wBAAwB,GAC/B,MAAM,CAyER;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAwB3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAqB/D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAoClD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAoBtD"}
@@ -30,11 +30,15 @@ export function formatWorklog(worklog) {
30
30
  lines.push(`- **Time Spent**: ${formatTimeSpent(worklog.timeSpentSeconds)}`);
31
31
  lines.push(`- **Billable**: ${formatTimeSpent(worklog.billableSeconds || 0)}`);
32
32
  lines.push(`- **Date**: ${worklog.startDate}`);
33
- lines.push(`- **Author**: ${worklog.author.displayName}`);
34
- if (worklog.description) {
33
+ // v4 API uses workerKey (string) instead of author object
34
+ if (worklog.workerKey) {
35
+ lines.push(`- **Worker**: ${worklog.workerKey}`);
36
+ }
37
+ // v4 uses 'comment' field instead of 'description'
38
+ if (worklog.comment) {
35
39
  lines.push("");
36
- lines.push("## Description");
37
- lines.push(worklog.description);
40
+ lines.push("## Comment");
41
+ lines.push(worklog.comment);
38
42
  }
39
43
  if (worklog.attributes && worklog.attributes.length > 0) {
40
44
  lines.push("");
@@ -43,6 +47,13 @@ export function formatWorklog(worklog) {
43
47
  lines.push(`- **${attr.key}**: ${attr.value}`);
44
48
  });
45
49
  }
50
+ lines.push("");
51
+ lines.push("## Metadata");
52
+ lines.push(`- **Created**: ${worklog.dateCreated}`);
53
+ lines.push(`- **Updated**: ${worklog.dateUpdated}`);
54
+ if (worklog.updaterKey) {
55
+ lines.push(`- **Last Updated By**: ${worklog.updaterKey}`);
56
+ }
46
57
  return lines.join("\n");
47
58
  }
48
59
  /**
@@ -82,12 +93,15 @@ export function formatWorklogSearchResults(result) {
82
93
  lines.push(`## ${date} (${formatTimeSpent(dayTotal)})`);
83
94
  lines.push("");
84
95
  worklogs.forEach((wl) => {
85
- lines.push(`- **${wl.issue.key}** - ${formatTimeSpent(wl.timeSpentSeconds)} - ${wl.author.displayName}`);
86
- if (wl.description) {
87
- const shortDesc = wl.description.length > 80
88
- ? wl.description.substring(0, 80) + "..."
89
- : wl.description;
90
- lines.push(` ${shortDesc}`);
96
+ // v4 API uses workerKey (string) instead of author object
97
+ const workerName = wl.workerKey || 'Unknown';
98
+ lines.push(`- **${wl.issue.key}** - ${formatTimeSpent(wl.timeSpentSeconds)} - ${workerName}`);
99
+ // v4 uses 'comment' field instead of 'description'
100
+ if (wl.comment) {
101
+ const shortComment = wl.comment.length > 80
102
+ ? wl.comment.substring(0, 80) + "..."
103
+ : wl.comment;
104
+ lines.push(` ${shortComment}`);
91
105
  }
92
106
  });
93
107
  lines.push("");
@@ -104,10 +118,19 @@ export function formatAccount(account) {
104
118
  lines.push("## Details");
105
119
  lines.push(`- **Key**: ${account.key}`);
106
120
  lines.push(`- **Status**: ${account.status}`);
107
- lines.push(`- **Lead**: ${account.lead.displayName}`);
108
- if (account.contact) {
121
+ // Defensive: lead might be missing or incomplete
122
+ if (account.lead?.displayName) {
123
+ lines.push(`- **Lead**: ${account.lead.displayName}`);
124
+ }
125
+ else if (account.lead?.accountId) {
126
+ lines.push(`- **Lead**: ${account.lead.accountId}`);
127
+ }
128
+ if (account.contact?.displayName) {
109
129
  lines.push(`- **Contact**: ${account.contact.displayName}`);
110
130
  }
131
+ else if (account.contact?.accountId) {
132
+ lines.push(`- **Contact**: ${account.contact.accountId}`);
133
+ }
111
134
  return lines.join("\n");
112
135
  }
113
136
  /**
@@ -122,8 +145,9 @@ export function formatAccounts(accounts) {
122
145
  return lines.join("\n");
123
146
  }
124
147
  accounts.forEach((account) => {
148
+ const leadName = account.lead?.displayName || account.lead?.accountId || 'Unknown';
125
149
  lines.push(`## ${account.key}: ${account.name} (${account.status.toLowerCase()})`);
126
- lines.push(` Lead: ${account.lead.displayName}`);
150
+ lines.push(` Lead: ${leadName}`);
127
151
  lines.push("");
128
152
  });
129
153
  return lines.join("\n");
@@ -137,18 +161,29 @@ export function formatTeam(team) {
137
161
  lines.push("");
138
162
  lines.push("## Details");
139
163
  lines.push(`- **Team ID**: ${team.id}`);
140
- lines.push(`- **Lead**: ${team.lead.displayName}`);
141
- lines.push(`- **Members**: ${team.members.length}`);
164
+ // Defensive: lead might be missing or incomplete
165
+ if (team.lead?.displayName) {
166
+ lines.push(`- **Lead**: ${team.lead.displayName}`);
167
+ }
168
+ else if (team.lead?.accountId) {
169
+ lines.push(`- **Lead**: ${team.lead.accountId}`);
170
+ }
171
+ // Defensive: members might be undefined or not an array
172
+ const memberCount = Array.isArray(team.members) ? team.members.length : 0;
173
+ lines.push(`- **Members**: ${memberCount}`);
142
174
  if (team.summary) {
143
175
  lines.push("");
144
176
  lines.push("## Summary");
145
177
  lines.push(team.summary);
146
178
  }
147
- lines.push("");
148
- lines.push("## Team Members");
149
- team.members.forEach((member) => {
150
- lines.push(`- ${member.displayName}`);
151
- });
179
+ if (Array.isArray(team.members) && team.members.length > 0) {
180
+ lines.push("");
181
+ lines.push("## Team Members");
182
+ team.members.forEach((member) => {
183
+ const memberName = member?.displayName || member?.accountId || 'Unknown';
184
+ lines.push(`- ${memberName}`);
185
+ });
186
+ }
152
187
  return lines.join("\n");
153
188
  }
154
189
  /**
@@ -163,8 +198,10 @@ export function formatTeams(teams) {
163
198
  return lines.join("\n");
164
199
  }
165
200
  teams.forEach((team) => {
201
+ const leadName = team.lead?.displayName || team.lead?.accountId || 'Unknown';
202
+ const memberCount = Array.isArray(team.members) ? team.members.length : 0;
166
203
  lines.push(`## ${team.name}`);
167
- lines.push(` Lead: ${team.lead.displayName} | Members: ${team.members.length}`);
204
+ lines.push(` Lead: ${leadName} | Members: ${memberCount}`);
168
205
  lines.push("");
169
206
  });
170
207
  return lines.join("\n");