@hapticpaper/mcp-server 1.0.24 → 1.0.27

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.
package/dist/index.js CHANGED
@@ -320,7 +320,8 @@ ${widgetJs}
320
320
  }
321
321
  catch (e) {
322
322
  // If ES256 fails, and we have a secret, try HS256 (migration path)
323
- if (secret && e.message === 'invalid signature') {
323
+ // We catch 'invalid signature' (wrong key) AND 'invalid algorithm' (token is HS256 but we asked for ES256)
324
+ if (secret && (e.message === 'invalid signature' || e.message.includes('invalid algorithm'))) {
324
325
  decoded = jwt.verify(token, secret, { algorithms: ['HS256'] });
325
326
  }
326
327
  else {
@@ -24,7 +24,7 @@ function toolInvocationMeta(invoking, invoked, widgetSessionId) {
24
24
  }
25
25
  const AccountToolSchema = z.object({
26
26
  action: z.enum(['get_my_profile', 'get_balance', 'transaction_history']).describe("Action to perform on the account resource"),
27
- }).describe("Manage user account and credits. Actions: get_my_profile, get_balance.");
27
+ }).describe("Manage user account and credits. Actions: get_my_profile (no params), get_balance (no params).");
28
28
  export function registerAccountTools(server, client) {
29
29
  const accountHandler = async (args, extra) => {
30
30
  try {
@@ -67,7 +67,7 @@ const TasksToolSchema = z.object({
67
67
  // List params
68
68
  status: z.enum(['open', 'assigned', 'completed', 'cancelled']).optional().describe("Filter by status for list action"),
69
69
  limit: z.number().min(1).max(50).optional().describe("Limit number of tasks returned"),
70
- }).describe("Manage tasks lifecycle: create, read, update, cancel. Actions determine required fields.");
70
+ }).describe("Manage tasks lifecycle. Actions: create (requires title, description, budget), get (requires taskId), list (optional status), update (requires taskId), cancel (requires taskId).");
71
71
  export function registerTasksTools(server, client) {
72
72
  // Helper for structured dispatch
73
73
  const tasksHandler = async (args, extra) => {
@@ -46,7 +46,7 @@ const WorkersToolSchema = z.object({
46
46
  skills: SearchWorkersSchema.shape.skills.optional(),
47
47
  // Get params
48
48
  workerId: z.string().uuid().optional().describe("Worker ID to retrieve profile"),
49
- }).describe("Find and view worker profiles. Actions: search, get_profile.");
49
+ }).describe("Find and view worker profiles. Actions: search (requires taskDescription), get_profile (requires workerId).");
50
50
  export function registerWorkerTools(server, client) {
51
51
  const workersHandler = async (args, extra) => {
52
52
  try {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hapticpaper/mcp-server",
3
3
  "mcpName": "com.hapticpaper/mcp",
4
- "version": "1.0.24",
4
+ "version": "1.0.27",
5
5
  "description": "Official MCP Server for Haptic Paper - Connect your account to create human tasks from agentic pipelines.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
package/server.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "subfolder": "packages/mcp-server"
26
26
  },
27
27
  "websiteUrl": "https://hapticpaper.com/developer",
28
- "version": "1.0.24",
28
+ "version": "1.0.27",
29
29
  "remotes": [
30
30
  {
31
31
  "type": "streamable-http",
@@ -37,7 +37,7 @@
37
37
  "registryType": "npm",
38
38
  "registryBaseUrl": "https://registry.npmjs.org",
39
39
  "identifier": "@hapticpaper/mcp-server",
40
- "version": "1.0.24",
40
+ "version": "1.0.27",
41
41
  "transport": {
42
42
  "type": "stdio"
43
43
  },