@metronome/mcp 0.3.0 → 2.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/README.md +1062 -76
- package/code-tool-paths.cjs +6 -0
- package/code-tool-paths.cjs.map +1 -0
- package/code-tool-paths.d.cts +2 -0
- package/code-tool-paths.d.cts.map +1 -0
- package/code-tool-types.d.mts +14 -0
- package/code-tool-types.d.mts.map +1 -0
- package/code-tool-types.d.ts +14 -0
- package/code-tool-types.d.ts.map +1 -0
- package/code-tool-types.js +4 -0
- package/code-tool-types.js.map +1 -0
- package/code-tool-types.mjs +3 -0
- package/code-tool-types.mjs.map +1 -0
- package/code-tool-worker.d.mts +5 -0
- package/code-tool-worker.d.mts.map +1 -0
- package/code-tool-worker.d.ts +5 -0
- package/code-tool-worker.d.ts.map +1 -0
- package/code-tool-worker.js +45 -0
- package/code-tool-worker.js.map +1 -0
- package/code-tool-worker.mjs +40 -0
- package/code-tool-worker.mjs.map +1 -0
- package/code-tool.d.mts +12 -0
- package/code-tool.d.mts.map +1 -0
- package/code-tool.d.ts +12 -0
- package/code-tool.d.ts.map +1 -0
- package/code-tool.js +158 -0
- package/code-tool.js.map +1 -0
- package/code-tool.mjs +122 -0
- package/code-tool.mjs.map +1 -0
- package/compat.d.mts +4 -2
- package/compat.d.mts.map +1 -1
- package/compat.d.ts +4 -2
- package/compat.d.ts.map +1 -1
- package/compat.js +3 -1
- package/compat.js.map +1 -1
- package/compat.mjs +2 -0
- package/compat.mjs.map +1 -1
- package/docs-search-tool.d.mts +44 -0
- package/docs-search-tool.d.mts.map +1 -0
- package/docs-search-tool.d.ts +44 -0
- package/docs-search-tool.d.ts.map +1 -0
- package/docs-search-tool.js +43 -0
- package/docs-search-tool.js.map +1 -0
- package/docs-search-tool.mjs +39 -0
- package/docs-search-tool.mjs.map +1 -0
- package/dynamic-tools.js +3 -3
- package/dynamic-tools.js.map +1 -1
- package/dynamic-tools.mjs +3 -3
- package/dynamic-tools.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 +1 -1
- package/headers.js.map +1 -1
- package/headers.mjs +1 -1
- package/headers.mjs.map +1 -1
- package/http.d.mts +6 -3
- package/http.d.mts.map +1 -1
- package/http.d.ts +6 -3
- package/http.d.ts.map +1 -1
- package/http.js +25 -10
- package/http.js.map +1 -1
- package/http.mjs +25 -10
- package/http.mjs.map +1 -1
- package/index.js +6 -6
- package/index.js.map +1 -1
- package/index.mjs +7 -7
- package/index.mjs.map +1 -1
- package/options.d.mts +9 -6
- package/options.d.mts.map +1 -1
- package/options.d.ts +9 -6
- package/options.d.ts.map +1 -1
- package/options.js +126 -16
- package/options.js.map +1 -1
- package/options.mjs +125 -16
- package/options.mjs.map +1 -1
- package/package.json +171 -10
- 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 +87 -25
- package/server.js.map +1 -1
- package/server.mjs +86 -24
- package/server.mjs.map +1 -1
- package/src/code-tool-paths.cts +3 -0
- package/src/code-tool-types.ts +14 -0
- package/src/code-tool-worker.ts +46 -0
- package/src/code-tool.ts +147 -0
- package/src/compat.ts +4 -2
- package/src/docs-search-tool.ts +48 -0
- package/src/dynamic-tools.ts +3 -3
- package/src/headers.ts +2 -3
- package/src/http.ts +54 -26
- package/src/index.ts +7 -7
- package/src/options.ts +147 -22
- package/src/server.ts +99 -36
- package/src/stdio.ts +3 -4
- package/src/tools/index.ts +12 -0
- package/src/tools/v1/alerts/archive-v1-alerts.ts +3 -3
- package/src/tools/v1/alerts/create-v1-alerts.ts +15 -14
- package/src/tools/v1/audit-logs/list-v1-audit-logs.ts +1 -1
- package/src/tools/v1/billable-metrics/archive-v1-billable-metrics.ts +1 -1
- package/src/tools/v1/billable-metrics/create-v1-billable-metrics.ts +1 -1
- package/src/tools/v1/billable-metrics/list-v1-billable-metrics.ts +1 -1
- package/src/tools/v1/billable-metrics/retrieve-v1-billable-metrics.ts +1 -1
- package/src/tools/v1/contracts/add-manual-balance-entry-v1-contracts.ts +2 -1
- package/src/tools/v1/contracts/amend-v1-contracts.ts +86 -143
- package/src/tools/v1/contracts/archive-v1-contracts.ts +1 -1
- package/src/tools/v1/contracts/create-historical-invoices-v1-contracts.ts +3 -1
- package/src/tools/v1/contracts/create-v1-contracts.ts +258 -517
- package/src/tools/v1/contracts/list-balances-v1-contracts.ts +4 -2
- package/src/tools/v1/contracts/list-v1-contracts.ts +1 -1
- package/src/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.ts +1 -1
- package/src/tools/v1/contracts/products/archive-contracts-v1-products.ts +1 -1
- package/src/tools/v1/contracts/products/create-contracts-v1-products.ts +2 -1
- package/src/tools/v1/contracts/products/list-contracts-v1-products.ts +1 -1
- package/src/tools/v1/contracts/products/retrieve-contracts-v1-products.ts +1 -1
- package/src/tools/v1/contracts/products/update-contracts-v1-products.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.ts +2 -1
- package/src/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.ts +25 -22
- package/src/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.ts +25 -22
- package/src/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.ts +1 -1
- package/src/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.ts +1 -1
- package/src/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.ts +1 -1
- package/src/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.ts +1 -1
- package/src/tools/v1/contracts/set-usage-filter-v1-contracts.ts +2 -1
- package/src/tools/v1/contracts/update-end-date-v1-contracts.ts +1 -1
- package/src/tools/v1/credit-grants/create-v1-credit-grants.ts +1 -1
- package/src/tools/v1/credit-grants/edit-v1-credit-grants.ts +1 -1
- package/src/tools/v1/credit-grants/list-entries-v1-credit-grants.ts +3 -2
- package/src/tools/v1/credit-grants/list-v1-credit-grants.ts +1 -1
- package/src/tools/v1/credit-grants/void-v1-credit-grants.ts +1 -1
- package/src/tools/v1/custom-fields/add-key-v1-custom-fields.ts +1 -1
- package/src/tools/v1/custom-fields/delete-values-v1-custom-fields.ts +2 -1
- package/src/tools/v1/custom-fields/list-keys-v1-custom-fields.ts +3 -2
- package/src/tools/v1/custom-fields/remove-key-v1-custom-fields.ts +2 -1
- package/src/tools/v1/custom-fields/set-values-v1-custom-fields.ts +2 -1
- package/src/tools/v1/customers/alerts/list-customers-v1-alerts.ts +5 -3
- package/src/tools/v1/customers/alerts/reset-customers-v1-alerts.ts +3 -2
- package/src/tools/v1/customers/alerts/retrieve-customers-v1-alerts.ts +24 -12
- package/src/tools/v1/customers/archive-v1-customers.ts +1 -1
- package/src/tools/v1/customers/billing-config/create-customers-v1-billing-config.ts +6 -1
- package/src/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.ts +1 -1
- package/src/tools/v1/customers/commits/create-customers-v1-commits.ts +32 -33
- package/src/tools/v1/customers/commits/list-customers-v1-commits.ts +4 -2
- package/src/tools/v1/customers/commits/update-end-date-customers-v1-commits.ts +1 -1
- package/src/tools/v1/customers/create-v1-customers.ts +14 -2
- package/src/tools/v1/customers/credits/create-customers-v1-credits.ts +30 -24
- package/src/tools/v1/customers/credits/list-customers-v1-credits.ts +4 -2
- package/src/tools/v1/customers/credits/update-end-date-customers-v1-credits.ts +1 -1
- package/src/tools/v1/customers/invoices/add-charge-customers-v1-invoices.ts +1 -1
- package/src/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.ts +1 -1
- package/src/tools/v1/customers/invoices/list-customers-v1-invoices.ts +1 -1
- package/src/tools/v1/customers/invoices/retrieve-customers-v1-invoices.ts +2 -1
- package/src/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.ts +43 -0
- package/src/tools/v1/customers/list-billable-metrics-v1-customers.ts +1 -1
- package/src/tools/v1/customers/list-costs-v1-customers.ts +1 -1
- package/src/tools/v1/customers/list-v1-customers.ts +1 -1
- package/src/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.ts +1 -1
- package/src/tools/v1/customers/plans/add-customers-v1-plans.ts +1 -1
- package/src/tools/v1/customers/plans/end-customers-v1-plans.ts +1 -1
- package/src/tools/v1/customers/plans/list-customers-v1-plans.ts +1 -1
- package/src/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.ts +1 -1
- package/src/tools/v1/customers/preview-events-v1-customers.ts +2 -7
- package/src/tools/v1/customers/retrieve-billing-configurations-v1-customers.ts +50 -0
- package/src/tools/v1/customers/retrieve-v1-customers.ts +1 -1
- package/src/tools/v1/customers/set-billing-configurations-v1-customers.ts +85 -0
- package/src/tools/v1/customers/set-ingest-aliases-v1-customers.ts +1 -1
- package/src/tools/v1/customers/set-name-v1-customers.ts +1 -1
- package/src/tools/v1/customers/update-config-v1-customers.ts +2 -1
- package/src/tools/v1/dashboards/get-embeddable-url-v1-dashboards.ts +1 -1
- package/src/tools/v1/invoices/regenerate-v1-invoices.ts +1 -1
- package/src/tools/v1/invoices/void-v1-invoices.ts +1 -1
- package/src/tools/v1/payments/attempt-v1-payments.ts +48 -0
- package/src/tools/v1/payments/cancel-v1-payments.ts +48 -0
- package/src/tools/v1/payments/list-v1-payments.ts +69 -0
- package/src/tools/v1/plans/get-details-v1-plans.ts +1 -1
- package/src/tools/v1/plans/list-charges-v1-plans.ts +1 -1
- package/src/tools/v1/plans/list-customers-v1-plans.ts +1 -1
- package/src/tools/v1/plans/list-v1-plans.ts +1 -1
- package/src/tools/v1/pricing-units/list-v1-pricing-units.ts +1 -1
- package/src/tools/v1/services/list-v1-services.ts +1 -1
- package/src/tools/v1/usage/ingest-v1-usage.ts +2 -2
- package/src/tools/v1/usage/list-v1-usage.ts +3 -2
- package/src/tools/v1/usage/list-with-groups-v1-usage.ts +1 -1
- package/src/tools/v1/usage/search-v1-usage.ts +1 -1
- package/src/tools/v2/contracts/edit-commit-v2-contracts.ts +84 -24
- package/src/tools/v2/contracts/edit-credit-v2-contracts.ts +84 -24
- package/src/tools/v2/contracts/edit-v2-contracts.ts +314 -782
- package/src/tools/v2/contracts/get-edit-history-v2-contracts.ts +1 -1
- package/src/tools/v2/contracts/list-v2-contracts.ts +1 -1
- package/src/tools/v2/contracts/retrieve-v2-contracts.ts +2 -1
- 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/index.d.mts.map +1 -1
- package/tools/index.d.ts.map +1 -1
- package/tools/index.js +12 -0
- package/tools/index.js.map +1 -1
- package/tools/index.mjs +12 -0
- package/tools/index.mjs.map +1 -1
- package/tools/v1/alerts/archive-v1-alerts.js +3 -3
- package/tools/v1/alerts/archive-v1-alerts.js.map +1 -1
- package/tools/v1/alerts/archive-v1-alerts.mjs +3 -3
- package/tools/v1/alerts/archive-v1-alerts.mjs.map +1 -1
- package/tools/v1/alerts/create-v1-alerts.d.mts.map +1 -1
- package/tools/v1/alerts/create-v1-alerts.d.ts.map +1 -1
- package/tools/v1/alerts/create-v1-alerts.js +14 -14
- package/tools/v1/alerts/create-v1-alerts.js.map +1 -1
- package/tools/v1/alerts/create-v1-alerts.mjs +14 -14
- package/tools/v1/alerts/create-v1-alerts.mjs.map +1 -1
- package/tools/v1/audit-logs/list-v1-audit-logs.js +1 -1
- package/tools/v1/audit-logs/list-v1-audit-logs.js.map +1 -1
- package/tools/v1/audit-logs/list-v1-audit-logs.mjs +1 -1
- package/tools/v1/audit-logs/list-v1-audit-logs.mjs.map +1 -1
- package/tools/v1/billable-metrics/archive-v1-billable-metrics.js +1 -1
- package/tools/v1/billable-metrics/archive-v1-billable-metrics.js.map +1 -1
- package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs +1 -1
- package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs.map +1 -1
- package/tools/v1/billable-metrics/create-v1-billable-metrics.js +1 -1
- package/tools/v1/billable-metrics/create-v1-billable-metrics.js.map +1 -1
- package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs +1 -1
- package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs.map +1 -1
- package/tools/v1/billable-metrics/list-v1-billable-metrics.js +1 -1
- package/tools/v1/billable-metrics/list-v1-billable-metrics.js.map +1 -1
- package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs +1 -1
- package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs.map +1 -1
- package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js +1 -1
- package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js.map +1 -1
- package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs +1 -1
- package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs.map +1 -1
- package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.mts.map +1 -1
- package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.ts.map +1 -1
- package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js +1 -1
- package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs +1 -1
- package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/amend-v1-contracts.d.mts.map +1 -1
- package/tools/v1/contracts/amend-v1-contracts.d.ts.map +1 -1
- package/tools/v1/contracts/amend-v1-contracts.js +85 -139
- package/tools/v1/contracts/amend-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/amend-v1-contracts.mjs +85 -139
- package/tools/v1/contracts/amend-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/archive-v1-contracts.js +1 -1
- package/tools/v1/contracts/archive-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/archive-v1-contracts.mjs +1 -1
- package/tools/v1/contracts/archive-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.mts.map +1 -1
- package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.ts.map +1 -1
- package/tools/v1/contracts/create-historical-invoices-v1-contracts.js +2 -1
- package/tools/v1/contracts/create-historical-invoices-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs +2 -1
- package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/create-v1-contracts.d.mts.map +1 -1
- package/tools/v1/contracts/create-v1-contracts.d.ts.map +1 -1
- package/tools/v1/contracts/create-v1-contracts.js +241 -485
- package/tools/v1/contracts/create-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/create-v1-contracts.mjs +241 -485
- package/tools/v1/contracts/create-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/list-balances-v1-contracts.d.mts.map +1 -1
- package/tools/v1/contracts/list-balances-v1-contracts.d.ts.map +1 -1
- package/tools/v1/contracts/list-balances-v1-contracts.js +3 -2
- package/tools/v1/contracts/list-balances-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/list-balances-v1-contracts.mjs +3 -2
- package/tools/v1/contracts/list-balances-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/list-v1-contracts.js +1 -1
- package/tools/v1/contracts/list-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/list-v1-contracts.mjs +1 -1
- package/tools/v1/contracts/list-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js +1 -1
- package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js.map +1 -1
- package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs +1 -1
- package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs.map +1 -1
- package/tools/v1/contracts/products/archive-contracts-v1-products.js +1 -1
- package/tools/v1/contracts/products/archive-contracts-v1-products.js.map +1 -1
- package/tools/v1/contracts/products/archive-contracts-v1-products.mjs +1 -1
- package/tools/v1/contracts/products/archive-contracts-v1-products.mjs.map +1 -1
- package/tools/v1/contracts/products/create-contracts-v1-products.d.mts.map +1 -1
- package/tools/v1/contracts/products/create-contracts-v1-products.d.ts.map +1 -1
- package/tools/v1/contracts/products/create-contracts-v1-products.js +2 -1
- package/tools/v1/contracts/products/create-contracts-v1-products.js.map +1 -1
- package/tools/v1/contracts/products/create-contracts-v1-products.mjs +2 -1
- package/tools/v1/contracts/products/create-contracts-v1-products.mjs.map +1 -1
- package/tools/v1/contracts/products/list-contracts-v1-products.js +1 -1
- package/tools/v1/contracts/products/list-contracts-v1-products.js.map +1 -1
- package/tools/v1/contracts/products/list-contracts-v1-products.mjs +1 -1
- package/tools/v1/contracts/products/list-contracts-v1-products.mjs.map +1 -1
- package/tools/v1/contracts/products/retrieve-contracts-v1-products.js +1 -1
- package/tools/v1/contracts/products/retrieve-contracts-v1-products.js.map +1 -1
- package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs +1 -1
- package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs.map +1 -1
- package/tools/v1/contracts/products/update-contracts-v1-products.js +1 -1
- package/tools/v1/contracts/products/update-contracts-v1-products.js.map +1 -1
- package/tools/v1/contracts/products/update-contracts-v1-products.mjs +1 -1
- package/tools/v1/contracts/products/update-contracts-v1-products.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js +1 -1
- package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js.map +1 -1
- package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs +1 -1
- package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.mts.map +1 -1
- package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.ts.map +1 -1
- package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js +2 -1
- package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js.map +1 -1
- package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs +2 -1
- package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js +1 -1
- package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js.map +1 -1
- package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs +1 -1
- package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js +1 -1
- package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js.map +1 -1
- package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs +1 -1
- package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js.map +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js.map +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs +1 -1
- package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.mts.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.ts.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js +24 -21
- package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs +24 -21
- package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.mts.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.ts.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js +24 -21
- package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs +24 -21
- package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js +1 -1
- package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js.map +1 -1
- package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs +1 -1
- package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js.map +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js.map +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs +1 -1
- package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs.map +1 -1
- package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js +1 -1
- package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js.map +1 -1
- package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs +1 -1
- package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs.map +1 -1
- package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js +1 -1
- package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs +1 -1
- package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js +1 -1
- package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs +1 -1
- package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/set-usage-filter-v1-contracts.d.mts.map +1 -1
- package/tools/v1/contracts/set-usage-filter-v1-contracts.d.ts.map +1 -1
- package/tools/v1/contracts/set-usage-filter-v1-contracts.js +1 -1
- package/tools/v1/contracts/set-usage-filter-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs +1 -1
- package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs.map +1 -1
- package/tools/v1/contracts/update-end-date-v1-contracts.js +1 -1
- package/tools/v1/contracts/update-end-date-v1-contracts.js.map +1 -1
- package/tools/v1/contracts/update-end-date-v1-contracts.mjs +1 -1
- package/tools/v1/contracts/update-end-date-v1-contracts.mjs.map +1 -1
- package/tools/v1/credit-grants/create-v1-credit-grants.js +1 -1
- package/tools/v1/credit-grants/create-v1-credit-grants.js.map +1 -1
- package/tools/v1/credit-grants/create-v1-credit-grants.mjs +1 -1
- package/tools/v1/credit-grants/create-v1-credit-grants.mjs.map +1 -1
- package/tools/v1/credit-grants/edit-v1-credit-grants.js +1 -1
- package/tools/v1/credit-grants/edit-v1-credit-grants.js.map +1 -1
- package/tools/v1/credit-grants/edit-v1-credit-grants.mjs +1 -1
- package/tools/v1/credit-grants/edit-v1-credit-grants.mjs.map +1 -1
- package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.mts.map +1 -1
- package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.ts.map +1 -1
- package/tools/v1/credit-grants/list-entries-v1-credit-grants.js +3 -2
- package/tools/v1/credit-grants/list-entries-v1-credit-grants.js.map +1 -1
- package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs +3 -2
- package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs.map +1 -1
- package/tools/v1/credit-grants/list-v1-credit-grants.js +1 -1
- package/tools/v1/credit-grants/list-v1-credit-grants.js.map +1 -1
- package/tools/v1/credit-grants/list-v1-credit-grants.mjs +1 -1
- package/tools/v1/credit-grants/list-v1-credit-grants.mjs.map +1 -1
- package/tools/v1/credit-grants/void-v1-credit-grants.js +1 -1
- package/tools/v1/credit-grants/void-v1-credit-grants.js.map +1 -1
- package/tools/v1/credit-grants/void-v1-credit-grants.mjs +1 -1
- package/tools/v1/credit-grants/void-v1-credit-grants.mjs.map +1 -1
- package/tools/v1/custom-fields/add-key-v1-custom-fields.js +1 -1
- package/tools/v1/custom-fields/add-key-v1-custom-fields.js.map +1 -1
- package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs +1 -1
- package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs.map +1 -1
- package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.mts.map +1 -1
- package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.ts.map +1 -1
- package/tools/v1/custom-fields/delete-values-v1-custom-fields.js +1 -1
- package/tools/v1/custom-fields/delete-values-v1-custom-fields.js.map +1 -1
- package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs +1 -1
- package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs.map +1 -1
- package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.mts.map +1 -1
- package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.ts.map +1 -1
- package/tools/v1/custom-fields/list-keys-v1-custom-fields.js +3 -2
- package/tools/v1/custom-fields/list-keys-v1-custom-fields.js.map +1 -1
- package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs +3 -2
- package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs.map +1 -1
- package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.mts.map +1 -1
- package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.ts.map +1 -1
- package/tools/v1/custom-fields/remove-key-v1-custom-fields.js +1 -1
- package/tools/v1/custom-fields/remove-key-v1-custom-fields.js.map +1 -1
- package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs +1 -1
- package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs.map +1 -1
- package/tools/v1/custom-fields/set-values-v1-custom-fields.d.mts.map +1 -1
- package/tools/v1/custom-fields/set-values-v1-custom-fields.d.ts.map +1 -1
- package/tools/v1/custom-fields/set-values-v1-custom-fields.js +2 -1
- package/tools/v1/custom-fields/set-values-v1-custom-fields.js.map +1 -1
- package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs +2 -1
- package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs.map +1 -1
- package/tools/v1/customers/alerts/list-customers-v1-alerts.d.mts.map +1 -1
- package/tools/v1/customers/alerts/list-customers-v1-alerts.d.ts.map +1 -1
- package/tools/v1/customers/alerts/list-customers-v1-alerts.js +4 -3
- package/tools/v1/customers/alerts/list-customers-v1-alerts.js.map +1 -1
- package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs +4 -3
- package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs.map +1 -1
- package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.mts.map +1 -1
- package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.ts.map +1 -1
- package/tools/v1/customers/alerts/reset-customers-v1-alerts.js +2 -2
- package/tools/v1/customers/alerts/reset-customers-v1-alerts.js.map +1 -1
- package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs +2 -2
- package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs.map +1 -1
- package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.mts.map +1 -1
- package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.ts.map +1 -1
- package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js +22 -11
- package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js.map +1 -1
- package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs +22 -11
- package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs.map +1 -1
- package/tools/v1/customers/archive-v1-customers.js +1 -1
- package/tools/v1/customers/archive-v1-customers.js.map +1 -1
- package/tools/v1/customers/archive-v1-customers.mjs +1 -1
- package/tools/v1/customers/archive-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.mts.map +1 -1
- package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.ts.map +1 -1
- package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js +6 -1
- package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js.map +1 -1
- package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs +6 -1
- package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs.map +1 -1
- package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js +1 -1
- package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js.map +1 -1
- package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs +1 -1
- package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs.map +1 -1
- package/tools/v1/customers/commits/create-customers-v1-commits.d.mts.map +1 -1
- package/tools/v1/customers/commits/create-customers-v1-commits.d.ts.map +1 -1
- package/tools/v1/customers/commits/create-customers-v1-commits.js +31 -31
- package/tools/v1/customers/commits/create-customers-v1-commits.js.map +1 -1
- package/tools/v1/customers/commits/create-customers-v1-commits.mjs +31 -31
- package/tools/v1/customers/commits/create-customers-v1-commits.mjs.map +1 -1
- package/tools/v1/customers/commits/list-customers-v1-commits.d.mts.map +1 -1
- package/tools/v1/customers/commits/list-customers-v1-commits.d.ts.map +1 -1
- package/tools/v1/customers/commits/list-customers-v1-commits.js +3 -2
- package/tools/v1/customers/commits/list-customers-v1-commits.js.map +1 -1
- package/tools/v1/customers/commits/list-customers-v1-commits.mjs +3 -2
- package/tools/v1/customers/commits/list-customers-v1-commits.mjs.map +1 -1
- package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js +1 -1
- package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js.map +1 -1
- package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs +1 -1
- package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs.map +1 -1
- package/tools/v1/customers/create-v1-customers.d.mts.map +1 -1
- package/tools/v1/customers/create-v1-customers.d.ts.map +1 -1
- package/tools/v1/customers/create-v1-customers.js +13 -2
- package/tools/v1/customers/create-v1-customers.js.map +1 -1
- package/tools/v1/customers/create-v1-customers.mjs +13 -2
- package/tools/v1/customers/create-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/credits/create-customers-v1-credits.d.mts.map +1 -1
- package/tools/v1/customers/credits/create-customers-v1-credits.d.ts.map +1 -1
- package/tools/v1/customers/credits/create-customers-v1-credits.js +29 -23
- package/tools/v1/customers/credits/create-customers-v1-credits.js.map +1 -1
- package/tools/v1/customers/credits/create-customers-v1-credits.mjs +29 -23
- package/tools/v1/customers/credits/create-customers-v1-credits.mjs.map +1 -1
- package/tools/v1/customers/credits/list-customers-v1-credits.d.mts.map +1 -1
- package/tools/v1/customers/credits/list-customers-v1-credits.d.ts.map +1 -1
- package/tools/v1/customers/credits/list-customers-v1-credits.js +3 -2
- package/tools/v1/customers/credits/list-customers-v1-credits.js.map +1 -1
- package/tools/v1/customers/credits/list-customers-v1-credits.mjs +3 -2
- package/tools/v1/customers/credits/list-customers-v1-credits.mjs.map +1 -1
- package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js +1 -1
- package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js.map +1 -1
- package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs +1 -1
- package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs.map +1 -1
- package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.js +1 -1
- package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.js.map +1 -1
- package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.mjs +1 -1
- package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.mjs.map +1 -1
- package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js +1 -1
- package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js.map +1 -1
- package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs +1 -1
- package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs.map +1 -1
- package/tools/v1/customers/invoices/list-customers-v1-invoices.js +1 -1
- package/tools/v1/customers/invoices/list-customers-v1-invoices.js.map +1 -1
- package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs +1 -1
- package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs.map +1 -1
- package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.mts.map +1 -1
- package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.ts.map +1 -1
- package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js +1 -1
- package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js.map +1 -1
- package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs +1 -1
- package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs.map +1 -1
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.mts +45 -0
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.mts.map +1 -0
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.ts +45 -0
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.ts.map +1 -0
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.js +39 -0
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.js.map +1 -0
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.mjs +35 -0
- package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.mjs.map +1 -0
- package/tools/v1/customers/list-billable-metrics-v1-customers.js +1 -1
- package/tools/v1/customers/list-billable-metrics-v1-customers.js.map +1 -1
- package/tools/v1/customers/list-billable-metrics-v1-customers.mjs +1 -1
- package/tools/v1/customers/list-billable-metrics-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/list-costs-v1-customers.js +1 -1
- package/tools/v1/customers/list-costs-v1-customers.js.map +1 -1
- package/tools/v1/customers/list-costs-v1-customers.mjs +1 -1
- package/tools/v1/customers/list-costs-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/list-v1-customers.js +1 -1
- package/tools/v1/customers/list-v1-customers.js.map +1 -1
- package/tools/v1/customers/list-v1-customers.mjs +1 -1
- package/tools/v1/customers/list-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js +1 -1
- package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js.map +1 -1
- package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs +1 -1
- package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs.map +1 -1
- package/tools/v1/customers/plans/add-customers-v1-plans.js +1 -1
- package/tools/v1/customers/plans/add-customers-v1-plans.js.map +1 -1
- package/tools/v1/customers/plans/add-customers-v1-plans.mjs +1 -1
- package/tools/v1/customers/plans/add-customers-v1-plans.mjs.map +1 -1
- package/tools/v1/customers/plans/end-customers-v1-plans.js +1 -1
- package/tools/v1/customers/plans/end-customers-v1-plans.js.map +1 -1
- package/tools/v1/customers/plans/end-customers-v1-plans.mjs +1 -1
- package/tools/v1/customers/plans/end-customers-v1-plans.mjs.map +1 -1
- package/tools/v1/customers/plans/list-customers-v1-plans.js +1 -1
- package/tools/v1/customers/plans/list-customers-v1-plans.js.map +1 -1
- package/tools/v1/customers/plans/list-customers-v1-plans.mjs +1 -1
- package/tools/v1/customers/plans/list-customers-v1-plans.mjs.map +1 -1
- package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.js +1 -1
- package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.js.map +1 -1
- package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.mjs +1 -1
- package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.mjs.map +1 -1
- package/tools/v1/customers/preview-events-v1-customers.d.mts.map +1 -1
- package/tools/v1/customers/preview-events-v1-customers.d.ts.map +1 -1
- package/tools/v1/customers/preview-events-v1-customers.js +2 -6
- package/tools/v1/customers/preview-events-v1-customers.js.map +1 -1
- package/tools/v1/customers/preview-events-v1-customers.mjs +2 -6
- package/tools/v1/customers/preview-events-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts +45 -0
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts.map +1 -0
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts +45 -0
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts.map +1 -0
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js +43 -0
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js.map +1 -0
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs +39 -0
- package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs.map +1 -0
- package/tools/v1/customers/retrieve-v1-customers.js +1 -1
- package/tools/v1/customers/retrieve-v1-customers.js.map +1 -1
- package/tools/v1/customers/retrieve-v1-customers.mjs +1 -1
- package/tools/v1/customers/retrieve-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts +45 -0
- package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts.map +1 -0
- package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts +45 -0
- package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts.map +1 -0
- package/tools/v1/customers/set-billing-configurations-v1-customers.js +77 -0
- package/tools/v1/customers/set-billing-configurations-v1-customers.js.map +1 -0
- package/tools/v1/customers/set-billing-configurations-v1-customers.mjs +73 -0
- package/tools/v1/customers/set-billing-configurations-v1-customers.mjs.map +1 -0
- package/tools/v1/customers/set-ingest-aliases-v1-customers.js +1 -1
- package/tools/v1/customers/set-ingest-aliases-v1-customers.js.map +1 -1
- package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs +1 -1
- package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/set-name-v1-customers.js +1 -1
- package/tools/v1/customers/set-name-v1-customers.js.map +1 -1
- package/tools/v1/customers/set-name-v1-customers.mjs +1 -1
- package/tools/v1/customers/set-name-v1-customers.mjs.map +1 -1
- package/tools/v1/customers/update-config-v1-customers.d.mts.map +1 -1
- package/tools/v1/customers/update-config-v1-customers.d.ts.map +1 -1
- package/tools/v1/customers/update-config-v1-customers.js +1 -1
- package/tools/v1/customers/update-config-v1-customers.js.map +1 -1
- package/tools/v1/customers/update-config-v1-customers.mjs +1 -1
- package/tools/v1/customers/update-config-v1-customers.mjs.map +1 -1
- package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js +1 -1
- package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js.map +1 -1
- package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs +1 -1
- package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs.map +1 -1
- package/tools/v1/invoices/regenerate-v1-invoices.js +1 -1
- package/tools/v1/invoices/regenerate-v1-invoices.js.map +1 -1
- package/tools/v1/invoices/regenerate-v1-invoices.mjs +1 -1
- package/tools/v1/invoices/regenerate-v1-invoices.mjs.map +1 -1
- package/tools/v1/invoices/void-v1-invoices.js +1 -1
- package/tools/v1/invoices/void-v1-invoices.js.map +1 -1
- package/tools/v1/invoices/void-v1-invoices.mjs +1 -1
- package/tools/v1/invoices/void-v1-invoices.mjs.map +1 -1
- package/tools/v1/payments/attempt-v1-payments.d.mts +45 -0
- package/tools/v1/payments/attempt-v1-payments.d.mts.map +1 -0
- package/tools/v1/payments/attempt-v1-payments.d.ts +45 -0
- package/tools/v1/payments/attempt-v1-payments.d.ts.map +1 -0
- package/tools/v1/payments/attempt-v1-payments.js +43 -0
- package/tools/v1/payments/attempt-v1-payments.js.map +1 -0
- package/tools/v1/payments/attempt-v1-payments.mjs +39 -0
- package/tools/v1/payments/attempt-v1-payments.mjs.map +1 -0
- package/tools/v1/payments/cancel-v1-payments.d.mts +45 -0
- package/tools/v1/payments/cancel-v1-payments.d.mts.map +1 -0
- package/tools/v1/payments/cancel-v1-payments.d.ts +45 -0
- package/tools/v1/payments/cancel-v1-payments.d.ts.map +1 -0
- package/tools/v1/payments/cancel-v1-payments.js +43 -0
- package/tools/v1/payments/cancel-v1-payments.js.map +1 -0
- package/tools/v1/payments/cancel-v1-payments.mjs +39 -0
- package/tools/v1/payments/cancel-v1-payments.mjs.map +1 -0
- package/tools/v1/payments/list-v1-payments.d.mts +45 -0
- package/tools/v1/payments/list-v1-payments.d.mts.map +1 -0
- package/tools/v1/payments/list-v1-payments.d.ts +45 -0
- package/tools/v1/payments/list-v1-payments.d.ts.map +1 -0
- package/tools/v1/payments/list-v1-payments.js +64 -0
- package/tools/v1/payments/list-v1-payments.js.map +1 -0
- package/tools/v1/payments/list-v1-payments.mjs +60 -0
- package/tools/v1/payments/list-v1-payments.mjs.map +1 -0
- package/tools/v1/plans/get-details-v1-plans.js +1 -1
- package/tools/v1/plans/get-details-v1-plans.js.map +1 -1
- package/tools/v1/plans/get-details-v1-plans.mjs +1 -1
- package/tools/v1/plans/get-details-v1-plans.mjs.map +1 -1
- package/tools/v1/plans/list-charges-v1-plans.js +1 -1
- package/tools/v1/plans/list-charges-v1-plans.js.map +1 -1
- package/tools/v1/plans/list-charges-v1-plans.mjs +1 -1
- package/tools/v1/plans/list-charges-v1-plans.mjs.map +1 -1
- package/tools/v1/plans/list-customers-v1-plans.js +1 -1
- package/tools/v1/plans/list-customers-v1-plans.js.map +1 -1
- package/tools/v1/plans/list-customers-v1-plans.mjs +1 -1
- package/tools/v1/plans/list-customers-v1-plans.mjs.map +1 -1
- package/tools/v1/plans/list-v1-plans.js +1 -1
- package/tools/v1/plans/list-v1-plans.js.map +1 -1
- package/tools/v1/plans/list-v1-plans.mjs +1 -1
- package/tools/v1/plans/list-v1-plans.mjs.map +1 -1
- package/tools/v1/pricing-units/list-v1-pricing-units.js +1 -1
- package/tools/v1/pricing-units/list-v1-pricing-units.js.map +1 -1
- package/tools/v1/pricing-units/list-v1-pricing-units.mjs +1 -1
- package/tools/v1/pricing-units/list-v1-pricing-units.mjs.map +1 -1
- package/tools/v1/services/list-v1-services.js +1 -1
- package/tools/v1/services/list-v1-services.js.map +1 -1
- package/tools/v1/services/list-v1-services.mjs +1 -1
- package/tools/v1/services/list-v1-services.mjs.map +1 -1
- package/tools/v1/usage/ingest-v1-usage.js +2 -2
- package/tools/v1/usage/ingest-v1-usage.js.map +1 -1
- package/tools/v1/usage/ingest-v1-usage.mjs +2 -2
- package/tools/v1/usage/ingest-v1-usage.mjs.map +1 -1
- package/tools/v1/usage/list-v1-usage.d.mts.map +1 -1
- package/tools/v1/usage/list-v1-usage.d.ts.map +1 -1
- package/tools/v1/usage/list-v1-usage.js +3 -2
- package/tools/v1/usage/list-v1-usage.js.map +1 -1
- package/tools/v1/usage/list-v1-usage.mjs +3 -2
- package/tools/v1/usage/list-v1-usage.mjs.map +1 -1
- package/tools/v1/usage/list-with-groups-v1-usage.js +1 -1
- package/tools/v1/usage/list-with-groups-v1-usage.js.map +1 -1
- package/tools/v1/usage/list-with-groups-v1-usage.mjs +1 -1
- package/tools/v1/usage/list-with-groups-v1-usage.mjs.map +1 -1
- package/tools/v1/usage/search-v1-usage.js +1 -1
- package/tools/v1/usage/search-v1-usage.js.map +1 -1
- package/tools/v1/usage/search-v1-usage.mjs +1 -1
- package/tools/v1/usage/search-v1-usage.mjs.map +1 -1
- package/tools/v2/contracts/edit-commit-v2-contracts.d.mts.map +1 -1
- package/tools/v2/contracts/edit-commit-v2-contracts.d.ts.map +1 -1
- package/tools/v2/contracts/edit-commit-v2-contracts.js +82 -23
- package/tools/v2/contracts/edit-commit-v2-contracts.js.map +1 -1
- package/tools/v2/contracts/edit-commit-v2-contracts.mjs +82 -23
- package/tools/v2/contracts/edit-commit-v2-contracts.mjs.map +1 -1
- package/tools/v2/contracts/edit-credit-v2-contracts.d.mts.map +1 -1
- package/tools/v2/contracts/edit-credit-v2-contracts.d.ts.map +1 -1
- package/tools/v2/contracts/edit-credit-v2-contracts.js +82 -23
- package/tools/v2/contracts/edit-credit-v2-contracts.js.map +1 -1
- package/tools/v2/contracts/edit-credit-v2-contracts.mjs +82 -23
- package/tools/v2/contracts/edit-credit-v2-contracts.mjs.map +1 -1
- package/tools/v2/contracts/edit-v2-contracts.d.mts.map +1 -1
- package/tools/v2/contracts/edit-v2-contracts.d.ts.map +1 -1
- package/tools/v2/contracts/edit-v2-contracts.js +303 -741
- package/tools/v2/contracts/edit-v2-contracts.js.map +1 -1
- package/tools/v2/contracts/edit-v2-contracts.mjs +303 -741
- package/tools/v2/contracts/edit-v2-contracts.mjs.map +1 -1
- package/tools/v2/contracts/get-edit-history-v2-contracts.js +1 -1
- package/tools/v2/contracts/get-edit-history-v2-contracts.js.map +1 -1
- package/tools/v2/contracts/get-edit-history-v2-contracts.mjs +1 -1
- package/tools/v2/contracts/get-edit-history-v2-contracts.mjs.map +1 -1
- package/tools/v2/contracts/list-v2-contracts.js +1 -1
- package/tools/v2/contracts/list-v2-contracts.js.map +1 -1
- package/tools/v2/contracts/list-v2-contracts.mjs +1 -1
- package/tools/v2/contracts/list-v2-contracts.mjs.map +1 -1
- package/tools/v2/contracts/retrieve-v2-contracts.d.mts.map +1 -1
- package/tools/v2/contracts/retrieve-v2-contracts.d.ts.map +1 -1
- package/tools/v2/contracts/retrieve-v2-contracts.js +1 -1
- package/tools/v2/contracts/retrieve-v2-contracts.js.map +1 -1
- package/tools/v2/contracts/retrieve-v2-contracts.mjs +1 -1
- package/tools/v2/contracts/retrieve-v2-contracts.mjs.map +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { Metadata, asTextContentResult } from './tools/types';
|
|
4
|
+
|
|
5
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
|
|
7
|
+
export const metadata: Metadata = {
|
|
8
|
+
resource: 'all',
|
|
9
|
+
operation: 'read',
|
|
10
|
+
tags: [],
|
|
11
|
+
httpMethod: 'get',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const tool: Tool = {
|
|
15
|
+
name: 'search_docs',
|
|
16
|
+
description:
|
|
17
|
+
'Search for documentation for how to use the client to interact with the API.\nThe tool will return an array of Markdown-formatted documentation pages.',
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
query: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
description: 'The query to search for.',
|
|
24
|
+
},
|
|
25
|
+
language: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'The language for the SDK to search for.',
|
|
28
|
+
enum: ['http', 'python', 'go', 'typescript', 'terraform', 'ruby', 'java', 'kotlin'],
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
required: ['query', 'language'],
|
|
32
|
+
},
|
|
33
|
+
annotations: {
|
|
34
|
+
readOnlyHint: true,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const docsSearchURL =
|
|
39
|
+
process.env['DOCS_SEARCH_URL'] || 'https://api.stainless.com/api/projects/metronome/docs/search';
|
|
40
|
+
|
|
41
|
+
export const handler = async (_: unknown, args: Record<string, unknown> | undefined) => {
|
|
42
|
+
const body = args as any;
|
|
43
|
+
const query = new URLSearchParams(body).toString();
|
|
44
|
+
const result = await fetch(`${docsSearchURL}?${query}`);
|
|
45
|
+
return asTextContentResult(await result.json());
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export default { metadata, tool, handler };
|
package/src/dynamic-tools.ts
CHANGED
|
@@ -38,7 +38,7 @@ export function dynamicTools(endpoints: Endpoint[]): Endpoint[] {
|
|
|
38
38
|
},
|
|
39
39
|
tool: {
|
|
40
40
|
name: 'list_api_endpoints',
|
|
41
|
-
description: 'List or search for all endpoints in the Metronome
|
|
41
|
+
description: 'List or search for all endpoints in the Metronome TypeScript API',
|
|
42
42
|
inputSchema: zodToInputSchema(listEndpointsSchema),
|
|
43
43
|
},
|
|
44
44
|
handler: async (
|
|
@@ -85,7 +85,7 @@ export function dynamicTools(endpoints: Endpoint[]): Endpoint[] {
|
|
|
85
85
|
tool: {
|
|
86
86
|
name: 'get_api_endpoint_schema',
|
|
87
87
|
description:
|
|
88
|
-
'Get the schema for an endpoint in the Metronome
|
|
88
|
+
'Get the schema for an endpoint in the Metronome TypeScript API. You can use the schema returned by this tool to invoke an endpoint with the `invoke_api_endpoint` tool.',
|
|
89
89
|
inputSchema: zodToInputSchema(getEndpointSchema),
|
|
90
90
|
},
|
|
91
91
|
handler: async (client: Metronome, args: Record<string, unknown> | undefined) => {
|
|
@@ -120,7 +120,7 @@ export function dynamicTools(endpoints: Endpoint[]): Endpoint[] {
|
|
|
120
120
|
tool: {
|
|
121
121
|
name: 'invoke_api_endpoint',
|
|
122
122
|
description:
|
|
123
|
-
'Invoke an endpoint in the Metronome
|
|
123
|
+
'Invoke an endpoint in the Metronome TypeScript API. Note: use the `list_api_endpoints` tool to get the list of endpoints and `get_api_endpoint_schema` tool to get the schema for an endpoint.',
|
|
124
124
|
inputSchema: zodToInputSchema(invokeEndpointSchema),
|
|
125
125
|
},
|
|
126
126
|
handler: async (
|
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 '@metronome/sdk/index';
|
|
4
|
-
|
|
5
3
|
import { IncomingMessage } from 'node:http';
|
|
4
|
+
import { ClientOptions } from '@metronome/sdk';
|
|
6
5
|
|
|
7
6
|
export const parseAuthHeaders = (req: IncomingMessage): Partial<ClientOptions> => {
|
|
8
7
|
if (req.headers.authorization) {
|
|
@@ -17,7 +16,7 @@ export const parseAuthHeaders = (req: IncomingMessage): Partial<ClientOptions> =
|
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
const bearerToken =
|
|
20
|
-
req.headers['x-metronome-bearer-token']
|
|
19
|
+
Array.isArray(req.headers['x-metronome-bearer-token']) ?
|
|
21
20
|
req.headers['x-metronome-bearer-token'][0]
|
|
22
21
|
: req.headers['x-metronome-bearer-token'];
|
|
23
22
|
return { bearerToken };
|
package/src/http.ts
CHANGED
|
@@ -4,22 +4,45 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp';
|
|
|
4
4
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
5
|
|
|
6
6
|
import express from 'express';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { fromError } from 'zod-validation-error/v3';
|
|
8
|
+
import { McpOptions, parseQueryOptions } from './options';
|
|
9
|
+
import { ClientOptions, initMcpServer, newMcpServer } from './server';
|
|
9
10
|
import { parseAuthHeaders } from './headers';
|
|
10
|
-
import { Endpoint } from './tools';
|
|
11
11
|
|
|
12
|
-
const newServer = (
|
|
12
|
+
const newServer = ({
|
|
13
|
+
clientOptions,
|
|
14
|
+
mcpOptions: defaultMcpOptions,
|
|
15
|
+
req,
|
|
16
|
+
res,
|
|
17
|
+
}: {
|
|
18
|
+
clientOptions: ClientOptions;
|
|
19
|
+
mcpOptions: McpOptions;
|
|
20
|
+
req: express.Request;
|
|
21
|
+
res: express.Response;
|
|
22
|
+
}): McpServer | null => {
|
|
13
23
|
const server = newMcpServer();
|
|
24
|
+
|
|
25
|
+
let mcpOptions: McpOptions;
|
|
26
|
+
try {
|
|
27
|
+
mcpOptions = parseQueryOptions(defaultMcpOptions, req.query);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
res.status(400).json({
|
|
30
|
+
jsonrpc: '2.0',
|
|
31
|
+
error: {
|
|
32
|
+
code: -32000,
|
|
33
|
+
message: `Invalid request: ${fromError(error)}`,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
|
|
14
39
|
try {
|
|
15
40
|
const authOptions = parseAuthHeaders(req);
|
|
16
41
|
initMcpServer({
|
|
17
42
|
server: server,
|
|
18
43
|
clientOptions: {
|
|
44
|
+
...clientOptions,
|
|
19
45
|
...authOptions,
|
|
20
|
-
defaultHeaders: {
|
|
21
|
-
'X-Stainless-MCP': 'true',
|
|
22
|
-
},
|
|
23
46
|
},
|
|
24
47
|
mcpOptions,
|
|
25
48
|
});
|
|
@@ -37,17 +60,19 @@ const newServer = (mcpOptions: McpOptions, req: express.Request, res: express.Re
|
|
|
37
60
|
return server;
|
|
38
61
|
};
|
|
39
62
|
|
|
40
|
-
const post =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
63
|
+
const post =
|
|
64
|
+
(options: { clientOptions: ClientOptions; mcpOptions: McpOptions }) =>
|
|
65
|
+
async (req: express.Request, res: express.Response) => {
|
|
66
|
+
const server = newServer({ ...options, req, res });
|
|
67
|
+
// If we return null, we already set the authorization error.
|
|
68
|
+
if (server === null) return;
|
|
69
|
+
const transport = new StreamableHTTPServerTransport({
|
|
70
|
+
// Stateless server
|
|
71
|
+
sessionIdGenerator: undefined,
|
|
72
|
+
});
|
|
73
|
+
await server.connect(transport);
|
|
74
|
+
await transport.handleRequest(req, res, req.body);
|
|
75
|
+
};
|
|
51
76
|
|
|
52
77
|
const get = async (req: express.Request, res: express.Response) => {
|
|
53
78
|
res.status(405).json({
|
|
@@ -69,23 +94,26 @@ const del = async (req: express.Request, res: express.Response) => {
|
|
|
69
94
|
});
|
|
70
95
|
};
|
|
71
96
|
|
|
72
|
-
export const streamableHTTPApp = (
|
|
97
|
+
export const streamableHTTPApp = ({
|
|
98
|
+
clientOptions = {},
|
|
99
|
+
mcpOptions = {},
|
|
100
|
+
}: {
|
|
101
|
+
clientOptions?: ClientOptions;
|
|
102
|
+
mcpOptions?: McpOptions;
|
|
103
|
+
}): express.Express => {
|
|
73
104
|
const app = express();
|
|
105
|
+
app.set('query parser', 'extended');
|
|
74
106
|
app.use(express.json());
|
|
75
107
|
|
|
76
108
|
app.get('/', get);
|
|
77
|
-
app.post('/', post(
|
|
109
|
+
app.post('/', post({ clientOptions, mcpOptions }));
|
|
78
110
|
app.delete('/', del);
|
|
79
111
|
|
|
80
112
|
return app;
|
|
81
113
|
};
|
|
82
114
|
|
|
83
|
-
export const launchStreamableHTTPServer = async (
|
|
84
|
-
|
|
85
|
-
endpoints: Endpoint[],
|
|
86
|
-
port: number | string | undefined,
|
|
87
|
-
) => {
|
|
88
|
-
const app = streamableHTTPApp(options);
|
|
115
|
+
export const launchStreamableHTTPServer = async (options: McpOptions, port: number | string | undefined) => {
|
|
116
|
+
const app = streamableHTTPApp({ mcpOptions: options });
|
|
89
117
|
const server = app.listen(port);
|
|
90
118
|
const address = server.address();
|
|
91
119
|
|
package/src/index.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { selectTools } from './server';
|
|
4
4
|
import { Endpoint, endpoints } from './tools';
|
|
5
|
-
import { McpOptions,
|
|
5
|
+
import { McpOptions, parseCLIOptions } from './options';
|
|
6
6
|
import { launchStdioServer } from './stdio';
|
|
7
7
|
import { launchStreamableHTTPServer } from './http';
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ async function main() {
|
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
const selectedTools = selectToolsOrError(endpoints, options);
|
|
17
|
+
const selectedTools = await selectToolsOrError(endpoints, options);
|
|
18
18
|
|
|
19
19
|
console.error(
|
|
20
20
|
`MCP Server starting with ${selectedTools.length} tools:`,
|
|
@@ -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
|
}
|
|
@@ -40,16 +40,16 @@ if (require.main === module) {
|
|
|
40
40
|
|
|
41
41
|
function parseOptionsOrError() {
|
|
42
42
|
try {
|
|
43
|
-
return
|
|
43
|
+
return parseCLIOptions();
|
|
44
44
|
} catch (error) {
|
|
45
45
|
console.error('Error parsing options:', error);
|
|
46
46
|
process.exit(1);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
function selectToolsOrError(endpoints: Endpoint[], options: McpOptions): Endpoint[] {
|
|
50
|
+
async function selectToolsOrError(endpoints: Endpoint[], options: McpOptions): Promise<Endpoint[]> {
|
|
51
51
|
try {
|
|
52
|
-
const includedTools = selectTools(endpoints, options);
|
|
52
|
+
const includedTools = await selectTools(endpoints, options);
|
|
53
53
|
if (includedTools.length === 0) {
|
|
54
54
|
console.error('No tools match the provided filters.');
|
|
55
55
|
process.exit(1);
|
package/src/options.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import qs from 'qs';
|
|
1
2
|
import yargs from 'yargs';
|
|
2
3
|
import { hideBin } from 'yargs/helpers';
|
|
4
|
+
import z from 'zod';
|
|
3
5
|
import { endpoints, Filter } from './tools';
|
|
4
6
|
import { ClientCapabilities, knownClients, ClientType } from './compat';
|
|
5
7
|
|
|
@@ -11,11 +13,13 @@ export type CLIOptions = McpOptions & {
|
|
|
11
13
|
};
|
|
12
14
|
|
|
13
15
|
export type McpOptions = {
|
|
14
|
-
client
|
|
15
|
-
includeDynamicTools
|
|
16
|
-
includeAllTools
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
client?: ClientType | undefined;
|
|
17
|
+
includeDynamicTools?: boolean | undefined;
|
|
18
|
+
includeAllTools?: boolean | undefined;
|
|
19
|
+
includeCodeTools?: boolean | undefined;
|
|
20
|
+
includeDocsTools?: boolean | undefined;
|
|
21
|
+
filters?: Filter[] | undefined;
|
|
22
|
+
capabilities?: Partial<ClientCapabilities> | undefined;
|
|
19
23
|
};
|
|
20
24
|
|
|
21
25
|
const CAPABILITY_CHOICES = [
|
|
@@ -47,18 +51,18 @@ function parseCapabilityValue(cap: string): { name: Capability; value?: number }
|
|
|
47
51
|
return { name: cap as Capability };
|
|
48
52
|
}
|
|
49
53
|
|
|
50
|
-
export function
|
|
54
|
+
export function parseCLIOptions(): CLIOptions {
|
|
51
55
|
const opts = yargs(hideBin(process.argv))
|
|
52
56
|
.option('tools', {
|
|
53
57
|
type: 'string',
|
|
54
58
|
array: true,
|
|
55
|
-
choices: ['dynamic', 'all'],
|
|
59
|
+
choices: ['dynamic', 'all', 'code', 'docs'],
|
|
56
60
|
description: 'Use dynamic tools or all tools',
|
|
57
61
|
})
|
|
58
62
|
.option('no-tools', {
|
|
59
63
|
type: 'string',
|
|
60
64
|
array: true,
|
|
61
|
-
choices: ['dynamic', 'all'],
|
|
65
|
+
choices: ['dynamic', 'all', 'code', 'docs'],
|
|
62
66
|
description: 'Do not use any dynamic or all tools',
|
|
63
67
|
})
|
|
64
68
|
.option('tool', {
|
|
@@ -201,14 +205,7 @@ export function parseOptions(): CLIOptions {
|
|
|
201
205
|
}
|
|
202
206
|
|
|
203
207
|
// Parse client capabilities
|
|
204
|
-
const clientCapabilities: ClientCapabilities = {
|
|
205
|
-
topLevelUnions: true,
|
|
206
|
-
validJson: true,
|
|
207
|
-
refs: true,
|
|
208
|
-
unions: true,
|
|
209
|
-
formats: true,
|
|
210
|
-
toolNameLength: undefined,
|
|
211
|
-
};
|
|
208
|
+
const clientCapabilities: Partial<ClientCapabilities> = {};
|
|
212
209
|
|
|
213
210
|
// Apply individual capability overrides
|
|
214
211
|
if (Array.isArray(argv.capability)) {
|
|
@@ -249,19 +246,25 @@ export function parseOptions(): CLIOptions {
|
|
|
249
246
|
}
|
|
250
247
|
}
|
|
251
248
|
|
|
252
|
-
const
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
249
|
+
const shouldIncludeToolType = (toolType: 'dynamic' | 'all' | 'code' | 'docs') =>
|
|
250
|
+
argv.noTools?.includes(toolType) ? false
|
|
251
|
+
: argv.tools?.includes(toolType) ? true
|
|
252
|
+
: undefined;
|
|
253
|
+
|
|
254
|
+
const includeDynamicTools = shouldIncludeToolType('dynamic');
|
|
255
|
+
const includeAllTools = shouldIncludeToolType('all');
|
|
256
|
+
const includeCodeTools = shouldIncludeToolType('code');
|
|
257
|
+
const includeDocsTools = shouldIncludeToolType('docs');
|
|
257
258
|
|
|
258
259
|
const transport = argv.transport as 'stdio' | 'http';
|
|
259
260
|
|
|
260
261
|
const client = argv.client as ClientType;
|
|
261
262
|
return {
|
|
262
|
-
client: client && knownClients[client] ? client : undefined,
|
|
263
|
+
client: client && client !== 'infer' && knownClients[client] ? client : undefined,
|
|
263
264
|
includeDynamicTools,
|
|
264
265
|
includeAllTools,
|
|
266
|
+
includeCodeTools,
|
|
267
|
+
includeDocsTools,
|
|
265
268
|
filters,
|
|
266
269
|
capabilities: clientCapabilities,
|
|
267
270
|
list: argv.list || false,
|
|
@@ -271,6 +274,128 @@ export function parseOptions(): CLIOptions {
|
|
|
271
274
|
};
|
|
272
275
|
}
|
|
273
276
|
|
|
277
|
+
const coerceArray = <T extends z.ZodTypeAny>(zodType: T) =>
|
|
278
|
+
z.preprocess(
|
|
279
|
+
(val) =>
|
|
280
|
+
Array.isArray(val) ? val
|
|
281
|
+
: val ? [val]
|
|
282
|
+
: val,
|
|
283
|
+
z.array(zodType).optional(),
|
|
284
|
+
);
|
|
285
|
+
|
|
286
|
+
const QueryOptions = z.object({
|
|
287
|
+
tools: coerceArray(z.enum(['dynamic', 'all', 'docs'])).describe('Use dynamic tools or all tools'),
|
|
288
|
+
no_tools: coerceArray(z.enum(['dynamic', 'all', 'docs'])).describe('Do not use dynamic tools or all tools'),
|
|
289
|
+
tool: coerceArray(z.string()).describe('Include tools matching the specified names'),
|
|
290
|
+
resource: coerceArray(z.string()).describe('Include tools matching the specified resources'),
|
|
291
|
+
operation: coerceArray(z.enum(['read', 'write'])).describe(
|
|
292
|
+
'Include tools matching the specified operations',
|
|
293
|
+
),
|
|
294
|
+
tag: coerceArray(z.string()).describe('Include tools with the specified tags'),
|
|
295
|
+
no_tool: coerceArray(z.string()).describe('Exclude tools matching the specified names'),
|
|
296
|
+
no_resource: coerceArray(z.string()).describe('Exclude tools matching the specified resources'),
|
|
297
|
+
no_operation: coerceArray(z.enum(['read', 'write'])).describe(
|
|
298
|
+
'Exclude tools matching the specified operations',
|
|
299
|
+
),
|
|
300
|
+
no_tag: coerceArray(z.string()).describe('Exclude tools with the specified tags'),
|
|
301
|
+
client: ClientType.optional().describe('Specify the MCP client being used'),
|
|
302
|
+
capability: coerceArray(z.string()).describe('Specify client capabilities'),
|
|
303
|
+
no_capability: coerceArray(z.enum(CAPABILITY_CHOICES)).describe('Unset client capabilities'),
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
export function parseQueryOptions(defaultOptions: McpOptions, query: unknown): McpOptions {
|
|
307
|
+
const queryObject = typeof query === 'string' ? qs.parse(query) : query;
|
|
308
|
+
const queryOptions = QueryOptions.parse(queryObject);
|
|
309
|
+
|
|
310
|
+
const filters: Filter[] = [...(defaultOptions.filters ?? [])];
|
|
311
|
+
|
|
312
|
+
for (const resource of queryOptions.resource || []) {
|
|
313
|
+
filters.push({ type: 'resource', op: 'include', value: resource });
|
|
314
|
+
}
|
|
315
|
+
for (const operation of queryOptions.operation || []) {
|
|
316
|
+
filters.push({ type: 'operation', op: 'include', value: operation });
|
|
317
|
+
}
|
|
318
|
+
for (const tag of queryOptions.tag || []) {
|
|
319
|
+
filters.push({ type: 'tag', op: 'include', value: tag });
|
|
320
|
+
}
|
|
321
|
+
for (const tool of queryOptions.tool || []) {
|
|
322
|
+
filters.push({ type: 'tool', op: 'include', value: tool });
|
|
323
|
+
}
|
|
324
|
+
for (const resource of queryOptions.no_resource || []) {
|
|
325
|
+
filters.push({ type: 'resource', op: 'exclude', value: resource });
|
|
326
|
+
}
|
|
327
|
+
for (const operation of queryOptions.no_operation || []) {
|
|
328
|
+
filters.push({ type: 'operation', op: 'exclude', value: operation });
|
|
329
|
+
}
|
|
330
|
+
for (const tag of queryOptions.no_tag || []) {
|
|
331
|
+
filters.push({ type: 'tag', op: 'exclude', value: tag });
|
|
332
|
+
}
|
|
333
|
+
for (const tool of queryOptions.no_tool || []) {
|
|
334
|
+
filters.push({ type: 'tool', op: 'exclude', value: tool });
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Parse client capabilities
|
|
338
|
+
const clientCapabilities: Partial<ClientCapabilities> = { ...defaultOptions.capabilities };
|
|
339
|
+
|
|
340
|
+
for (const cap of queryOptions.capability || []) {
|
|
341
|
+
const parsed = parseCapabilityValue(cap);
|
|
342
|
+
if (parsed.name === 'top-level-unions') {
|
|
343
|
+
clientCapabilities.topLevelUnions = true;
|
|
344
|
+
} else if (parsed.name === 'valid-json') {
|
|
345
|
+
clientCapabilities.validJson = true;
|
|
346
|
+
} else if (parsed.name === 'refs') {
|
|
347
|
+
clientCapabilities.refs = true;
|
|
348
|
+
} else if (parsed.name === 'unions') {
|
|
349
|
+
clientCapabilities.unions = true;
|
|
350
|
+
} else if (parsed.name === 'formats') {
|
|
351
|
+
clientCapabilities.formats = true;
|
|
352
|
+
} else if (parsed.name === 'tool-name-length') {
|
|
353
|
+
clientCapabilities.toolNameLength = parsed.value;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
for (const cap of queryOptions.no_capability || []) {
|
|
358
|
+
if (cap === 'top-level-unions') {
|
|
359
|
+
clientCapabilities.topLevelUnions = false;
|
|
360
|
+
} else if (cap === 'valid-json') {
|
|
361
|
+
clientCapabilities.validJson = false;
|
|
362
|
+
} else if (cap === 'refs') {
|
|
363
|
+
clientCapabilities.refs = false;
|
|
364
|
+
} else if (cap === 'unions') {
|
|
365
|
+
clientCapabilities.unions = false;
|
|
366
|
+
} else if (cap === 'formats') {
|
|
367
|
+
clientCapabilities.formats = false;
|
|
368
|
+
} else if (cap === 'tool-name-length') {
|
|
369
|
+
clientCapabilities.toolNameLength = undefined;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
let dynamicTools: boolean | undefined =
|
|
374
|
+
queryOptions.no_tools && queryOptions.no_tools?.includes('dynamic') ? false
|
|
375
|
+
: queryOptions.tools?.includes('dynamic') ? true
|
|
376
|
+
: defaultOptions.includeDynamicTools;
|
|
377
|
+
|
|
378
|
+
let allTools: boolean | undefined =
|
|
379
|
+
queryOptions.no_tools && queryOptions.no_tools?.includes('all') ? false
|
|
380
|
+
: queryOptions.tools?.includes('all') ? true
|
|
381
|
+
: defaultOptions.includeAllTools;
|
|
382
|
+
|
|
383
|
+
let docsTools: boolean | undefined =
|
|
384
|
+
queryOptions.no_tools && queryOptions.no_tools?.includes('docs') ? false
|
|
385
|
+
: queryOptions.tools?.includes('docs') ? true
|
|
386
|
+
: defaultOptions.includeDocsTools;
|
|
387
|
+
|
|
388
|
+
return {
|
|
389
|
+
client: queryOptions.client ?? defaultOptions.client,
|
|
390
|
+
includeDynamicTools: dynamicTools,
|
|
391
|
+
includeAllTools: allTools,
|
|
392
|
+
includeCodeTools: undefined,
|
|
393
|
+
includeDocsTools: docsTools,
|
|
394
|
+
filters,
|
|
395
|
+
capabilities: clientCapabilities,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
|
|
274
399
|
function getCapabilitiesExplanation(): string {
|
|
275
400
|
return `
|
|
276
401
|
Client Capabilities Explanation:
|
package/src/server.ts
CHANGED
|
@@ -3,7 +3,13 @@
|
|
|
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
|
+
ListToolsRequestSchema,
|
|
9
|
+
SetLevelRequestSchema,
|
|
10
|
+
Implementation,
|
|
11
|
+
Tool,
|
|
12
|
+
} from '@modelcontextprotocol/sdk/types.js';
|
|
7
13
|
import { ClientOptions } from '@metronome/sdk';
|
|
8
14
|
import Metronome from '@metronome/sdk';
|
|
9
15
|
import {
|
|
@@ -14,6 +20,8 @@ import {
|
|
|
14
20
|
parseEmbeddedJSON,
|
|
15
21
|
} from './compat';
|
|
16
22
|
import { dynamicTools } from './dynamic-tools';
|
|
23
|
+
import { codeTool } from './code-tool';
|
|
24
|
+
import docsSearchTool from './docs-search-tool';
|
|
17
25
|
import { McpOptions } from './options';
|
|
18
26
|
|
|
19
27
|
export { McpOptions } from './options';
|
|
@@ -26,7 +34,7 @@ export const newMcpServer = () =>
|
|
|
26
34
|
new McpServer(
|
|
27
35
|
{
|
|
28
36
|
name: 'metronome_sdk_api',
|
|
29
|
-
version: '0.
|
|
37
|
+
version: '2.0.0',
|
|
30
38
|
},
|
|
31
39
|
{ capabilities: { tools: {}, logging: {} } },
|
|
32
40
|
);
|
|
@@ -40,72 +48,127 @@ export const server = newMcpServer();
|
|
|
40
48
|
*/
|
|
41
49
|
export function initMcpServer(params: {
|
|
42
50
|
server: Server | McpServer;
|
|
43
|
-
clientOptions
|
|
44
|
-
mcpOptions
|
|
45
|
-
endpoints?: { tool: Tool; handler: HandlerFunction }[];
|
|
46
|
-
}) {
|
|
47
|
-
const transformedEndpoints = selectTools(endpoints, params.mcpOptions);
|
|
48
|
-
const client = new Metronome(params.clientOptions);
|
|
49
|
-
const capabilities = {
|
|
50
|
-
...defaultClientCapabilities,
|
|
51
|
-
...(params.mcpOptions.client ? knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
|
|
52
|
-
};
|
|
53
|
-
init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export function init(params: {
|
|
57
|
-
server: Server | McpServer;
|
|
58
|
-
client?: Metronome;
|
|
59
|
-
endpoints?: { tool: Tool; handler: HandlerFunction }[];
|
|
60
|
-
capabilities?: Partial<ClientCapabilities>;
|
|
51
|
+
clientOptions?: ClientOptions;
|
|
52
|
+
mcpOptions?: McpOptions;
|
|
61
53
|
}) {
|
|
62
54
|
const server = params.server instanceof McpServer ? params.server.server : params.server;
|
|
63
|
-
const
|
|
55
|
+
const mcpOptions = params.mcpOptions ?? {};
|
|
56
|
+
|
|
57
|
+
let providedEndpoints: Endpoint[] | null = null;
|
|
58
|
+
let endpointMap: Record<string, Endpoint> | null = null;
|
|
59
|
+
|
|
60
|
+
const initTools = async (implementation?: Implementation) => {
|
|
61
|
+
if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
|
|
62
|
+
mcpOptions.client =
|
|
63
|
+
implementation.name.toLowerCase().includes('claude') ? 'claude'
|
|
64
|
+
: implementation.name.toLowerCase().includes('cursor') ? 'cursor'
|
|
65
|
+
: undefined;
|
|
66
|
+
mcpOptions.capabilities = {
|
|
67
|
+
...(mcpOptions.client && knownClients[mcpOptions.client]),
|
|
68
|
+
...mcpOptions.capabilities,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
providedEndpoints ??= await selectTools(endpoints, mcpOptions);
|
|
72
|
+
endpointMap ??= Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
|
|
73
|
+
};
|
|
64
74
|
|
|
65
|
-
const
|
|
75
|
+
const logAtLevel =
|
|
76
|
+
(level: 'debug' | 'info' | 'warning' | 'error') =>
|
|
77
|
+
(message: string, ...rest: unknown[]) => {
|
|
78
|
+
void server.sendLoggingMessage({
|
|
79
|
+
level,
|
|
80
|
+
data: { message, rest },
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
const logger = {
|
|
84
|
+
debug: logAtLevel('debug'),
|
|
85
|
+
info: logAtLevel('info'),
|
|
86
|
+
warn: logAtLevel('warning'),
|
|
87
|
+
error: logAtLevel('error'),
|
|
88
|
+
};
|
|
66
89
|
|
|
67
|
-
|
|
90
|
+
let client = new Metronome({
|
|
91
|
+
logger,
|
|
92
|
+
...params.clientOptions,
|
|
93
|
+
defaultHeaders: {
|
|
94
|
+
...params.clientOptions?.defaultHeaders,
|
|
95
|
+
'X-Stainless-MCP': 'true',
|
|
96
|
+
},
|
|
97
|
+
});
|
|
68
98
|
|
|
69
99
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
100
|
+
if (providedEndpoints === null) {
|
|
101
|
+
await initTools(server.getClientVersion());
|
|
102
|
+
}
|
|
70
103
|
return {
|
|
71
|
-
tools: providedEndpoints
|
|
104
|
+
tools: providedEndpoints!.map((endpoint) => endpoint.tool),
|
|
72
105
|
};
|
|
73
106
|
});
|
|
74
107
|
|
|
75
108
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
109
|
+
if (endpointMap === null) {
|
|
110
|
+
await initTools(server.getClientVersion());
|
|
111
|
+
}
|
|
76
112
|
const { name, arguments: args } = request.params;
|
|
77
|
-
const endpoint = endpointMap[name];
|
|
113
|
+
const endpoint = endpointMap![name];
|
|
78
114
|
if (!endpoint) {
|
|
79
115
|
throw new Error(`Unknown tool: ${name}`);
|
|
80
116
|
}
|
|
81
117
|
|
|
82
|
-
return executeHandler(endpoint.tool, endpoint.handler, client, args,
|
|
118
|
+
return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
server.setRequestHandler(SetLevelRequestSchema, async (request) => {
|
|
122
|
+
const { level } = request.params;
|
|
123
|
+
switch (level) {
|
|
124
|
+
case 'debug':
|
|
125
|
+
client = client.withOptions({ logLevel: 'debug' });
|
|
126
|
+
break;
|
|
127
|
+
case 'info':
|
|
128
|
+
client = client.withOptions({ logLevel: 'info' });
|
|
129
|
+
break;
|
|
130
|
+
case 'notice':
|
|
131
|
+
case 'warning':
|
|
132
|
+
client = client.withOptions({ logLevel: 'warn' });
|
|
133
|
+
break;
|
|
134
|
+
case 'error':
|
|
135
|
+
client = client.withOptions({ logLevel: 'error' });
|
|
136
|
+
break;
|
|
137
|
+
default:
|
|
138
|
+
client = client.withOptions({ logLevel: 'off' });
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
return {};
|
|
83
142
|
});
|
|
84
143
|
}
|
|
85
144
|
|
|
86
145
|
/**
|
|
87
146
|
* Selects the tools to include in the MCP Server based on the provided options.
|
|
88
147
|
*/
|
|
89
|
-
export function selectTools(endpoints: Endpoint[], options
|
|
90
|
-
const filteredEndpoints = query(options
|
|
148
|
+
export async function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]> {
|
|
149
|
+
const filteredEndpoints = query(options?.filters ?? [], endpoints);
|
|
91
150
|
|
|
92
|
-
let includedTools = filteredEndpoints;
|
|
151
|
+
let includedTools = filteredEndpoints.slice();
|
|
93
152
|
|
|
94
153
|
if (includedTools.length > 0) {
|
|
95
|
-
if (options
|
|
154
|
+
if (options?.includeDynamicTools) {
|
|
96
155
|
includedTools = dynamicTools(includedTools);
|
|
97
156
|
}
|
|
98
157
|
} else {
|
|
99
|
-
if (options
|
|
100
|
-
includedTools = endpoints;
|
|
101
|
-
} else if (options
|
|
158
|
+
if (options?.includeAllTools) {
|
|
159
|
+
includedTools = endpoints.slice();
|
|
160
|
+
} else if (options?.includeDynamicTools) {
|
|
102
161
|
includedTools = dynamicTools(endpoints);
|
|
162
|
+
} else if (options?.includeCodeTools) {
|
|
163
|
+
includedTools = [await codeTool()];
|
|
103
164
|
} else {
|
|
104
|
-
includedTools = endpoints;
|
|
165
|
+
includedTools = endpoints.slice();
|
|
105
166
|
}
|
|
106
167
|
}
|
|
107
|
-
|
|
108
|
-
|
|
168
|
+
if (options?.includeDocsTools ?? true) {
|
|
169
|
+
includedTools.push(docsSearchTool);
|
|
170
|
+
}
|
|
171
|
+
const capabilities = { ...defaultClientCapabilities, ...options?.capabilities };
|
|
109
172
|
return applyCompatibilityTransformations(includedTools, capabilities);
|
|
110
173
|
}
|
|
111
174
|
|