@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.
- package/LICENSE +21 -0
- package/README.md +357 -0
- package/dist/auth/config.d.ts +57 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +118 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/index.d.ts +47 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +46 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/oauth.d.ts +93 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/auth/oauth.js +279 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/auth/token-store.d.ts +80 -0
- package/dist/auth/token-store.d.ts.map +1 -0
- package/dist/auth/token-store.js +204 -0
- package/dist/auth/token-store.js.map +1 -0
- package/dist/auth/types.d.ts +76 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +20 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/client/freshbooks-client.d.ts +99 -0
- package/dist/client/freshbooks-client.d.ts.map +1 -0
- package/dist/client/freshbooks-client.js +283 -0
- package/dist/client/freshbooks-client.js.map +1 -0
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +5 -0
- package/dist/client/index.js.map +1 -0
- package/dist/config/index.d.ts +17 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +81 -0
- package/dist/config/index.js.map +1 -0
- package/dist/errors/documentation.d.ts +57 -0
- package/dist/errors/documentation.d.ts.map +1 -0
- package/dist/errors/documentation.js +390 -0
- package/dist/errors/documentation.js.map +1 -0
- package/dist/errors/error-codes.d.ts +45 -0
- package/dist/errors/error-codes.d.ts.map +1 -0
- package/dist/errors/error-codes.js +94 -0
- package/dist/errors/error-codes.js.map +1 -0
- package/dist/errors/error-handler.d.ts +127 -0
- package/dist/errors/error-handler.d.ts.map +1 -0
- package/dist/errors/error-handler.js +283 -0
- package/dist/errors/error-handler.js.map +1 -0
- package/dist/errors/error-mapper.d.ts +68 -0
- package/dist/errors/error-mapper.d.ts.map +1 -0
- package/dist/errors/error-mapper.js +449 -0
- package/dist/errors/error-mapper.js.map +1 -0
- package/dist/errors/index.d.ts +37 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +41 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/response-formatter.d.ts +109 -0
- package/dist/errors/response-formatter.d.ts.map +1 -0
- package/dist/errors/response-formatter.js +232 -0
- package/dist/errors/response-formatter.js.map +1 -0
- package/dist/errors/types.d.ts +194 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +134 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/server.d.ts +10 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +263 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/base-tool.d.ts +146 -0
- package/dist/tools/base-tool.d.ts.map +1 -0
- package/dist/tools/base-tool.js +161 -0
- package/dist/tools/base-tool.js.map +1 -0
- package/dist/tools/bill/bill-archive.d.ts +40 -0
- package/dist/tools/bill/bill-archive.d.ts.map +1 -0
- package/dist/tools/bill/bill-archive.js +68 -0
- package/dist/tools/bill/bill-archive.js.map +1 -0
- package/dist/tools/bill/bill-create.d.ts +178 -0
- package/dist/tools/bill/bill-create.d.ts.map +1 -0
- package/dist/tools/bill/bill-create.js +70 -0
- package/dist/tools/bill/bill-create.js.map +1 -0
- package/dist/tools/bill/bill-delete.d.ts +40 -0
- package/dist/tools/bill/bill-delete.d.ts.map +1 -0
- package/dist/tools/bill/bill-delete.js +67 -0
- package/dist/tools/bill/bill-delete.js.map +1 -0
- package/dist/tools/bill/bill-list.d.ts +249 -0
- package/dist/tools/bill/bill-list.d.ts.map +1 -0
- package/dist/tools/bill/bill-list.js +114 -0
- package/dist/tools/bill/bill-list.js.map +1 -0
- package/dist/tools/bill/bill-single.d.ts +142 -0
- package/dist/tools/bill/bill-single.d.ts.map +1 -0
- package/dist/tools/bill/bill-single.js +62 -0
- package/dist/tools/bill/bill-single.js.map +1 -0
- package/dist/tools/bill/index.d.ts +11 -0
- package/dist/tools/bill/index.d.ts.map +1 -0
- package/dist/tools/bill/index.js +13 -0
- package/dist/tools/bill/index.js.map +1 -0
- package/dist/tools/bill/schemas.d.ts +609 -0
- package/dist/tools/bill/schemas.d.ts.map +1 -0
- package/dist/tools/bill/schemas.js +124 -0
- package/dist/tools/bill/schemas.js.map +1 -0
- package/dist/tools/bill-payment/billpayment-create.d.ts +103 -0
- package/dist/tools/bill-payment/billpayment-create.d.ts.map +1 -0
- package/dist/tools/bill-payment/billpayment-create.js +67 -0
- package/dist/tools/bill-payment/billpayment-create.js.map +1 -0
- package/dist/tools/bill-payment/billpayment-delete.d.ts +40 -0
- package/dist/tools/bill-payment/billpayment-delete.d.ts.map +1 -0
- package/dist/tools/bill-payment/billpayment-delete.js +67 -0
- package/dist/tools/bill-payment/billpayment-delete.js.map +1 -0
- package/dist/tools/bill-payment/billpayment-list.d.ts +148 -0
- package/dist/tools/bill-payment/billpayment-list.d.ts.map +1 -0
- package/dist/tools/bill-payment/billpayment-list.js +111 -0
- package/dist/tools/bill-payment/billpayment-list.js.map +1 -0
- package/dist/tools/bill-payment/billpayment-single.d.ts +76 -0
- package/dist/tools/bill-payment/billpayment-single.d.ts.map +1 -0
- package/dist/tools/bill-payment/billpayment-single.js +62 -0
- package/dist/tools/bill-payment/billpayment-single.js.map +1 -0
- package/dist/tools/bill-payment/billpayment-update.d.ts +103 -0
- package/dist/tools/bill-payment/billpayment-update.d.ts.map +1 -0
- package/dist/tools/bill-payment/billpayment-update.js +67 -0
- package/dist/tools/bill-payment/billpayment-update.js.map +1 -0
- package/dist/tools/bill-payment/index.d.ts +11 -0
- package/dist/tools/bill-payment/index.d.ts.map +1 -0
- package/dist/tools/bill-payment/index.js +13 -0
- package/dist/tools/bill-payment/index.js.map +1 -0
- package/dist/tools/bill-payment/schemas.d.ts +381 -0
- package/dist/tools/bill-payment/schemas.d.ts.map +1 -0
- package/dist/tools/bill-payment/schemas.js +113 -0
- package/dist/tools/bill-payment/schemas.js.map +1 -0
- package/dist/tools/bill-vendor/billvendor-create.d.ts +139 -0
- package/dist/tools/bill-vendor/billvendor-create.d.ts.map +1 -0
- package/dist/tools/bill-vendor/billvendor-create.js +72 -0
- package/dist/tools/bill-vendor/billvendor-create.js.map +1 -0
- package/dist/tools/bill-vendor/billvendor-delete.d.ts +40 -0
- package/dist/tools/bill-vendor/billvendor-delete.d.ts.map +1 -0
- package/dist/tools/bill-vendor/billvendor-delete.js +67 -0
- package/dist/tools/bill-vendor/billvendor-delete.js.map +1 -0
- package/dist/tools/bill-vendor/billvendor-list.d.ts +179 -0
- package/dist/tools/bill-vendor/billvendor-list.d.ts.map +1 -0
- package/dist/tools/bill-vendor/billvendor-list.js +109 -0
- package/dist/tools/bill-vendor/billvendor-list.js.map +1 -0
- package/dist/tools/bill-vendor/billvendor-single.d.ts +94 -0
- package/dist/tools/bill-vendor/billvendor-single.d.ts.map +1 -0
- package/dist/tools/bill-vendor/billvendor-single.js +62 -0
- package/dist/tools/bill-vendor/billvendor-single.js.map +1 -0
- package/dist/tools/bill-vendor/billvendor-update.d.ts +142 -0
- package/dist/tools/bill-vendor/billvendor-update.d.ts.map +1 -0
- package/dist/tools/bill-vendor/billvendor-update.js +72 -0
- package/dist/tools/bill-vendor/billvendor-update.js.map +1 -0
- package/dist/tools/bill-vendor/index.d.ts +11 -0
- package/dist/tools/bill-vendor/index.d.ts.map +1 -0
- package/dist/tools/bill-vendor/index.js +13 -0
- package/dist/tools/bill-vendor/index.js.map +1 -0
- package/dist/tools/bill-vendor/schemas.d.ts +483 -0
- package/dist/tools/bill-vendor/schemas.d.ts.map +1 -0
- package/dist/tools/bill-vendor/schemas.js +136 -0
- package/dist/tools/bill-vendor/schemas.js.map +1 -0
- package/dist/tools/callback/callback-create.d.ts +52 -0
- package/dist/tools/callback/callback-create.d.ts.map +1 -0
- package/dist/tools/callback/callback-create.js +73 -0
- package/dist/tools/callback/callback-create.js.map +1 -0
- package/dist/tools/callback/callback-delete.d.ts +37 -0
- package/dist/tools/callback/callback-delete.d.ts.map +1 -0
- package/dist/tools/callback/callback-delete.js +57 -0
- package/dist/tools/callback/callback-delete.js.map +1 -0
- package/dist/tools/callback/callback-list.d.ts +100 -0
- package/dist/tools/callback/callback-list.d.ts.map +1 -0
- package/dist/tools/callback/callback-list.js +84 -0
- package/dist/tools/callback/callback-list.js.map +1 -0
- package/dist/tools/callback/callback-resend-verification.d.ts +49 -0
- package/dist/tools/callback/callback-resend-verification.d.ts.map +1 -0
- package/dist/tools/callback/callback-resend-verification.js +63 -0
- package/dist/tools/callback/callback-resend-verification.js.map +1 -0
- package/dist/tools/callback/callback-single.d.ts +49 -0
- package/dist/tools/callback/callback-single.d.ts.map +1 -0
- package/dist/tools/callback/callback-single.js +53 -0
- package/dist/tools/callback/callback-single.js.map +1 -0
- package/dist/tools/callback/callback-update.d.ts +55 -0
- package/dist/tools/callback/callback-update.d.ts.map +1 -0
- package/dist/tools/callback/callback-update.js +62 -0
- package/dist/tools/callback/callback-update.js.map +1 -0
- package/dist/tools/callback/callback-verify.d.ts +43 -0
- package/dist/tools/callback/callback-verify.d.ts.map +1 -0
- package/dist/tools/callback/callback-verify.js +69 -0
- package/dist/tools/callback/callback-verify.js.map +1 -0
- package/dist/tools/callback/index.d.ts +13 -0
- package/dist/tools/callback/index.d.ts.map +1 -0
- package/dist/tools/callback/index.js +15 -0
- package/dist/tools/callback/index.js.map +1 -0
- package/dist/tools/callback/schemas.d.ts +284 -0
- package/dist/tools/callback/schemas.d.ts.map +1 -0
- package/dist/tools/callback/schemas.js +114 -0
- package/dist/tools/callback/schemas.js.map +1 -0
- package/dist/tools/client/client-create.d.ts +211 -0
- package/dist/tools/client/client-create.d.ts.map +1 -0
- package/dist/tools/client/client-create.js +147 -0
- package/dist/tools/client/client-create.js.map +1 -0
- package/dist/tools/client/client-delete.d.ts +40 -0
- package/dist/tools/client/client-delete.d.ts.map +1 -0
- package/dist/tools/client/client-delete.js +73 -0
- package/dist/tools/client/client-delete.js.map +1 -0
- package/dist/tools/client/client-list.d.ts +264 -0
- package/dist/tools/client/client-list.d.ts.map +1 -0
- package/dist/tools/client/client-list.js +131 -0
- package/dist/tools/client/client-list.js.map +1 -0
- package/dist/tools/client/client-single.d.ts +133 -0
- package/dist/tools/client/client-single.d.ts.map +1 -0
- package/dist/tools/client/client-single.js +67 -0
- package/dist/tools/client/client-single.js.map +1 -0
- package/dist/tools/client/client-update.d.ts +217 -0
- package/dist/tools/client/client-update.d.ts.map +1 -0
- package/dist/tools/client/client-update.js +146 -0
- package/dist/tools/client/client-update.js.map +1 -0
- package/dist/tools/client/index.d.ts +11 -0
- package/dist/tools/client/index.d.ts.map +1 -0
- package/dist/tools/client/index.js +13 -0
- package/dist/tools/client/index.js.map +1 -0
- package/dist/tools/client/schemas.d.ts +759 -0
- package/dist/tools/client/schemas.d.ts.map +1 -0
- package/dist/tools/client/schemas.js +241 -0
- package/dist/tools/client/schemas.js.map +1 -0
- package/dist/tools/credit-note/creditnote-create.d.ts +448 -0
- package/dist/tools/credit-note/creditnote-create.d.ts.map +1 -0
- package/dist/tools/credit-note/creditnote-create.js +88 -0
- package/dist/tools/credit-note/creditnote-create.js.map +1 -0
- package/dist/tools/credit-note/creditnote-delete.d.ts +37 -0
- package/dist/tools/credit-note/creditnote-delete.d.ts.map +1 -0
- package/dist/tools/credit-note/creditnote-delete.js +57 -0
- package/dist/tools/credit-note/creditnote-delete.js.map +1 -0
- package/dist/tools/credit-note/creditnote-list.d.ts +627 -0
- package/dist/tools/credit-note/creditnote-list.d.ts.map +1 -0
- package/dist/tools/credit-note/creditnote-list.js +106 -0
- package/dist/tools/credit-note/creditnote-list.js.map +1 -0
- package/dist/tools/credit-note/creditnote-single.d.ts +358 -0
- package/dist/tools/credit-note/creditnote-single.d.ts.map +1 -0
- package/dist/tools/credit-note/creditnote-single.js +60 -0
- package/dist/tools/credit-note/creditnote-single.js.map +1 -0
- package/dist/tools/credit-note/creditnote-update.d.ts +442 -0
- package/dist/tools/credit-note/creditnote-update.d.ts.map +1 -0
- package/dist/tools/credit-note/creditnote-update.js +82 -0
- package/dist/tools/credit-note/creditnote-update.js.map +1 -0
- package/dist/tools/credit-note/index.d.ts +11 -0
- package/dist/tools/credit-note/index.d.ts.map +1 -0
- package/dist/tools/credit-note/index.js +13 -0
- package/dist/tools/credit-note/index.js.map +1 -0
- package/dist/tools/credit-note/schemas.d.ts +1599 -0
- package/dist/tools/credit-note/schemas.d.ts.map +1 -0
- package/dist/tools/credit-note/schemas.js +196 -0
- package/dist/tools/credit-note/schemas.js.map +1 -0
- package/dist/tools/expense/expense-create.d.ts +196 -0
- package/dist/tools/expense/expense-create.d.ts.map +1 -0
- package/dist/tools/expense/expense-create.js +103 -0
- package/dist/tools/expense/expense-create.js.map +1 -0
- package/dist/tools/expense/expense-delete.d.ts +40 -0
- package/dist/tools/expense/expense-delete.d.ts.map +1 -0
- package/dist/tools/expense/expense-delete.js +73 -0
- package/dist/tools/expense/expense-delete.js.map +1 -0
- package/dist/tools/expense/expense-list.d.ts +264 -0
- package/dist/tools/expense/expense-list.d.ts.map +1 -0
- package/dist/tools/expense/expense-list.js +126 -0
- package/dist/tools/expense/expense-list.js.map +1 -0
- package/dist/tools/expense/expense-single.d.ts +145 -0
- package/dist/tools/expense/expense-single.d.ts.map +1 -0
- package/dist/tools/expense/expense-single.js +63 -0
- package/dist/tools/expense/expense-single.js.map +1 -0
- package/dist/tools/expense/expense-update.d.ts +199 -0
- package/dist/tools/expense/expense-update.d.ts.map +1 -0
- package/dist/tools/expense/expense-update.js +108 -0
- package/dist/tools/expense/expense-update.js.map +1 -0
- package/dist/tools/expense/index.d.ts +11 -0
- package/dist/tools/expense/index.d.ts.map +1 -0
- package/dist/tools/expense/index.js +13 -0
- package/dist/tools/expense/index.js.map +1 -0
- package/dist/tools/expense/schemas.d.ts +667 -0
- package/dist/tools/expense/schemas.d.ts.map +1 -0
- package/dist/tools/expense/schemas.js +142 -0
- package/dist/tools/expense/schemas.js.map +1 -0
- package/dist/tools/expense-category/expensecategory-list.d.ts +113 -0
- package/dist/tools/expense-category/expensecategory-list.d.ts.map +1 -0
- package/dist/tools/expense-category/expensecategory-list.js +113 -0
- package/dist/tools/expense-category/expensecategory-list.js.map +1 -0
- package/dist/tools/expense-category/expensecategory-single.d.ts +58 -0
- package/dist/tools/expense-category/expensecategory-single.d.ts.map +1 -0
- package/dist/tools/expense-category/expensecategory-single.js +66 -0
- package/dist/tools/expense-category/expensecategory-single.js.map +1 -0
- package/dist/tools/expense-category/index.d.ts +9 -0
- package/dist/tools/expense-category/index.d.ts.map +1 -0
- package/dist/tools/expense-category/index.js +11 -0
- package/dist/tools/expense-category/index.js.map +1 -0
- package/dist/tools/expense-category/schemas.d.ts +184 -0
- package/dist/tools/expense-category/schemas.d.ts.map +1 -0
- package/dist/tools/expense-category/schemas.js +58 -0
- package/dist/tools/expense-category/schemas.js.map +1 -0
- package/dist/tools/index.d.ts +53 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +98 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/invoice/index.d.ts +12 -0
- package/dist/tools/invoice/index.d.ts.map +1 -0
- package/dist/tools/invoice/index.js +14 -0
- package/dist/tools/invoice/index.js.map +1 -0
- package/dist/tools/invoice/invoice-create.d.ts +367 -0
- package/dist/tools/invoice/invoice-create.d.ts.map +1 -0
- package/dist/tools/invoice/invoice-create.js +115 -0
- package/dist/tools/invoice/invoice-create.js.map +1 -0
- package/dist/tools/invoice/invoice-delete.d.ts +40 -0
- package/dist/tools/invoice/invoice-delete.d.ts.map +1 -0
- package/dist/tools/invoice/invoice-delete.js +75 -0
- package/dist/tools/invoice/invoice-delete.js.map +1 -0
- package/dist/tools/invoice/invoice-list.d.ts +439 -0
- package/dist/tools/invoice/invoice-list.d.ts.map +1 -0
- package/dist/tools/invoice/invoice-list.js +126 -0
- package/dist/tools/invoice/invoice-list.js.map +1 -0
- package/dist/tools/invoice/invoice-share-link.d.ts +40 -0
- package/dist/tools/invoice/invoice-share-link.d.ts.map +1 -0
- package/dist/tools/invoice/invoice-share-link.js +89 -0
- package/dist/tools/invoice/invoice-share-link.js.map +1 -0
- package/dist/tools/invoice/invoice-single.d.ts +265 -0
- package/dist/tools/invoice/invoice-single.d.ts.map +1 -0
- package/dist/tools/invoice/invoice-single.js +66 -0
- package/dist/tools/invoice/invoice-single.js.map +1 -0
- package/dist/tools/invoice/invoice-update.d.ts +373 -0
- package/dist/tools/invoice/invoice-update.d.ts.map +1 -0
- package/dist/tools/invoice/invoice-update.js +122 -0
- package/dist/tools/invoice/invoice-update.js.map +1 -0
- package/dist/tools/invoice/schemas.d.ts +1414 -0
- package/dist/tools/invoice/schemas.d.ts.map +1 -0
- package/dist/tools/invoice/schemas.js +269 -0
- package/dist/tools/invoice/schemas.js.map +1 -0
- package/dist/tools/item/index.d.ts +10 -0
- package/dist/tools/item/index.d.ts.map +1 -0
- package/dist/tools/item/index.js +12 -0
- package/dist/tools/item/index.js.map +1 -0
- package/dist/tools/item/item-create.d.ts +136 -0
- package/dist/tools/item/item-create.d.ts.map +1 -0
- package/dist/tools/item/item-create.js +71 -0
- package/dist/tools/item/item-create.js.map +1 -0
- package/dist/tools/item/item-list.d.ts +178 -0
- package/dist/tools/item/item-list.d.ts.map +1 -0
- package/dist/tools/item/item-list.js +112 -0
- package/dist/tools/item/item-list.js.map +1 -0
- package/dist/tools/item/item-single.d.ts +94 -0
- package/dist/tools/item/item-single.d.ts.map +1 -0
- package/dist/tools/item/item-single.js +62 -0
- package/dist/tools/item/item-single.js.map +1 -0
- package/dist/tools/item/item-update.d.ts +139 -0
- package/dist/tools/item/item-update.d.ts.map +1 -0
- package/dist/tools/item/item-update.js +74 -0
- package/dist/tools/item/item-update.js.map +1 -0
- package/dist/tools/item/schemas.d.ts +454 -0
- package/dist/tools/item/schemas.d.ts.map +1 -0
- package/dist/tools/item/schemas.js +116 -0
- package/dist/tools/item/schemas.js.map +1 -0
- package/dist/tools/journal-entry/index.d.ts +7 -0
- package/dist/tools/journal-entry/index.d.ts.map +1 -0
- package/dist/tools/journal-entry/index.js +9 -0
- package/dist/tools/journal-entry/index.js.map +1 -0
- package/dist/tools/journal-entry/journalentry-create.d.ts +114 -0
- package/dist/tools/journal-entry/journalentry-create.d.ts.map +1 -0
- package/dist/tools/journal-entry/journalentry-create.js +98 -0
- package/dist/tools/journal-entry/journalentry-create.js.map +1 -0
- package/dist/tools/journal-entry/schemas.d.ts +182 -0
- package/dist/tools/journal-entry/schemas.d.ts.map +1 -0
- package/dist/tools/journal-entry/schemas.js +43 -0
- package/dist/tools/journal-entry/schemas.js.map +1 -0
- package/dist/tools/journal-entry-account/index.d.ts +7 -0
- package/dist/tools/journal-entry-account/index.d.ts.map +1 -0
- package/dist/tools/journal-entry-account/index.js +9 -0
- package/dist/tools/journal-entry-account/index.js.map +1 -0
- package/dist/tools/journal-entry-account/journalentryaccount-list.d.ts +190 -0
- package/dist/tools/journal-entry-account/journalentryaccount-list.d.ts.map +1 -0
- package/dist/tools/journal-entry-account/journalentryaccount-list.js +102 -0
- package/dist/tools/journal-entry-account/journalentryaccount-list.js.map +1 -0
- package/dist/tools/journal-entry-account/schemas.d.ts +344 -0
- package/dist/tools/journal-entry-account/schemas.d.ts.map +1 -0
- package/dist/tools/journal-entry-account/schemas.js +65 -0
- package/dist/tools/journal-entry-account/schemas.js.map +1 -0
- package/dist/tools/metadata.d.ts +49 -0
- package/dist/tools/metadata.d.ts.map +1 -0
- package/dist/tools/metadata.js +317 -0
- package/dist/tools/metadata.js.map +1 -0
- package/dist/tools/other-income/index.d.ts +11 -0
- package/dist/tools/other-income/index.d.ts.map +1 -0
- package/dist/tools/other-income/index.js +13 -0
- package/dist/tools/other-income/index.js.map +1 -0
- package/dist/tools/other-income/otherincome-create.d.ts +152 -0
- package/dist/tools/other-income/otherincome-create.d.ts.map +1 -0
- package/dist/tools/other-income/otherincome-create.js +89 -0
- package/dist/tools/other-income/otherincome-create.js.map +1 -0
- package/dist/tools/other-income/otherincome-delete.d.ts +37 -0
- package/dist/tools/other-income/otherincome-delete.d.ts.map +1 -0
- package/dist/tools/other-income/otherincome-delete.js +57 -0
- package/dist/tools/other-income/otherincome-delete.js.map +1 -0
- package/dist/tools/other-income/otherincome-list.d.ts +186 -0
- package/dist/tools/other-income/otherincome-list.d.ts.map +1 -0
- package/dist/tools/other-income/otherincome-list.js +107 -0
- package/dist/tools/other-income/otherincome-list.js.map +1 -0
- package/dist/tools/other-income/otherincome-single.d.ts +99 -0
- package/dist/tools/other-income/otherincome-single.d.ts.map +1 -0
- package/dist/tools/other-income/otherincome-single.js +53 -0
- package/dist/tools/other-income/otherincome-single.js.map +1 -0
- package/dist/tools/other-income/otherincome-update.d.ts +155 -0
- package/dist/tools/other-income/otherincome-update.d.ts.map +1 -0
- package/dist/tools/other-income/otherincome-update.js +84 -0
- package/dist/tools/other-income/otherincome-update.js.map +1 -0
- package/dist/tools/other-income/schemas.d.ts +510 -0
- package/dist/tools/other-income/schemas.d.ts.map +1 -0
- package/dist/tools/other-income/schemas.js +141 -0
- package/dist/tools/other-income/schemas.js.map +1 -0
- package/dist/tools/payment/index.d.ts +11 -0
- package/dist/tools/payment/index.d.ts.map +1 -0
- package/dist/tools/payment/index.js +13 -0
- package/dist/tools/payment/index.js.map +1 -0
- package/dist/tools/payment/payment-create.d.ts +127 -0
- package/dist/tools/payment/payment-create.d.ts.map +1 -0
- package/dist/tools/payment/payment-create.js +84 -0
- package/dist/tools/payment/payment-create.js.map +1 -0
- package/dist/tools/payment/payment-delete.d.ts +40 -0
- package/dist/tools/payment/payment-delete.d.ts.map +1 -0
- package/dist/tools/payment/payment-delete.js +67 -0
- package/dist/tools/payment/payment-delete.js.map +1 -0
- package/dist/tools/payment/payment-list.d.ts +186 -0
- package/dist/tools/payment/payment-list.d.ts.map +1 -0
- package/dist/tools/payment/payment-list.js +113 -0
- package/dist/tools/payment/payment-list.js.map +1 -0
- package/dist/tools/payment/payment-single.d.ts +97 -0
- package/dist/tools/payment/payment-single.d.ts.map +1 -0
- package/dist/tools/payment/payment-single.js +62 -0
- package/dist/tools/payment/payment-single.js.map +1 -0
- package/dist/tools/payment/payment-update.d.ts +124 -0
- package/dist/tools/payment/payment-update.d.ts.map +1 -0
- package/dist/tools/payment/payment-update.js +79 -0
- package/dist/tools/payment/payment-update.js.map +1 -0
- package/dist/tools/payment/schemas.d.ts +445 -0
- package/dist/tools/payment/schemas.d.ts.map +1 -0
- package/dist/tools/payment/schemas.js +126 -0
- package/dist/tools/payment/schemas.js.map +1 -0
- package/dist/tools/payment-options/index.d.ts +9 -0
- package/dist/tools/payment-options/index.d.ts.map +1 -0
- package/dist/tools/payment-options/index.js +11 -0
- package/dist/tools/payment-options/index.js.map +1 -0
- package/dist/tools/payment-options/paymentoptions-create.d.ts +91 -0
- package/dist/tools/payment-options/paymentoptions-create.d.ts.map +1 -0
- package/dist/tools/payment-options/paymentoptions-create.js +71 -0
- package/dist/tools/payment-options/paymentoptions-create.js.map +1 -0
- package/dist/tools/payment-options/paymentoptions-default.d.ts +43 -0
- package/dist/tools/payment-options/paymentoptions-default.d.ts.map +1 -0
- package/dist/tools/payment-options/paymentoptions-default.js +64 -0
- package/dist/tools/payment-options/paymentoptions-default.js.map +1 -0
- package/dist/tools/payment-options/paymentoptions-single.d.ts +76 -0
- package/dist/tools/payment-options/paymentoptions-single.d.ts.map +1 -0
- package/dist/tools/payment-options/paymentoptions-single.js +58 -0
- package/dist/tools/payment-options/paymentoptions-single.js.map +1 -0
- package/dist/tools/payment-options/schemas.d.ts +197 -0
- package/dist/tools/payment-options/schemas.d.ts.map +1 -0
- package/dist/tools/payment-options/schemas.js +69 -0
- package/dist/tools/payment-options/schemas.js.map +1 -0
- package/dist/tools/project/index.d.ts +11 -0
- package/dist/tools/project/index.d.ts.map +1 -0
- package/dist/tools/project/index.js +13 -0
- package/dist/tools/project/index.js.map +1 -0
- package/dist/tools/project/project-create.d.ts +142 -0
- package/dist/tools/project/project-create.d.ts.map +1 -0
- package/dist/tools/project/project-create.js +100 -0
- package/dist/tools/project/project-create.js.map +1 -0
- package/dist/tools/project/project-delete.d.ts +44 -0
- package/dist/tools/project/project-delete.d.ts.map +1 -0
- package/dist/tools/project/project-delete.js +80 -0
- package/dist/tools/project/project-delete.js.map +1 -0
- package/dist/tools/project/project-list.d.ts +227 -0
- package/dist/tools/project/project-list.d.ts.map +1 -0
- package/dist/tools/project/project-list.js +118 -0
- package/dist/tools/project/project-list.js.map +1 -0
- package/dist/tools/project/project-single.d.ts +115 -0
- package/dist/tools/project/project-single.d.ts.map +1 -0
- package/dist/tools/project/project-single.js +63 -0
- package/dist/tools/project/project-single.js.map +1 -0
- package/dist/tools/project/project-update.d.ts +151 -0
- package/dist/tools/project/project-update.d.ts.map +1 -0
- package/dist/tools/project/project-update.js +106 -0
- package/dist/tools/project/project-update.js.map +1 -0
- package/dist/tools/project/schemas.d.ts +588 -0
- package/dist/tools/project/schemas.d.ts.map +1 -0
- package/dist/tools/project/schemas.js +196 -0
- package/dist/tools/project/schemas.js.map +1 -0
- package/dist/tools/report/index.d.ts +9 -0
- package/dist/tools/report/index.d.ts.map +1 -0
- package/dist/tools/report/index.js +11 -0
- package/dist/tools/report/index.js.map +1 -0
- package/dist/tools/report/report-payments-collected.d.ts +118 -0
- package/dist/tools/report/report-payments-collected.d.ts.map +1 -0
- package/dist/tools/report/report-payments-collected.js +89 -0
- package/dist/tools/report/report-payments-collected.js.map +1 -0
- package/dist/tools/report/report-profit-loss.d.ts +139 -0
- package/dist/tools/report/report-profit-loss.d.ts.map +1 -0
- package/dist/tools/report/report-profit-loss.js +98 -0
- package/dist/tools/report/report-profit-loss.js.map +1 -0
- package/dist/tools/report/report-tax-summary.d.ts +155 -0
- package/dist/tools/report/report-tax-summary.d.ts.map +1 -0
- package/dist/tools/report/report-tax-summary.js +100 -0
- package/dist/tools/report/report-tax-summary.js.map +1 -0
- package/dist/tools/report/schemas.d.ts +859 -0
- package/dist/tools/report/schemas.d.ts.map +1 -0
- package/dist/tools/report/schemas.js +126 -0
- package/dist/tools/report/schemas.js.map +1 -0
- package/dist/tools/service/index.d.ts +12 -0
- package/dist/tools/service/index.d.ts.map +1 -0
- package/dist/tools/service/index.js +14 -0
- package/dist/tools/service/index.js.map +1 -0
- package/dist/tools/service/schemas.d.ts +159 -0
- package/dist/tools/service/schemas.d.ts.map +1 -0
- package/dist/tools/service/schemas.js +62 -0
- package/dist/tools/service/schemas.js.map +1 -0
- package/dist/tools/service/service-create.d.ts +52 -0
- package/dist/tools/service/service-create.d.ts.map +1 -0
- package/dist/tools/service/service-create.js +82 -0
- package/dist/tools/service/service-create.js.map +1 -0
- package/dist/tools/service/service-list.d.ts +119 -0
- package/dist/tools/service/service-list.d.ts.map +1 -0
- package/dist/tools/service/service-list.js +99 -0
- package/dist/tools/service/service-list.js.map +1 -0
- package/dist/tools/service/service-rate-get.d.ts +63 -0
- package/dist/tools/service/service-rate-get.d.ts.map +1 -0
- package/dist/tools/service/service-rate-get.js +66 -0
- package/dist/tools/service/service-rate-get.js.map +1 -0
- package/dist/tools/service/service-rate-set.d.ts +76 -0
- package/dist/tools/service/service-rate-set.d.ts.map +1 -0
- package/dist/tools/service/service-rate-set.js +91 -0
- package/dist/tools/service/service-rate-set.js.map +1 -0
- package/dist/tools/service/service-single.d.ts +45 -0
- package/dist/tools/service/service-single.d.ts.map +1 -0
- package/dist/tools/service/service-single.js +63 -0
- package/dist/tools/service/service-single.js.map +1 -0
- package/dist/tools/task/index.d.ts +12 -0
- package/dist/tools/task/index.d.ts.map +1 -0
- package/dist/tools/task/index.js +14 -0
- package/dist/tools/task/index.js.map +1 -0
- package/dist/tools/task/schemas.d.ts +299 -0
- package/dist/tools/task/schemas.d.ts.map +1 -0
- package/dist/tools/task/schemas.js +89 -0
- package/dist/tools/task/schemas.js.map +1 -0
- package/dist/tools/task/task-create.d.ts +101 -0
- package/dist/tools/task/task-create.d.ts.map +1 -0
- package/dist/tools/task/task-create.js +77 -0
- package/dist/tools/task/task-create.js.map +1 -0
- package/dist/tools/task/task-delete.d.ts +39 -0
- package/dist/tools/task/task-delete.d.ts.map +1 -0
- package/dist/tools/task/task-delete.js +70 -0
- package/dist/tools/task/task-delete.js.map +1 -0
- package/dist/tools/task/task-list.d.ts +157 -0
- package/dist/tools/task/task-list.d.ts.map +1 -0
- package/dist/tools/task/task-list.js +78 -0
- package/dist/tools/task/task-list.js.map +1 -0
- package/dist/tools/task/task-single.d.ts +77 -0
- package/dist/tools/task/task-single.d.ts.map +1 -0
- package/dist/tools/task/task-single.js +56 -0
- package/dist/tools/task/task-single.js.map +1 -0
- package/dist/tools/task/task-update.d.ts +107 -0
- package/dist/tools/task/task-update.d.ts.map +1 -0
- package/dist/tools/task/task-update.js +87 -0
- package/dist/tools/task/task-update.js.map +1 -0
- package/dist/tools/time-entry/index.d.ts +11 -0
- package/dist/tools/time-entry/index.d.ts.map +1 -0
- package/dist/tools/time-entry/index.js +11 -0
- package/dist/tools/time-entry/index.js.map +1 -0
- package/dist/tools/time-entry/schemas.d.ts +598 -0
- package/dist/tools/time-entry/schemas.d.ts.map +1 -0
- package/dist/tools/time-entry/schemas.js +217 -0
- package/dist/tools/time-entry/schemas.js.map +1 -0
- package/dist/tools/time-entry/timeentry-create.d.ts +142 -0
- package/dist/tools/time-entry/timeentry-create.d.ts.map +1 -0
- package/dist/tools/time-entry/timeentry-create.js +137 -0
- package/dist/tools/time-entry/timeentry-create.js.map +1 -0
- package/dist/tools/time-entry/timeentry-delete.d.ts +43 -0
- package/dist/tools/time-entry/timeentry-delete.d.ts.map +1 -0
- package/dist/tools/time-entry/timeentry-delete.js +93 -0
- package/dist/tools/time-entry/timeentry-delete.js.map +1 -0
- package/dist/tools/time-entry/timeentry-list.d.ts +232 -0
- package/dist/tools/time-entry/timeentry-list.d.ts.map +1 -0
- package/dist/tools/time-entry/timeentry-list.js +154 -0
- package/dist/tools/time-entry/timeentry-list.js.map +1 -0
- package/dist/tools/time-entry/timeentry-single.d.ts +109 -0
- package/dist/tools/time-entry/timeentry-single.d.ts.map +1 -0
- package/dist/tools/time-entry/timeentry-single.js +75 -0
- package/dist/tools/time-entry/timeentry-single.js.map +1 -0
- package/dist/tools/time-entry/timeentry-update.d.ts +145 -0
- package/dist/tools/time-entry/timeentry-update.d.ts.map +1 -0
- package/dist/tools/time-entry/timeentry-update.js +174 -0
- package/dist/tools/time-entry/timeentry-update.js.map +1 -0
- package/dist/tools/timer/index.d.ts +16 -0
- package/dist/tools/timer/index.d.ts.map +1 -0
- package/dist/tools/timer/index.js +19 -0
- package/dist/tools/timer/index.js.map +1 -0
- package/dist/tools/timer/schemas.d.ts +520 -0
- package/dist/tools/timer/schemas.d.ts.map +1 -0
- package/dist/tools/timer/schemas.js +109 -0
- package/dist/tools/timer/schemas.js.map +1 -0
- package/dist/tools/timer/timer-current.d.ts +170 -0
- package/dist/tools/timer/timer-current.d.ts.map +1 -0
- package/dist/tools/timer/timer-current.js +134 -0
- package/dist/tools/timer/timer-current.js.map +1 -0
- package/dist/tools/timer/timer-discard.d.ts +54 -0
- package/dist/tools/timer/timer-discard.d.ts.map +1 -0
- package/dist/tools/timer/timer-discard.js +115 -0
- package/dist/tools/timer/timer-discard.js.map +1 -0
- package/dist/tools/timer/timer-start.d.ts +135 -0
- package/dist/tools/timer/timer-start.d.ts.map +1 -0
- package/dist/tools/timer/timer-start.js +129 -0
- package/dist/tools/timer/timer-start.js.map +1 -0
- package/dist/tools/timer/timer-stop.d.ts +123 -0
- package/dist/tools/timer/timer-stop.d.ts.map +1 -0
- package/dist/tools/timer/timer-stop.js +165 -0
- package/dist/tools/timer/timer-stop.js.map +1 -0
- package/dist/tools/types.d.ts +49 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +61 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/user/index.d.ts +7 -0
- package/dist/tools/user/index.d.ts.map +1 -0
- package/dist/tools/user/index.js +9 -0
- package/dist/tools/user/index.js.map +1 -0
- package/dist/tools/user/schemas.d.ts +258 -0
- package/dist/tools/user/schemas.d.ts.map +1 -0
- package/dist/tools/user/schemas.js +51 -0
- package/dist/tools/user/schemas.js.map +1 -0
- package/dist/tools/user/user-me.d.ts +129 -0
- package/dist/tools/user/user-me.d.ts.map +1 -0
- package/dist/tools/user/user-me.js +63 -0
- package/dist/tools/user/user-me.js.map +1 -0
- package/dist/types/freshbooks.d.ts +276 -0
- package/dist/types/freshbooks.d.ts.map +1 -0
- package/dist/types/freshbooks.js +6 -0
- package/dist/types/freshbooks.js.map +1 -0
- package/dist/types/index.d.ts +92 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +54 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +133 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/pagination.d.ts +39 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +62 -0
- package/dist/utils/pagination.js.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service List Tool
|
|
3
|
+
*
|
|
4
|
+
* List billable services with pagination.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { ErrorHandler } from "../../errors/error-handler.js";
|
|
8
|
+
/**
|
|
9
|
+
* Input schema for service_list
|
|
10
|
+
*/
|
|
11
|
+
const ServiceListInputSchema = z.object({
|
|
12
|
+
businessId: z.number().int().positive().describe("FreshBooks business ID"),
|
|
13
|
+
page: z.number().int().positive().optional().describe("Page number (default: 1)"),
|
|
14
|
+
perPage: z
|
|
15
|
+
.number()
|
|
16
|
+
.int()
|
|
17
|
+
.positive()
|
|
18
|
+
.max(100)
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("Results per page (default: 30, max: 100)"),
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Output schema for service_list
|
|
24
|
+
*/
|
|
25
|
+
const ServiceListOutputSchema = z.object({
|
|
26
|
+
services: z.array(z.unknown()),
|
|
27
|
+
pagination: z.object({
|
|
28
|
+
page: z.number(),
|
|
29
|
+
pages: z.number(),
|
|
30
|
+
perPage: z.number(),
|
|
31
|
+
total: z.number(),
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Tool definition for service_list
|
|
36
|
+
*/
|
|
37
|
+
export const serviceListTool = {
|
|
38
|
+
name: "service_list",
|
|
39
|
+
description: `List billable services from FreshBooks.
|
|
40
|
+
|
|
41
|
+
WHEN TO USE:
|
|
42
|
+
- User wants to see available service types
|
|
43
|
+
- Need to find a service ID for time entry
|
|
44
|
+
- Browse billable service options
|
|
45
|
+
|
|
46
|
+
REQUIRED INFO:
|
|
47
|
+
- Business ID (FreshBooks business/account identifier)
|
|
48
|
+
|
|
49
|
+
OPTIONAL PARAMETERS:
|
|
50
|
+
- page: Page number for pagination (default: 1)
|
|
51
|
+
- perPage: Results per page (default: 30, max: 100)
|
|
52
|
+
|
|
53
|
+
RETURNS:
|
|
54
|
+
Array of services with:
|
|
55
|
+
- Service ID, name, billable status
|
|
56
|
+
- Pagination metadata for large result sets
|
|
57
|
+
|
|
58
|
+
EXAMPLE PROMPTS:
|
|
59
|
+
- "Show me all my services"
|
|
60
|
+
- "List billable service types"
|
|
61
|
+
- "What services can I assign to time entries?"
|
|
62
|
+
|
|
63
|
+
NOTE: Services are immutable once created. Archived services have visState=1 or 2.`,
|
|
64
|
+
inputSchema: ServiceListInputSchema,
|
|
65
|
+
outputSchema: ServiceListOutputSchema,
|
|
66
|
+
async execute(input, client) {
|
|
67
|
+
const handler = ErrorHandler.wrapHandler('service_list', async (input, _context) => {
|
|
68
|
+
const { businessId } = input;
|
|
69
|
+
const result = await client.executeWithRetry('service_list', async (fbClient) => {
|
|
70
|
+
// Note: services.list() only accepts businessId, no query builders
|
|
71
|
+
// Pagination parameters are ignored as the SDK doesn't support them for services
|
|
72
|
+
const response = await fbClient.services.list(businessId);
|
|
73
|
+
if (!response.ok) {
|
|
74
|
+
throw response.error;
|
|
75
|
+
}
|
|
76
|
+
return response.data;
|
|
77
|
+
});
|
|
78
|
+
// Extract data
|
|
79
|
+
const services = result.services || [];
|
|
80
|
+
const paginationData = result.pages || {
|
|
81
|
+
page: 1,
|
|
82
|
+
pages: 1,
|
|
83
|
+
total: services.length,
|
|
84
|
+
per_page: 30,
|
|
85
|
+
};
|
|
86
|
+
return {
|
|
87
|
+
services,
|
|
88
|
+
pagination: {
|
|
89
|
+
page: paginationData.page,
|
|
90
|
+
pages: paginationData.pages,
|
|
91
|
+
perPage: paginationData.per_page || paginationData.perPage || 30,
|
|
92
|
+
total: paginationData.total,
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
return handler(input, { businessId: input.businessId });
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=service-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-list.js","sourceRoot":"","sources":["../../../src/tools/service/service-list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC1E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACjF,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;CACxD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;mFAwBoE;IAEjF,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,uBAAuB;IAErC,KAAK,CAAC,OAAO,CACX,KAA6C,EAC7C,MAA+B;QAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CACtC,cAAc,EACd,KAAK,EAAE,KAA6C,EAAE,QAAqB,EAAE,EAAE;YAC7E,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YAE7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC9E,mEAAmE;gBACnE,iFAAiF;gBACjF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE1D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,QAAQ,CAAC,KAAK,CAAC;gBACvB,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,eAAe;YACf,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;YAChD,MAAM,cAAc,GAAI,MAAc,CAAC,KAAK,IAAI;gBAC9C,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,QAAQ,EAAE,EAAE;aACb,CAAC;YAEF,OAAO;gBACL,QAAQ;gBACR,UAAU,EAAE;oBACV,IAAI,EAAE,cAAc,CAAC,IAAI;oBACzB,KAAK,EAAE,cAAc,CAAC,KAAK;oBAC3B,OAAO,EAAE,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,IAAI,EAAE;oBAChE,KAAK,EAAE,cAAc,CAAC,KAAK;iBAC5B;aACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Rate Get Tool
|
|
3
|
+
*
|
|
4
|
+
* Retrieve the billing rate for a service.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { FreshBooksClientWrapper } from "../../client/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Input schema for service_rate_get
|
|
10
|
+
*/
|
|
11
|
+
declare const ServiceRateGetInputSchema: z.ZodObject<{
|
|
12
|
+
businessId: z.ZodNumber;
|
|
13
|
+
serviceId: z.ZodNumber;
|
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
businessId: number;
|
|
16
|
+
serviceId: number;
|
|
17
|
+
}, {
|
|
18
|
+
businessId: number;
|
|
19
|
+
serviceId: number;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Output schema for service_rate_get
|
|
23
|
+
*/
|
|
24
|
+
declare const ServiceRateGetOutputSchema: z.ZodObject<{
|
|
25
|
+
rate: z.ZodString;
|
|
26
|
+
code: z.ZodString;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
code: string;
|
|
29
|
+
rate: string;
|
|
30
|
+
}, {
|
|
31
|
+
code: string;
|
|
32
|
+
rate: string;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Tool definition for service_rate_get
|
|
36
|
+
*/
|
|
37
|
+
export declare const serviceRateGetTool: {
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
inputSchema: z.ZodObject<{
|
|
41
|
+
businessId: z.ZodNumber;
|
|
42
|
+
serviceId: z.ZodNumber;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
businessId: number;
|
|
45
|
+
serviceId: number;
|
|
46
|
+
}, {
|
|
47
|
+
businessId: number;
|
|
48
|
+
serviceId: number;
|
|
49
|
+
}>;
|
|
50
|
+
outputSchema: z.ZodObject<{
|
|
51
|
+
rate: z.ZodString;
|
|
52
|
+
code: z.ZodString;
|
|
53
|
+
}, "strip", z.ZodTypeAny, {
|
|
54
|
+
code: string;
|
|
55
|
+
rate: string;
|
|
56
|
+
}, {
|
|
57
|
+
code: string;
|
|
58
|
+
rate: string;
|
|
59
|
+
}>;
|
|
60
|
+
execute(input: z.infer<typeof ServiceRateGetInputSchema>, client: FreshBooksClientWrapper): Promise<z.infer<typeof ServiceRateGetOutputSchema>>;
|
|
61
|
+
};
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=service-rate-get.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-rate-get.d.ts","sourceRoot":"","sources":["../../../src/tools/service/service-rate-get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,QAAA,MAAM,yBAAyB;;;;;;;;;EAG7B,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,0BAA0B;;;;;;;;;EAG9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;mBA6BpB,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,UACxC,uBAAuB,GAC9B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;CAsBvD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Rate Get Tool
|
|
3
|
+
*
|
|
4
|
+
* Retrieve the billing rate for a service.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { ErrorHandler } from "../../errors/error-handler.js";
|
|
8
|
+
/**
|
|
9
|
+
* Input schema for service_rate_get
|
|
10
|
+
*/
|
|
11
|
+
const ServiceRateGetInputSchema = z.object({
|
|
12
|
+
businessId: z.number().int().positive().describe("FreshBooks business ID"),
|
|
13
|
+
serviceId: z.number().int().positive().describe("Service ID"),
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Output schema for service_rate_get
|
|
17
|
+
*/
|
|
18
|
+
const ServiceRateGetOutputSchema = z.object({
|
|
19
|
+
rate: z.string().describe("Rate amount as decimal string"),
|
|
20
|
+
code: z.string().describe("Currency code (e.g., USD)"),
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Tool definition for service_rate_get
|
|
24
|
+
*/
|
|
25
|
+
export const serviceRateGetTool = {
|
|
26
|
+
name: "service_rate_get",
|
|
27
|
+
description: `Get the billing rate for a service in FreshBooks.
|
|
28
|
+
|
|
29
|
+
WHEN TO USE:
|
|
30
|
+
- Need to know the rate for a service
|
|
31
|
+
- Verify pricing before time entry
|
|
32
|
+
- Check current billing rates
|
|
33
|
+
|
|
34
|
+
REQUIRED INFO:
|
|
35
|
+
- Business ID
|
|
36
|
+
- Service ID
|
|
37
|
+
|
|
38
|
+
RETURNS:
|
|
39
|
+
Service rate details:
|
|
40
|
+
- rate: Amount as decimal string (e.g., "75.00")
|
|
41
|
+
- code: Currency code (e.g., "USD")
|
|
42
|
+
|
|
43
|
+
EXAMPLE PROMPTS:
|
|
44
|
+
- "What is the rate for service 123?"
|
|
45
|
+
- "Get the billing rate for Development service"
|
|
46
|
+
- "How much do we charge for service ID 456?"
|
|
47
|
+
|
|
48
|
+
NOTE: Rates can be different per service. Use service_rate_set to configure pricing.`,
|
|
49
|
+
inputSchema: ServiceRateGetInputSchema,
|
|
50
|
+
outputSchema: ServiceRateGetOutputSchema,
|
|
51
|
+
async execute(input, client) {
|
|
52
|
+
const handler = ErrorHandler.wrapHandler('service_rate_get', async (input, _context) => {
|
|
53
|
+
const { businessId, serviceId } = input;
|
|
54
|
+
const result = await client.executeWithRetry('service_rate_get', async (fbClient) => {
|
|
55
|
+
const response = await fbClient.services.rate.single(businessId, serviceId);
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
throw response.error;
|
|
58
|
+
}
|
|
59
|
+
return response.data;
|
|
60
|
+
});
|
|
61
|
+
return result;
|
|
62
|
+
});
|
|
63
|
+
return handler(input, { businessId: input.businessId });
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=service-rate-get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-rate-get.js","sourceRoot":"","sources":["../../../src/tools/service/service-rate-get.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC1E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;CAC9D,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CACvD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;qFAqBsE;IAEnF,WAAW,EAAE,yBAAyB;IACtC,YAAY,EAAE,0BAA0B;IAExC,KAAK,CAAC,OAAO,CACX,KAAgD,EAChD,MAA+B;QAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CACtC,kBAAkB,EAClB,KAAK,EAAE,KAAgD,EAAE,QAAqB,EAAE,EAAE;YAChF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAExC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAClF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAE5E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,QAAQ,CAAC,KAAK,CAAC;gBACvB,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO,MAAoD,CAAC;QAC9D,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Rate Set Tool
|
|
3
|
+
*
|
|
4
|
+
* Set or update the billing rate for a service.
|
|
5
|
+
* This is the ONLY mutable aspect of services.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { FreshBooksClientWrapper } from "../../client/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* Input schema for service_rate_set
|
|
11
|
+
*/
|
|
12
|
+
declare const ServiceRateSetInputSchema: z.ZodObject<{
|
|
13
|
+
businessId: z.ZodNumber;
|
|
14
|
+
serviceId: z.ZodNumber;
|
|
15
|
+
rate: z.ZodString;
|
|
16
|
+
code: z.ZodDefault<z.ZodString>;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
code: string;
|
|
19
|
+
businessId: number;
|
|
20
|
+
serviceId: number;
|
|
21
|
+
rate: string;
|
|
22
|
+
}, {
|
|
23
|
+
businessId: number;
|
|
24
|
+
serviceId: number;
|
|
25
|
+
rate: string;
|
|
26
|
+
code?: string | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Output schema for service_rate_set
|
|
30
|
+
*/
|
|
31
|
+
declare const ServiceRateSetOutputSchema: z.ZodObject<{
|
|
32
|
+
rate: z.ZodString;
|
|
33
|
+
code: z.ZodString;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
code: string;
|
|
36
|
+
rate: string;
|
|
37
|
+
}, {
|
|
38
|
+
code: string;
|
|
39
|
+
rate: string;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Tool definition for service_rate_set
|
|
43
|
+
*/
|
|
44
|
+
export declare const serviceRateSetTool: {
|
|
45
|
+
name: string;
|
|
46
|
+
description: string;
|
|
47
|
+
inputSchema: z.ZodObject<{
|
|
48
|
+
businessId: z.ZodNumber;
|
|
49
|
+
serviceId: z.ZodNumber;
|
|
50
|
+
rate: z.ZodString;
|
|
51
|
+
code: z.ZodDefault<z.ZodString>;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
code: string;
|
|
54
|
+
businessId: number;
|
|
55
|
+
serviceId: number;
|
|
56
|
+
rate: string;
|
|
57
|
+
}, {
|
|
58
|
+
businessId: number;
|
|
59
|
+
serviceId: number;
|
|
60
|
+
rate: string;
|
|
61
|
+
code?: string | undefined;
|
|
62
|
+
}>;
|
|
63
|
+
outputSchema: z.ZodObject<{
|
|
64
|
+
rate: z.ZodString;
|
|
65
|
+
code: z.ZodString;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
code: string;
|
|
68
|
+
rate: string;
|
|
69
|
+
}, {
|
|
70
|
+
code: string;
|
|
71
|
+
rate: string;
|
|
72
|
+
}>;
|
|
73
|
+
execute(input: z.infer<typeof ServiceRateSetInputSchema>, client: FreshBooksClientWrapper): Promise<z.infer<typeof ServiceRateSetOutputSchema>>;
|
|
74
|
+
};
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=service-rate-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-rate-set.d.ts","sourceRoot":"","sources":["../../../src/tools/service/service-rate-set.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,0BAA0B;;;;;;;;;EAG9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAyCpB,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,UACxC,uBAAuB,GAC9B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;CAkCvD,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Rate Set Tool
|
|
3
|
+
*
|
|
4
|
+
* Set or update the billing rate for a service.
|
|
5
|
+
* This is the ONLY mutable aspect of services.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { ErrorHandler } from "../../errors/error-handler.js";
|
|
9
|
+
/**
|
|
10
|
+
* Input schema for service_rate_set
|
|
11
|
+
*/
|
|
12
|
+
const ServiceRateSetInputSchema = z.object({
|
|
13
|
+
businessId: z.number().int().positive().describe("FreshBooks business ID"),
|
|
14
|
+
serviceId: z.number().int().positive().describe("Service ID"),
|
|
15
|
+
rate: z.string().describe('Rate amount as decimal string (e.g., "75.00")'),
|
|
16
|
+
code: z.string().default("USD").describe("Currency code (e.g., USD)"),
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Output schema for service_rate_set
|
|
20
|
+
*/
|
|
21
|
+
const ServiceRateSetOutputSchema = z.object({
|
|
22
|
+
rate: z.string().describe("Rate amount as decimal string"),
|
|
23
|
+
code: z.string().describe("Currency code (e.g., USD)"),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Tool definition for service_rate_set
|
|
27
|
+
*/
|
|
28
|
+
export const serviceRateSetTool = {
|
|
29
|
+
name: "service_rate_set",
|
|
30
|
+
description: `Set or update the billing rate for a service in FreshBooks.
|
|
31
|
+
|
|
32
|
+
WHEN TO USE:
|
|
33
|
+
- Setting initial pricing for a new service
|
|
34
|
+
- Updating rates for existing services
|
|
35
|
+
- Changing billing amounts
|
|
36
|
+
|
|
37
|
+
REQUIRED INFO:
|
|
38
|
+
- Business ID
|
|
39
|
+
- Service ID
|
|
40
|
+
- Rate amount (as decimal string, e.g., "75.00")
|
|
41
|
+
|
|
42
|
+
OPTIONAL PARAMETERS:
|
|
43
|
+
- code: Currency code (default: USD)
|
|
44
|
+
|
|
45
|
+
IMPORTANT:
|
|
46
|
+
- This is the ONLY way to modify service information
|
|
47
|
+
- Services themselves are immutable (name, billable status cannot change)
|
|
48
|
+
- Rates can be updated as needed
|
|
49
|
+
|
|
50
|
+
RETURNS:
|
|
51
|
+
Updated rate configuration:
|
|
52
|
+
- rate: New amount as decimal string
|
|
53
|
+
- code: Currency code
|
|
54
|
+
|
|
55
|
+
EXAMPLE PROMPTS:
|
|
56
|
+
- "Set the rate for service 123 to $75 per hour"
|
|
57
|
+
- "Update Development service rate to $100"
|
|
58
|
+
- "Change the billing rate for service 456 to 85.50"
|
|
59
|
+
|
|
60
|
+
BEST PRACTICES:
|
|
61
|
+
- Use decimal format for rates (e.g., "75.00", not "75")
|
|
62
|
+
- Specify currency if not USD
|
|
63
|
+
- Keep rates current to ensure accurate billing`,
|
|
64
|
+
inputSchema: ServiceRateSetInputSchema,
|
|
65
|
+
outputSchema: ServiceRateSetOutputSchema,
|
|
66
|
+
async execute(input, client) {
|
|
67
|
+
const handler = ErrorHandler.wrapHandler('service_rate_set', async (input, _context) => {
|
|
68
|
+
const { businessId, serviceId, rate, code } = input;
|
|
69
|
+
const result = await client.executeWithRetry('service_rate_set', async (fbClient) => {
|
|
70
|
+
const rateData = {
|
|
71
|
+
rate,
|
|
72
|
+
code,
|
|
73
|
+
};
|
|
74
|
+
// First try to create (if rate doesn't exist)
|
|
75
|
+
// If it exists, this will fail and we'll update instead
|
|
76
|
+
let response = await fbClient.services.rate.create(rateData, businessId, serviceId);
|
|
77
|
+
// If create failed with "already exists" type error, try update
|
|
78
|
+
if (!response.ok && response.error?.message?.includes('exists')) {
|
|
79
|
+
response = await fbClient.services.rate.update(rateData, businessId, serviceId);
|
|
80
|
+
}
|
|
81
|
+
if (!response.ok) {
|
|
82
|
+
throw response.error;
|
|
83
|
+
}
|
|
84
|
+
return response.data;
|
|
85
|
+
});
|
|
86
|
+
return result;
|
|
87
|
+
});
|
|
88
|
+
return handler(input, { businessId: input.businessId });
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=service-rate-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-rate-set.js","sourceRoot":"","sources":["../../../src/tools/service/service-rate-set.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC1E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC1E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CACtE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CACvD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAiCiC;IAE9C,WAAW,EAAE,yBAAyB;IACtC,YAAY,EAAE,0BAA0B;IAExC,KAAK,CAAC,OAAO,CACX,KAAgD,EAChD,MAA+B;QAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CACtC,kBAAkB,EAClB,KAAK,EAAE,KAAgD,EAAE,QAAqB,EAAE,EAAE;YAChF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAEpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAClF,MAAM,QAAQ,GAAG;oBACf,IAAI;oBACJ,IAAI;iBACL,CAAC;gBAEF,8CAA8C;gBAC9C,wDAAwD;gBACxD,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAe,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBAE3F,gEAAgE;gBAChE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChE,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAe,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACzF,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,QAAQ,CAAC,KAAK,CAAC;gBACvB,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO,MAAoD,CAAC;QAC9D,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Single Tool
|
|
3
|
+
*
|
|
4
|
+
* Retrieve a single service by ID.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { FreshBooksClientWrapper } from "../../client/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Input schema for service_single
|
|
10
|
+
*/
|
|
11
|
+
declare const ServiceSingleInputSchema: z.ZodObject<{
|
|
12
|
+
businessId: z.ZodNumber;
|
|
13
|
+
serviceId: z.ZodNumber;
|
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
businessId: number;
|
|
16
|
+
serviceId: number;
|
|
17
|
+
}, {
|
|
18
|
+
businessId: number;
|
|
19
|
+
serviceId: number;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Output schema for service_single
|
|
23
|
+
*/
|
|
24
|
+
declare const ServiceSingleOutputSchema: z.ZodUnknown;
|
|
25
|
+
/**
|
|
26
|
+
* Tool definition for service_single
|
|
27
|
+
*/
|
|
28
|
+
export declare const serviceSingleTool: {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
inputSchema: z.ZodObject<{
|
|
32
|
+
businessId: z.ZodNumber;
|
|
33
|
+
serviceId: z.ZodNumber;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
businessId: number;
|
|
36
|
+
serviceId: number;
|
|
37
|
+
}, {
|
|
38
|
+
businessId: number;
|
|
39
|
+
serviceId: number;
|
|
40
|
+
}>;
|
|
41
|
+
outputSchema: z.ZodUnknown;
|
|
42
|
+
execute(input: z.infer<typeof ServiceSingleInputSchema>, client: FreshBooksClientWrapper): Promise<z.infer<typeof ServiceSingleOutputSchema>>;
|
|
43
|
+
};
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=service-single.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-single.d.ts","sourceRoot":"","sources":["../../../src/tools/service/service-single.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,QAAA,MAAM,wBAAwB;;;;;;;;;EAG5B,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,yBAAyB,cAAc,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;mBA6BnB,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,UACvC,uBAAuB,GAC9B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;CAsBtD,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Single Tool
|
|
3
|
+
*
|
|
4
|
+
* Retrieve a single service by ID.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { ErrorHandler } from "../../errors/error-handler.js";
|
|
8
|
+
/**
|
|
9
|
+
* Input schema for service_single
|
|
10
|
+
*/
|
|
11
|
+
const ServiceSingleInputSchema = z.object({
|
|
12
|
+
businessId: z.number().int().positive().describe("FreshBooks business ID"),
|
|
13
|
+
serviceId: z.number().int().positive().describe("Service ID to retrieve"),
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Output schema for service_single
|
|
17
|
+
*/
|
|
18
|
+
const ServiceSingleOutputSchema = z.unknown();
|
|
19
|
+
/**
|
|
20
|
+
* Tool definition for service_single
|
|
21
|
+
*/
|
|
22
|
+
export const serviceSingleTool = {
|
|
23
|
+
name: "service_single",
|
|
24
|
+
description: `Get a single service by ID from FreshBooks.
|
|
25
|
+
|
|
26
|
+
WHEN TO USE:
|
|
27
|
+
- Need detailed information about a specific service
|
|
28
|
+
- Verify service settings before using
|
|
29
|
+
- Check if a service exists
|
|
30
|
+
|
|
31
|
+
REQUIRED INFO:
|
|
32
|
+
- Business ID
|
|
33
|
+
- Service ID (numeric identifier)
|
|
34
|
+
|
|
35
|
+
RETURNS:
|
|
36
|
+
Complete service details including:
|
|
37
|
+
- Service ID, name, billable status
|
|
38
|
+
- Visibility state (active/archived)
|
|
39
|
+
|
|
40
|
+
EXAMPLE PROMPTS:
|
|
41
|
+
- "Get details for service 12345"
|
|
42
|
+
- "Show me service information for ID 789"
|
|
43
|
+
- "What is service 456 used for?"
|
|
44
|
+
|
|
45
|
+
NOTE: This does not return the service rate. Use service_rate_get for pricing.`,
|
|
46
|
+
inputSchema: ServiceSingleInputSchema,
|
|
47
|
+
outputSchema: ServiceSingleOutputSchema,
|
|
48
|
+
async execute(input, client) {
|
|
49
|
+
const handler = ErrorHandler.wrapHandler('service_single', async (input, _context) => {
|
|
50
|
+
const { businessId, serviceId } = input;
|
|
51
|
+
const result = await client.executeWithRetry('service_single', async (fbClient) => {
|
|
52
|
+
const response = await fbClient.services.single(businessId, serviceId);
|
|
53
|
+
if (!response.ok) {
|
|
54
|
+
throw response.error;
|
|
55
|
+
}
|
|
56
|
+
return response.data;
|
|
57
|
+
});
|
|
58
|
+
return result;
|
|
59
|
+
});
|
|
60
|
+
return handler(input, { businessId: input.businessId });
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=service-single.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-single.js","sourceRoot":"","sources":["../../../src/tools/service/service-single.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D;;GAEG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC1E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAC1E,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;+EAqBgE;IAE7E,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,yBAAyB;IAEvC,KAAK,CAAC,OAAO,CACX,KAA+C,EAC/C,MAA+B;QAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CACtC,gBAAgB,EAChB,KAAK,EAAE,KAA+C,EAAE,QAAqB,EAAE,EAAE;YAC/E,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAExC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAChF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAEvE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,QAAQ,CAAC,KAAK,CAAC;gBACvB,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Tools - FreshBooks task management
|
|
3
|
+
*
|
|
4
|
+
* Tasks are project subtasks for detailed time tracking.
|
|
5
|
+
* Full CRUD support: list, single, create, update, delete.
|
|
6
|
+
*/
|
|
7
|
+
export { taskListTool } from './task-list.js';
|
|
8
|
+
export { taskSingleTool } from './task-single.js';
|
|
9
|
+
export { taskCreateTool } from './task-create.js';
|
|
10
|
+
export { taskUpdateTool } from './task-update.js';
|
|
11
|
+
export { taskDeleteTool } from './task-delete.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/task/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Tools - FreshBooks task management
|
|
3
|
+
*
|
|
4
|
+
* Tasks are project subtasks for detailed time tracking.
|
|
5
|
+
* Full CRUD support: list, single, create, update, delete.
|
|
6
|
+
*/
|
|
7
|
+
// Export schemas
|
|
8
|
+
// Export tool definitions
|
|
9
|
+
export { taskListTool } from './task-list.js';
|
|
10
|
+
export { taskSingleTool } from './task-single.js';
|
|
11
|
+
export { taskCreateTool } from './task-create.js';
|
|
12
|
+
export { taskUpdateTool } from './task-update.js';
|
|
13
|
+
export { taskDeleteTool } from './task-delete.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/task/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iBAAiB;AAEjB,0BAA0B;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|