wolfpack-mcp 1.0.68 → 1.0.70

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.
@@ -89,6 +89,11 @@ export const AGENT_BUILDER_TOOLS = [
89
89
  description: 'LLM model family (e.g. "sonnet"). Agent auto-upgrades to latest in family.',
90
90
  },
91
91
  scheduling_enabled: { type: 'boolean', description: 'Whether scheduled tasks are enabled' },
92
+ api_key_permissions: {
93
+ type: 'array',
94
+ items: { type: 'string' },
95
+ description: 'Replace the full set of MCP permissions granted to the agent\'s session API key (e.g. ["mcp:work_items:read", "mcp:comments:create"]). Grant only what the agent\'s tasks need. An empty array falls back to a read-only default.',
96
+ },
92
97
  ...ORG_SLUG_PROP,
93
98
  },
94
99
  required: ['agent_id'],
@@ -318,6 +323,11 @@ export const AGENT_BUILDER_TOOLS = [
318
323
  description: 'MCP servers to disable for this task (e.g. "wolfpack"). ' +
319
324
  'Disables all tools from those MCP servers to reduce context usage.',
320
325
  },
326
+ clone_repository: {
327
+ type: 'boolean',
328
+ description: 'Whether to clone the team repository at session start (default true). ' +
329
+ 'Set false for tasks that do not need the source code, to save cold-start time.',
330
+ },
321
331
  ...ORG_SLUG_PROP,
322
332
  },
323
333
  required: ['agent_id', 'name', 'prompt'],
@@ -349,6 +359,11 @@ export const AGENT_BUILDER_TOOLS = [
349
359
  description: 'MCP servers to disable for this task (e.g. "wolfpack"). ' +
350
360
  'Pass null or empty array to enable all MCP servers.',
351
361
  },
362
+ clone_repository: {
363
+ type: 'boolean',
364
+ description: 'Whether to clone the team repository at session start. ' +
365
+ 'Set false for tasks that do not need the source code, to save cold-start time.',
366
+ },
352
367
  ...ORG_SLUG_PROP,
353
368
  },
354
369
  required: ['agent_id', 'task_id'],
@@ -771,6 +786,7 @@ export async function handleAgentBuilderTool(name, args, client) {
771
786
  llm_model: z.string().nullable().optional(),
772
787
  llm_family: z.string().nullable().optional(),
773
788
  scheduling_enabled: z.boolean().optional(),
789
+ api_key_permissions: z.array(z.string()).optional(),
774
790
  org_slug: orgSlugField,
775
791
  })
776
792
  .parse(args);
@@ -794,6 +810,8 @@ export async function handleAgentBuilderTool(name, args, client) {
794
810
  fields.llmFamily = rest.llm_family;
795
811
  if (rest.scheduling_enabled !== undefined)
796
812
  fields.schedulingEnabled = rest.scheduling_enabled;
813
+ if (rest.api_key_permissions !== undefined)
814
+ fields.apiKeyPermissions = rest.api_key_permissions;
797
815
  const agent = await client.updateAgent(agent_id, fields, resolveOrg(parsed));
798
816
  return { content: [{ type: 'text', text: `Updated agent\n\n${text(agent)}` }] };
799
817
  }
@@ -942,6 +960,7 @@ export async function handleAgentBuilderTool(name, args, client) {
942
960
  sort_order: z.number().optional(),
943
961
  disabled_tools: z.array(z.string()).optional(),
944
962
  disabled_mcp_servers: z.array(z.string()).optional(),
963
+ clone_repository: z.boolean().optional(),
945
964
  org_slug: orgSlugField,
946
965
  })
947
966
  .parse(args);
@@ -952,6 +971,7 @@ export async function handleAgentBuilderTool(name, args, client) {
952
971
  sortOrder: parsed.sort_order,
953
972
  disabledTools: parsed.disabled_tools,
954
973
  disabledMcpServers: parsed.disabled_mcp_servers,
974
+ cloneRepository: parsed.clone_repository,
955
975
  }, resolveOrg(parsed));
956
976
  return { content: [{ type: 'text', text: `Created task "${task.name}"\n\n${text(task)}` }] };
957
977
  }
@@ -967,6 +987,7 @@ export async function handleAgentBuilderTool(name, args, client) {
967
987
  is_active: z.boolean().optional(),
968
988
  disabled_tools: z.array(z.string()).nullable().optional(),
969
989
  disabled_mcp_servers: z.array(z.string()).nullable().optional(),
990
+ clone_repository: z.boolean().optional(),
970
991
  org_slug: orgSlugField,
971
992
  })
972
993
  .parse(args);
@@ -985,6 +1006,8 @@ export async function handleAgentBuilderTool(name, args, client) {
985
1006
  fields.disabledTools = parsed.disabled_tools;
986
1007
  if (parsed.disabled_mcp_servers !== undefined)
987
1008
  fields.disabledMcpServers = parsed.disabled_mcp_servers;
1009
+ if (parsed.clone_repository !== undefined)
1010
+ fields.cloneRepository = parsed.clone_repository;
988
1011
  const task = await client.updateAgentTask(parsed.agent_id, parsed.task_id, fields, resolveOrg(parsed));
989
1012
  return { content: [{ type: 'text', text: `Updated task\n\n${text(task)}` }] };
990
1013
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wolfpack-mcp",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "description": "MCP server for Wolfpack AI-enhanced software delivery tools",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",