@goodsamsoftware/freshbooks-mcp 1.0.2 → 1.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"expense-update.d.ts","sourceRoot":"","sources":["../../../src/tools/expense/expense-update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAKhE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwC5B;;OAEG;mBAEM,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,UACvC,uBAAuB,GAC9B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;CAmGtD,CAAC"}
1
+ {"version":3,"file":"expense-update.d.ts","sourceRoot":"","sources":["../../../src/tools/expense/expense-update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAKhE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwC5B;;OAEG;mBAEM,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,UACvC,uBAAuB,GAC9B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;CAqHtD,CAAC"}
@@ -11,39 +11,39 @@ import { logger } from '../../utils/logger.js';
11
11
  */
12
12
  export const expenseUpdateTool = {
13
13
  name: 'expense_update',
14
- description: `Update an existing expense in FreshBooks.
15
-
16
- WHEN TO USE:
17
- - User wants to modify an existing expense
18
- - User says "update expense", "change expense", "edit expense"
19
- - Correcting expense details or amounts
20
- - Updating expense billing information
21
- - Archiving/deleting expenses (via visState)
22
-
23
- REQUIRED:
24
- - accountId: FreshBooks account ID (get from auth_status if not specified)
25
- - expenseId: ID of expense to update
26
-
27
- OPTIONAL FIELDS (only include what needs to change):
28
- - categoryId: Change expense category
29
- - date: Update expense date
30
- - amount: Modify expense amount/currency
31
- - vendor: Change vendor name
32
- - notes: Update description
33
- - clientId: Change client billing
34
- - projectId: Change project association
35
- - markupPercent: Adjust markup percentage (0-100)
36
- - taxName1/taxPercent1: Update first tax
37
- - taxName2/taxPercent2: Update second tax
38
- - visState: Archive or restore (0=active, 1=deleted, 2=archived)
39
-
40
- EXAMPLE PROMPTS:
41
- - "Update expense 12345 to $175.50"
42
- - "Change the vendor on expense 67890 to 'Acme Corp'"
43
- - "Update expense 11111: add client 99 for billing"
44
- - "Archive expense 54321"
45
-
46
- RETURNS:
14
+ description: `Update an existing expense in FreshBooks.
15
+
16
+ WHEN TO USE:
17
+ - User wants to modify an existing expense
18
+ - User says "update expense", "change expense", "edit expense"
19
+ - Correcting expense details or amounts
20
+ - Updating expense billing information
21
+ - Archiving/deleting expenses (via visState)
22
+
23
+ REQUIRED:
24
+ - accountId: FreshBooks account ID (get from auth_status if not specified)
25
+ - expenseId: ID of expense to update
26
+
27
+ OPTIONAL FIELDS (only include what needs to change):
28
+ - categoryId: Change expense category
29
+ - date: Update expense date
30
+ - amount: Modify expense amount/currency
31
+ - vendor: Change vendor name
32
+ - notes: Update description
33
+ - clientId: Change client billing
34
+ - projectId: Change project association
35
+ - markupPercent: Adjust markup percentage (0-100)
36
+ - taxName1/taxPercent1: Update first tax
37
+ - taxName2/taxPercent2: Update second tax
38
+ - visState: Archive or restore (0=active, 1=deleted, 2=archived)
39
+
40
+ EXAMPLE PROMPTS:
41
+ - "Update expense 12345 to $175.50"
42
+ - "Change the vendor on expense 67890 to 'Acme Corp'"
43
+ - "Update expense 11111: add client 99 for billing"
44
+ - "Archive expense 54321"
45
+
46
+ RETURNS:
47
47
  Updated expense with all current details.`,
48
48
  inputSchema: ExpenseUpdateInputSchema,
49
49
  outputSchema: ExpenseSingleOutputSchema,
@@ -73,9 +73,27 @@ Updated expense with all current details.`,
73
73
  }
74
74
  // Extract expense from response (FreshBooks returns { expense: { ... } })
75
75
  const existingExpense = existingResponse.data.expense ?? existingResponse.data;
76
- // Build expense update object by merging existing with provided fields
77
- // The FreshBooks SDK's transformExpenseRequest() will convert to API format
78
- const expense = { ...existingExpense };
76
+ const existing = existingExpense;
77
+ // Build expense update object with ONLY updatable fields
78
+ // Do NOT spread the entire object - API returns extra read-only fields
79
+ // (accountId, isDuplicate, profileId, bankName, status, updated, hasReceipt, etc.)
80
+ // that cause the SDK to hang if included in update requests
81
+ const expense = {
82
+ categoryId: existing.categoryId,
83
+ staffId: existing.staffId,
84
+ date: existing.date,
85
+ amount: existing.amount,
86
+ vendor: existing.vendor,
87
+ notes: existing.notes,
88
+ clientId: existing.clientId,
89
+ projectId: existing.projectId,
90
+ markupPercent: existing.markupPercent,
91
+ taxName1: existing.taxName1,
92
+ taxPercent1: existing.taxPercent1,
93
+ taxName2: existing.taxName2,
94
+ taxPercent2: existing.taxPercent2,
95
+ visState: existing.visState,
96
+ };
79
97
  // Overlay only the fields user provided
80
98
  if (updateData.categoryId !== undefined)
81
99
  expense.categoryId = updateData.categoryId;
@@ -1 +1 @@
1
- {"version":3,"file":"expense-update.js","sourceRoot":"","sources":["../../../src/tools/expense/expense-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expense-update.js","sourceRoot":"","sources":["../../../src/tools/expense/expense-update.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodsamsoftware/freshbooks-mcp",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "FreshBooks MCP server providing 1:1 parity with the FreshBooks Node.js SDK",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",
@@ -38,7 +38,7 @@
38
38
  }
39
39
  },
40
40
  "bin": {
41
- "freshbooks-mcp": "dist/server.js"
41
+ "freshbooks-mcp": "./dist/server.js"
42
42
  },
43
43
  "files": [
44
44
  "dist",