conductor-node-mcp 12.28.0 → 12.30.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/code-tool-types.d.mts +1 -1
- package/code-tool-types.d.mts.map +1 -1
- package/code-tool-types.d.ts +1 -1
- package/code-tool-types.d.ts.map +1 -1
- package/code-tool.d.mts.map +1 -1
- package/code-tool.d.ts.map +1 -1
- package/code-tool.js.map +1 -1
- package/code-tool.mjs.map +1 -1
- package/compat.d.mts +2 -2
- package/compat.d.mts.map +1 -1
- package/compat.d.ts +2 -2
- package/compat.d.ts.map +1 -1
- package/compat.js +1 -1
- package/compat.js.map +1 -1
- package/compat.mjs +1 -1
- package/compat.mjs.map +1 -1
- package/headers.d.mts +1 -1
- package/headers.d.mts.map +1 -1
- package/headers.d.ts +1 -1
- package/headers.d.ts.map +1 -1
- package/headers.js.map +1 -1
- package/headers.mjs.map +1 -1
- package/http.d.mts +1 -2
- package/http.d.mts.map +1 -1
- package/http.d.ts +1 -2
- package/http.d.ts.map +1 -1
- package/http.js +1 -1
- package/http.js.map +1 -1
- package/http.mjs +1 -1
- package/http.mjs.map +1 -1
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/index.mjs +2 -2
- package/index.mjs.map +1 -1
- package/options.d.mts +6 -6
- package/options.d.mts.map +1 -1
- package/options.d.ts +6 -6
- package/options.d.ts.map +1 -1
- package/options.js +12 -24
- package/options.js.map +1 -1
- package/options.mjs +12 -24
- package/options.mjs.map +1 -1
- package/package.json +5 -2
- package/server.d.mts +3 -16
- package/server.d.mts.map +1 -1
- package/server.d.ts +3 -16
- package/server.d.ts.map +1 -1
- package/server.js +38 -21
- package/server.js.map +1 -1
- package/server.mjs +39 -21
- package/server.mjs.map +1 -1
- package/src/code-tool-types.ts +1 -1
- package/src/code-tool.ts +1 -3
- package/src/compat.ts +2 -2
- package/src/headers.ts +1 -2
- package/src/http.ts +1 -6
- package/src/index.ts +2 -2
- package/src/options.ts +22 -32
- package/src/server.ts +51 -34
- package/src/stdio.ts +3 -4
- package/src/tools/qbd/accounts/list-qbd-accounts.ts +2 -2
- package/src/tools/qbd/bill-check-payments/list-qbd-bill-check-payments.ts +4 -4
- package/src/tools/qbd/bill-credit-card-payments/list-qbd-bill-credit-card-payments.ts +4 -4
- package/src/tools/qbd/bills/list-qbd-bills.ts +4 -4
- package/src/tools/qbd/build-assemblies/list-qbd-build-assemblies.ts +4 -4
- package/src/tools/qbd/checks/list-qbd-checks.ts +4 -4
- package/src/tools/qbd/classes/create-qbd-classes.ts +1 -1
- package/src/tools/qbd/classes/list-qbd-classes.ts +3 -3
- package/src/tools/qbd/classes/retrieve-qbd-classes.ts +1 -1
- package/src/tools/qbd/classes/update-qbd-classes.ts +1 -1
- package/src/tools/qbd/credit-card-charges/list-qbd-credit-card-charges.ts +4 -4
- package/src/tools/qbd/credit-card-credits/list-qbd-credit-card-credits.ts +4 -4
- package/src/tools/qbd/credit-memos/list-qbd-credit-memos.ts +4 -4
- package/src/tools/qbd/customers/list-qbd-customers.ts +2 -2
- package/src/tools/qbd/date-driven-terms/create-qbd-date-driven-terms.ts +1 -1
- package/src/tools/qbd/date-driven-terms/list-qbd-date-driven-terms.ts +3 -3
- package/src/tools/qbd/date-driven-terms/retrieve-qbd-date-driven-terms.ts +1 -1
- package/src/tools/qbd/deleted-list-objects/list-qbd-deleted-list-objects.ts +3 -3
- package/src/tools/qbd/deleted-transactions/list-qbd-deleted-transactions.ts +3 -3
- package/src/tools/qbd/discount-items/list-qbd-discount-items.ts +2 -2
- package/src/tools/qbd/employees/list-qbd-employees.ts +2 -2
- package/src/tools/qbd/estimates/list-qbd-estimates.ts +4 -4
- package/src/tools/qbd/inventory-adjustments/list-qbd-inventory-adjustments.ts +4 -4
- package/src/tools/qbd/inventory-assembly-items/list-qbd-inventory-assembly-items.ts +2 -2
- package/src/tools/qbd/inventory-items/list-qbd-inventory-items.ts +2 -2
- package/src/tools/qbd/inventory-sites/create-qbd-inventory-sites.ts +1 -1
- package/src/tools/qbd/inventory-sites/list-qbd-inventory-sites.ts +5 -12
- package/src/tools/qbd/inventory-sites/retrieve-qbd-inventory-sites.ts +1 -1
- package/src/tools/qbd/inventory-sites/update-qbd-inventory-sites.ts +1 -1
- package/src/tools/qbd/invoices/list-qbd-invoices.ts +4 -4
- package/src/tools/qbd/item-groups/list-qbd-item-groups.ts +2 -2
- package/src/tools/qbd/item-groups/retrieve-qbd-item-groups.ts +1 -1
- package/src/tools/qbd/item-receipts/list-qbd-item-receipts.ts +4 -4
- package/src/tools/qbd/item-sites/retrieve-qbd-item-sites.ts +1 -1
- package/src/tools/qbd/journal-entries/list-qbd-journal-entries.ts +4 -4
- package/src/tools/qbd/non-inventory-items/list-qbd-non-inventory-items.ts +2 -2
- package/src/tools/qbd/other-charge-items/list-qbd-other-charge-items.ts +2 -2
- package/src/tools/qbd/other-names/list-qbd-other-names.ts +2 -2
- package/src/tools/qbd/other-names/retrieve-qbd-other-names.ts +1 -1
- package/src/tools/qbd/payment-methods/create-qbd-payment-methods.ts +1 -1
- package/src/tools/qbd/payment-methods/list-qbd-payment-methods.ts +3 -3
- package/src/tools/qbd/payment-methods/retrieve-qbd-payment-methods.ts +1 -1
- package/src/tools/qbd/payroll-wage-items/create-qbd-payroll-wage-items.ts +1 -1
- package/src/tools/qbd/payroll-wage-items/list-qbd-payroll-wage-items.ts +3 -3
- package/src/tools/qbd/payroll-wage-items/retrieve-qbd-payroll-wage-items.ts +1 -1
- package/src/tools/qbd/price-levels/list-qbd-price-levels.ts +2 -2
- package/src/tools/qbd/price-levels/retrieve-qbd-price-levels.ts +1 -1
- package/src/tools/qbd/purchase-orders/list-qbd-purchase-orders.ts +4 -4
- package/src/tools/qbd/receive-payments/list-qbd-receive-payments.ts +4 -4
- package/src/tools/qbd/sales-orders/list-qbd-sales-orders.ts +4 -4
- package/src/tools/qbd/sales-receipts/list-qbd-sales-receipts.ts +4 -4
- package/src/tools/qbd/sales-representatives/create-qbd-sales-representatives.ts +1 -1
- package/src/tools/qbd/sales-representatives/list-qbd-sales-representatives.ts +3 -3
- package/src/tools/qbd/sales-representatives/retrieve-qbd-sales-representatives.ts +1 -1
- package/src/tools/qbd/sales-representatives/update-qbd-sales-representatives.ts +1 -1
- package/src/tools/qbd/sales-tax-codes/create-qbd-sales-tax-codes.ts +1 -1
- package/src/tools/qbd/sales-tax-codes/list-qbd-sales-tax-codes.ts +3 -3
- package/src/tools/qbd/sales-tax-codes/retrieve-qbd-sales-tax-codes.ts +1 -1
- package/src/tools/qbd/sales-tax-codes/update-qbd-sales-tax-codes.ts +1 -1
- package/src/tools/qbd/sales-tax-items/list-qbd-sales-tax-items.ts +2 -2
- package/src/tools/qbd/sales-tax-items/retrieve-qbd-sales-tax-items.ts +1 -1
- package/src/tools/qbd/service-items/list-qbd-service-items.ts +2 -2
- package/src/tools/qbd/standard-terms/create-qbd-standard-terms.ts +1 -1
- package/src/tools/qbd/standard-terms/list-qbd-standard-terms.ts +3 -3
- package/src/tools/qbd/standard-terms/retrieve-qbd-standard-terms.ts +1 -1
- package/src/tools/qbd/subtotal-items/create-qbd-subtotal-items.ts +1 -1
- package/src/tools/qbd/subtotal-items/list-qbd-subtotal-items.ts +2 -2
- package/src/tools/qbd/subtotal-items/retrieve-qbd-subtotal-items.ts +1 -1
- package/src/tools/qbd/subtotal-items/update-qbd-subtotal-items.ts +1 -1
- package/src/tools/qbd/templates/list-qbd-templates.ts +1 -1
- package/src/tools/qbd/time-tracking-activities/list-qbd-time-tracking-activities.ts +4 -4
- package/src/tools/qbd/time-tracking-activities/retrieve-qbd-time-tracking-activities.ts +1 -1
- package/src/tools/qbd/transactions/list-qbd-transactions.ts +4 -4
- package/src/tools/qbd/transactions/retrieve-qbd-transactions.ts +1 -1
- package/src/tools/qbd/transfers/create-qbd-transfers.ts +1 -1
- package/src/tools/qbd/transfers/list-qbd-transfers.ts +7 -15
- package/src/tools/qbd/transfers/retrieve-qbd-transfers.ts +1 -1
- package/src/tools/qbd/transfers/update-qbd-transfers.ts +1 -1
- package/src/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.ts +2 -2
- package/src/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.ts +1 -1
- package/src/tools/qbd/vendor-credits/list-qbd-vendor-credits.ts +4 -4
- package/src/tools/qbd/vendors/list-qbd-vendors.ts +2 -2
- package/stdio.d.mts +1 -2
- package/stdio.d.mts.map +1 -1
- package/stdio.d.ts +1 -2
- package/stdio.d.ts.map +1 -1
- package/stdio.js +2 -2
- package/stdio.js.map +1 -1
- package/stdio.mjs +3 -3
- package/stdio.mjs.map +1 -1
- package/tools/qbd/accounts/list-qbd-accounts.js +2 -2
- package/tools/qbd/accounts/list-qbd-accounts.js.map +1 -1
- package/tools/qbd/accounts/list-qbd-accounts.mjs +2 -2
- package/tools/qbd/accounts/list-qbd-accounts.mjs.map +1 -1
- package/tools/qbd/bill-check-payments/list-qbd-bill-check-payments.js +4 -4
- package/tools/qbd/bill-check-payments/list-qbd-bill-check-payments.js.map +1 -1
- package/tools/qbd/bill-check-payments/list-qbd-bill-check-payments.mjs +4 -4
- package/tools/qbd/bill-check-payments/list-qbd-bill-check-payments.mjs.map +1 -1
- package/tools/qbd/bill-credit-card-payments/list-qbd-bill-credit-card-payments.js +4 -4
- package/tools/qbd/bill-credit-card-payments/list-qbd-bill-credit-card-payments.js.map +1 -1
- package/tools/qbd/bill-credit-card-payments/list-qbd-bill-credit-card-payments.mjs +4 -4
- package/tools/qbd/bill-credit-card-payments/list-qbd-bill-credit-card-payments.mjs.map +1 -1
- package/tools/qbd/bills/list-qbd-bills.js +4 -4
- package/tools/qbd/bills/list-qbd-bills.js.map +1 -1
- package/tools/qbd/bills/list-qbd-bills.mjs +4 -4
- package/tools/qbd/bills/list-qbd-bills.mjs.map +1 -1
- package/tools/qbd/build-assemblies/list-qbd-build-assemblies.js +4 -4
- package/tools/qbd/build-assemblies/list-qbd-build-assemblies.js.map +1 -1
- package/tools/qbd/build-assemblies/list-qbd-build-assemblies.mjs +4 -4
- package/tools/qbd/build-assemblies/list-qbd-build-assemblies.mjs.map +1 -1
- package/tools/qbd/checks/list-qbd-checks.js +4 -4
- package/tools/qbd/checks/list-qbd-checks.js.map +1 -1
- package/tools/qbd/checks/list-qbd-checks.mjs +4 -4
- package/tools/qbd/checks/list-qbd-checks.mjs.map +1 -1
- package/tools/qbd/classes/create-qbd-classes.js +1 -1
- package/tools/qbd/classes/create-qbd-classes.js.map +1 -1
- package/tools/qbd/classes/create-qbd-classes.mjs +1 -1
- package/tools/qbd/classes/create-qbd-classes.mjs.map +1 -1
- package/tools/qbd/classes/list-qbd-classes.js +3 -3
- package/tools/qbd/classes/list-qbd-classes.js.map +1 -1
- package/tools/qbd/classes/list-qbd-classes.mjs +3 -3
- package/tools/qbd/classes/list-qbd-classes.mjs.map +1 -1
- package/tools/qbd/classes/retrieve-qbd-classes.js +1 -1
- package/tools/qbd/classes/retrieve-qbd-classes.js.map +1 -1
- package/tools/qbd/classes/retrieve-qbd-classes.mjs +1 -1
- package/tools/qbd/classes/retrieve-qbd-classes.mjs.map +1 -1
- package/tools/qbd/classes/update-qbd-classes.js +1 -1
- package/tools/qbd/classes/update-qbd-classes.js.map +1 -1
- package/tools/qbd/classes/update-qbd-classes.mjs +1 -1
- package/tools/qbd/classes/update-qbd-classes.mjs.map +1 -1
- package/tools/qbd/credit-card-charges/list-qbd-credit-card-charges.js +4 -4
- package/tools/qbd/credit-card-charges/list-qbd-credit-card-charges.js.map +1 -1
- package/tools/qbd/credit-card-charges/list-qbd-credit-card-charges.mjs +4 -4
- package/tools/qbd/credit-card-charges/list-qbd-credit-card-charges.mjs.map +1 -1
- package/tools/qbd/credit-card-credits/list-qbd-credit-card-credits.js +4 -4
- package/tools/qbd/credit-card-credits/list-qbd-credit-card-credits.js.map +1 -1
- package/tools/qbd/credit-card-credits/list-qbd-credit-card-credits.mjs +4 -4
- package/tools/qbd/credit-card-credits/list-qbd-credit-card-credits.mjs.map +1 -1
- package/tools/qbd/credit-memos/list-qbd-credit-memos.js +4 -4
- package/tools/qbd/credit-memos/list-qbd-credit-memos.js.map +1 -1
- package/tools/qbd/credit-memos/list-qbd-credit-memos.mjs +4 -4
- package/tools/qbd/credit-memos/list-qbd-credit-memos.mjs.map +1 -1
- package/tools/qbd/customers/list-qbd-customers.js +2 -2
- package/tools/qbd/customers/list-qbd-customers.js.map +1 -1
- package/tools/qbd/customers/list-qbd-customers.mjs +2 -2
- package/tools/qbd/customers/list-qbd-customers.mjs.map +1 -1
- package/tools/qbd/date-driven-terms/create-qbd-date-driven-terms.js +1 -1
- package/tools/qbd/date-driven-terms/create-qbd-date-driven-terms.js.map +1 -1
- package/tools/qbd/date-driven-terms/create-qbd-date-driven-terms.mjs +1 -1
- package/tools/qbd/date-driven-terms/create-qbd-date-driven-terms.mjs.map +1 -1
- package/tools/qbd/date-driven-terms/list-qbd-date-driven-terms.js +3 -3
- package/tools/qbd/date-driven-terms/list-qbd-date-driven-terms.js.map +1 -1
- package/tools/qbd/date-driven-terms/list-qbd-date-driven-terms.mjs +3 -3
- package/tools/qbd/date-driven-terms/list-qbd-date-driven-terms.mjs.map +1 -1
- package/tools/qbd/date-driven-terms/retrieve-qbd-date-driven-terms.js +1 -1
- package/tools/qbd/date-driven-terms/retrieve-qbd-date-driven-terms.js.map +1 -1
- package/tools/qbd/date-driven-terms/retrieve-qbd-date-driven-terms.mjs +1 -1
- package/tools/qbd/date-driven-terms/retrieve-qbd-date-driven-terms.mjs.map +1 -1
- package/tools/qbd/deleted-list-objects/list-qbd-deleted-list-objects.js +3 -3
- package/tools/qbd/deleted-list-objects/list-qbd-deleted-list-objects.js.map +1 -1
- package/tools/qbd/deleted-list-objects/list-qbd-deleted-list-objects.mjs +3 -3
- package/tools/qbd/deleted-list-objects/list-qbd-deleted-list-objects.mjs.map +1 -1
- package/tools/qbd/deleted-transactions/list-qbd-deleted-transactions.js +3 -3
- package/tools/qbd/deleted-transactions/list-qbd-deleted-transactions.js.map +1 -1
- package/tools/qbd/deleted-transactions/list-qbd-deleted-transactions.mjs +3 -3
- package/tools/qbd/deleted-transactions/list-qbd-deleted-transactions.mjs.map +1 -1
- package/tools/qbd/discount-items/list-qbd-discount-items.js +2 -2
- package/tools/qbd/discount-items/list-qbd-discount-items.js.map +1 -1
- package/tools/qbd/discount-items/list-qbd-discount-items.mjs +2 -2
- package/tools/qbd/discount-items/list-qbd-discount-items.mjs.map +1 -1
- package/tools/qbd/employees/list-qbd-employees.js +2 -2
- package/tools/qbd/employees/list-qbd-employees.js.map +1 -1
- package/tools/qbd/employees/list-qbd-employees.mjs +2 -2
- package/tools/qbd/employees/list-qbd-employees.mjs.map +1 -1
- package/tools/qbd/estimates/list-qbd-estimates.js +4 -4
- package/tools/qbd/estimates/list-qbd-estimates.js.map +1 -1
- package/tools/qbd/estimates/list-qbd-estimates.mjs +4 -4
- package/tools/qbd/estimates/list-qbd-estimates.mjs.map +1 -1
- package/tools/qbd/inventory-adjustments/list-qbd-inventory-adjustments.js +4 -4
- package/tools/qbd/inventory-adjustments/list-qbd-inventory-adjustments.js.map +1 -1
- package/tools/qbd/inventory-adjustments/list-qbd-inventory-adjustments.mjs +4 -4
- package/tools/qbd/inventory-adjustments/list-qbd-inventory-adjustments.mjs.map +1 -1
- package/tools/qbd/inventory-assembly-items/list-qbd-inventory-assembly-items.js +2 -2
- package/tools/qbd/inventory-assembly-items/list-qbd-inventory-assembly-items.js.map +1 -1
- package/tools/qbd/inventory-assembly-items/list-qbd-inventory-assembly-items.mjs +2 -2
- package/tools/qbd/inventory-assembly-items/list-qbd-inventory-assembly-items.mjs.map +1 -1
- package/tools/qbd/inventory-items/list-qbd-inventory-items.js +2 -2
- package/tools/qbd/inventory-items/list-qbd-inventory-items.js.map +1 -1
- package/tools/qbd/inventory-items/list-qbd-inventory-items.mjs +2 -2
- package/tools/qbd/inventory-items/list-qbd-inventory-items.mjs.map +1 -1
- package/tools/qbd/inventory-sites/create-qbd-inventory-sites.js +1 -1
- package/tools/qbd/inventory-sites/create-qbd-inventory-sites.js.map +1 -1
- package/tools/qbd/inventory-sites/create-qbd-inventory-sites.mjs +1 -1
- package/tools/qbd/inventory-sites/create-qbd-inventory-sites.mjs.map +1 -1
- package/tools/qbd/inventory-sites/list-qbd-inventory-sites.d.mts.map +1 -1
- package/tools/qbd/inventory-sites/list-qbd-inventory-sites.d.ts.map +1 -1
- package/tools/qbd/inventory-sites/list-qbd-inventory-sites.js +5 -11
- package/tools/qbd/inventory-sites/list-qbd-inventory-sites.js.map +1 -1
- package/tools/qbd/inventory-sites/list-qbd-inventory-sites.mjs +5 -11
- package/tools/qbd/inventory-sites/list-qbd-inventory-sites.mjs.map +1 -1
- package/tools/qbd/inventory-sites/retrieve-qbd-inventory-sites.js +1 -1
- package/tools/qbd/inventory-sites/retrieve-qbd-inventory-sites.js.map +1 -1
- package/tools/qbd/inventory-sites/retrieve-qbd-inventory-sites.mjs +1 -1
- package/tools/qbd/inventory-sites/retrieve-qbd-inventory-sites.mjs.map +1 -1
- package/tools/qbd/inventory-sites/update-qbd-inventory-sites.js +1 -1
- package/tools/qbd/inventory-sites/update-qbd-inventory-sites.js.map +1 -1
- package/tools/qbd/inventory-sites/update-qbd-inventory-sites.mjs +1 -1
- package/tools/qbd/inventory-sites/update-qbd-inventory-sites.mjs.map +1 -1
- package/tools/qbd/invoices/list-qbd-invoices.js +4 -4
- package/tools/qbd/invoices/list-qbd-invoices.js.map +1 -1
- package/tools/qbd/invoices/list-qbd-invoices.mjs +4 -4
- package/tools/qbd/invoices/list-qbd-invoices.mjs.map +1 -1
- package/tools/qbd/item-groups/list-qbd-item-groups.js +2 -2
- package/tools/qbd/item-groups/list-qbd-item-groups.js.map +1 -1
- package/tools/qbd/item-groups/list-qbd-item-groups.mjs +2 -2
- package/tools/qbd/item-groups/list-qbd-item-groups.mjs.map +1 -1
- package/tools/qbd/item-groups/retrieve-qbd-item-groups.js +1 -1
- package/tools/qbd/item-groups/retrieve-qbd-item-groups.js.map +1 -1
- package/tools/qbd/item-groups/retrieve-qbd-item-groups.mjs +1 -1
- package/tools/qbd/item-groups/retrieve-qbd-item-groups.mjs.map +1 -1
- package/tools/qbd/item-receipts/list-qbd-item-receipts.js +4 -4
- package/tools/qbd/item-receipts/list-qbd-item-receipts.js.map +1 -1
- package/tools/qbd/item-receipts/list-qbd-item-receipts.mjs +4 -4
- package/tools/qbd/item-receipts/list-qbd-item-receipts.mjs.map +1 -1
- package/tools/qbd/item-sites/retrieve-qbd-item-sites.js +1 -1
- package/tools/qbd/item-sites/retrieve-qbd-item-sites.js.map +1 -1
- package/tools/qbd/item-sites/retrieve-qbd-item-sites.mjs +1 -1
- package/tools/qbd/item-sites/retrieve-qbd-item-sites.mjs.map +1 -1
- package/tools/qbd/journal-entries/list-qbd-journal-entries.js +4 -4
- package/tools/qbd/journal-entries/list-qbd-journal-entries.js.map +1 -1
- package/tools/qbd/journal-entries/list-qbd-journal-entries.mjs +4 -4
- package/tools/qbd/journal-entries/list-qbd-journal-entries.mjs.map +1 -1
- package/tools/qbd/non-inventory-items/list-qbd-non-inventory-items.js +2 -2
- package/tools/qbd/non-inventory-items/list-qbd-non-inventory-items.js.map +1 -1
- package/tools/qbd/non-inventory-items/list-qbd-non-inventory-items.mjs +2 -2
- package/tools/qbd/non-inventory-items/list-qbd-non-inventory-items.mjs.map +1 -1
- package/tools/qbd/other-charge-items/list-qbd-other-charge-items.js +2 -2
- package/tools/qbd/other-charge-items/list-qbd-other-charge-items.js.map +1 -1
- package/tools/qbd/other-charge-items/list-qbd-other-charge-items.mjs +2 -2
- package/tools/qbd/other-charge-items/list-qbd-other-charge-items.mjs.map +1 -1
- package/tools/qbd/other-names/list-qbd-other-names.js +2 -2
- package/tools/qbd/other-names/list-qbd-other-names.js.map +1 -1
- package/tools/qbd/other-names/list-qbd-other-names.mjs +2 -2
- package/tools/qbd/other-names/list-qbd-other-names.mjs.map +1 -1
- package/tools/qbd/other-names/retrieve-qbd-other-names.js +1 -1
- package/tools/qbd/other-names/retrieve-qbd-other-names.js.map +1 -1
- package/tools/qbd/other-names/retrieve-qbd-other-names.mjs +1 -1
- package/tools/qbd/other-names/retrieve-qbd-other-names.mjs.map +1 -1
- package/tools/qbd/payment-methods/create-qbd-payment-methods.js +1 -1
- package/tools/qbd/payment-methods/create-qbd-payment-methods.js.map +1 -1
- package/tools/qbd/payment-methods/create-qbd-payment-methods.mjs +1 -1
- package/tools/qbd/payment-methods/create-qbd-payment-methods.mjs.map +1 -1
- package/tools/qbd/payment-methods/list-qbd-payment-methods.js +3 -3
- package/tools/qbd/payment-methods/list-qbd-payment-methods.js.map +1 -1
- package/tools/qbd/payment-methods/list-qbd-payment-methods.mjs +3 -3
- package/tools/qbd/payment-methods/list-qbd-payment-methods.mjs.map +1 -1
- package/tools/qbd/payment-methods/retrieve-qbd-payment-methods.js +1 -1
- package/tools/qbd/payment-methods/retrieve-qbd-payment-methods.js.map +1 -1
- package/tools/qbd/payment-methods/retrieve-qbd-payment-methods.mjs +1 -1
- package/tools/qbd/payment-methods/retrieve-qbd-payment-methods.mjs.map +1 -1
- package/tools/qbd/payroll-wage-items/create-qbd-payroll-wage-items.js +1 -1
- package/tools/qbd/payroll-wage-items/create-qbd-payroll-wage-items.js.map +1 -1
- package/tools/qbd/payroll-wage-items/create-qbd-payroll-wage-items.mjs +1 -1
- package/tools/qbd/payroll-wage-items/create-qbd-payroll-wage-items.mjs.map +1 -1
- package/tools/qbd/payroll-wage-items/list-qbd-payroll-wage-items.js +3 -3
- package/tools/qbd/payroll-wage-items/list-qbd-payroll-wage-items.js.map +1 -1
- package/tools/qbd/payroll-wage-items/list-qbd-payroll-wage-items.mjs +3 -3
- package/tools/qbd/payroll-wage-items/list-qbd-payroll-wage-items.mjs.map +1 -1
- package/tools/qbd/payroll-wage-items/retrieve-qbd-payroll-wage-items.js +1 -1
- package/tools/qbd/payroll-wage-items/retrieve-qbd-payroll-wage-items.js.map +1 -1
- package/tools/qbd/payroll-wage-items/retrieve-qbd-payroll-wage-items.mjs +1 -1
- package/tools/qbd/payroll-wage-items/retrieve-qbd-payroll-wage-items.mjs.map +1 -1
- package/tools/qbd/price-levels/list-qbd-price-levels.js +2 -2
- package/tools/qbd/price-levels/list-qbd-price-levels.js.map +1 -1
- package/tools/qbd/price-levels/list-qbd-price-levels.mjs +2 -2
- package/tools/qbd/price-levels/list-qbd-price-levels.mjs.map +1 -1
- package/tools/qbd/price-levels/retrieve-qbd-price-levels.js +1 -1
- package/tools/qbd/price-levels/retrieve-qbd-price-levels.js.map +1 -1
- package/tools/qbd/price-levels/retrieve-qbd-price-levels.mjs +1 -1
- package/tools/qbd/price-levels/retrieve-qbd-price-levels.mjs.map +1 -1
- package/tools/qbd/purchase-orders/list-qbd-purchase-orders.js +4 -4
- package/tools/qbd/purchase-orders/list-qbd-purchase-orders.js.map +1 -1
- package/tools/qbd/purchase-orders/list-qbd-purchase-orders.mjs +4 -4
- package/tools/qbd/purchase-orders/list-qbd-purchase-orders.mjs.map +1 -1
- package/tools/qbd/receive-payments/list-qbd-receive-payments.js +4 -4
- package/tools/qbd/receive-payments/list-qbd-receive-payments.js.map +1 -1
- package/tools/qbd/receive-payments/list-qbd-receive-payments.mjs +4 -4
- package/tools/qbd/receive-payments/list-qbd-receive-payments.mjs.map +1 -1
- package/tools/qbd/sales-orders/list-qbd-sales-orders.js +4 -4
- package/tools/qbd/sales-orders/list-qbd-sales-orders.js.map +1 -1
- package/tools/qbd/sales-orders/list-qbd-sales-orders.mjs +4 -4
- package/tools/qbd/sales-orders/list-qbd-sales-orders.mjs.map +1 -1
- package/tools/qbd/sales-receipts/list-qbd-sales-receipts.js +4 -4
- package/tools/qbd/sales-receipts/list-qbd-sales-receipts.js.map +1 -1
- package/tools/qbd/sales-receipts/list-qbd-sales-receipts.mjs +4 -4
- package/tools/qbd/sales-receipts/list-qbd-sales-receipts.mjs.map +1 -1
- package/tools/qbd/sales-representatives/create-qbd-sales-representatives.js +1 -1
- package/tools/qbd/sales-representatives/create-qbd-sales-representatives.js.map +1 -1
- package/tools/qbd/sales-representatives/create-qbd-sales-representatives.mjs +1 -1
- package/tools/qbd/sales-representatives/create-qbd-sales-representatives.mjs.map +1 -1
- package/tools/qbd/sales-representatives/list-qbd-sales-representatives.js +3 -3
- package/tools/qbd/sales-representatives/list-qbd-sales-representatives.js.map +1 -1
- package/tools/qbd/sales-representatives/list-qbd-sales-representatives.mjs +3 -3
- package/tools/qbd/sales-representatives/list-qbd-sales-representatives.mjs.map +1 -1
- package/tools/qbd/sales-representatives/retrieve-qbd-sales-representatives.js +1 -1
- package/tools/qbd/sales-representatives/retrieve-qbd-sales-representatives.js.map +1 -1
- package/tools/qbd/sales-representatives/retrieve-qbd-sales-representatives.mjs +1 -1
- package/tools/qbd/sales-representatives/retrieve-qbd-sales-representatives.mjs.map +1 -1
- package/tools/qbd/sales-representatives/update-qbd-sales-representatives.js +1 -1
- package/tools/qbd/sales-representatives/update-qbd-sales-representatives.js.map +1 -1
- package/tools/qbd/sales-representatives/update-qbd-sales-representatives.mjs +1 -1
- package/tools/qbd/sales-representatives/update-qbd-sales-representatives.mjs.map +1 -1
- package/tools/qbd/sales-tax-codes/create-qbd-sales-tax-codes.js +1 -1
- package/tools/qbd/sales-tax-codes/create-qbd-sales-tax-codes.js.map +1 -1
- package/tools/qbd/sales-tax-codes/create-qbd-sales-tax-codes.mjs +1 -1
- package/tools/qbd/sales-tax-codes/create-qbd-sales-tax-codes.mjs.map +1 -1
- package/tools/qbd/sales-tax-codes/list-qbd-sales-tax-codes.js +3 -3
- package/tools/qbd/sales-tax-codes/list-qbd-sales-tax-codes.js.map +1 -1
- package/tools/qbd/sales-tax-codes/list-qbd-sales-tax-codes.mjs +3 -3
- package/tools/qbd/sales-tax-codes/list-qbd-sales-tax-codes.mjs.map +1 -1
- package/tools/qbd/sales-tax-codes/retrieve-qbd-sales-tax-codes.js +1 -1
- package/tools/qbd/sales-tax-codes/retrieve-qbd-sales-tax-codes.js.map +1 -1
- package/tools/qbd/sales-tax-codes/retrieve-qbd-sales-tax-codes.mjs +1 -1
- package/tools/qbd/sales-tax-codes/retrieve-qbd-sales-tax-codes.mjs.map +1 -1
- package/tools/qbd/sales-tax-codes/update-qbd-sales-tax-codes.js +1 -1
- package/tools/qbd/sales-tax-codes/update-qbd-sales-tax-codes.js.map +1 -1
- package/tools/qbd/sales-tax-codes/update-qbd-sales-tax-codes.mjs +1 -1
- package/tools/qbd/sales-tax-codes/update-qbd-sales-tax-codes.mjs.map +1 -1
- package/tools/qbd/sales-tax-items/list-qbd-sales-tax-items.js +2 -2
- package/tools/qbd/sales-tax-items/list-qbd-sales-tax-items.js.map +1 -1
- package/tools/qbd/sales-tax-items/list-qbd-sales-tax-items.mjs +2 -2
- package/tools/qbd/sales-tax-items/list-qbd-sales-tax-items.mjs.map +1 -1
- package/tools/qbd/sales-tax-items/retrieve-qbd-sales-tax-items.js +1 -1
- package/tools/qbd/sales-tax-items/retrieve-qbd-sales-tax-items.js.map +1 -1
- package/tools/qbd/sales-tax-items/retrieve-qbd-sales-tax-items.mjs +1 -1
- package/tools/qbd/sales-tax-items/retrieve-qbd-sales-tax-items.mjs.map +1 -1
- package/tools/qbd/service-items/list-qbd-service-items.js +2 -2
- package/tools/qbd/service-items/list-qbd-service-items.js.map +1 -1
- package/tools/qbd/service-items/list-qbd-service-items.mjs +2 -2
- package/tools/qbd/service-items/list-qbd-service-items.mjs.map +1 -1
- package/tools/qbd/standard-terms/create-qbd-standard-terms.js +1 -1
- package/tools/qbd/standard-terms/create-qbd-standard-terms.js.map +1 -1
- package/tools/qbd/standard-terms/create-qbd-standard-terms.mjs +1 -1
- package/tools/qbd/standard-terms/create-qbd-standard-terms.mjs.map +1 -1
- package/tools/qbd/standard-terms/list-qbd-standard-terms.js +3 -3
- package/tools/qbd/standard-terms/list-qbd-standard-terms.js.map +1 -1
- package/tools/qbd/standard-terms/list-qbd-standard-terms.mjs +3 -3
- package/tools/qbd/standard-terms/list-qbd-standard-terms.mjs.map +1 -1
- package/tools/qbd/standard-terms/retrieve-qbd-standard-terms.js +1 -1
- package/tools/qbd/standard-terms/retrieve-qbd-standard-terms.js.map +1 -1
- package/tools/qbd/standard-terms/retrieve-qbd-standard-terms.mjs +1 -1
- package/tools/qbd/standard-terms/retrieve-qbd-standard-terms.mjs.map +1 -1
- package/tools/qbd/subtotal-items/create-qbd-subtotal-items.js +1 -1
- package/tools/qbd/subtotal-items/create-qbd-subtotal-items.js.map +1 -1
- package/tools/qbd/subtotal-items/create-qbd-subtotal-items.mjs +1 -1
- package/tools/qbd/subtotal-items/create-qbd-subtotal-items.mjs.map +1 -1
- package/tools/qbd/subtotal-items/list-qbd-subtotal-items.js +2 -2
- package/tools/qbd/subtotal-items/list-qbd-subtotal-items.js.map +1 -1
- package/tools/qbd/subtotal-items/list-qbd-subtotal-items.mjs +2 -2
- package/tools/qbd/subtotal-items/list-qbd-subtotal-items.mjs.map +1 -1
- package/tools/qbd/subtotal-items/retrieve-qbd-subtotal-items.js +1 -1
- package/tools/qbd/subtotal-items/retrieve-qbd-subtotal-items.js.map +1 -1
- package/tools/qbd/subtotal-items/retrieve-qbd-subtotal-items.mjs +1 -1
- package/tools/qbd/subtotal-items/retrieve-qbd-subtotal-items.mjs.map +1 -1
- package/tools/qbd/subtotal-items/update-qbd-subtotal-items.js +1 -1
- package/tools/qbd/subtotal-items/update-qbd-subtotal-items.js.map +1 -1
- package/tools/qbd/subtotal-items/update-qbd-subtotal-items.mjs +1 -1
- package/tools/qbd/subtotal-items/update-qbd-subtotal-items.mjs.map +1 -1
- package/tools/qbd/templates/list-qbd-templates.js +1 -1
- package/tools/qbd/templates/list-qbd-templates.js.map +1 -1
- package/tools/qbd/templates/list-qbd-templates.mjs +1 -1
- package/tools/qbd/templates/list-qbd-templates.mjs.map +1 -1
- package/tools/qbd/time-tracking-activities/list-qbd-time-tracking-activities.js +4 -4
- package/tools/qbd/time-tracking-activities/list-qbd-time-tracking-activities.js.map +1 -1
- package/tools/qbd/time-tracking-activities/list-qbd-time-tracking-activities.mjs +4 -4
- package/tools/qbd/time-tracking-activities/list-qbd-time-tracking-activities.mjs.map +1 -1
- package/tools/qbd/time-tracking-activities/retrieve-qbd-time-tracking-activities.js +1 -1
- package/tools/qbd/time-tracking-activities/retrieve-qbd-time-tracking-activities.js.map +1 -1
- package/tools/qbd/time-tracking-activities/retrieve-qbd-time-tracking-activities.mjs +1 -1
- package/tools/qbd/time-tracking-activities/retrieve-qbd-time-tracking-activities.mjs.map +1 -1
- package/tools/qbd/transactions/list-qbd-transactions.js +4 -4
- package/tools/qbd/transactions/list-qbd-transactions.js.map +1 -1
- package/tools/qbd/transactions/list-qbd-transactions.mjs +4 -4
- package/tools/qbd/transactions/list-qbd-transactions.mjs.map +1 -1
- package/tools/qbd/transactions/retrieve-qbd-transactions.js +1 -1
- package/tools/qbd/transactions/retrieve-qbd-transactions.js.map +1 -1
- package/tools/qbd/transactions/retrieve-qbd-transactions.mjs +1 -1
- package/tools/qbd/transactions/retrieve-qbd-transactions.mjs.map +1 -1
- package/tools/qbd/transfers/create-qbd-transfers.js +1 -1
- package/tools/qbd/transfers/create-qbd-transfers.js.map +1 -1
- package/tools/qbd/transfers/create-qbd-transfers.mjs +1 -1
- package/tools/qbd/transfers/create-qbd-transfers.mjs.map +1 -1
- package/tools/qbd/transfers/list-qbd-transfers.d.mts.map +1 -1
- package/tools/qbd/transfers/list-qbd-transfers.d.ts.map +1 -1
- package/tools/qbd/transfers/list-qbd-transfers.js +7 -13
- package/tools/qbd/transfers/list-qbd-transfers.js.map +1 -1
- package/tools/qbd/transfers/list-qbd-transfers.mjs +7 -13
- package/tools/qbd/transfers/list-qbd-transfers.mjs.map +1 -1
- package/tools/qbd/transfers/retrieve-qbd-transfers.js +1 -1
- package/tools/qbd/transfers/retrieve-qbd-transfers.js.map +1 -1
- package/tools/qbd/transfers/retrieve-qbd-transfers.mjs +1 -1
- package/tools/qbd/transfers/retrieve-qbd-transfers.mjs.map +1 -1
- package/tools/qbd/transfers/update-qbd-transfers.js +1 -1
- package/tools/qbd/transfers/update-qbd-transfers.js.map +1 -1
- package/tools/qbd/transfers/update-qbd-transfers.mjs +1 -1
- package/tools/qbd/transfers/update-qbd-transfers.mjs.map +1 -1
- package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.js +2 -2
- package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.js.map +1 -1
- package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.mjs +2 -2
- package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.mjs.map +1 -1
- package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.js +1 -1
- package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.js.map +1 -1
- package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.mjs +1 -1
- package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.mjs.map +1 -1
- package/tools/qbd/vendor-credits/list-qbd-vendor-credits.js +4 -4
- package/tools/qbd/vendor-credits/list-qbd-vendor-credits.js.map +1 -1
- package/tools/qbd/vendor-credits/list-qbd-vendor-credits.mjs +4 -4
- package/tools/qbd/vendor-credits/list-qbd-vendor-credits.mjs.map +1 -1
- package/tools/qbd/vendors/list-qbd-vendors.js +2 -2
- package/tools/qbd/vendors/list-qbd-vendors.js.map +1 -1
- package/tools/qbd/vendors/list-qbd-vendors.mjs +2 -2
- package/tools/qbd/vendors/list-qbd-vendors.mjs.map +1 -1
package/src/compat.ts
CHANGED
|
@@ -20,13 +20,13 @@ export const defaultClientCapabilities: ClientCapabilities = {
|
|
|
20
20
|
toolNameLength: undefined,
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
export const ClientType = z.enum(['openai-agents', 'claude', 'claude-code', 'cursor']);
|
|
23
|
+
export const ClientType = z.enum(['openai-agents', 'claude', 'claude-code', 'cursor', 'infer']);
|
|
24
24
|
export type ClientType = z.infer<typeof ClientType>;
|
|
25
25
|
|
|
26
26
|
// Client presets for compatibility
|
|
27
27
|
// Note that these could change over time as models get better, so this is
|
|
28
28
|
// a best effort.
|
|
29
|
-
export const knownClients: Record<ClientType, ClientCapabilities> = {
|
|
29
|
+
export const knownClients: Record<Exclude<ClientType, 'infer'>, ClientCapabilities> = {
|
|
30
30
|
'openai-agents': {
|
|
31
31
|
topLevelUnions: false,
|
|
32
32
|
validJson: true,
|
package/src/headers.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
import { type ClientOptions } from 'conductor-node/index';
|
|
4
|
-
|
|
5
3
|
import { IncomingMessage } from 'node:http';
|
|
4
|
+
import { ClientOptions } from 'conductor-node';
|
|
6
5
|
|
|
7
6
|
export const parseAuthHeaders = (req: IncomingMessage): Partial<ClientOptions> => {
|
|
8
7
|
if (req.headers.authorization) {
|
package/src/http.ts
CHANGED
|
@@ -8,7 +8,6 @@ import { fromError } from 'zod-validation-error/v3';
|
|
|
8
8
|
import { McpOptions, parseQueryOptions } from './options';
|
|
9
9
|
import { initMcpServer, newMcpServer } from './server';
|
|
10
10
|
import { parseAuthHeaders } from './headers';
|
|
11
|
-
import { Endpoint } from './tools';
|
|
12
11
|
|
|
13
12
|
const newServer = (
|
|
14
13
|
defaultMcpOptions: McpOptions,
|
|
@@ -101,11 +100,7 @@ export const streamableHTTPApp = (options: McpOptions): express.Express => {
|
|
|
101
100
|
return app;
|
|
102
101
|
};
|
|
103
102
|
|
|
104
|
-
export const launchStreamableHTTPServer = async (
|
|
105
|
-
options: McpOptions,
|
|
106
|
-
endpoints: Endpoint[],
|
|
107
|
-
port: number | string | undefined,
|
|
108
|
-
) => {
|
|
103
|
+
export const launchStreamableHTTPServer = async (options: McpOptions, port: number | string | undefined) => {
|
|
109
104
|
const app = streamableHTTPApp(options);
|
|
110
105
|
const server = app.listen(port);
|
|
111
106
|
const address = server.address();
|
package/src/index.ts
CHANGED
|
@@ -23,10 +23,10 @@ async function main() {
|
|
|
23
23
|
|
|
24
24
|
switch (options.transport) {
|
|
25
25
|
case 'stdio':
|
|
26
|
-
await launchStdioServer(options
|
|
26
|
+
await launchStdioServer(options);
|
|
27
27
|
break;
|
|
28
28
|
case 'http':
|
|
29
|
-
await launchStreamableHTTPServer(options,
|
|
29
|
+
await launchStreamableHTTPServer(options, options.port ?? options.socket);
|
|
30
30
|
break;
|
|
31
31
|
}
|
|
32
32
|
}
|
package/src/options.ts
CHANGED
|
@@ -13,12 +13,12 @@ export type CLIOptions = McpOptions & {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
export type McpOptions = {
|
|
16
|
-
client
|
|
17
|
-
includeDynamicTools
|
|
18
|
-
includeAllTools
|
|
19
|
-
includeCodeTools
|
|
20
|
-
filters
|
|
21
|
-
capabilities?: Partial<ClientCapabilities
|
|
16
|
+
client?: ClientType | undefined;
|
|
17
|
+
includeDynamicTools?: boolean | undefined;
|
|
18
|
+
includeAllTools?: boolean | undefined;
|
|
19
|
+
includeCodeTools?: boolean | undefined;
|
|
20
|
+
filters?: Filter[] | undefined;
|
|
21
|
+
capabilities?: Partial<ClientCapabilities> | undefined;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const CAPABILITY_CHOICES = [
|
|
@@ -204,14 +204,7 @@ export function parseCLIOptions(): CLIOptions {
|
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
// Parse client capabilities
|
|
207
|
-
const clientCapabilities: ClientCapabilities = {
|
|
208
|
-
topLevelUnions: true,
|
|
209
|
-
validJson: true,
|
|
210
|
-
refs: true,
|
|
211
|
-
unions: true,
|
|
212
|
-
formats: true,
|
|
213
|
-
toolNameLength: undefined,
|
|
214
|
-
};
|
|
207
|
+
const clientCapabilities: Partial<ClientCapabilities> = {};
|
|
215
208
|
|
|
216
209
|
// Apply individual capability overrides
|
|
217
210
|
if (Array.isArray(argv.capability)) {
|
|
@@ -264,7 +257,7 @@ export function parseCLIOptions(): CLIOptions {
|
|
|
264
257
|
|
|
265
258
|
const client = argv.client as ClientType;
|
|
266
259
|
return {
|
|
267
|
-
client: client && knownClients[client] ? client : undefined,
|
|
260
|
+
client: client && client !== 'infer' && knownClients[client] ? client : undefined,
|
|
268
261
|
includeDynamicTools,
|
|
269
262
|
includeAllTools,
|
|
270
263
|
includeCodeTools,
|
|
@@ -310,7 +303,7 @@ export function parseQueryOptions(defaultOptions: McpOptions, query: unknown): M
|
|
|
310
303
|
const queryObject = typeof query === 'string' ? qs.parse(query) : query;
|
|
311
304
|
const queryOptions = QueryOptions.parse(queryObject);
|
|
312
305
|
|
|
313
|
-
const filters: Filter[] = [...defaultOptions.filters];
|
|
306
|
+
const filters: Filter[] = [...(defaultOptions.filters ?? [])];
|
|
314
307
|
|
|
315
308
|
for (const resource of queryOptions.resource || []) {
|
|
316
309
|
filters.push({ type: 'resource', op: 'include', value: resource });
|
|
@@ -338,15 +331,7 @@ export function parseQueryOptions(defaultOptions: McpOptions, query: unknown): M
|
|
|
338
331
|
}
|
|
339
332
|
|
|
340
333
|
// Parse client capabilities
|
|
341
|
-
const clientCapabilities: ClientCapabilities = {
|
|
342
|
-
topLevelUnions: true,
|
|
343
|
-
validJson: true,
|
|
344
|
-
refs: true,
|
|
345
|
-
unions: true,
|
|
346
|
-
formats: true,
|
|
347
|
-
toolNameLength: undefined,
|
|
348
|
-
...defaultOptions.capabilities,
|
|
349
|
-
};
|
|
334
|
+
const clientCapabilities: Partial<ClientCapabilities> = { ...defaultOptions.capabilities };
|
|
350
335
|
|
|
351
336
|
for (const cap of queryOptions.capability || []) {
|
|
352
337
|
const parsed = parseCapabilityValue(cap);
|
|
@@ -381,15 +366,20 @@ export function parseQueryOptions(defaultOptions: McpOptions, query: unknown): M
|
|
|
381
366
|
}
|
|
382
367
|
}
|
|
383
368
|
|
|
369
|
+
let dynamicTools: boolean | undefined =
|
|
370
|
+
queryOptions.no_tools && !queryOptions.no_tools?.includes('dynamic') ? false
|
|
371
|
+
: queryOptions.tools?.includes('dynamic') ? true
|
|
372
|
+
: defaultOptions.includeDynamicTools;
|
|
373
|
+
|
|
374
|
+
let allTools: boolean | undefined =
|
|
375
|
+
queryOptions.no_tools && !queryOptions.no_tools?.includes('all') ? false
|
|
376
|
+
: queryOptions.tools?.includes('all') ? true
|
|
377
|
+
: defaultOptions.includeAllTools;
|
|
378
|
+
|
|
384
379
|
return {
|
|
385
380
|
client: queryOptions.client ?? defaultOptions.client,
|
|
386
|
-
includeDynamicTools:
|
|
387
|
-
|
|
388
|
-
(queryOptions.tools?.includes('dynamic') && !queryOptions.no_tools?.includes('dynamic')),
|
|
389
|
-
includeAllTools:
|
|
390
|
-
defaultOptions.includeAllTools ??
|
|
391
|
-
(queryOptions.tools?.includes('all') && !queryOptions.no_tools?.includes('all')),
|
|
392
|
-
// Never include code tools on remote server.
|
|
381
|
+
includeDynamicTools: dynamicTools,
|
|
382
|
+
includeAllTools: allTools,
|
|
393
383
|
includeCodeTools: undefined,
|
|
394
384
|
filters,
|
|
395
385
|
capabilities: clientCapabilities,
|
package/src/server.ts
CHANGED
|
@@ -3,7 +3,12 @@
|
|
|
3
3
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { Endpoint, endpoints, HandlerFunction, query } from './tools';
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
CallToolRequestSchema,
|
|
8
|
+
Implementation,
|
|
9
|
+
ListToolsRequestSchema,
|
|
10
|
+
Tool,
|
|
11
|
+
} from '@modelcontextprotocol/sdk/types.js';
|
|
7
12
|
import { ClientOptions } from 'conductor-node';
|
|
8
13
|
import Conductor from 'conductor-node';
|
|
9
14
|
import {
|
|
@@ -27,7 +32,7 @@ export const newMcpServer = () =>
|
|
|
27
32
|
new McpServer(
|
|
28
33
|
{
|
|
29
34
|
name: 'conductor_node_api',
|
|
30
|
-
version: '12.
|
|
35
|
+
version: '12.30.0',
|
|
31
36
|
},
|
|
32
37
|
{ capabilities: { tools: {}, logging: {} } },
|
|
33
38
|
);
|
|
@@ -41,74 +46,86 @@ export const server = newMcpServer();
|
|
|
41
46
|
*/
|
|
42
47
|
export function initMcpServer(params: {
|
|
43
48
|
server: Server | McpServer;
|
|
44
|
-
clientOptions
|
|
45
|
-
mcpOptions
|
|
46
|
-
endpoints?: { tool: Tool; handler: HandlerFunction }[];
|
|
47
|
-
}) {
|
|
48
|
-
const transformedEndpoints = selectTools(endpoints, params.mcpOptions);
|
|
49
|
-
const client = new Conductor(params.clientOptions);
|
|
50
|
-
const capabilities = {
|
|
51
|
-
...defaultClientCapabilities,
|
|
52
|
-
...(params.mcpOptions.client ? knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
|
|
53
|
-
};
|
|
54
|
-
init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export function init(params: {
|
|
58
|
-
server: Server | McpServer;
|
|
59
|
-
client?: Conductor;
|
|
60
|
-
endpoints?: { tool: Tool; handler: HandlerFunction }[];
|
|
61
|
-
capabilities?: Partial<ClientCapabilities>;
|
|
49
|
+
clientOptions?: ClientOptions;
|
|
50
|
+
mcpOptions?: McpOptions;
|
|
62
51
|
}) {
|
|
63
52
|
const server = params.server instanceof McpServer ? params.server.server : params.server;
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
53
|
+
const mcpOptions = params.mcpOptions ?? {};
|
|
54
|
+
|
|
55
|
+
let providedEndpoints: Endpoint[] | null = null;
|
|
56
|
+
let endpointMap: Record<string, Endpoint> | null = null;
|
|
57
|
+
|
|
58
|
+
const initTools = (implementation?: Implementation) => {
|
|
59
|
+
if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
|
|
60
|
+
mcpOptions.client =
|
|
61
|
+
implementation.name.toLowerCase().includes('claude') ? 'claude'
|
|
62
|
+
: implementation.name.toLowerCase().includes('cursor') ? 'cursor'
|
|
63
|
+
: undefined;
|
|
64
|
+
mcpOptions.capabilities = {
|
|
65
|
+
...(mcpOptions.client && knownClients[mcpOptions.client]),
|
|
66
|
+
...mcpOptions.capabilities,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
providedEndpoints = selectTools(endpoints, mcpOptions);
|
|
70
|
+
endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
|
|
71
|
+
};
|
|
67
72
|
|
|
68
|
-
const client =
|
|
73
|
+
const client = new Conductor({
|
|
74
|
+
...params.clientOptions,
|
|
75
|
+
defaultHeaders: {
|
|
76
|
+
...params.clientOptions?.defaultHeaders,
|
|
77
|
+
'X-Stainless-MCP': 'true',
|
|
78
|
+
},
|
|
79
|
+
});
|
|
69
80
|
|
|
70
81
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
82
|
+
if (providedEndpoints === null) {
|
|
83
|
+
initTools(server.getClientVersion());
|
|
84
|
+
}
|
|
71
85
|
return {
|
|
72
|
-
tools: providedEndpoints
|
|
86
|
+
tools: providedEndpoints!.map((endpoint) => endpoint.tool),
|
|
73
87
|
};
|
|
74
88
|
});
|
|
75
89
|
|
|
76
90
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
91
|
+
if (endpointMap === null) {
|
|
92
|
+
initTools(server.getClientVersion());
|
|
93
|
+
}
|
|
77
94
|
const { name, arguments: args } = request.params;
|
|
78
|
-
const endpoint = endpointMap[name];
|
|
95
|
+
const endpoint = endpointMap![name];
|
|
79
96
|
if (!endpoint) {
|
|
80
97
|
throw new Error(`Unknown tool: ${name}`);
|
|
81
98
|
}
|
|
82
99
|
|
|
83
|
-
return executeHandler(endpoint.tool, endpoint.handler, client, args,
|
|
100
|
+
return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
|
|
84
101
|
});
|
|
85
102
|
}
|
|
86
103
|
|
|
87
104
|
/**
|
|
88
105
|
* Selects the tools to include in the MCP Server based on the provided options.
|
|
89
106
|
*/
|
|
90
|
-
export function selectTools(endpoints: Endpoint[], options
|
|
91
|
-
const filteredEndpoints = query(options
|
|
107
|
+
export function selectTools(endpoints: Endpoint[], options?: McpOptions): Endpoint[] {
|
|
108
|
+
const filteredEndpoints = query(options?.filters ?? [], endpoints);
|
|
92
109
|
|
|
93
110
|
let includedTools = filteredEndpoints;
|
|
94
111
|
|
|
95
112
|
if (includedTools.length > 0) {
|
|
96
|
-
if (options
|
|
113
|
+
if (options?.includeDynamicTools) {
|
|
97
114
|
includedTools = dynamicTools(includedTools);
|
|
98
115
|
}
|
|
99
116
|
} else {
|
|
100
|
-
if (options
|
|
117
|
+
if (options?.includeAllTools) {
|
|
101
118
|
includedTools = endpoints;
|
|
102
|
-
} else if (options
|
|
119
|
+
} else if (options?.includeDynamicTools) {
|
|
103
120
|
includedTools = dynamicTools(endpoints);
|
|
104
|
-
} else if (options
|
|
121
|
+
} else if (options?.includeCodeTools) {
|
|
105
122
|
includedTools = [codeTool()];
|
|
106
123
|
} else {
|
|
107
124
|
includedTools = endpoints;
|
|
108
125
|
}
|
|
109
126
|
}
|
|
110
127
|
|
|
111
|
-
const capabilities = { ...defaultClientCapabilities, ...options
|
|
128
|
+
const capabilities = { ...defaultClientCapabilities, ...options?.capabilities };
|
|
112
129
|
return applyCompatibilityTransformations(includedTools, capabilities);
|
|
113
130
|
}
|
|
114
131
|
|
package/src/stdio.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
|
-
import {
|
|
3
|
-
import { Endpoint } from './tools';
|
|
2
|
+
import { initMcpServer, newMcpServer } from './server';
|
|
4
3
|
import { McpOptions } from './options';
|
|
5
4
|
|
|
6
|
-
export const launchStdioServer = async (options: McpOptions
|
|
5
|
+
export const launchStdioServer = async (options: McpOptions) => {
|
|
7
6
|
const server = newMcpServer();
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
initMcpServer({ server, mcpOptions: options });
|
|
10
9
|
|
|
11
10
|
const transport = new StdioServerTransport();
|
|
12
11
|
await server.connect(transport);
|
|
@@ -107,12 +107,12 @@ export const tool: Tool = {
|
|
|
107
107
|
updatedAfter: {
|
|
108
108
|
type: 'string',
|
|
109
109
|
description:
|
|
110
|
-
|
|
110
|
+
"Filter for accounts updated on or after this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
111
111
|
},
|
|
112
112
|
updatedBefore: {
|
|
113
113
|
type: 'string',
|
|
114
114
|
description:
|
|
115
|
-
|
|
115
|
+
"Filter for accounts updated on or before this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
116
116
|
},
|
|
117
117
|
},
|
|
118
118
|
required: ['conductorEndUserId'],
|
|
@@ -97,24 +97,24 @@ export const tool: Tool = {
|
|
|
97
97
|
transactionDateFrom: {
|
|
98
98
|
type: 'string',
|
|
99
99
|
description:
|
|
100
|
-
|
|
100
|
+
"Filter for bill check payments whose `date` field is on or after this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).",
|
|
101
101
|
format: 'date',
|
|
102
102
|
},
|
|
103
103
|
transactionDateTo: {
|
|
104
104
|
type: 'string',
|
|
105
105
|
description:
|
|
106
|
-
|
|
106
|
+
"Filter for bill check payments whose `date` field is on or before this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).",
|
|
107
107
|
format: 'date',
|
|
108
108
|
},
|
|
109
109
|
updatedAfter: {
|
|
110
110
|
type: 'string',
|
|
111
111
|
description:
|
|
112
|
-
|
|
112
|
+
"Filter for bill check payments updated on or after this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
113
113
|
},
|
|
114
114
|
updatedBefore: {
|
|
115
115
|
type: 'string',
|
|
116
116
|
description:
|
|
117
|
-
|
|
117
|
+
"Filter for bill check payments updated on or before this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
118
118
|
},
|
|
119
119
|
vendorIds: {
|
|
120
120
|
type: 'array',
|
|
@@ -97,24 +97,24 @@ export const tool: Tool = {
|
|
|
97
97
|
transactionDateFrom: {
|
|
98
98
|
type: 'string',
|
|
99
99
|
description:
|
|
100
|
-
|
|
100
|
+
"Filter for bill credit card payments whose `date` field is on or after this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).",
|
|
101
101
|
format: 'date',
|
|
102
102
|
},
|
|
103
103
|
transactionDateTo: {
|
|
104
104
|
type: 'string',
|
|
105
105
|
description:
|
|
106
|
-
|
|
106
|
+
"Filter for bill credit card payments whose `date` field is on or before this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).",
|
|
107
107
|
format: 'date',
|
|
108
108
|
},
|
|
109
109
|
updatedAfter: {
|
|
110
110
|
type: 'string',
|
|
111
111
|
description:
|
|
112
|
-
|
|
112
|
+
"Filter for bill credit card payments updated on or after this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
113
113
|
},
|
|
114
114
|
updatedBefore: {
|
|
115
115
|
type: 'string',
|
|
116
116
|
description:
|
|
117
|
-
|
|
117
|
+
"Filter for bill credit card payments updated on or before this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
118
118
|
},
|
|
119
119
|
vendorIds: {
|
|
120
120
|
type: 'array',
|
|
@@ -106,24 +106,24 @@ export const tool: Tool = {
|
|
|
106
106
|
transactionDateFrom: {
|
|
107
107
|
type: 'string',
|
|
108
108
|
description:
|
|
109
|
-
|
|
109
|
+
"Filter for bills whose `date` field is on or after this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).",
|
|
110
110
|
format: 'date',
|
|
111
111
|
},
|
|
112
112
|
transactionDateTo: {
|
|
113
113
|
type: 'string',
|
|
114
114
|
description:
|
|
115
|
-
|
|
115
|
+
"Filter for bills whose `date` field is on or before this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).",
|
|
116
116
|
format: 'date',
|
|
117
117
|
},
|
|
118
118
|
updatedAfter: {
|
|
119
119
|
type: 'string',
|
|
120
120
|
description:
|
|
121
|
-
|
|
121
|
+
"Filter for bills updated on or after this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
122
122
|
},
|
|
123
123
|
updatedBefore: {
|
|
124
124
|
type: 'string',
|
|
125
125
|
description:
|
|
126
|
-
|
|
126
|
+
"Filter for bills updated on or before this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
127
127
|
},
|
|
128
128
|
vendorIds: {
|
|
129
129
|
type: 'array',
|
|
@@ -95,24 +95,24 @@ export const tool: Tool = {
|
|
|
95
95
|
transactionDateFrom: {
|
|
96
96
|
type: 'string',
|
|
97
97
|
description:
|
|
98
|
-
|
|
98
|
+
"Filter for build assemblies whose `date` field is on or after this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).",
|
|
99
99
|
format: 'date',
|
|
100
100
|
},
|
|
101
101
|
transactionDateTo: {
|
|
102
102
|
type: 'string',
|
|
103
103
|
description:
|
|
104
|
-
|
|
104
|
+
"Filter for build assemblies whose `date` field is on or before this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).",
|
|
105
105
|
format: 'date',
|
|
106
106
|
},
|
|
107
107
|
updatedAfter: {
|
|
108
108
|
type: 'string',
|
|
109
109
|
description:
|
|
110
|
-
|
|
110
|
+
"Filter for build assemblies updated on or after this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
111
111
|
},
|
|
112
112
|
updatedBefore: {
|
|
113
113
|
type: 'string',
|
|
114
114
|
description:
|
|
115
|
-
|
|
115
|
+
"Filter for build assemblies updated on or before this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
116
116
|
},
|
|
117
117
|
},
|
|
118
118
|
required: ['conductorEndUserId'],
|
|
@@ -109,24 +109,24 @@ export const tool: Tool = {
|
|
|
109
109
|
transactionDateFrom: {
|
|
110
110
|
type: 'string',
|
|
111
111
|
description:
|
|
112
|
-
|
|
112
|
+
"Filter for checks whose `date` field is on or after this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).",
|
|
113
113
|
format: 'date',
|
|
114
114
|
},
|
|
115
115
|
transactionDateTo: {
|
|
116
116
|
type: 'string',
|
|
117
117
|
description:
|
|
118
|
-
|
|
118
|
+
"Filter for checks whose `date` field is on or before this date, in ISO 8601 format (YYYY-MM-DD).\n\n**NOTE:** QuickBooks Desktop interprets this date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).",
|
|
119
119
|
format: 'date',
|
|
120
120
|
},
|
|
121
121
|
updatedAfter: {
|
|
122
122
|
type: 'string',
|
|
123
123
|
description:
|
|
124
|
-
|
|
124
|
+
"Filter for checks updated on or after this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
125
125
|
},
|
|
126
126
|
updatedBefore: {
|
|
127
127
|
type: 'string',
|
|
128
128
|
description:
|
|
129
|
-
|
|
129
|
+
"Filter for checks updated on or before this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
130
130
|
},
|
|
131
131
|
},
|
|
132
132
|
required: ['conductorEndUserId'],
|
|
@@ -17,7 +17,7 @@ export const metadata: Metadata = {
|
|
|
17
17
|
export const tool: Tool = {
|
|
18
18
|
name: 'create_qbd_classes',
|
|
19
19
|
description:
|
|
20
|
-
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreates a new class.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/class',\n $defs: {\n class: {\n type: 'object',\n title: 'The Class object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.'\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this class was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm)
|
|
20
|
+
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreates a new class.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/class',\n $defs: {\n class: {\n type: 'object',\n title: 'The Class object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.'\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this class was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user\\'s computer.'\n },\n fullName: {\n type: 'string',\n description: 'The case-insensitive fully-qualified unique name of this class, formed by combining the names of its hierarchical parent objects with its own `name`, separated by colons. For example, if a class is under \"Department\" and has the `name` \"Marketing\", its `fullName` would be \"Department:Marketing\".\\n\\n**NOTE**: Unlike `name`, `fullName` is guaranteed to be unique across all class objects. However, `fullName` can still be arbitrarily changed by the QuickBooks user when they modify the underlying `name` field.'\n },\n isActive: {\n type: 'boolean',\n description: 'Indicates whether this class is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive name of this class. Not guaranteed to be unique because it does not include the names of its hierarchical parent objects like `fullName` does. For example, two classes could both have the `name` \"Marketing\", but they could have unique `fullName` values, such as \"Department:Marketing\" and \"Internal:Marketing\".'\n },\n objectType: {\n type: 'string',\n description: 'The type of object. This value is always `\"qbd_class\"`.',\n enum: [ 'qbd_class'\n ]\n },\n parent: {\n type: 'object',\n description: 'The parent class one level above this one in the hierarchy. For example, if this class has a `fullName` of \"Department:Marketing\", its parent has a `fullName` of \"Department\". If this class is at the top level, this field will be `null`.',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.'\n },\n fullName: {\n type: 'string',\n description: 'The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.'\n }\n },\n required: [ 'id',\n 'fullName'\n ]\n },\n revisionNumber: {\n type: 'string',\n description: 'The current QuickBooks-assigned revision number of this class object, which changes each time the object is modified. When updating this object, you must provide the most recent `revisionNumber` to ensure you\\'re working with the latest data; otherwise, the update will return an error.'\n },\n sublevel: {\n type: 'number',\n description: 'The depth level of this class in the hierarchy. A top-level class has a `sublevel` of 0; each subsequent sublevel increases this number by 1. For example, a class with a `fullName` of \"Department:Marketing\" would have a `sublevel` of 1.'\n },\n updatedAt: {\n type: 'string',\n description: 'The date and time when this class was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user\\'s computer.'\n }\n },\n required: [ 'id',\n 'createdAt',\n 'fullName',\n 'isActive',\n 'name',\n 'objectType',\n 'parent',\n 'revisionNumber',\n 'sublevel',\n 'updatedAt'\n ]\n }\n }\n}\n```",
|
|
21
21
|
inputSchema: {
|
|
22
22
|
type: 'object',
|
|
23
23
|
properties: {
|
|
@@ -17,7 +17,7 @@ export const metadata: Metadata = {
|
|
|
17
17
|
export const tool: Tool = {
|
|
18
18
|
name: 'list_qbd_classes',
|
|
19
19
|
description:
|
|
20
|
-
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nReturns a list of classes. NOTE: QuickBooks Desktop does not support pagination for classes; hence, there is no `cursor` parameter. Users typically have few classes.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n description: 'The array of classes.',\n items: {\n $ref: '#/$defs/class'\n }\n },\n objectType: {\n type: 'string',\n description: 'The type of object. This value is always `\"list\"`.',\n enum: [ 'list'\n ]\n },\n url: {\n type: 'string',\n description: 'The endpoint URL where this list can be accessed.'\n }\n },\n required: [ 'data',\n 'objectType',\n 'url'\n ],\n $defs: {\n class: {\n type: 'object',\n title: 'The Class object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.'\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this class was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm)
|
|
20
|
+
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nReturns a list of classes. NOTE: QuickBooks Desktop does not support pagination for classes; hence, there is no `cursor` parameter. Users typically have few classes.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n description: 'The array of classes.',\n items: {\n $ref: '#/$defs/class'\n }\n },\n objectType: {\n type: 'string',\n description: 'The type of object. This value is always `\"list\"`.',\n enum: [ 'list'\n ]\n },\n url: {\n type: 'string',\n description: 'The endpoint URL where this list can be accessed.'\n }\n },\n required: [ 'data',\n 'objectType',\n 'url'\n ],\n $defs: {\n class: {\n type: 'object',\n title: 'The Class object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.'\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this class was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user\\'s computer.'\n },\n fullName: {\n type: 'string',\n description: 'The case-insensitive fully-qualified unique name of this class, formed by combining the names of its hierarchical parent objects with its own `name`, separated by colons. For example, if a class is under \"Department\" and has the `name` \"Marketing\", its `fullName` would be \"Department:Marketing\".\\n\\n**NOTE**: Unlike `name`, `fullName` is guaranteed to be unique across all class objects. However, `fullName` can still be arbitrarily changed by the QuickBooks user when they modify the underlying `name` field.'\n },\n isActive: {\n type: 'boolean',\n description: 'Indicates whether this class is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive name of this class. Not guaranteed to be unique because it does not include the names of its hierarchical parent objects like `fullName` does. For example, two classes could both have the `name` \"Marketing\", but they could have unique `fullName` values, such as \"Department:Marketing\" and \"Internal:Marketing\".'\n },\n objectType: {\n type: 'string',\n description: 'The type of object. This value is always `\"qbd_class\"`.',\n enum: [ 'qbd_class'\n ]\n },\n parent: {\n type: 'object',\n description: 'The parent class one level above this one in the hierarchy. For example, if this class has a `fullName` of \"Department:Marketing\", its parent has a `fullName` of \"Department\". If this class is at the top level, this field will be `null`.',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.'\n },\n fullName: {\n type: 'string',\n description: 'The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.'\n }\n },\n required: [ 'id',\n 'fullName'\n ]\n },\n revisionNumber: {\n type: 'string',\n description: 'The current QuickBooks-assigned revision number of this class object, which changes each time the object is modified. When updating this object, you must provide the most recent `revisionNumber` to ensure you\\'re working with the latest data; otherwise, the update will return an error.'\n },\n sublevel: {\n type: 'number',\n description: 'The depth level of this class in the hierarchy. A top-level class has a `sublevel` of 0; each subsequent sublevel increases this number by 1. For example, a class with a `fullName` of \"Department:Marketing\" would have a `sublevel` of 1.'\n },\n updatedAt: {\n type: 'string',\n description: 'The date and time when this class was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user\\'s computer.'\n }\n },\n required: [ 'id',\n 'createdAt',\n 'fullName',\n 'isActive',\n 'name',\n 'objectType',\n 'parent',\n 'revisionNumber',\n 'sublevel',\n 'updatedAt'\n ]\n }\n }\n}\n```",
|
|
21
21
|
inputSchema: {
|
|
22
22
|
type: 'object',
|
|
23
23
|
properties: {
|
|
@@ -78,12 +78,12 @@ export const tool: Tool = {
|
|
|
78
78
|
updatedAfter: {
|
|
79
79
|
type: 'string',
|
|
80
80
|
description:
|
|
81
|
-
|
|
81
|
+
"Filter for classes updated on or after this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
82
82
|
},
|
|
83
83
|
updatedBefore: {
|
|
84
84
|
type: 'string',
|
|
85
85
|
description:
|
|
86
|
-
|
|
86
|
+
"Filter for classes updated on or before this date/time. Accepts the following ISO 8601 formats:\n- **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).\n- **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.\n- **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.",
|
|
87
87
|
},
|
|
88
88
|
jq_filter: {
|
|
89
89
|
type: 'string',
|
|
@@ -17,7 +17,7 @@ export const metadata: Metadata = {
|
|
|
17
17
|
export const tool: Tool = {
|
|
18
18
|
name: 'retrieve_qbd_classes',
|
|
19
19
|
description:
|
|
20
|
-
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieves a class by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/class',\n $defs: {\n class: {\n type: 'object',\n title: 'The Class object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.'\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this class was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm)
|
|
20
|
+
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieves a class by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/class',\n $defs: {\n class: {\n type: 'object',\n title: 'The Class object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.'\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this class was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user\\'s computer.'\n },\n fullName: {\n type: 'string',\n description: 'The case-insensitive fully-qualified unique name of this class, formed by combining the names of its hierarchical parent objects with its own `name`, separated by colons. For example, if a class is under \"Department\" and has the `name` \"Marketing\", its `fullName` would be \"Department:Marketing\".\\n\\n**NOTE**: Unlike `name`, `fullName` is guaranteed to be unique across all class objects. However, `fullName` can still be arbitrarily changed by the QuickBooks user when they modify the underlying `name` field.'\n },\n isActive: {\n type: 'boolean',\n description: 'Indicates whether this class is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive name of this class. Not guaranteed to be unique because it does not include the names of its hierarchical parent objects like `fullName` does. For example, two classes could both have the `name` \"Marketing\", but they could have unique `fullName` values, such as \"Department:Marketing\" and \"Internal:Marketing\".'\n },\n objectType: {\n type: 'string',\n description: 'The type of object. This value is always `\"qbd_class\"`.',\n enum: [ 'qbd_class'\n ]\n },\n parent: {\n type: 'object',\n description: 'The parent class one level above this one in the hierarchy. For example, if this class has a `fullName` of \"Department:Marketing\", its parent has a `fullName` of \"Department\". If this class is at the top level, this field will be `null`.',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.'\n },\n fullName: {\n type: 'string',\n description: 'The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.'\n }\n },\n required: [ 'id',\n 'fullName'\n ]\n },\n revisionNumber: {\n type: 'string',\n description: 'The current QuickBooks-assigned revision number of this class object, which changes each time the object is modified. When updating this object, you must provide the most recent `revisionNumber` to ensure you\\'re working with the latest data; otherwise, the update will return an error.'\n },\n sublevel: {\n type: 'number',\n description: 'The depth level of this class in the hierarchy. A top-level class has a `sublevel` of 0; each subsequent sublevel increases this number by 1. For example, a class with a `fullName` of \"Department:Marketing\" would have a `sublevel` of 1.'\n },\n updatedAt: {\n type: 'string',\n description: 'The date and time when this class was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user\\'s computer.'\n }\n },\n required: [ 'id',\n 'createdAt',\n 'fullName',\n 'isActive',\n 'name',\n 'objectType',\n 'parent',\n 'revisionNumber',\n 'sublevel',\n 'updatedAt'\n ]\n }\n }\n}\n```",
|
|
21
21
|
inputSchema: {
|
|
22
22
|
type: 'object',
|
|
23
23
|
properties: {
|