backlog-mcp-server 0.11.0 → 0.11.1

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.
@@ -14,10 +14,8 @@ export function composeToolHandler(tool, options) {
14
14
  : undefined;
15
15
  tool.schema = extendSchema(tool.schema, fieldDesc);
16
16
  // Step 2: Compose
17
- let handler = wrapWithErrorHandling(wrapWithOrganizationContext(tool.handler), errorHandler);
18
- if (useFields) {
19
- handler = wrapWithFieldPicking(handler);
20
- }
17
+ const baseHandler = wrapWithErrorHandling(wrapWithOrganizationContext(tool.handler), errorHandler);
18
+ const handler = useFields ? wrapWithFieldPicking(baseHandler) : baseHandler;
21
19
  return wrapWithToolResult(wrapWithTokenLimit(handler, maxTokens));
22
20
  }
23
21
  function extendSchema(schema, desc) {
package/build/index.js CHANGED
@@ -113,11 +113,9 @@ const useFields = argv.optimizeResponse;
113
113
  const transHelper = createTranslationHelper();
114
114
  const maxTokens = argv.maxTokens;
115
115
  const prefix = argv.prefix;
116
- let enabledToolsets = argv.enableToolsets;
117
- // If dynamic toolsets are enabled, remove "all" to allow for selective enabling via commands
118
- if (argv.dynamicToolsets) {
119
- enabledToolsets = enabledToolsets.filter((a) => a !== 'all');
120
- }
116
+ const enabledToolsets = argv.dynamicToolsets
117
+ ? argv.enableToolsets.filter((a) => a !== 'all')
118
+ : argv.enableToolsets;
121
119
  const mcpOption = { useFields: useFields, maxTokens, prefix };
122
120
  // Factory: creates a fresh MCP server with all tools registered.
123
121
  // Used once for stdio; one fresh instance per HTTP session for Streamable HTTP.
@@ -67,9 +67,14 @@ const addIssueSchema = buildToolSchema((t) => ({
67
67
  .number()
68
68
  .describe(t('TOOL_ADD_ISSUE_CUSTOM_FIELD_ID', 'The ID of the custom field (e.g., 12345)')),
69
69
  value: z
70
- .union([z.number(), z.array(z.number())])
70
+ .union([
71
+ z.string(),
72
+ z.number(),
73
+ z.array(z.string()),
74
+ z.array(z.number()),
75
+ ])
71
76
  .optional()
72
- .describe('The ID(s) of the custom field item. For single-select fields, provide a number. For multi-select fields, provide an array of numbers representing the selected item IDs.'),
77
+ .describe(t('TOOL_ADD_ISSUE_CUSTOM_FIELD_VALUE', 'Value of the custom field. For text/date fields, provide a string. For numeric fields, provide a number. For list fields, provide an array of strings or numbers.')),
73
78
  otherValue: z
74
79
  .string()
75
80
  .optional()
@@ -86,9 +86,14 @@ const updateIssueSchema = buildToolSchema((t) => ({
86
86
  .number()
87
87
  .describe(t('TOOL_UPDATE_ISSUE_CUSTOM_FIELD_ID', 'The ID of the custom field (e.g., 12345)')),
88
88
  value: z
89
- .union([z.number(), z.array(z.number())])
89
+ .union([
90
+ z.string(),
91
+ z.number(),
92
+ z.array(z.string()),
93
+ z.array(z.number()),
94
+ ])
90
95
  .optional()
91
- .describe('The ID(s) of the custom field item. For single-select fields, provide a number. For multi-select fields, provide an array of numbers representing the selected item IDs.'),
96
+ .describe(t('TOOL_UPDATE_ISSUE_CUSTOM_FIELD_VALUE', 'Value of the custom field. For text/date fields, provide a string. For numeric fields, provide a number. For list fields, provide an array of strings or numbers.')),
92
97
  otherValue: z
93
98
  .string()
94
99
  .optional()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backlog-mcp-server",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "backlog-mcp-server": "./build/index.js"
@@ -34,7 +34,7 @@
34
34
  "dotenv": "^16.5.0",
35
35
  "env-var": "^7.5.0",
36
36
  "graphql": "^16.11.0",
37
- "hono": "^4.12.12",
37
+ "hono": "^4.12.18",
38
38
  "pino": "^9.9.0",
39
39
  "pino-pretty": "^13.1.1",
40
40
  "yargs": "^18.0.0",