backlog-mcp-server 0.17.0 → 0.18.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 (154) hide show
  1. package/README.ja.md +15 -32
  2. package/README.md +20 -32
  3. package/build/auth/oauthRoutes.js +53 -1
  4. package/build/createBacklogMcpServer.d.ts +4 -6
  5. package/build/createBacklogMcpServer.js +4 -12
  6. package/build/handlers/builders/composeToolHandler.d.ts +1 -1
  7. package/build/handlers/builders/composeToolHandler.js +15 -9
  8. package/build/handlers/transformers/wrapWithFieldPicking.d.ts +14 -1
  9. package/build/handlers/transformers/wrapWithFieldPicking.js +30 -36
  10. package/build/index.js +20 -15
  11. package/build/lib.d.ts +1 -1
  12. package/build/reportUnknownOverrideKeys.js +0 -1
  13. package/build/tools/addDocument.d.ts +2 -2
  14. package/build/tools/addDocument.js +17 -2
  15. package/build/tools/addIssue.d.ts +2 -2
  16. package/build/tools/addIssue.js +32 -2
  17. package/build/tools/addIssueComment.d.ts +2 -2
  18. package/build/tools/addIssueComment.js +14 -2
  19. package/build/tools/addProject.d.ts +2 -2
  20. package/build/tools/addProject.js +22 -2
  21. package/build/tools/addPullRequest.d.ts +2 -2
  22. package/build/tools/addPullRequest.js +26 -2
  23. package/build/tools/addPullRequestComment.d.ts +2 -2
  24. package/build/tools/addPullRequestComment.js +12 -2
  25. package/build/tools/addRelatedIssue.d.ts +2 -2
  26. package/build/tools/addRelatedIssue.js +33 -2
  27. package/build/tools/addVersionMilestone.d.ts +2 -2
  28. package/build/tools/addVersionMilestone.js +12 -2
  29. package/build/tools/addWatching.d.ts +2 -2
  30. package/build/tools/addWatching.js +12 -2
  31. package/build/tools/addWiki.d.ts +2 -2
  32. package/build/tools/addWiki.js +16 -2
  33. package/build/tools/countIssues.d.ts +2 -2
  34. package/build/tools/countIssues.js +3 -2
  35. package/build/tools/deleteIssue.d.ts +2 -2
  36. package/build/tools/deleteIssue.js +32 -2
  37. package/build/tools/deleteProject.d.ts +2 -2
  38. package/build/tools/deleteProject.js +22 -2
  39. package/build/tools/deleteVersion.d.ts +2 -2
  40. package/build/tools/deleteVersion.js +12 -2
  41. package/build/tools/deleteWatching.d.ts +2 -2
  42. package/build/tools/deleteWatching.js +12 -2
  43. package/build/tools/getCategories.d.ts +2 -2
  44. package/build/tools/getCategories.js +8 -2
  45. package/build/tools/getCustomFields.d.ts +2 -2
  46. package/build/tools/getCustomFields.js +22 -2
  47. package/build/tools/getDocument.d.ts +2 -2
  48. package/build/tools/getDocument.js +17 -2
  49. package/build/tools/getDocumentTree.d.ts +2 -2
  50. package/build/tools/getDocumentTree.js +7 -2
  51. package/build/tools/getDocuments.d.ts +2 -2
  52. package/build/tools/getDocuments.js +17 -2
  53. package/build/tools/getGitRepositories.d.ts +2 -2
  54. package/build/tools/getGitRepositories.js +17 -2
  55. package/build/tools/getGitRepository.d.ts +2 -2
  56. package/build/tools/getGitRepository.js +17 -2
  57. package/build/tools/getIssue.d.ts +2 -2
  58. package/build/tools/getIssue.js +32 -2
  59. package/build/tools/getIssueComments.d.ts +2 -2
  60. package/build/tools/getIssueComments.js +14 -2
  61. package/build/tools/getIssueTypes.d.ts +2 -2
  62. package/build/tools/getIssueTypes.js +11 -2
  63. package/build/tools/getIssues.d.ts +10 -10
  64. package/build/tools/getIssues.js +32 -2
  65. package/build/tools/getMyself.d.ts +2 -2
  66. package/build/tools/getMyself.js +11 -2
  67. package/build/tools/getNotifications.d.ts +2 -2
  68. package/build/tools/getNotifications.js +15 -2
  69. package/build/tools/getNotificationsCount.d.ts +2 -2
  70. package/build/tools/getNotificationsCount.js +5 -2
  71. package/build/tools/getPriorities.d.ts +2 -2
  72. package/build/tools/getPriorities.js +3 -2
  73. package/build/tools/getProject.d.ts +2 -2
  74. package/build/tools/getProject.js +22 -2
  75. package/build/tools/getProjectList.d.ts +2 -2
  76. package/build/tools/getProjectList.js +22 -2
  77. package/build/tools/getProjectUsers.d.ts +2 -2
  78. package/build/tools/getProjectUsers.js +11 -2
  79. package/build/tools/getPullRequest.d.ts +2 -2
  80. package/build/tools/getPullRequest.js +26 -2
  81. package/build/tools/getPullRequestComments.d.ts +2 -2
  82. package/build/tools/getPullRequestComments.js +12 -2
  83. package/build/tools/getPullRequests.d.ts +2 -2
  84. package/build/tools/getPullRequests.js +26 -2
  85. package/build/tools/getPullRequestsCount.d.ts +2 -2
  86. package/build/tools/getPullRequestsCount.js +5 -2
  87. package/build/tools/getRelatedIssues.d.ts +2 -2
  88. package/build/tools/getRelatedIssues.js +33 -2
  89. package/build/tools/getResolutions.d.ts +2 -2
  90. package/build/tools/getResolutions.js +3 -2
  91. package/build/tools/getSpace.d.ts +2 -2
  92. package/build/tools/getSpace.js +13 -2
  93. package/build/tools/getSpaceActivities.d.ts +2 -2
  94. package/build/tools/getSpaceActivities.js +12 -2
  95. package/build/tools/getUserRecentUpdates.d.ts +2 -2
  96. package/build/tools/getUserRecentUpdates.js +12 -2
  97. package/build/tools/getUserStarsCount.d.ts +2 -2
  98. package/build/tools/getUserStarsCount.js +3 -2
  99. package/build/tools/getUsers.d.ts +2 -2
  100. package/build/tools/getUsers.js +11 -2
  101. package/build/tools/getVersionMilestoneList.d.ts +2 -2
  102. package/build/tools/getVersionMilestoneList.js +12 -2
  103. package/build/tools/getWatchingListCount.d.ts +2 -2
  104. package/build/tools/getWatchingListCount.js +5 -2
  105. package/build/tools/getWatchingListItems.d.ts +2 -2
  106. package/build/tools/getWatchingListItems.js +12 -2
  107. package/build/tools/getWiki.d.ts +2 -2
  108. package/build/tools/getWiki.js +16 -2
  109. package/build/tools/getWikiPages.d.ts +2 -2
  110. package/build/tools/getWikiPages.js +12 -2
  111. package/build/tools/getWikisCount.d.ts +2 -2
  112. package/build/tools/getWikisCount.js +3 -2
  113. package/build/tools/markNotificationAsRead.d.ts +6 -1
  114. package/build/tools/markNotificationAsRead.js +6 -1
  115. package/build/tools/markWatchingAsRead.d.ts +6 -1
  116. package/build/tools/markWatchingAsRead.js +6 -1
  117. package/build/tools/removeRelatedIssue.d.ts +2 -2
  118. package/build/tools/removeRelatedIssue.js +33 -2
  119. package/build/tools/resetUnreadNotificationCount.d.ts +2 -2
  120. package/build/tools/resetUnreadNotificationCount.js +5 -2
  121. package/build/tools/updateIssue.d.ts +2 -2
  122. package/build/tools/updateIssue.js +32 -2
  123. package/build/tools/updateIssueComment.d.ts +2 -2
  124. package/build/tools/updateIssueComment.js +14 -2
  125. package/build/tools/updateProject.d.ts +2 -2
  126. package/build/tools/updateProject.js +22 -2
  127. package/build/tools/updatePullRequest.d.ts +2 -2
  128. package/build/tools/updatePullRequest.js +26 -2
  129. package/build/tools/updatePullRequestComment.d.ts +2 -2
  130. package/build/tools/updatePullRequestComment.js +12 -2
  131. package/build/tools/updateVersionMilestone.d.ts +2 -2
  132. package/build/tools/updateVersionMilestone.js +12 -2
  133. package/build/tools/updateWatching.d.ts +2 -2
  134. package/build/tools/updateWatching.js +12 -2
  135. package/build/tools/updateWiki.d.ts +2 -2
  136. package/build/tools/updateWiki.js +16 -2
  137. package/build/types/outputFields.d.ts +26 -0
  138. package/build/types/outputFields.js +3 -0
  139. package/build/types/tool.d.ts +21 -8
  140. package/build/types/zod/activityType.d.ts +38 -0
  141. package/build/types/zod/activityType.js +38 -0
  142. package/build/utils/fieldSelection.d.ts +22 -0
  143. package/build/utils/fieldSelection.js +40 -0
  144. package/build/utils/toolsetUtils.d.ts +1 -3
  145. package/build/utils/toolsetUtils.js +0 -12
  146. package/package.json +1 -2
  147. package/build/tools/dynamicTools/toolsets.d.ts +0 -15
  148. package/build/tools/dynamicTools/toolsets.js +0 -103
  149. package/build/types/zod/backlogOutputDefinition.d.ts +0 -3334
  150. package/build/types/zod/backlogOutputDefinition.js +0 -483
  151. package/build/utils/generateFieldsDescription.d.ts +0 -5
  152. package/build/utils/generateFieldsDescription.js +0 -50
  153. package/build/utils/toolRegistrar.d.ts +0 -5
  154. package/build/utils/toolRegistrar.js +0 -12
@@ -1,7 +1,7 @@
1
+ import type { Entity } from 'backlog-js';
1
2
  import { Backlog } from 'backlog-js';
2
3
  import { ToolDefinition } from '../types/tool.js';
3
4
  import { DescriptionHelper } from '../createDescriptionHelper.js';
4
- import { SpaceSchema } from '../types/zod/backlogOutputDefinition.js';
5
5
  declare const getSpaceSchema: (t: DescriptionHelper["t"]) => {};
6
- export declare const getSpaceTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getSpaceSchema>, (typeof SpaceSchema)["shape"]>;
6
+ export declare const getSpaceTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getSpaceSchema>, Entity.Space.Space>;
7
7
  export {};
@@ -1,13 +1,24 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { SpaceSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  const getSpaceSchema = buildToolSchema((_t) => ({}));
5
5
  export const getSpaceTool = (backlog, { t }) => {
6
6
  return {
7
7
  name: 'get_space',
8
8
  description: t('TOOL_GET_SPACE_DESCRIPTION', 'Returns information about the Backlog space'),
9
9
  schema: z.object(getSpaceSchema(t)),
10
- outputSchema: SpaceSchema,
10
+ returnsList: false,
11
+ outputFields: outputFields()([
12
+ 'spaceKey',
13
+ 'name',
14
+ 'ownerId',
15
+ 'lang',
16
+ 'timezone',
17
+ 'reportSendTime',
18
+ 'textFormattingRule',
19
+ 'created',
20
+ 'updated',
21
+ ]),
11
22
  importantFields: ['spaceKey', 'name', 'lang', 'timezone'],
12
23
  handler: async () => backlog.getSpace(),
13
24
  };
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { ActivitySchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getSpaceActivitiesSchema: (t: DescriptionHelper["t"]) => {
7
7
  activityTypeId: z.ZodOptional<z.ZodArray<z.ZodEnum<{
8
8
  Undefined: number;
@@ -41,5 +41,5 @@ declare const getSpaceActivitiesSchema: (t: DescriptionHelper["t"]) => {
41
41
  desc: "desc";
42
42
  }>>;
43
43
  };
44
- export declare const getSpaceActivitiesTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getSpaceActivitiesSchema>, (typeof ActivitySchema)["shape"]>;
44
+ export declare const getSpaceActivitiesTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getSpaceActivitiesSchema>, Entity.Activity.Activity>;
45
45
  export {};
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { ActivitySchema, ActivityTypeSchema, } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
+ import { ActivityTypeSchema } from '../types/zod/activityType.js';
4
5
  const getSpaceActivitiesSchema = buildToolSchema((t) => ({
5
6
  activityTypeId: z
6
7
  .array(ActivityTypeSchema)
@@ -30,7 +31,16 @@ export const getSpaceActivitiesTool = (backlog, { t }) => {
30
31
  name: 'get_space_activities',
31
32
  description: t('TOOL_GET_SPACE_ACTIVITIES_DESCRIPTION', 'Returns list of space activities'),
32
33
  schema: z.object(getSpaceActivitiesSchema(t)),
33
- outputSchema: ActivitySchema,
34
+ returnsList: true,
35
+ outputFields: outputFields()([
36
+ 'id',
37
+ 'project',
38
+ 'type',
39
+ 'content',
40
+ 'notifications',
41
+ 'createdUser',
42
+ 'created',
43
+ ]),
34
44
  handler: async ({ activityTypeId, minId, maxId, count, order }) => backlog.getSpaceActivities({
35
45
  activityTypeId,
36
46
  minId,
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { ActivitySchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getUserRecentUpdatesSchema: (t: DescriptionHelper["t"]) => {
7
7
  userId: z.ZodNumber;
8
8
  activityTypeId: z.ZodOptional<z.ZodArray<z.ZodEnum<{
@@ -42,5 +42,5 @@ declare const getUserRecentUpdatesSchema: (t: DescriptionHelper["t"]) => {
42
42
  desc: "desc";
43
43
  }>>>;
44
44
  };
45
- export declare const getUserRecentUpdatesTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getUserRecentUpdatesSchema>, (typeof ActivitySchema)["shape"]>;
45
+ export declare const getUserRecentUpdatesTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getUserRecentUpdatesSchema>, Entity.Activity.Activity>;
46
46
  export {};
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { ActivitySchema, ActivityTypeSchema, } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
+ import { ActivityTypeSchema } from '../types/zod/activityType.js';
4
5
  const getUserRecentUpdatesSchema = buildToolSchema((t) => ({
5
6
  userId: z
6
7
  .number()
@@ -35,7 +36,16 @@ export const getUserRecentUpdatesTool = (backlog, { t }) => {
35
36
  name: 'get_user_recent_updates',
36
37
  description: t('TOOL_GET_USER_RECENT_UPDATES_DESCRIPTION', 'Returns recent updates (activities) for a specific user'),
37
38
  schema: z.object(getUserRecentUpdatesSchema(t)),
38
- outputSchema: ActivitySchema,
39
+ returnsList: true,
40
+ outputFields: outputFields()([
41
+ 'id',
42
+ 'project',
43
+ 'type',
44
+ 'content',
45
+ 'notifications',
46
+ 'createdUser',
47
+ 'created',
48
+ ]),
39
49
  importantFields: ['id', 'type', 'content', 'created'],
40
50
  handler: async ({ userId, activityTypeId, minId, maxId, count, order }) => backlog.getUserActivities(userId, {
41
51
  activityTypeId,
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { StarCountSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getUserStarsCountSchema: (t: DescriptionHelper["t"]) => {
7
7
  userId: z.ZodNumber;
8
8
  since: z.ZodOptional<z.ZodString>;
9
9
  until: z.ZodOptional<z.ZodString>;
10
10
  };
11
- export declare const getUserStarsCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getUserStarsCountSchema>, (typeof StarCountSchema)["shape"]>;
11
+ export declare const getUserStarsCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getUserStarsCountSchema>, Entity.Star.StarCount>;
12
12
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { StarCountSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  const getUserStarsCountSchema = buildToolSchema((t) => ({
5
5
  userId: z
6
6
  .number()
@@ -19,7 +19,8 @@ export const getUserStarsCountTool = (backlog, { t }) => {
19
19
  name: 'get_user_stars_count',
20
20
  description: t('TOOL_GET_USER_STARS_COUNT_DESCRIPTION', 'Returns the count of stars received by a user'),
21
21
  schema: z.object(getUserStarsCountSchema(t)),
22
- outputSchema: StarCountSchema,
22
+ returnsList: false,
23
+ outputFields: outputFields()(['count']),
23
24
  handler: async ({ userId, since, until }) => backlog.getUserStarsCount(userId, { since, until }),
24
25
  };
25
26
  };
@@ -1,7 +1,7 @@
1
+ import type { Entity } from 'backlog-js';
1
2
  import { Backlog } from 'backlog-js';
2
3
  import { ToolDefinition } from '../types/tool.js';
3
4
  import { DescriptionHelper } from '../createDescriptionHelper.js';
4
- import { UserSchema } from '../types/zod/backlogOutputDefinition.js';
5
5
  declare const getUsersSchema: (t: DescriptionHelper["t"]) => {};
6
- export declare const getUsersTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getUsersSchema>, (typeof UserSchema)["shape"]>;
6
+ export declare const getUsersTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getUsersSchema>, Entity.User.User>;
7
7
  export {};
@@ -1,13 +1,22 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { UserSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  const getUsersSchema = buildToolSchema((_t) => ({}));
5
5
  export const getUsersTool = (backlog, { t }) => {
6
6
  return {
7
7
  name: 'get_users',
8
8
  description: t('TOOL_GET_USERS_DESCRIPTION', 'Returns list of users in the Backlog space'),
9
9
  schema: z.object(getUsersSchema(t)),
10
- outputSchema: UserSchema,
10
+ returnsList: true,
11
+ outputFields: outputFields()([
12
+ 'id',
13
+ 'userId',
14
+ 'name',
15
+ 'roleType',
16
+ 'lang',
17
+ 'mailAddress',
18
+ 'lastLoginTime',
19
+ ]),
11
20
  importantFields: ['userId', 'name', 'roleType', 'lang'],
12
21
  handler: async () => backlog.getUsers(),
13
22
  };
@@ -1,11 +1,11 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { VersionSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getVersionMilestoneListSchema: (t: DescriptionHelper["t"]) => {
7
7
  projectId: z.ZodOptional<z.ZodNumber>;
8
8
  projectKey: z.ZodOptional<z.ZodString>;
9
9
  };
10
- export declare const getVersionMilestoneListTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getVersionMilestoneListSchema>, (typeof VersionSchema)["shape"]>;
10
+ export declare const getVersionMilestoneListTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getVersionMilestoneListSchema>, Entity.Project.Version>;
11
11
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { VersionSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  import { resolveIdOrKey } from '../utils/resolveIdOrKey.js';
5
5
  const getVersionMilestoneListSchema = buildToolSchema((t) => ({
6
6
  projectId: z
@@ -17,7 +17,17 @@ export const getVersionMilestoneListTool = (backlog, { t }) => {
17
17
  name: 'get_version_milestone_list',
18
18
  description: t('TOOL_GET_VERSION_MILESTONE_LIST_DESCRIPTION', 'Returns list of versions/milestones in the Backlog space'),
19
19
  schema: z.object(getVersionMilestoneListSchema(t)),
20
- outputSchema: VersionSchema,
20
+ returnsList: true,
21
+ outputFields: outputFields()([
22
+ 'id',
23
+ 'projectId',
24
+ 'name',
25
+ 'description',
26
+ 'startDate',
27
+ 'releaseDueDate',
28
+ 'archived',
29
+ 'displayOrder',
30
+ ]),
21
31
  importantFields: [
22
32
  'id',
23
33
  'name',
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { WatchingListCountSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getWatchingListCountSchema: (t: DescriptionHelper["t"]) => {
7
7
  userId: z.ZodNumber;
8
8
  };
9
- export declare const getWatchingListCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWatchingListCountSchema>, (typeof WatchingListCountSchema)["shape"]>;
9
+ export declare const getWatchingListCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWatchingListCountSchema>, Entity.WatchingList.WatchingListCount>;
10
10
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { WatchingListCountSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  const getWatchingListCountSchema = buildToolSchema((t) => ({
5
5
  userId: z
6
6
  .number()
@@ -11,7 +11,10 @@ export const getWatchingListCountTool = (backlog, { t }) => {
11
11
  name: 'get_watching_list_count',
12
12
  description: t('TOOL_GET_WATCHING_LIST_COUNT_DESCRIPTION', 'Returns count of watching items for a user'),
13
13
  schema: z.object(getWatchingListCountSchema(t)),
14
- outputSchema: WatchingListCountSchema,
14
+ returnsList: false,
15
+ outputFields: outputFields()([
16
+ 'count',
17
+ ]),
15
18
  handler: async ({ userId }) => backlog.getWatchingListCount(userId),
16
19
  };
17
20
  };
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { WatchingListItemSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getWatchingListItemsSchema: (t: DescriptionHelper["t"]) => {
7
7
  userId: z.ZodNumber;
8
8
  };
9
- export declare const getWatchingListItemsTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWatchingListItemsSchema>, (typeof WatchingListItemSchema)["shape"]>;
9
+ export declare const getWatchingListItemsTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWatchingListItemsSchema>, Entity.WatchingList.WatchingListItem>;
10
10
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { WatchingListItemSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  const getWatchingListItemsSchema = buildToolSchema((t) => ({
5
5
  userId: z
6
6
  .number()
@@ -11,7 +11,17 @@ export const getWatchingListItemsTool = (backlog, { t }) => {
11
11
  name: 'get_watching_list_items',
12
12
  description: t('TOOL_GET_WATCHING_LIST_ITEMS_DESCRIPTION', 'Returns list of watching items for a user'),
13
13
  schema: z.object(getWatchingListItemsSchema(t)),
14
- outputSchema: WatchingListItemSchema,
14
+ returnsList: true,
15
+ outputFields: outputFields()([
16
+ 'id',
17
+ 'resourceAlreadyRead',
18
+ 'note',
19
+ 'type',
20
+ 'issue',
21
+ 'lastContentUpdated',
22
+ 'created',
23
+ 'updated',
24
+ ]),
15
25
  handler: async ({ userId }) => backlog.getWatchingListItems(userId),
16
26
  };
17
27
  };
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { WikiSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getWikiSchema: (t: DescriptionHelper["t"]) => {
7
7
  wikiId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
8
8
  };
9
- export declare const getWikiTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWikiSchema>, (typeof WikiSchema)["shape"]>;
9
+ export declare const getWikiTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWikiSchema>, Entity.Wiki.Wiki>;
10
10
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { WikiSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  const getWikiSchema = buildToolSchema((t) => ({
5
5
  wikiId: z
6
6
  .union([z.string(), z.number()])
@@ -11,7 +11,21 @@ export const getWikiTool = (backlog, { t }) => {
11
11
  name: 'get_wiki',
12
12
  description: t('TOOL_GET_WIKI_DESCRIPTION', 'Returns information about a specific wiki page'),
13
13
  schema: z.object(getWikiSchema(t)),
14
- outputSchema: WikiSchema,
14
+ returnsList: false,
15
+ outputFields: outputFields()([
16
+ 'id',
17
+ 'projectId',
18
+ 'name',
19
+ 'content',
20
+ 'tags',
21
+ 'attachments',
22
+ 'sharedFiles',
23
+ 'stars',
24
+ 'createdUser',
25
+ 'created',
26
+ 'updatedUser',
27
+ 'updated',
28
+ ]),
15
29
  importantFields: ['id', 'projectId', 'name', 'content'],
16
30
  handler: async ({ wikiId }) => {
17
31
  const wikiIdNumber = typeof wikiId === 'string' ? parseInt(wikiId, 10) : wikiId;
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { WikiListItemSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getWikiPagesSchema: (t: DescriptionHelper["t"]) => {
7
7
  projectId: z.ZodOptional<z.ZodNumber>;
8
8
  projectKey: z.ZodOptional<z.ZodString>;
9
9
  keyword: z.ZodOptional<z.ZodString>;
10
10
  };
11
- export declare const getWikiPagesTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWikiPagesSchema>, (typeof WikiListItemSchema)["shape"]>;
11
+ export declare const getWikiPagesTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWikiPagesSchema>, Entity.Wiki.WikiListItem>;
12
12
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { WikiListItemSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  import { resolveIdOrKey } from '../utils/resolveIdOrKey.js';
5
5
  const getWikiPagesSchema = buildToolSchema((t) => ({
6
6
  projectId: z
@@ -21,7 +21,17 @@ export const getWikiPagesTool = (backlog, { t }) => {
21
21
  name: 'get_wiki_pages',
22
22
  description: t('TOOL_GET_WIKI_PAGES_DESCRIPTION', 'Returns list of Wiki pages'),
23
23
  schema: z.object(getWikiPagesSchema(t)),
24
- outputSchema: WikiListItemSchema,
24
+ returnsList: true,
25
+ outputFields: outputFields()([
26
+ 'id',
27
+ 'projectId',
28
+ 'name',
29
+ 'tags',
30
+ 'createdUser',
31
+ 'created',
32
+ 'updatedUser',
33
+ 'updated',
34
+ ]),
25
35
  importantFields: ['projectId', 'name', 'tags'],
26
36
  handler: async ({ projectId, projectKey, keyword }) => {
27
37
  const result = resolveIdOrKey('project', { id: projectId, key: projectKey }, t);
@@ -1,11 +1,11 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { WikiCountSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const getWikisCountSchema: (t: DescriptionHelper["t"]) => {
7
7
  projectId: z.ZodOptional<z.ZodNumber>;
8
8
  projectKey: z.ZodOptional<z.ZodString>;
9
9
  };
10
- export declare const getWikisCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWikisCountSchema>, (typeof WikiCountSchema)["shape"]>;
10
+ export declare const getWikisCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof getWikisCountSchema>, Entity.Wiki.WikiCount>;
11
11
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { WikiCountSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  import { resolveIdOrKey } from '../utils/resolveIdOrKey.js';
5
5
  const getWikisCountSchema = buildToolSchema((t) => ({
6
6
  projectId: z
@@ -17,7 +17,8 @@ export const getWikisCountTool = (backlog, { t }) => {
17
17
  name: 'get_wikis_count',
18
18
  description: t('TOOL_GET_WIKIS_COUNT_DESCRIPTION', 'Returns count of wiki pages in a project'),
19
19
  schema: z.object(getWikisCountSchema(t)),
20
- outputSchema: WikiCountSchema,
20
+ returnsList: false,
21
+ outputFields: outputFields()(['count']),
21
22
  handler: async ({ projectId, projectKey }) => {
22
23
  const result = resolveIdOrKey('project', { id: projectId, key: projectKey }, t);
23
24
  if (!result.ok) {
@@ -1,6 +1,11 @@
1
1
  import { z } from 'zod';
2
2
  import { Backlog } from 'backlog-js';
3
3
  import { ToolDefinition } from '../types/tool.js';
4
+ /** This tool reports its own outcome; the Backlog call returns nothing. */
5
+ type MarkNotificationAsReadResult = {
6
+ success: boolean;
7
+ message: string;
8
+ };
4
9
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
10
  declare const markNotificationAsReadSchema: (t: DescriptionHelper["t"]) => {
6
11
  id: z.ZodNumber;
@@ -9,5 +14,5 @@ export declare const MarkNotificationAsReadResultSchema: z.ZodObject<{
9
14
  success: z.ZodBoolean;
10
15
  message: z.ZodString;
11
16
  }, z.core.$strip>;
12
- export declare const markNotificationAsReadTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof markNotificationAsReadSchema>, (typeof MarkNotificationAsReadResultSchema)["shape"]>;
17
+ export declare const markNotificationAsReadTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof markNotificationAsReadSchema>, MarkNotificationAsReadResult>;
13
18
  export {};
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
+ import { outputFields } from '../types/outputFields.js';
3
4
  const markNotificationAsReadSchema = buildToolSchema((t) => ({
4
5
  id: z
5
6
  .number()
@@ -14,7 +15,11 @@ export const markNotificationAsReadTool = (backlog, { t }) => {
14
15
  name: 'mark_notification_as_read',
15
16
  description: t('TOOL_MARK_NOTIFICATION_AS_READ_DESCRIPTION', 'Mark a notification as read'),
16
17
  schema: z.object(markNotificationAsReadSchema(t)),
17
- outputSchema: MarkNotificationAsReadResultSchema,
18
+ returnsList: false,
19
+ outputFields: outputFields()([
20
+ 'success',
21
+ 'message',
22
+ ]),
18
23
  handler: async ({ id }) => {
19
24
  await backlog.markAsReadNotification(id);
20
25
  return {
@@ -1,6 +1,11 @@
1
1
  import { z } from 'zod';
2
2
  import { Backlog } from 'backlog-js';
3
3
  import { ToolDefinition } from '../types/tool.js';
4
+ /** This tool reports its own outcome; the Backlog call returns nothing. */
5
+ type MarkWatchingAsReadResult = {
6
+ success: boolean;
7
+ message: string;
8
+ };
4
9
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
10
  declare const markWatchingAsReadSchema: (t: DescriptionHelper["t"]) => {
6
11
  watchId: z.ZodNumber;
@@ -9,5 +14,5 @@ export declare const MarkWatchingAsReadResultSchema: z.ZodObject<{
9
14
  success: z.ZodBoolean;
10
15
  message: z.ZodString;
11
16
  }, z.core.$strip>;
12
- export declare const markWatchingAsReadTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof markWatchingAsReadSchema>, (typeof MarkWatchingAsReadResultSchema)["shape"]>;
17
+ export declare const markWatchingAsReadTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof markWatchingAsReadSchema>, MarkWatchingAsReadResult>;
13
18
  export {};
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
+ import { outputFields } from '../types/outputFields.js';
3
4
  const markWatchingAsReadSchema = buildToolSchema((t) => ({
4
5
  watchId: z
5
6
  .number()
@@ -14,7 +15,11 @@ export const markWatchingAsReadTool = (backlog, { t }) => {
14
15
  name: 'mark_watching_as_read',
15
16
  description: t('TOOL_MARK_WATCHING_AS_READ_DESCRIPTION', 'Mark a watch as read'),
16
17
  schema: z.object(markWatchingAsReadSchema(t)),
17
- outputSchema: MarkWatchingAsReadResultSchema,
18
+ returnsList: false,
19
+ outputFields: outputFields()([
20
+ 'success',
21
+ 'message',
22
+ ]),
18
23
  handler: async ({ watchId }) => {
19
24
  await backlog.resetWatchingListItemAsRead(watchId);
20
25
  return {
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
+ import type { Entity } from 'backlog-js';
2
3
  import { Backlog } from 'backlog-js';
3
4
  import { ToolDefinition } from '../types/tool.js';
4
5
  import { DescriptionHelper } from '../createDescriptionHelper.js';
5
- import { RelatedIssueSchema } from '../types/zod/backlogOutputDefinition.js';
6
6
  declare const removeRelatedIssueSchema: (t: DescriptionHelper["t"]) => {
7
7
  issueId: z.ZodOptional<z.ZodNumber>;
8
8
  issueKey: z.ZodOptional<z.ZodString>;
9
9
  relatedIssueId: z.ZodNumber;
10
10
  };
11
- export declare const removeRelatedIssueTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof removeRelatedIssueSchema>, (typeof RelatedIssueSchema)["shape"]>;
11
+ export declare const removeRelatedIssueTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof removeRelatedIssueSchema>, Entity.Issue.RelatedIssue>;
12
12
  export {};
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { RelatedIssueSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  import { resolveIdOrKey } from '../utils/resolveIdOrKey.js';
5
5
  const removeRelatedIssueSchema = buildToolSchema((t) => ({
6
6
  issueId: z
@@ -20,7 +20,38 @@ export const removeRelatedIssueTool = (backlog, { t }) => {
20
20
  name: 'remove_related_issue',
21
21
  description: t('TOOL_REMOVE_RELATED_ISSUE_DESCRIPTION', 'Removes the relation between an issue and a related issue'),
22
22
  schema: z.object(removeRelatedIssueSchema(t)),
23
- outputSchema: RelatedIssueSchema,
23
+ returnsList: false,
24
+ outputFields: outputFields()([
25
+ 'id',
26
+ 'projectId',
27
+ 'issueKey',
28
+ 'keyId',
29
+ 'issueType',
30
+ 'summary',
31
+ 'description',
32
+ 'resolution',
33
+ 'priority',
34
+ 'status',
35
+ 'assignee',
36
+ 'category',
37
+ 'versions',
38
+ 'milestone',
39
+ 'startDate',
40
+ 'dueDate',
41
+ 'estimatedHours',
42
+ 'actualHours',
43
+ 'parentIssueId',
44
+ 'createdUser',
45
+ 'created',
46
+ 'updatedUser',
47
+ 'updated',
48
+ 'customFields',
49
+ 'attachments',
50
+ 'sharedFiles',
51
+ 'stars',
52
+ 'childIssueSummary',
53
+ 'type',
54
+ ]),
24
55
  handler: async ({ issueId, issueKey, relatedIssueId }) => {
25
56
  const result = resolveIdOrKey('issue', { id: issueId, key: issueKey }, t);
26
57
  if (!result.ok) {
@@ -1,7 +1,7 @@
1
+ import type { Entity } from 'backlog-js';
1
2
  import { Backlog } from 'backlog-js';
2
3
  import { ToolDefinition } from '../types/tool.js';
3
4
  import { DescriptionHelper } from '../createDescriptionHelper.js';
4
- import { NotificationCountSchema } from '../types/zod/backlogOutputDefinition.js';
5
5
  declare const resetUnreadNotificationCountSchema: (t: DescriptionHelper["t"]) => {};
6
- export declare const resetUnreadNotificationCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof resetUnreadNotificationCountSchema>, (typeof NotificationCountSchema)["shape"]>;
6
+ export declare const resetUnreadNotificationCountTool: (backlog: Backlog, { t }: DescriptionHelper) => ToolDefinition<ReturnType<typeof resetUnreadNotificationCountSchema>, Entity.Notification.NotificationCount>;
7
7
  export {};
@@ -1,13 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  import { buildToolSchema } from '../types/tool.js';
3
- import { NotificationCountSchema } from '../types/zod/backlogOutputDefinition.js';
3
+ import { outputFields } from '../types/outputFields.js';
4
4
  const resetUnreadNotificationCountSchema = buildToolSchema((_t) => ({}));
5
5
  export const resetUnreadNotificationCountTool = (backlog, { t }) => {
6
6
  return {
7
7
  name: 'reset_unread_notification_count',
8
8
  description: t('TOOL_RESET_UNREAD_NOTIFICATION_COUNT_DESCRIPTION', 'Reset unread notification count'),
9
9
  schema: z.object(resetUnreadNotificationCountSchema(t)),
10
- outputSchema: NotificationCountSchema,
10
+ returnsList: false,
11
+ outputFields: outputFields()([
12
+ 'count',
13
+ ]),
11
14
  handler: async () => backlog.resetNotificationsMarkAsRead(),
12
15
  };
13
16
  };