ralph-hero-mcp-server 2.4.76 → 2.4.80

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.
@@ -160,7 +160,12 @@ export function registerBatchTools(server, client, fieldCache) {
160
160
  field: z
161
161
  .enum(["workflow_state", "estimate", "priority"])
162
162
  .describe("Field to update"),
163
- value: z.string().describe("Target value (e.g., 'Research Needed', 'XS', 'P1')"),
163
+ value: z.string().describe("Target value. " +
164
+ "For workflow_state: Backlog, Research Needed, Research in Progress, Ready for Plan, " +
165
+ "Plan in Progress, Plan in Review, In Progress, In Review, Done, Human Needed, Canceled. " +
166
+ "For estimate: XS, S, M, L, XL. " +
167
+ "For priority: P0, P1, P2, P3. " +
168
+ "Note: 'Todo' is a Status field value, NOT a valid workflow state."),
164
169
  }))
165
170
  .min(1)
166
171
  .max(MAX_OPERATIONS)
@@ -50,6 +50,11 @@ export function registerIssueTools(server, client, fieldCache) {
50
50
  .optional()
51
51
  .describe("Filter by Priority (P0, P1, P2, P3)"),
52
52
  label: z.string().optional().describe("Filter by label name"),
53
+ repoFilter: z
54
+ .string()
55
+ .optional()
56
+ .describe("Filter items to only those from the specified repository. " +
57
+ "Accepts 'name' or 'owner/name' format. Case-insensitive."),
53
58
  query: z.string().optional().describe("Additional search query string"),
54
59
  state: z
55
60
  .enum(["OPEN", "CLOSED"])
@@ -148,6 +153,7 @@ export function registerIssueTools(server, client, fieldCache) {
148
153
  updatedAt
149
154
  labels(first: 10) { nodes { name } }
150
155
  assignees(first: 5) { nodes { login } }
156
+ repository { name nameWithOwner }
151
157
  }
152
158
  }
153
159
  fieldValues(first: 20) {
@@ -203,6 +209,19 @@ export function registerIssueTools(server, client, fieldCache) {
203
209
  return labels.some((l) => l.name === args.label);
204
210
  });
205
211
  }
212
+ // Filter by repository
213
+ if (args.repoFilter) {
214
+ const rf = args.repoFilter.toLowerCase();
215
+ const useFullName = rf.includes("/");
216
+ items = items.filter((item) => {
217
+ const content = item.content;
218
+ const repo = content?.repository;
219
+ const repoName = useFullName
220
+ ? repo?.nameWithOwner?.toLowerCase()
221
+ : repo?.name?.toLowerCase();
222
+ return repoName === rf;
223
+ });
224
+ }
206
225
  // Filter by field presence (has)
207
226
  if (args.has && args.has.length > 0) {
208
227
  items = items.filter((item) => args.has.every((field) => hasField(item, field)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ralph-hero-mcp-server",
3
- "version": "2.4.76",
3
+ "version": "2.4.80",
4
4
  "description": "MCP server for GitHub Projects V2 - Ralph workflow automation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",