@goodsamsoftware/freshbooks-mcp 1.0.0

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.
Files changed (647) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +357 -0
  3. package/dist/auth/config.d.ts +57 -0
  4. package/dist/auth/config.d.ts.map +1 -0
  5. package/dist/auth/config.js +118 -0
  6. package/dist/auth/config.js.map +1 -0
  7. package/dist/auth/index.d.ts +47 -0
  8. package/dist/auth/index.d.ts.map +1 -0
  9. package/dist/auth/index.js +46 -0
  10. package/dist/auth/index.js.map +1 -0
  11. package/dist/auth/oauth.d.ts +93 -0
  12. package/dist/auth/oauth.d.ts.map +1 -0
  13. package/dist/auth/oauth.js +279 -0
  14. package/dist/auth/oauth.js.map +1 -0
  15. package/dist/auth/token-store.d.ts +80 -0
  16. package/dist/auth/token-store.d.ts.map +1 -0
  17. package/dist/auth/token-store.js +204 -0
  18. package/dist/auth/token-store.js.map +1 -0
  19. package/dist/auth/types.d.ts +76 -0
  20. package/dist/auth/types.d.ts.map +1 -0
  21. package/dist/auth/types.js +20 -0
  22. package/dist/auth/types.js.map +1 -0
  23. package/dist/client/freshbooks-client.d.ts +99 -0
  24. package/dist/client/freshbooks-client.d.ts.map +1 -0
  25. package/dist/client/freshbooks-client.js +283 -0
  26. package/dist/client/freshbooks-client.js.map +1 -0
  27. package/dist/client/index.d.ts +5 -0
  28. package/dist/client/index.d.ts.map +1 -0
  29. package/dist/client/index.js +5 -0
  30. package/dist/client/index.js.map +1 -0
  31. package/dist/config/index.d.ts +17 -0
  32. package/dist/config/index.d.ts.map +1 -0
  33. package/dist/config/index.js +81 -0
  34. package/dist/config/index.js.map +1 -0
  35. package/dist/errors/documentation.d.ts +57 -0
  36. package/dist/errors/documentation.d.ts.map +1 -0
  37. package/dist/errors/documentation.js +390 -0
  38. package/dist/errors/documentation.js.map +1 -0
  39. package/dist/errors/error-codes.d.ts +45 -0
  40. package/dist/errors/error-codes.d.ts.map +1 -0
  41. package/dist/errors/error-codes.js +94 -0
  42. package/dist/errors/error-codes.js.map +1 -0
  43. package/dist/errors/error-handler.d.ts +127 -0
  44. package/dist/errors/error-handler.d.ts.map +1 -0
  45. package/dist/errors/error-handler.js +283 -0
  46. package/dist/errors/error-handler.js.map +1 -0
  47. package/dist/errors/error-mapper.d.ts +68 -0
  48. package/dist/errors/error-mapper.d.ts.map +1 -0
  49. package/dist/errors/error-mapper.js +449 -0
  50. package/dist/errors/error-mapper.js.map +1 -0
  51. package/dist/errors/index.d.ts +37 -0
  52. package/dist/errors/index.d.ts.map +1 -0
  53. package/dist/errors/index.js +41 -0
  54. package/dist/errors/index.js.map +1 -0
  55. package/dist/errors/response-formatter.d.ts +109 -0
  56. package/dist/errors/response-formatter.d.ts.map +1 -0
  57. package/dist/errors/response-formatter.js +232 -0
  58. package/dist/errors/response-formatter.js.map +1 -0
  59. package/dist/errors/types.d.ts +194 -0
  60. package/dist/errors/types.d.ts.map +1 -0
  61. package/dist/errors/types.js +134 -0
  62. package/dist/errors/types.js.map +1 -0
  63. package/dist/server.d.ts +10 -0
  64. package/dist/server.d.ts.map +1 -0
  65. package/dist/server.js +263 -0
  66. package/dist/server.js.map +1 -0
  67. package/dist/tools/base-tool.d.ts +146 -0
  68. package/dist/tools/base-tool.d.ts.map +1 -0
  69. package/dist/tools/base-tool.js +161 -0
  70. package/dist/tools/base-tool.js.map +1 -0
  71. package/dist/tools/bill/bill-archive.d.ts +40 -0
  72. package/dist/tools/bill/bill-archive.d.ts.map +1 -0
  73. package/dist/tools/bill/bill-archive.js +68 -0
  74. package/dist/tools/bill/bill-archive.js.map +1 -0
  75. package/dist/tools/bill/bill-create.d.ts +178 -0
  76. package/dist/tools/bill/bill-create.d.ts.map +1 -0
  77. package/dist/tools/bill/bill-create.js +70 -0
  78. package/dist/tools/bill/bill-create.js.map +1 -0
  79. package/dist/tools/bill/bill-delete.d.ts +40 -0
  80. package/dist/tools/bill/bill-delete.d.ts.map +1 -0
  81. package/dist/tools/bill/bill-delete.js +67 -0
  82. package/dist/tools/bill/bill-delete.js.map +1 -0
  83. package/dist/tools/bill/bill-list.d.ts +249 -0
  84. package/dist/tools/bill/bill-list.d.ts.map +1 -0
  85. package/dist/tools/bill/bill-list.js +114 -0
  86. package/dist/tools/bill/bill-list.js.map +1 -0
  87. package/dist/tools/bill/bill-single.d.ts +142 -0
  88. package/dist/tools/bill/bill-single.d.ts.map +1 -0
  89. package/dist/tools/bill/bill-single.js +62 -0
  90. package/dist/tools/bill/bill-single.js.map +1 -0
  91. package/dist/tools/bill/index.d.ts +11 -0
  92. package/dist/tools/bill/index.d.ts.map +1 -0
  93. package/dist/tools/bill/index.js +13 -0
  94. package/dist/tools/bill/index.js.map +1 -0
  95. package/dist/tools/bill/schemas.d.ts +609 -0
  96. package/dist/tools/bill/schemas.d.ts.map +1 -0
  97. package/dist/tools/bill/schemas.js +124 -0
  98. package/dist/tools/bill/schemas.js.map +1 -0
  99. package/dist/tools/bill-payment/billpayment-create.d.ts +103 -0
  100. package/dist/tools/bill-payment/billpayment-create.d.ts.map +1 -0
  101. package/dist/tools/bill-payment/billpayment-create.js +67 -0
  102. package/dist/tools/bill-payment/billpayment-create.js.map +1 -0
  103. package/dist/tools/bill-payment/billpayment-delete.d.ts +40 -0
  104. package/dist/tools/bill-payment/billpayment-delete.d.ts.map +1 -0
  105. package/dist/tools/bill-payment/billpayment-delete.js +67 -0
  106. package/dist/tools/bill-payment/billpayment-delete.js.map +1 -0
  107. package/dist/tools/bill-payment/billpayment-list.d.ts +148 -0
  108. package/dist/tools/bill-payment/billpayment-list.d.ts.map +1 -0
  109. package/dist/tools/bill-payment/billpayment-list.js +111 -0
  110. package/dist/tools/bill-payment/billpayment-list.js.map +1 -0
  111. package/dist/tools/bill-payment/billpayment-single.d.ts +76 -0
  112. package/dist/tools/bill-payment/billpayment-single.d.ts.map +1 -0
  113. package/dist/tools/bill-payment/billpayment-single.js +62 -0
  114. package/dist/tools/bill-payment/billpayment-single.js.map +1 -0
  115. package/dist/tools/bill-payment/billpayment-update.d.ts +103 -0
  116. package/dist/tools/bill-payment/billpayment-update.d.ts.map +1 -0
  117. package/dist/tools/bill-payment/billpayment-update.js +67 -0
  118. package/dist/tools/bill-payment/billpayment-update.js.map +1 -0
  119. package/dist/tools/bill-payment/index.d.ts +11 -0
  120. package/dist/tools/bill-payment/index.d.ts.map +1 -0
  121. package/dist/tools/bill-payment/index.js +13 -0
  122. package/dist/tools/bill-payment/index.js.map +1 -0
  123. package/dist/tools/bill-payment/schemas.d.ts +381 -0
  124. package/dist/tools/bill-payment/schemas.d.ts.map +1 -0
  125. package/dist/tools/bill-payment/schemas.js +113 -0
  126. package/dist/tools/bill-payment/schemas.js.map +1 -0
  127. package/dist/tools/bill-vendor/billvendor-create.d.ts +139 -0
  128. package/dist/tools/bill-vendor/billvendor-create.d.ts.map +1 -0
  129. package/dist/tools/bill-vendor/billvendor-create.js +72 -0
  130. package/dist/tools/bill-vendor/billvendor-create.js.map +1 -0
  131. package/dist/tools/bill-vendor/billvendor-delete.d.ts +40 -0
  132. package/dist/tools/bill-vendor/billvendor-delete.d.ts.map +1 -0
  133. package/dist/tools/bill-vendor/billvendor-delete.js +67 -0
  134. package/dist/tools/bill-vendor/billvendor-delete.js.map +1 -0
  135. package/dist/tools/bill-vendor/billvendor-list.d.ts +179 -0
  136. package/dist/tools/bill-vendor/billvendor-list.d.ts.map +1 -0
  137. package/dist/tools/bill-vendor/billvendor-list.js +109 -0
  138. package/dist/tools/bill-vendor/billvendor-list.js.map +1 -0
  139. package/dist/tools/bill-vendor/billvendor-single.d.ts +94 -0
  140. package/dist/tools/bill-vendor/billvendor-single.d.ts.map +1 -0
  141. package/dist/tools/bill-vendor/billvendor-single.js +62 -0
  142. package/dist/tools/bill-vendor/billvendor-single.js.map +1 -0
  143. package/dist/tools/bill-vendor/billvendor-update.d.ts +142 -0
  144. package/dist/tools/bill-vendor/billvendor-update.d.ts.map +1 -0
  145. package/dist/tools/bill-vendor/billvendor-update.js +72 -0
  146. package/dist/tools/bill-vendor/billvendor-update.js.map +1 -0
  147. package/dist/tools/bill-vendor/index.d.ts +11 -0
  148. package/dist/tools/bill-vendor/index.d.ts.map +1 -0
  149. package/dist/tools/bill-vendor/index.js +13 -0
  150. package/dist/tools/bill-vendor/index.js.map +1 -0
  151. package/dist/tools/bill-vendor/schemas.d.ts +483 -0
  152. package/dist/tools/bill-vendor/schemas.d.ts.map +1 -0
  153. package/dist/tools/bill-vendor/schemas.js +136 -0
  154. package/dist/tools/bill-vendor/schemas.js.map +1 -0
  155. package/dist/tools/callback/callback-create.d.ts +52 -0
  156. package/dist/tools/callback/callback-create.d.ts.map +1 -0
  157. package/dist/tools/callback/callback-create.js +73 -0
  158. package/dist/tools/callback/callback-create.js.map +1 -0
  159. package/dist/tools/callback/callback-delete.d.ts +37 -0
  160. package/dist/tools/callback/callback-delete.d.ts.map +1 -0
  161. package/dist/tools/callback/callback-delete.js +57 -0
  162. package/dist/tools/callback/callback-delete.js.map +1 -0
  163. package/dist/tools/callback/callback-list.d.ts +100 -0
  164. package/dist/tools/callback/callback-list.d.ts.map +1 -0
  165. package/dist/tools/callback/callback-list.js +84 -0
  166. package/dist/tools/callback/callback-list.js.map +1 -0
  167. package/dist/tools/callback/callback-resend-verification.d.ts +49 -0
  168. package/dist/tools/callback/callback-resend-verification.d.ts.map +1 -0
  169. package/dist/tools/callback/callback-resend-verification.js +63 -0
  170. package/dist/tools/callback/callback-resend-verification.js.map +1 -0
  171. package/dist/tools/callback/callback-single.d.ts +49 -0
  172. package/dist/tools/callback/callback-single.d.ts.map +1 -0
  173. package/dist/tools/callback/callback-single.js +53 -0
  174. package/dist/tools/callback/callback-single.js.map +1 -0
  175. package/dist/tools/callback/callback-update.d.ts +55 -0
  176. package/dist/tools/callback/callback-update.d.ts.map +1 -0
  177. package/dist/tools/callback/callback-update.js +62 -0
  178. package/dist/tools/callback/callback-update.js.map +1 -0
  179. package/dist/tools/callback/callback-verify.d.ts +43 -0
  180. package/dist/tools/callback/callback-verify.d.ts.map +1 -0
  181. package/dist/tools/callback/callback-verify.js +69 -0
  182. package/dist/tools/callback/callback-verify.js.map +1 -0
  183. package/dist/tools/callback/index.d.ts +13 -0
  184. package/dist/tools/callback/index.d.ts.map +1 -0
  185. package/dist/tools/callback/index.js +15 -0
  186. package/dist/tools/callback/index.js.map +1 -0
  187. package/dist/tools/callback/schemas.d.ts +284 -0
  188. package/dist/tools/callback/schemas.d.ts.map +1 -0
  189. package/dist/tools/callback/schemas.js +114 -0
  190. package/dist/tools/callback/schemas.js.map +1 -0
  191. package/dist/tools/client/client-create.d.ts +211 -0
  192. package/dist/tools/client/client-create.d.ts.map +1 -0
  193. package/dist/tools/client/client-create.js +147 -0
  194. package/dist/tools/client/client-create.js.map +1 -0
  195. package/dist/tools/client/client-delete.d.ts +40 -0
  196. package/dist/tools/client/client-delete.d.ts.map +1 -0
  197. package/dist/tools/client/client-delete.js +73 -0
  198. package/dist/tools/client/client-delete.js.map +1 -0
  199. package/dist/tools/client/client-list.d.ts +264 -0
  200. package/dist/tools/client/client-list.d.ts.map +1 -0
  201. package/dist/tools/client/client-list.js +131 -0
  202. package/dist/tools/client/client-list.js.map +1 -0
  203. package/dist/tools/client/client-single.d.ts +133 -0
  204. package/dist/tools/client/client-single.d.ts.map +1 -0
  205. package/dist/tools/client/client-single.js +67 -0
  206. package/dist/tools/client/client-single.js.map +1 -0
  207. package/dist/tools/client/client-update.d.ts +217 -0
  208. package/dist/tools/client/client-update.d.ts.map +1 -0
  209. package/dist/tools/client/client-update.js +146 -0
  210. package/dist/tools/client/client-update.js.map +1 -0
  211. package/dist/tools/client/index.d.ts +11 -0
  212. package/dist/tools/client/index.d.ts.map +1 -0
  213. package/dist/tools/client/index.js +13 -0
  214. package/dist/tools/client/index.js.map +1 -0
  215. package/dist/tools/client/schemas.d.ts +759 -0
  216. package/dist/tools/client/schemas.d.ts.map +1 -0
  217. package/dist/tools/client/schemas.js +241 -0
  218. package/dist/tools/client/schemas.js.map +1 -0
  219. package/dist/tools/credit-note/creditnote-create.d.ts +448 -0
  220. package/dist/tools/credit-note/creditnote-create.d.ts.map +1 -0
  221. package/dist/tools/credit-note/creditnote-create.js +88 -0
  222. package/dist/tools/credit-note/creditnote-create.js.map +1 -0
  223. package/dist/tools/credit-note/creditnote-delete.d.ts +37 -0
  224. package/dist/tools/credit-note/creditnote-delete.d.ts.map +1 -0
  225. package/dist/tools/credit-note/creditnote-delete.js +57 -0
  226. package/dist/tools/credit-note/creditnote-delete.js.map +1 -0
  227. package/dist/tools/credit-note/creditnote-list.d.ts +627 -0
  228. package/dist/tools/credit-note/creditnote-list.d.ts.map +1 -0
  229. package/dist/tools/credit-note/creditnote-list.js +106 -0
  230. package/dist/tools/credit-note/creditnote-list.js.map +1 -0
  231. package/dist/tools/credit-note/creditnote-single.d.ts +358 -0
  232. package/dist/tools/credit-note/creditnote-single.d.ts.map +1 -0
  233. package/dist/tools/credit-note/creditnote-single.js +60 -0
  234. package/dist/tools/credit-note/creditnote-single.js.map +1 -0
  235. package/dist/tools/credit-note/creditnote-update.d.ts +442 -0
  236. package/dist/tools/credit-note/creditnote-update.d.ts.map +1 -0
  237. package/dist/tools/credit-note/creditnote-update.js +82 -0
  238. package/dist/tools/credit-note/creditnote-update.js.map +1 -0
  239. package/dist/tools/credit-note/index.d.ts +11 -0
  240. package/dist/tools/credit-note/index.d.ts.map +1 -0
  241. package/dist/tools/credit-note/index.js +13 -0
  242. package/dist/tools/credit-note/index.js.map +1 -0
  243. package/dist/tools/credit-note/schemas.d.ts +1599 -0
  244. package/dist/tools/credit-note/schemas.d.ts.map +1 -0
  245. package/dist/tools/credit-note/schemas.js +196 -0
  246. package/dist/tools/credit-note/schemas.js.map +1 -0
  247. package/dist/tools/expense/expense-create.d.ts +196 -0
  248. package/dist/tools/expense/expense-create.d.ts.map +1 -0
  249. package/dist/tools/expense/expense-create.js +103 -0
  250. package/dist/tools/expense/expense-create.js.map +1 -0
  251. package/dist/tools/expense/expense-delete.d.ts +40 -0
  252. package/dist/tools/expense/expense-delete.d.ts.map +1 -0
  253. package/dist/tools/expense/expense-delete.js +73 -0
  254. package/dist/tools/expense/expense-delete.js.map +1 -0
  255. package/dist/tools/expense/expense-list.d.ts +264 -0
  256. package/dist/tools/expense/expense-list.d.ts.map +1 -0
  257. package/dist/tools/expense/expense-list.js +126 -0
  258. package/dist/tools/expense/expense-list.js.map +1 -0
  259. package/dist/tools/expense/expense-single.d.ts +145 -0
  260. package/dist/tools/expense/expense-single.d.ts.map +1 -0
  261. package/dist/tools/expense/expense-single.js +63 -0
  262. package/dist/tools/expense/expense-single.js.map +1 -0
  263. package/dist/tools/expense/expense-update.d.ts +199 -0
  264. package/dist/tools/expense/expense-update.d.ts.map +1 -0
  265. package/dist/tools/expense/expense-update.js +108 -0
  266. package/dist/tools/expense/expense-update.js.map +1 -0
  267. package/dist/tools/expense/index.d.ts +11 -0
  268. package/dist/tools/expense/index.d.ts.map +1 -0
  269. package/dist/tools/expense/index.js +13 -0
  270. package/dist/tools/expense/index.js.map +1 -0
  271. package/dist/tools/expense/schemas.d.ts +667 -0
  272. package/dist/tools/expense/schemas.d.ts.map +1 -0
  273. package/dist/tools/expense/schemas.js +142 -0
  274. package/dist/tools/expense/schemas.js.map +1 -0
  275. package/dist/tools/expense-category/expensecategory-list.d.ts +113 -0
  276. package/dist/tools/expense-category/expensecategory-list.d.ts.map +1 -0
  277. package/dist/tools/expense-category/expensecategory-list.js +113 -0
  278. package/dist/tools/expense-category/expensecategory-list.js.map +1 -0
  279. package/dist/tools/expense-category/expensecategory-single.d.ts +58 -0
  280. package/dist/tools/expense-category/expensecategory-single.d.ts.map +1 -0
  281. package/dist/tools/expense-category/expensecategory-single.js +66 -0
  282. package/dist/tools/expense-category/expensecategory-single.js.map +1 -0
  283. package/dist/tools/expense-category/index.d.ts +9 -0
  284. package/dist/tools/expense-category/index.d.ts.map +1 -0
  285. package/dist/tools/expense-category/index.js +11 -0
  286. package/dist/tools/expense-category/index.js.map +1 -0
  287. package/dist/tools/expense-category/schemas.d.ts +184 -0
  288. package/dist/tools/expense-category/schemas.d.ts.map +1 -0
  289. package/dist/tools/expense-category/schemas.js +58 -0
  290. package/dist/tools/expense-category/schemas.js.map +1 -0
  291. package/dist/tools/index.d.ts +53 -0
  292. package/dist/tools/index.d.ts.map +1 -0
  293. package/dist/tools/index.js +98 -0
  294. package/dist/tools/index.js.map +1 -0
  295. package/dist/tools/invoice/index.d.ts +12 -0
  296. package/dist/tools/invoice/index.d.ts.map +1 -0
  297. package/dist/tools/invoice/index.js +14 -0
  298. package/dist/tools/invoice/index.js.map +1 -0
  299. package/dist/tools/invoice/invoice-create.d.ts +367 -0
  300. package/dist/tools/invoice/invoice-create.d.ts.map +1 -0
  301. package/dist/tools/invoice/invoice-create.js +115 -0
  302. package/dist/tools/invoice/invoice-create.js.map +1 -0
  303. package/dist/tools/invoice/invoice-delete.d.ts +40 -0
  304. package/dist/tools/invoice/invoice-delete.d.ts.map +1 -0
  305. package/dist/tools/invoice/invoice-delete.js +75 -0
  306. package/dist/tools/invoice/invoice-delete.js.map +1 -0
  307. package/dist/tools/invoice/invoice-list.d.ts +439 -0
  308. package/dist/tools/invoice/invoice-list.d.ts.map +1 -0
  309. package/dist/tools/invoice/invoice-list.js +126 -0
  310. package/dist/tools/invoice/invoice-list.js.map +1 -0
  311. package/dist/tools/invoice/invoice-share-link.d.ts +40 -0
  312. package/dist/tools/invoice/invoice-share-link.d.ts.map +1 -0
  313. package/dist/tools/invoice/invoice-share-link.js +89 -0
  314. package/dist/tools/invoice/invoice-share-link.js.map +1 -0
  315. package/dist/tools/invoice/invoice-single.d.ts +265 -0
  316. package/dist/tools/invoice/invoice-single.d.ts.map +1 -0
  317. package/dist/tools/invoice/invoice-single.js +66 -0
  318. package/dist/tools/invoice/invoice-single.js.map +1 -0
  319. package/dist/tools/invoice/invoice-update.d.ts +373 -0
  320. package/dist/tools/invoice/invoice-update.d.ts.map +1 -0
  321. package/dist/tools/invoice/invoice-update.js +122 -0
  322. package/dist/tools/invoice/invoice-update.js.map +1 -0
  323. package/dist/tools/invoice/schemas.d.ts +1414 -0
  324. package/dist/tools/invoice/schemas.d.ts.map +1 -0
  325. package/dist/tools/invoice/schemas.js +269 -0
  326. package/dist/tools/invoice/schemas.js.map +1 -0
  327. package/dist/tools/item/index.d.ts +10 -0
  328. package/dist/tools/item/index.d.ts.map +1 -0
  329. package/dist/tools/item/index.js +12 -0
  330. package/dist/tools/item/index.js.map +1 -0
  331. package/dist/tools/item/item-create.d.ts +136 -0
  332. package/dist/tools/item/item-create.d.ts.map +1 -0
  333. package/dist/tools/item/item-create.js +71 -0
  334. package/dist/tools/item/item-create.js.map +1 -0
  335. package/dist/tools/item/item-list.d.ts +178 -0
  336. package/dist/tools/item/item-list.d.ts.map +1 -0
  337. package/dist/tools/item/item-list.js +112 -0
  338. package/dist/tools/item/item-list.js.map +1 -0
  339. package/dist/tools/item/item-single.d.ts +94 -0
  340. package/dist/tools/item/item-single.d.ts.map +1 -0
  341. package/dist/tools/item/item-single.js +62 -0
  342. package/dist/tools/item/item-single.js.map +1 -0
  343. package/dist/tools/item/item-update.d.ts +139 -0
  344. package/dist/tools/item/item-update.d.ts.map +1 -0
  345. package/dist/tools/item/item-update.js +74 -0
  346. package/dist/tools/item/item-update.js.map +1 -0
  347. package/dist/tools/item/schemas.d.ts +454 -0
  348. package/dist/tools/item/schemas.d.ts.map +1 -0
  349. package/dist/tools/item/schemas.js +116 -0
  350. package/dist/tools/item/schemas.js.map +1 -0
  351. package/dist/tools/journal-entry/index.d.ts +7 -0
  352. package/dist/tools/journal-entry/index.d.ts.map +1 -0
  353. package/dist/tools/journal-entry/index.js +9 -0
  354. package/dist/tools/journal-entry/index.js.map +1 -0
  355. package/dist/tools/journal-entry/journalentry-create.d.ts +114 -0
  356. package/dist/tools/journal-entry/journalentry-create.d.ts.map +1 -0
  357. package/dist/tools/journal-entry/journalentry-create.js +98 -0
  358. package/dist/tools/journal-entry/journalentry-create.js.map +1 -0
  359. package/dist/tools/journal-entry/schemas.d.ts +182 -0
  360. package/dist/tools/journal-entry/schemas.d.ts.map +1 -0
  361. package/dist/tools/journal-entry/schemas.js +43 -0
  362. package/dist/tools/journal-entry/schemas.js.map +1 -0
  363. package/dist/tools/journal-entry-account/index.d.ts +7 -0
  364. package/dist/tools/journal-entry-account/index.d.ts.map +1 -0
  365. package/dist/tools/journal-entry-account/index.js +9 -0
  366. package/dist/tools/journal-entry-account/index.js.map +1 -0
  367. package/dist/tools/journal-entry-account/journalentryaccount-list.d.ts +190 -0
  368. package/dist/tools/journal-entry-account/journalentryaccount-list.d.ts.map +1 -0
  369. package/dist/tools/journal-entry-account/journalentryaccount-list.js +102 -0
  370. package/dist/tools/journal-entry-account/journalentryaccount-list.js.map +1 -0
  371. package/dist/tools/journal-entry-account/schemas.d.ts +344 -0
  372. package/dist/tools/journal-entry-account/schemas.d.ts.map +1 -0
  373. package/dist/tools/journal-entry-account/schemas.js +65 -0
  374. package/dist/tools/journal-entry-account/schemas.js.map +1 -0
  375. package/dist/tools/metadata.d.ts +49 -0
  376. package/dist/tools/metadata.d.ts.map +1 -0
  377. package/dist/tools/metadata.js +317 -0
  378. package/dist/tools/metadata.js.map +1 -0
  379. package/dist/tools/other-income/index.d.ts +11 -0
  380. package/dist/tools/other-income/index.d.ts.map +1 -0
  381. package/dist/tools/other-income/index.js +13 -0
  382. package/dist/tools/other-income/index.js.map +1 -0
  383. package/dist/tools/other-income/otherincome-create.d.ts +152 -0
  384. package/dist/tools/other-income/otherincome-create.d.ts.map +1 -0
  385. package/dist/tools/other-income/otherincome-create.js +89 -0
  386. package/dist/tools/other-income/otherincome-create.js.map +1 -0
  387. package/dist/tools/other-income/otherincome-delete.d.ts +37 -0
  388. package/dist/tools/other-income/otherincome-delete.d.ts.map +1 -0
  389. package/dist/tools/other-income/otherincome-delete.js +57 -0
  390. package/dist/tools/other-income/otherincome-delete.js.map +1 -0
  391. package/dist/tools/other-income/otherincome-list.d.ts +186 -0
  392. package/dist/tools/other-income/otherincome-list.d.ts.map +1 -0
  393. package/dist/tools/other-income/otherincome-list.js +107 -0
  394. package/dist/tools/other-income/otherincome-list.js.map +1 -0
  395. package/dist/tools/other-income/otherincome-single.d.ts +99 -0
  396. package/dist/tools/other-income/otherincome-single.d.ts.map +1 -0
  397. package/dist/tools/other-income/otherincome-single.js +53 -0
  398. package/dist/tools/other-income/otherincome-single.js.map +1 -0
  399. package/dist/tools/other-income/otherincome-update.d.ts +155 -0
  400. package/dist/tools/other-income/otherincome-update.d.ts.map +1 -0
  401. package/dist/tools/other-income/otherincome-update.js +84 -0
  402. package/dist/tools/other-income/otherincome-update.js.map +1 -0
  403. package/dist/tools/other-income/schemas.d.ts +510 -0
  404. package/dist/tools/other-income/schemas.d.ts.map +1 -0
  405. package/dist/tools/other-income/schemas.js +141 -0
  406. package/dist/tools/other-income/schemas.js.map +1 -0
  407. package/dist/tools/payment/index.d.ts +11 -0
  408. package/dist/tools/payment/index.d.ts.map +1 -0
  409. package/dist/tools/payment/index.js +13 -0
  410. package/dist/tools/payment/index.js.map +1 -0
  411. package/dist/tools/payment/payment-create.d.ts +127 -0
  412. package/dist/tools/payment/payment-create.d.ts.map +1 -0
  413. package/dist/tools/payment/payment-create.js +84 -0
  414. package/dist/tools/payment/payment-create.js.map +1 -0
  415. package/dist/tools/payment/payment-delete.d.ts +40 -0
  416. package/dist/tools/payment/payment-delete.d.ts.map +1 -0
  417. package/dist/tools/payment/payment-delete.js +67 -0
  418. package/dist/tools/payment/payment-delete.js.map +1 -0
  419. package/dist/tools/payment/payment-list.d.ts +186 -0
  420. package/dist/tools/payment/payment-list.d.ts.map +1 -0
  421. package/dist/tools/payment/payment-list.js +113 -0
  422. package/dist/tools/payment/payment-list.js.map +1 -0
  423. package/dist/tools/payment/payment-single.d.ts +97 -0
  424. package/dist/tools/payment/payment-single.d.ts.map +1 -0
  425. package/dist/tools/payment/payment-single.js +62 -0
  426. package/dist/tools/payment/payment-single.js.map +1 -0
  427. package/dist/tools/payment/payment-update.d.ts +124 -0
  428. package/dist/tools/payment/payment-update.d.ts.map +1 -0
  429. package/dist/tools/payment/payment-update.js +79 -0
  430. package/dist/tools/payment/payment-update.js.map +1 -0
  431. package/dist/tools/payment/schemas.d.ts +445 -0
  432. package/dist/tools/payment/schemas.d.ts.map +1 -0
  433. package/dist/tools/payment/schemas.js +126 -0
  434. package/dist/tools/payment/schemas.js.map +1 -0
  435. package/dist/tools/payment-options/index.d.ts +9 -0
  436. package/dist/tools/payment-options/index.d.ts.map +1 -0
  437. package/dist/tools/payment-options/index.js +11 -0
  438. package/dist/tools/payment-options/index.js.map +1 -0
  439. package/dist/tools/payment-options/paymentoptions-create.d.ts +91 -0
  440. package/dist/tools/payment-options/paymentoptions-create.d.ts.map +1 -0
  441. package/dist/tools/payment-options/paymentoptions-create.js +71 -0
  442. package/dist/tools/payment-options/paymentoptions-create.js.map +1 -0
  443. package/dist/tools/payment-options/paymentoptions-default.d.ts +43 -0
  444. package/dist/tools/payment-options/paymentoptions-default.d.ts.map +1 -0
  445. package/dist/tools/payment-options/paymentoptions-default.js +64 -0
  446. package/dist/tools/payment-options/paymentoptions-default.js.map +1 -0
  447. package/dist/tools/payment-options/paymentoptions-single.d.ts +76 -0
  448. package/dist/tools/payment-options/paymentoptions-single.d.ts.map +1 -0
  449. package/dist/tools/payment-options/paymentoptions-single.js +58 -0
  450. package/dist/tools/payment-options/paymentoptions-single.js.map +1 -0
  451. package/dist/tools/payment-options/schemas.d.ts +197 -0
  452. package/dist/tools/payment-options/schemas.d.ts.map +1 -0
  453. package/dist/tools/payment-options/schemas.js +69 -0
  454. package/dist/tools/payment-options/schemas.js.map +1 -0
  455. package/dist/tools/project/index.d.ts +11 -0
  456. package/dist/tools/project/index.d.ts.map +1 -0
  457. package/dist/tools/project/index.js +13 -0
  458. package/dist/tools/project/index.js.map +1 -0
  459. package/dist/tools/project/project-create.d.ts +142 -0
  460. package/dist/tools/project/project-create.d.ts.map +1 -0
  461. package/dist/tools/project/project-create.js +100 -0
  462. package/dist/tools/project/project-create.js.map +1 -0
  463. package/dist/tools/project/project-delete.d.ts +44 -0
  464. package/dist/tools/project/project-delete.d.ts.map +1 -0
  465. package/dist/tools/project/project-delete.js +80 -0
  466. package/dist/tools/project/project-delete.js.map +1 -0
  467. package/dist/tools/project/project-list.d.ts +227 -0
  468. package/dist/tools/project/project-list.d.ts.map +1 -0
  469. package/dist/tools/project/project-list.js +118 -0
  470. package/dist/tools/project/project-list.js.map +1 -0
  471. package/dist/tools/project/project-single.d.ts +115 -0
  472. package/dist/tools/project/project-single.d.ts.map +1 -0
  473. package/dist/tools/project/project-single.js +63 -0
  474. package/dist/tools/project/project-single.js.map +1 -0
  475. package/dist/tools/project/project-update.d.ts +151 -0
  476. package/dist/tools/project/project-update.d.ts.map +1 -0
  477. package/dist/tools/project/project-update.js +106 -0
  478. package/dist/tools/project/project-update.js.map +1 -0
  479. package/dist/tools/project/schemas.d.ts +588 -0
  480. package/dist/tools/project/schemas.d.ts.map +1 -0
  481. package/dist/tools/project/schemas.js +196 -0
  482. package/dist/tools/project/schemas.js.map +1 -0
  483. package/dist/tools/report/index.d.ts +9 -0
  484. package/dist/tools/report/index.d.ts.map +1 -0
  485. package/dist/tools/report/index.js +11 -0
  486. package/dist/tools/report/index.js.map +1 -0
  487. package/dist/tools/report/report-payments-collected.d.ts +118 -0
  488. package/dist/tools/report/report-payments-collected.d.ts.map +1 -0
  489. package/dist/tools/report/report-payments-collected.js +89 -0
  490. package/dist/tools/report/report-payments-collected.js.map +1 -0
  491. package/dist/tools/report/report-profit-loss.d.ts +139 -0
  492. package/dist/tools/report/report-profit-loss.d.ts.map +1 -0
  493. package/dist/tools/report/report-profit-loss.js +98 -0
  494. package/dist/tools/report/report-profit-loss.js.map +1 -0
  495. package/dist/tools/report/report-tax-summary.d.ts +155 -0
  496. package/dist/tools/report/report-tax-summary.d.ts.map +1 -0
  497. package/dist/tools/report/report-tax-summary.js +100 -0
  498. package/dist/tools/report/report-tax-summary.js.map +1 -0
  499. package/dist/tools/report/schemas.d.ts +859 -0
  500. package/dist/tools/report/schemas.d.ts.map +1 -0
  501. package/dist/tools/report/schemas.js +126 -0
  502. package/dist/tools/report/schemas.js.map +1 -0
  503. package/dist/tools/service/index.d.ts +12 -0
  504. package/dist/tools/service/index.d.ts.map +1 -0
  505. package/dist/tools/service/index.js +14 -0
  506. package/dist/tools/service/index.js.map +1 -0
  507. package/dist/tools/service/schemas.d.ts +159 -0
  508. package/dist/tools/service/schemas.d.ts.map +1 -0
  509. package/dist/tools/service/schemas.js +62 -0
  510. package/dist/tools/service/schemas.js.map +1 -0
  511. package/dist/tools/service/service-create.d.ts +52 -0
  512. package/dist/tools/service/service-create.d.ts.map +1 -0
  513. package/dist/tools/service/service-create.js +82 -0
  514. package/dist/tools/service/service-create.js.map +1 -0
  515. package/dist/tools/service/service-list.d.ts +119 -0
  516. package/dist/tools/service/service-list.d.ts.map +1 -0
  517. package/dist/tools/service/service-list.js +99 -0
  518. package/dist/tools/service/service-list.js.map +1 -0
  519. package/dist/tools/service/service-rate-get.d.ts +63 -0
  520. package/dist/tools/service/service-rate-get.d.ts.map +1 -0
  521. package/dist/tools/service/service-rate-get.js +66 -0
  522. package/dist/tools/service/service-rate-get.js.map +1 -0
  523. package/dist/tools/service/service-rate-set.d.ts +76 -0
  524. package/dist/tools/service/service-rate-set.d.ts.map +1 -0
  525. package/dist/tools/service/service-rate-set.js +91 -0
  526. package/dist/tools/service/service-rate-set.js.map +1 -0
  527. package/dist/tools/service/service-single.d.ts +45 -0
  528. package/dist/tools/service/service-single.d.ts.map +1 -0
  529. package/dist/tools/service/service-single.js +63 -0
  530. package/dist/tools/service/service-single.js.map +1 -0
  531. package/dist/tools/task/index.d.ts +12 -0
  532. package/dist/tools/task/index.d.ts.map +1 -0
  533. package/dist/tools/task/index.js +14 -0
  534. package/dist/tools/task/index.js.map +1 -0
  535. package/dist/tools/task/schemas.d.ts +299 -0
  536. package/dist/tools/task/schemas.d.ts.map +1 -0
  537. package/dist/tools/task/schemas.js +89 -0
  538. package/dist/tools/task/schemas.js.map +1 -0
  539. package/dist/tools/task/task-create.d.ts +101 -0
  540. package/dist/tools/task/task-create.d.ts.map +1 -0
  541. package/dist/tools/task/task-create.js +77 -0
  542. package/dist/tools/task/task-create.js.map +1 -0
  543. package/dist/tools/task/task-delete.d.ts +39 -0
  544. package/dist/tools/task/task-delete.d.ts.map +1 -0
  545. package/dist/tools/task/task-delete.js +70 -0
  546. package/dist/tools/task/task-delete.js.map +1 -0
  547. package/dist/tools/task/task-list.d.ts +157 -0
  548. package/dist/tools/task/task-list.d.ts.map +1 -0
  549. package/dist/tools/task/task-list.js +78 -0
  550. package/dist/tools/task/task-list.js.map +1 -0
  551. package/dist/tools/task/task-single.d.ts +77 -0
  552. package/dist/tools/task/task-single.d.ts.map +1 -0
  553. package/dist/tools/task/task-single.js +56 -0
  554. package/dist/tools/task/task-single.js.map +1 -0
  555. package/dist/tools/task/task-update.d.ts +107 -0
  556. package/dist/tools/task/task-update.d.ts.map +1 -0
  557. package/dist/tools/task/task-update.js +87 -0
  558. package/dist/tools/task/task-update.js.map +1 -0
  559. package/dist/tools/time-entry/index.d.ts +11 -0
  560. package/dist/tools/time-entry/index.d.ts.map +1 -0
  561. package/dist/tools/time-entry/index.js +11 -0
  562. package/dist/tools/time-entry/index.js.map +1 -0
  563. package/dist/tools/time-entry/schemas.d.ts +598 -0
  564. package/dist/tools/time-entry/schemas.d.ts.map +1 -0
  565. package/dist/tools/time-entry/schemas.js +217 -0
  566. package/dist/tools/time-entry/schemas.js.map +1 -0
  567. package/dist/tools/time-entry/timeentry-create.d.ts +142 -0
  568. package/dist/tools/time-entry/timeentry-create.d.ts.map +1 -0
  569. package/dist/tools/time-entry/timeentry-create.js +137 -0
  570. package/dist/tools/time-entry/timeentry-create.js.map +1 -0
  571. package/dist/tools/time-entry/timeentry-delete.d.ts +43 -0
  572. package/dist/tools/time-entry/timeentry-delete.d.ts.map +1 -0
  573. package/dist/tools/time-entry/timeentry-delete.js +93 -0
  574. package/dist/tools/time-entry/timeentry-delete.js.map +1 -0
  575. package/dist/tools/time-entry/timeentry-list.d.ts +232 -0
  576. package/dist/tools/time-entry/timeentry-list.d.ts.map +1 -0
  577. package/dist/tools/time-entry/timeentry-list.js +154 -0
  578. package/dist/tools/time-entry/timeentry-list.js.map +1 -0
  579. package/dist/tools/time-entry/timeentry-single.d.ts +109 -0
  580. package/dist/tools/time-entry/timeentry-single.d.ts.map +1 -0
  581. package/dist/tools/time-entry/timeentry-single.js +75 -0
  582. package/dist/tools/time-entry/timeentry-single.js.map +1 -0
  583. package/dist/tools/time-entry/timeentry-update.d.ts +145 -0
  584. package/dist/tools/time-entry/timeentry-update.d.ts.map +1 -0
  585. package/dist/tools/time-entry/timeentry-update.js +174 -0
  586. package/dist/tools/time-entry/timeentry-update.js.map +1 -0
  587. package/dist/tools/timer/index.d.ts +16 -0
  588. package/dist/tools/timer/index.d.ts.map +1 -0
  589. package/dist/tools/timer/index.js +19 -0
  590. package/dist/tools/timer/index.js.map +1 -0
  591. package/dist/tools/timer/schemas.d.ts +520 -0
  592. package/dist/tools/timer/schemas.d.ts.map +1 -0
  593. package/dist/tools/timer/schemas.js +109 -0
  594. package/dist/tools/timer/schemas.js.map +1 -0
  595. package/dist/tools/timer/timer-current.d.ts +170 -0
  596. package/dist/tools/timer/timer-current.d.ts.map +1 -0
  597. package/dist/tools/timer/timer-current.js +134 -0
  598. package/dist/tools/timer/timer-current.js.map +1 -0
  599. package/dist/tools/timer/timer-discard.d.ts +54 -0
  600. package/dist/tools/timer/timer-discard.d.ts.map +1 -0
  601. package/dist/tools/timer/timer-discard.js +115 -0
  602. package/dist/tools/timer/timer-discard.js.map +1 -0
  603. package/dist/tools/timer/timer-start.d.ts +135 -0
  604. package/dist/tools/timer/timer-start.d.ts.map +1 -0
  605. package/dist/tools/timer/timer-start.js +129 -0
  606. package/dist/tools/timer/timer-start.js.map +1 -0
  607. package/dist/tools/timer/timer-stop.d.ts +123 -0
  608. package/dist/tools/timer/timer-stop.d.ts.map +1 -0
  609. package/dist/tools/timer/timer-stop.js +165 -0
  610. package/dist/tools/timer/timer-stop.js.map +1 -0
  611. package/dist/tools/types.d.ts +49 -0
  612. package/dist/tools/types.d.ts.map +1 -0
  613. package/dist/tools/types.js +61 -0
  614. package/dist/tools/types.js.map +1 -0
  615. package/dist/tools/user/index.d.ts +7 -0
  616. package/dist/tools/user/index.d.ts.map +1 -0
  617. package/dist/tools/user/index.js +9 -0
  618. package/dist/tools/user/index.js.map +1 -0
  619. package/dist/tools/user/schemas.d.ts +258 -0
  620. package/dist/tools/user/schemas.d.ts.map +1 -0
  621. package/dist/tools/user/schemas.js +51 -0
  622. package/dist/tools/user/schemas.js.map +1 -0
  623. package/dist/tools/user/user-me.d.ts +129 -0
  624. package/dist/tools/user/user-me.d.ts.map +1 -0
  625. package/dist/tools/user/user-me.js +63 -0
  626. package/dist/tools/user/user-me.js.map +1 -0
  627. package/dist/types/freshbooks.d.ts +276 -0
  628. package/dist/types/freshbooks.d.ts.map +1 -0
  629. package/dist/types/freshbooks.js +6 -0
  630. package/dist/types/freshbooks.js.map +1 -0
  631. package/dist/types/index.d.ts +92 -0
  632. package/dist/types/index.d.ts.map +1 -0
  633. package/dist/types/index.js +6 -0
  634. package/dist/types/index.js.map +1 -0
  635. package/dist/utils/index.d.ts +6 -0
  636. package/dist/utils/index.d.ts.map +1 -0
  637. package/dist/utils/index.js +6 -0
  638. package/dist/utils/index.js.map +1 -0
  639. package/dist/utils/logger.d.ts +54 -0
  640. package/dist/utils/logger.d.ts.map +1 -0
  641. package/dist/utils/logger.js +133 -0
  642. package/dist/utils/logger.js.map +1 -0
  643. package/dist/utils/pagination.d.ts +39 -0
  644. package/dist/utils/pagination.d.ts.map +1 -0
  645. package/dist/utils/pagination.js +62 -0
  646. package/dist/utils/pagination.js.map +1 -0
  647. package/package.json +88 -0
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Error Documentation
3
+ *
4
+ * Comprehensive documentation for all MCP error codes including:
5
+ * - Description of what the error means
6
+ * - Common causes
7
+ * - Recommended solutions
8
+ * - Examples
9
+ */
10
+ import { MCPErrorCode } from "./types.js";
11
+ /**
12
+ * Error Documentation Entry
13
+ */
14
+ export interface ErrorDocumentation {
15
+ name: string;
16
+ description: string;
17
+ causes: string[];
18
+ solutions: string[];
19
+ examples?: string[];
20
+ }
21
+ /**
22
+ * Complete error documentation map
23
+ */
24
+ export declare const ERROR_DOCUMENTATION: Record<MCPErrorCode, ErrorDocumentation>;
25
+ /**
26
+ * Get documentation for an error code
27
+ *
28
+ * @param code - MCP error code
29
+ * @returns Documentation for the error, or undefined if not found
30
+ */
31
+ export declare function getErrorDocumentation(code: MCPErrorCode): ErrorDocumentation | undefined;
32
+ /**
33
+ * Get all error codes and their documentation
34
+ *
35
+ * @returns Map of all error codes to their documentation
36
+ */
37
+ export declare function getAllErrorDocumentation(): Record<MCPErrorCode, ErrorDocumentation>;
38
+ /**
39
+ * Search error documentation
40
+ *
41
+ * Search for errors by name, description, or causes.
42
+ *
43
+ * @param query - Search query
44
+ * @returns Matching error codes and documentation
45
+ */
46
+ export declare function searchErrorDocumentation(query: string): Array<{
47
+ code: MCPErrorCode;
48
+ documentation: ErrorDocumentation;
49
+ }>;
50
+ /**
51
+ * Format error documentation as markdown
52
+ *
53
+ * @param code - MCP error code
54
+ * @returns Markdown formatted documentation
55
+ */
56
+ export declare function formatErrorDocumentation(code: MCPErrorCode): string;
57
+ //# sourceMappingURL=documentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/errors/documentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,kBAAkB,CA6TxE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,YAAY,GACjB,kBAAkB,GAAG,SAAS,CAEhC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAChD,YAAY,EACZ,kBAAkB,CACnB,CAEA;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,aAAa,EAAE,kBAAkB,CAAA;CAAE,CAAC,CA0BlE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAuBnE"}
@@ -0,0 +1,390 @@
1
+ /**
2
+ * Error Documentation
3
+ *
4
+ * Comprehensive documentation for all MCP error codes including:
5
+ * - Description of what the error means
6
+ * - Common causes
7
+ * - Recommended solutions
8
+ * - Examples
9
+ */
10
+ import { MCPErrorCode } from "./types.js";
11
+ /**
12
+ * Complete error documentation map
13
+ */
14
+ export const ERROR_DOCUMENTATION = {
15
+ // Standard JSON-RPC 2.0 Errors
16
+ [MCPErrorCode.PARSE_ERROR]: {
17
+ name: "Parse Error",
18
+ description: "Invalid JSON was received by the server",
19
+ causes: [
20
+ "Malformed JSON in request",
21
+ "Invalid character encoding",
22
+ "Incomplete JSON structure",
23
+ ],
24
+ solutions: [
25
+ "Verify the request is valid JSON",
26
+ "Check for proper escaping of special characters",
27
+ "Ensure complete JSON structure with matching braces",
28
+ ],
29
+ examples: [
30
+ "Missing closing brace in JSON object",
31
+ "Unescaped quotes in string values",
32
+ ],
33
+ },
34
+ [MCPErrorCode.INVALID_REQUEST]: {
35
+ name: "Invalid Request",
36
+ description: "The JSON sent is not a valid Request object",
37
+ causes: [
38
+ "Missing required fields (jsonrpc, method)",
39
+ "Invalid jsonrpc version",
40
+ "Invalid method name format",
41
+ ],
42
+ solutions: [
43
+ "Include 'jsonrpc': '2.0' in request",
44
+ "Provide valid 'method' field",
45
+ "Ensure request structure matches JSON-RPC 2.0 spec",
46
+ ],
47
+ examples: [
48
+ "Request missing 'method' field",
49
+ "jsonrpc field set to '1.0' instead of '2.0'",
50
+ ],
51
+ },
52
+ [MCPErrorCode.METHOD_NOT_FOUND]: {
53
+ name: "Method Not Found",
54
+ description: "The requested method does not exist or is not available",
55
+ causes: [
56
+ "Misspelled tool name",
57
+ "Tool not registered",
58
+ "Tool disabled or deprecated",
59
+ ],
60
+ solutions: [
61
+ "Check the tool name spelling",
62
+ "List available tools to verify the tool exists",
63
+ "Update to use the current tool name if deprecated",
64
+ ],
65
+ examples: [
66
+ "Called 'timeentry_creates' instead of 'timeentry_create'",
67
+ "Attempting to use a deprecated tool",
68
+ ],
69
+ },
70
+ [MCPErrorCode.INVALID_PARAMS]: {
71
+ name: "Invalid Parameters",
72
+ description: "Invalid method parameters provided",
73
+ causes: [
74
+ "Missing required parameters",
75
+ "Invalid parameter types",
76
+ "Parameters outside valid ranges",
77
+ "Malformed parameter structure",
78
+ ],
79
+ solutions: [
80
+ "Check all required parameters are provided",
81
+ "Verify parameter types match the schema",
82
+ "Ensure values are within valid ranges",
83
+ "Review parameter format requirements",
84
+ ],
85
+ examples: [
86
+ "Missing required 'account_id' parameter",
87
+ "Provided string instead of number for 'duration'",
88
+ "Date in wrong format (use ISO 8601)",
89
+ ],
90
+ },
91
+ [MCPErrorCode.INTERNAL_ERROR]: {
92
+ name: "Internal Error",
93
+ description: "Internal server error occurred",
94
+ causes: [
95
+ "Unexpected exception in server code",
96
+ "Unhandled error condition",
97
+ "System resource issues",
98
+ ],
99
+ solutions: [
100
+ "Retry the operation",
101
+ "Check server logs for details",
102
+ "Report the issue if it persists",
103
+ ],
104
+ examples: [
105
+ "Unexpected null pointer",
106
+ "Database connection failed",
107
+ ],
108
+ },
109
+ // Custom Application Errors
110
+ [MCPErrorCode.NOT_AUTHENTICATED]: {
111
+ name: "Not Authenticated",
112
+ description: "No valid authentication found or session expired",
113
+ causes: [
114
+ "Never authenticated with FreshBooks",
115
+ "Access token expired (typically after 12 hours)",
116
+ "Tokens were revoked by user",
117
+ "Invalid or corrupted token storage",
118
+ ],
119
+ solutions: [
120
+ "Call auth_get_url to start authentication flow",
121
+ "Visit the authorization URL and approve access",
122
+ "Exchange the authorization code using auth_exchange_code",
123
+ "Call auth_refresh if you have a valid refresh token",
124
+ ],
125
+ examples: [
126
+ "First time using the server - need to authenticate",
127
+ "Access token expired after 12 hours",
128
+ "User revoked access in FreshBooks settings",
129
+ ],
130
+ },
131
+ [MCPErrorCode.TOKEN_EXPIRED]: {
132
+ name: "Token Expired",
133
+ description: "The access token has expired and needs to be refreshed",
134
+ causes: [
135
+ "Token lifetime exceeded (usually 12 hours for FreshBooks)",
136
+ "Server clock skew",
137
+ "Server invalidated the token",
138
+ ],
139
+ solutions: [
140
+ "Call auth_refresh to get a new access token",
141
+ "Re-authenticate if refresh fails",
142
+ "Check system clock is accurate",
143
+ ],
144
+ examples: [
145
+ "Token issued 13 hours ago",
146
+ "Token manually invalidated by FreshBooks",
147
+ ],
148
+ },
149
+ [MCPErrorCode.PERMISSION_DENIED]: {
150
+ name: "Permission Denied",
151
+ description: "You don't have permission to access this resource",
152
+ causes: [
153
+ "Insufficient role/permissions in FreshBooks account",
154
+ "Resource belongs to another account",
155
+ "Feature not enabled for your FreshBooks plan",
156
+ "Attempting to modify read-only resource",
157
+ ],
158
+ solutions: [
159
+ "Verify you're using the correct account",
160
+ "Contact your FreshBooks administrator for access",
161
+ "Upgrade your FreshBooks plan if needed",
162
+ "Check the resource belongs to your account",
163
+ ],
164
+ examples: [
165
+ "Regular user trying to delete someone else's time entry",
166
+ "Accessing feature not included in current plan",
167
+ "Trying to modify archived/locked resource",
168
+ ],
169
+ },
170
+ [MCPErrorCode.RATE_LIMITED]: {
171
+ name: "Rate Limited",
172
+ description: "Too many requests in a short period",
173
+ causes: [
174
+ "Exceeded API rate limits (varies by endpoint)",
175
+ "Burst of requests sent too quickly",
176
+ "Shared IP address limit reached",
177
+ ],
178
+ solutions: [
179
+ "Wait before making more requests (check retryAfter)",
180
+ "Implement exponential backoff for retries",
181
+ "Reduce request frequency",
182
+ "Batch operations when possible",
183
+ ],
184
+ examples: [
185
+ "Sent 100 requests in 1 second",
186
+ "Multiple users on same IP hitting limits",
187
+ ],
188
+ },
189
+ [MCPErrorCode.RESOURCE_NOT_FOUND]: {
190
+ name: "Resource Not Found",
191
+ description: "The requested resource doesn't exist",
192
+ causes: [
193
+ "Invalid ID provided",
194
+ "Resource was deleted",
195
+ "Resource is in a different account",
196
+ "Typo in resource identifier",
197
+ ],
198
+ solutions: [
199
+ "Verify the ID is correct",
200
+ "List resources to find valid IDs",
201
+ "Check you're using the correct account",
202
+ "Confirm resource wasn't deleted",
203
+ ],
204
+ examples: [
205
+ "TimeEntry with id 99999 not found",
206
+ "Project deleted before update attempted",
207
+ "Looking for resource in wrong account",
208
+ ],
209
+ },
210
+ [MCPErrorCode.VALIDATION_ERROR]: {
211
+ name: "Validation Error",
212
+ description: "The input data failed validation",
213
+ causes: [
214
+ "Missing required fields",
215
+ "Invalid field values",
216
+ "Format errors (dates, emails, numbers)",
217
+ "Business rule violations",
218
+ "Field value out of acceptable range",
219
+ ],
220
+ solutions: [
221
+ "Check all required fields are provided",
222
+ "Verify field formats (dates in ISO 8601, etc.)",
223
+ "Review validation error details for specific field",
224
+ "Ensure values meet business rules",
225
+ ],
226
+ examples: [
227
+ "Missing required 'description' field",
228
+ "Date format is MM/DD/YYYY instead of ISO 8601",
229
+ "Duration is negative",
230
+ "Email address format invalid",
231
+ ],
232
+ },
233
+ [MCPErrorCode.CONFLICT]: {
234
+ name: "Conflict",
235
+ description: "The operation conflicts with existing data",
236
+ causes: [
237
+ "Duplicate entry (unique constraint violation)",
238
+ "Concurrent modification detected",
239
+ "Business rule violation",
240
+ "Resource state incompatible with operation",
241
+ ],
242
+ solutions: [
243
+ "Check for existing similar resources",
244
+ "Use update instead of create",
245
+ "Resolve the conflict manually",
246
+ "Fetch latest version and retry",
247
+ ],
248
+ examples: [
249
+ "Client with same email already exists",
250
+ "Invoice number already used",
251
+ "Resource modified by another user",
252
+ "Trying to delete resource with dependencies",
253
+ ],
254
+ },
255
+ [MCPErrorCode.SERVICE_UNAVAILABLE]: {
256
+ name: "Service Unavailable",
257
+ description: "The FreshBooks service is temporarily unavailable",
258
+ causes: [
259
+ "FreshBooks API is down for maintenance",
260
+ "Network connectivity issues",
261
+ "Request timeout",
262
+ "Service overloaded",
263
+ ],
264
+ solutions: [
265
+ "Wait and retry the operation",
266
+ "Check FreshBooks status page",
267
+ "Verify internet connection",
268
+ "Implement exponential backoff",
269
+ ],
270
+ examples: [
271
+ "Scheduled maintenance window",
272
+ "Network timeout after 30 seconds",
273
+ "FreshBooks experiencing high load",
274
+ ],
275
+ },
276
+ [MCPErrorCode.NETWORK_ERROR]: {
277
+ name: "Network Error",
278
+ description: "A network communication error occurred",
279
+ causes: [
280
+ "No internet connection",
281
+ "DNS resolution failed",
282
+ "Connection refused by server",
283
+ "Network unreachable",
284
+ ],
285
+ solutions: [
286
+ "Check your internet connection",
287
+ "Verify DNS settings",
288
+ "Try again later",
289
+ "Check if FreshBooks is accessible from your network",
290
+ ],
291
+ examples: [
292
+ "ECONNREFUSED when server is down",
293
+ "ENOTFOUND for DNS issues",
294
+ "ENETUNREACH for network problems",
295
+ ],
296
+ },
297
+ [MCPErrorCode.TIMEOUT]: {
298
+ name: "Timeout",
299
+ description: "The request timed out before receiving a response",
300
+ causes: [
301
+ "Server took too long to respond",
302
+ "Network latency issues",
303
+ "Large request payload",
304
+ "Server under heavy load",
305
+ ],
306
+ solutions: [
307
+ "Retry the request",
308
+ "Check network connectivity",
309
+ "Try with smaller request payload",
310
+ "Wait and try again later",
311
+ ],
312
+ examples: [
313
+ "Request exceeded 30 second timeout",
314
+ "Connection established but response never received",
315
+ ],
316
+ },
317
+ };
318
+ /**
319
+ * Get documentation for an error code
320
+ *
321
+ * @param code - MCP error code
322
+ * @returns Documentation for the error, or undefined if not found
323
+ */
324
+ export function getErrorDocumentation(code) {
325
+ return ERROR_DOCUMENTATION[code];
326
+ }
327
+ /**
328
+ * Get all error codes and their documentation
329
+ *
330
+ * @returns Map of all error codes to their documentation
331
+ */
332
+ export function getAllErrorDocumentation() {
333
+ return ERROR_DOCUMENTATION;
334
+ }
335
+ /**
336
+ * Search error documentation
337
+ *
338
+ * Search for errors by name, description, or causes.
339
+ *
340
+ * @param query - Search query
341
+ * @returns Matching error codes and documentation
342
+ */
343
+ export function searchErrorDocumentation(query) {
344
+ const results = [];
345
+ const lowerQuery = query.toLowerCase();
346
+ for (const [codeStr, doc] of Object.entries(ERROR_DOCUMENTATION)) {
347
+ const code = parseInt(codeStr);
348
+ // Search in name, description, causes, and solutions
349
+ const searchText = [
350
+ doc.name,
351
+ doc.description,
352
+ ...doc.causes,
353
+ ...doc.solutions,
354
+ ]
355
+ .join(" ")
356
+ .toLowerCase();
357
+ if (searchText.includes(lowerQuery)) {
358
+ results.push({ code, documentation: doc });
359
+ }
360
+ }
361
+ return results;
362
+ }
363
+ /**
364
+ * Format error documentation as markdown
365
+ *
366
+ * @param code - MCP error code
367
+ * @returns Markdown formatted documentation
368
+ */
369
+ export function formatErrorDocumentation(code) {
370
+ const doc = ERROR_DOCUMENTATION[code];
371
+ if (!doc) {
372
+ return `No documentation available for error code ${code}`;
373
+ }
374
+ const parts = [
375
+ `# ${doc.name} (${code})`,
376
+ "",
377
+ doc.description,
378
+ "",
379
+ "## Common Causes",
380
+ ...doc.causes.map((cause) => `- ${cause}`),
381
+ "",
382
+ "## Solutions",
383
+ ...doc.solutions.map((solution) => `- ${solution}`),
384
+ ];
385
+ if (doc.examples && doc.examples.length > 0) {
386
+ parts.push("", "## Examples", ...doc.examples.map((ex) => `- ${ex}`));
387
+ }
388
+ return parts.join("\n");
389
+ }
390
+ //# sourceMappingURL=documentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/errors/documentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * MCP and FreshBooks error code definitions
3
+ */
4
+ /**
5
+ * Standard JSON-RPC error codes used by MCP
6
+ */
7
+ export declare const MCP_ERROR_CODES: {
8
+ readonly PARSE_ERROR: -32700;
9
+ readonly INVALID_REQUEST: -32600;
10
+ readonly METHOD_NOT_FOUND: -32601;
11
+ readonly INVALID_PARAMS: -32602;
12
+ readonly INTERNAL_ERROR: -32603;
13
+ };
14
+ /**
15
+ * Custom error codes for FreshBooks MCP server
16
+ * Range: -32000 to -32099 (reserved for implementation-defined server errors)
17
+ */
18
+ export declare const FRESHBOOKS_ERROR_CODES: {
19
+ readonly AUTH_REQUIRED: -32000;
20
+ readonly AUTH_INVALID: -32001;
21
+ readonly AUTH_EXPIRED: -32002;
22
+ readonly AUTH_REFRESH_FAILED: -32003;
23
+ readonly API_ERROR: -32010;
24
+ readonly API_RATE_LIMIT: -32011;
25
+ readonly API_NOT_FOUND: -32012;
26
+ readonly API_VALIDATION: -32013;
27
+ readonly RESOURCE_NOT_FOUND: -32020;
28
+ readonly RESOURCE_CONFLICT: -32021;
29
+ readonly RESOURCE_INVALID: -32022;
30
+ readonly NETWORK_ERROR: -32030;
31
+ readonly TIMEOUT: -32031;
32
+ };
33
+ /**
34
+ * Error code to human-readable message mapping
35
+ */
36
+ export declare const ERROR_MESSAGES: Record<number, string>;
37
+ /**
38
+ * Determine if an error is recoverable (user can retry)
39
+ */
40
+ export declare function isRecoverable(code: number): boolean;
41
+ /**
42
+ * Get suggestion for error resolution
43
+ */
44
+ export declare function getSuggestion(code: number): string | undefined;
45
+ //# sourceMappingURL=error-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/errors/error-codes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;CAqBzB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4BjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc9D"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * MCP and FreshBooks error code definitions
3
+ */
4
+ /**
5
+ * Standard JSON-RPC error codes used by MCP
6
+ */
7
+ export const MCP_ERROR_CODES = {
8
+ PARSE_ERROR: -32700,
9
+ INVALID_REQUEST: -32600,
10
+ METHOD_NOT_FOUND: -32601,
11
+ INVALID_PARAMS: -32602,
12
+ INTERNAL_ERROR: -32603,
13
+ };
14
+ /**
15
+ * Custom error codes for FreshBooks MCP server
16
+ * Range: -32000 to -32099 (reserved for implementation-defined server errors)
17
+ */
18
+ export const FRESHBOOKS_ERROR_CODES = {
19
+ // Authentication errors (-32000 to -32009)
20
+ AUTH_REQUIRED: -32000,
21
+ AUTH_INVALID: -32001,
22
+ AUTH_EXPIRED: -32002,
23
+ AUTH_REFRESH_FAILED: -32003,
24
+ // API errors (-32010 to -32019)
25
+ API_ERROR: -32010,
26
+ API_RATE_LIMIT: -32011,
27
+ API_NOT_FOUND: -32012,
28
+ API_VALIDATION: -32013,
29
+ // Resource errors (-32020 to -32029)
30
+ RESOURCE_NOT_FOUND: -32020,
31
+ RESOURCE_CONFLICT: -32021,
32
+ RESOURCE_INVALID: -32022,
33
+ // Network errors (-32030 to -32039)
34
+ NETWORK_ERROR: -32030,
35
+ TIMEOUT: -32031,
36
+ };
37
+ /**
38
+ * Error code to human-readable message mapping
39
+ */
40
+ export const ERROR_MESSAGES = {
41
+ // Standard JSON-RPC
42
+ [MCP_ERROR_CODES.PARSE_ERROR]: 'Invalid JSON was received',
43
+ [MCP_ERROR_CODES.INVALID_REQUEST]: 'The JSON sent is not a valid request',
44
+ [MCP_ERROR_CODES.METHOD_NOT_FOUND]: 'The method does not exist or is not available',
45
+ [MCP_ERROR_CODES.INVALID_PARAMS]: 'Invalid method parameters',
46
+ [MCP_ERROR_CODES.INTERNAL_ERROR]: 'Internal server error',
47
+ // Authentication
48
+ [FRESHBOOKS_ERROR_CODES.AUTH_REQUIRED]: 'Authentication required',
49
+ [FRESHBOOKS_ERROR_CODES.AUTH_INVALID]: 'Invalid authentication credentials',
50
+ [FRESHBOOKS_ERROR_CODES.AUTH_EXPIRED]: 'Authentication token expired',
51
+ [FRESHBOOKS_ERROR_CODES.AUTH_REFRESH_FAILED]: 'Failed to refresh authentication token',
52
+ // API
53
+ [FRESHBOOKS_ERROR_CODES.API_ERROR]: 'FreshBooks API error',
54
+ [FRESHBOOKS_ERROR_CODES.API_RATE_LIMIT]: 'API rate limit exceeded',
55
+ [FRESHBOOKS_ERROR_CODES.API_NOT_FOUND]: 'Resource not found in FreshBooks',
56
+ [FRESHBOOKS_ERROR_CODES.API_VALIDATION]: 'Validation error from FreshBooks API',
57
+ // Resources
58
+ [FRESHBOOKS_ERROR_CODES.RESOURCE_NOT_FOUND]: 'Requested resource not found',
59
+ [FRESHBOOKS_ERROR_CODES.RESOURCE_CONFLICT]: 'Resource conflict',
60
+ [FRESHBOOKS_ERROR_CODES.RESOURCE_INVALID]: 'Invalid resource data',
61
+ // Network
62
+ [FRESHBOOKS_ERROR_CODES.NETWORK_ERROR]: 'Network communication error',
63
+ [FRESHBOOKS_ERROR_CODES.TIMEOUT]: 'Request timeout',
64
+ };
65
+ /**
66
+ * Determine if an error is recoverable (user can retry)
67
+ */
68
+ export function isRecoverable(code) {
69
+ const recoverableCodes = [
70
+ FRESHBOOKS_ERROR_CODES.AUTH_EXPIRED,
71
+ FRESHBOOKS_ERROR_CODES.API_RATE_LIMIT,
72
+ FRESHBOOKS_ERROR_CODES.NETWORK_ERROR,
73
+ FRESHBOOKS_ERROR_CODES.TIMEOUT,
74
+ ];
75
+ return recoverableCodes.includes(code);
76
+ }
77
+ /**
78
+ * Get suggestion for error resolution
79
+ */
80
+ export function getSuggestion(code) {
81
+ const suggestions = {
82
+ [FRESHBOOKS_ERROR_CODES.AUTH_REQUIRED]: 'Call auth_get_url to start authentication',
83
+ [FRESHBOOKS_ERROR_CODES.AUTH_INVALID]: 'Re-authenticate using auth_get_url',
84
+ [FRESHBOOKS_ERROR_CODES.AUTH_EXPIRED]: 'Token will be automatically refreshed, please retry',
85
+ [FRESHBOOKS_ERROR_CODES.AUTH_REFRESH_FAILED]: 'Re-authenticate using auth_get_url',
86
+ [FRESHBOOKS_ERROR_CODES.API_RATE_LIMIT]: 'Wait a moment and retry the request',
87
+ [FRESHBOOKS_ERROR_CODES.API_NOT_FOUND]: 'Verify the resource ID and account ID are correct',
88
+ [FRESHBOOKS_ERROR_CODES.API_VALIDATION]: 'Check the input parameters and try again',
89
+ [FRESHBOOKS_ERROR_CODES.NETWORK_ERROR]: 'Check network connection and retry',
90
+ [FRESHBOOKS_ERROR_CODES.TIMEOUT]: 'Retry the request',
91
+ };
92
+ return suggestions[code];
93
+ }
94
+ //# sourceMappingURL=error-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/errors/error-codes.ts"],"names":[],"mappings":"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"}