@taskforcehq/taskforce 0.3.315 → 0.3.316

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.
@@ -2185,6 +2185,17 @@ export function createTaskforceMcpServer(options = {}) {
2185
2185
  ? " NOTE: Use this tool instead of editing files directly to ensure data integrity."
2186
2186
  : "";
2187
2187
  const describeTool = (text) => prefix + text + agentNote;
2188
+ const titleForTool = (name) => String(name || '')
2189
+ .split('_')
2190
+ .filter(Boolean)
2191
+ .map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
2192
+ .join(' ');
2193
+ const annotationsForTool = (name) => {
2194
+ const title = titleForTool(name);
2195
+ return isMcpWriteToolName(name)
2196
+ ? { title, destructiveHint: true }
2197
+ : { title, readOnlyHint: true };
2198
+ };
2188
2199
  const tools = registeredTools
2189
2200
  .map((tool) => tool.buildDescriptor({
2190
2201
  describeTool,
@@ -2193,6 +2204,13 @@ export function createTaskforceMcpServer(options = {}) {
2193
2204
  typeEnum,
2194
2205
  approachEnum,
2195
2206
  complexityDesc,
2207
+ }))
2208
+ .map((tool) => ({
2209
+ ...tool,
2210
+ annotations: {
2211
+ ...annotationsForTool(tool.name),
2212
+ ...(tool.annotations || {}),
2213
+ },
2196
2214
  }))
2197
2215
  .map((tool) => {
2198
2216
  if (tool.name === 'resolve_profile' || !isMcpWriteToolName(tool.name))
@@ -8,6 +8,13 @@ export type McpToolDescriptor = {
8
8
  name: McpToolName;
9
9
  description: string;
10
10
  inputSchema: McpToolInputSchema;
11
+ annotations?: {
12
+ title?: string;
13
+ readOnlyHint?: boolean;
14
+ destructiveHint?: boolean;
15
+ idempotentHint?: boolean;
16
+ openWorldHint?: boolean;
17
+ };
11
18
  };
12
19
  export type McpToolDescriptorContext = {
13
20
  describeTool: (text: string) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taskforcehq/taskforce",
3
- "version": "0.3.315",
3
+ "version": "0.3.316",
4
4
  "description": "Shared task and planning workspace for humans collaborating with AI (public beta)",
5
5
  "author": "Taskforce HQ <hello@taskforcehq.ai> (https://taskforcehq.ai)",
6
6
  "license": "MIT",