@zavudev/sdk-mcp 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +313 -0
- package/code-tool-types.d.mts +16 -0
- package/code-tool-types.d.mts.map +1 -0
- package/code-tool-types.d.ts +16 -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.d.mts +54 -0
- package/code-tool.d.mts.map +1 -0
- package/code-tool.d.ts +54 -0
- package/code-tool.d.ts.map +1 -0
- package/code-tool.js +49 -0
- package/code-tool.js.map +1 -0
- package/code-tool.mjs +46 -0
- package/code-tool.mjs.map +1 -0
- package/compat.d.mts +58 -0
- package/compat.d.mts.map +1 -0
- package/compat.d.ts +58 -0
- package/compat.d.ts.map +1 -0
- package/compat.js +387 -0
- package/compat.js.map +1 -0
- package/compat.mjs +378 -0
- package/compat.mjs.map +1 -0
- package/docs-search-tool.d.mts +50 -0
- package/docs-search-tool.d.mts.map +1 -0
- package/docs-search-tool.d.ts +50 -0
- package/docs-search-tool.d.ts.map +1 -0
- package/docs-search-tool.js +51 -0
- package/docs-search-tool.js.map +1 -0
- package/docs-search-tool.mjs +47 -0
- package/docs-search-tool.mjs.map +1 -0
- package/dynamic-tools.d.mts +12 -0
- package/dynamic-tools.d.mts.map +1 -0
- package/dynamic-tools.d.ts +12 -0
- package/dynamic-tools.d.ts.map +1 -0
- package/dynamic-tools.js +135 -0
- package/dynamic-tools.js.map +1 -0
- package/dynamic-tools.mjs +132 -0
- package/dynamic-tools.mjs.map +1 -0
- package/filtering.d.mts +3 -0
- package/filtering.d.mts.map +1 -0
- package/filtering.d.ts +3 -0
- package/filtering.d.ts.map +1 -0
- package/filtering.js +24 -0
- package/filtering.js.map +1 -0
- package/filtering.mjs +16 -0
- package/filtering.mjs.map +1 -0
- package/headers.d.mts +4 -0
- package/headers.d.mts.map +1 -0
- package/headers.d.ts +4 -0
- package/headers.d.ts.map +1 -0
- package/headers.js +22 -0
- package/headers.js.map +1 -0
- package/headers.mjs +18 -0
- package/headers.mjs.map +1 -0
- package/http.d.mts +9 -0
- package/http.d.mts.map +1 -0
- package/http.d.ts +9 -0
- package/http.d.ts.map +1 -0
- package/http.js +108 -0
- package/http.js.map +1 -0
- package/http.mjs +100 -0
- package/http.mjs.map +1 -0
- package/index.d.mts +3 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -0
- package/index.js +91 -0
- package/index.js.map +1 -0
- package/index.mjs +89 -0
- package/index.mjs.map +1 -0
- package/options.d.mts +20 -0
- package/options.d.mts.map +1 -0
- package/options.d.ts +20 -0
- package/options.d.ts.map +1 -0
- package/options.js +427 -0
- package/options.js.map +1 -0
- package/options.mjs +420 -0
- package/options.mjs.map +1 -0
- package/package.json +201 -0
- package/server.d.mts +35 -0
- package/server.d.mts.map +1 -0
- package/server.d.ts +35 -0
- package/server.d.ts.map +1 -0
- package/server.js +174 -0
- package/server.js.map +1 -0
- package/server.mjs +160 -0
- package/server.mjs.map +1 -0
- package/src/code-tool-types.ts +18 -0
- package/src/code-tool.ts +59 -0
- package/src/compat.ts +483 -0
- package/src/docs-search-tool.ts +59 -0
- package/src/dynamic-tools.ts +153 -0
- package/src/filtering.ts +18 -0
- package/src/headers.ts +25 -0
- package/src/http.ts +127 -0
- package/src/index.ts +108 -0
- package/src/options.ts +473 -0
- package/src/server.ts +207 -0
- package/src/stdio.ts +13 -0
- package/src/tools/broadcasts/cancel-broadcasts.ts +52 -0
- package/src/tools/broadcasts/contacts/add-broadcasts-contacts.ts +73 -0
- package/src/tools/broadcasts/contacts/list-broadcasts-contacts.ts +71 -0
- package/src/tools/broadcasts/contacts/remove-broadcasts-contacts.ts +43 -0
- package/src/tools/broadcasts/create-broadcasts.ts +134 -0
- package/src/tools/broadcasts/delete-broadcasts.ts +40 -0
- package/src/tools/broadcasts/list-broadcasts.ts +68 -0
- package/src/tools/broadcasts/progress-broadcasts.ts +54 -0
- package/src/tools/broadcasts/retrieve-broadcasts.ts +54 -0
- package/src/tools/broadcasts/send-broadcasts.ts +57 -0
- package/src/tools/broadcasts/update-broadcasts.ts +106 -0
- package/src/tools/contacts/list-contacts.ts +61 -0
- package/src/tools/contacts/retrieve-by-phone-contacts.ts +56 -0
- package/src/tools/contacts/retrieve-contacts.ts +54 -0
- package/src/tools/contacts/update-contacts.ts +61 -0
- package/src/tools/index.ts +143 -0
- package/src/tools/introspect/validate-phone-introspect.ts +52 -0
- package/src/tools/messages/list-messages.ts +78 -0
- package/src/tools/messages/react-messages.ts +59 -0
- package/src/tools/messages/retrieve-messages.ts +54 -0
- package/src/tools/messages/send-messages.ts +233 -0
- package/src/tools/phone-numbers/list-phone-numbers.ts +68 -0
- package/src/tools/phone-numbers/purchase-phone-numbers.ts +57 -0
- package/src/tools/phone-numbers/release-phone-numbers.ts +40 -0
- package/src/tools/phone-numbers/retrieve-phone-numbers.ts +56 -0
- package/src/tools/phone-numbers/search-available-phone-numbers.ts +72 -0
- package/src/tools/phone-numbers/update-phone-numbers.ts +62 -0
- package/src/tools/senders/create-senders.ts +86 -0
- package/src/tools/senders/delete-senders.ts +40 -0
- package/src/tools/senders/list-senders.ts +58 -0
- package/src/tools/senders/regenerate-webhook-secret-senders.ts +54 -0
- package/src/tools/senders/retrieve-senders.ts +54 -0
- package/src/tools/senders/update-senders.ts +90 -0
- package/src/tools/templates/create-templates.ts +74 -0
- package/src/tools/templates/delete-templates.ts +40 -0
- package/src/tools/templates/list-templates.ts +58 -0
- package/src/tools/templates/retrieve-templates.ts +54 -0
- package/src/tools/templates/submit-templates.ts +66 -0
- package/src/tools/types.ts +115 -0
- package/src/tools.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/stdio.d.mts +3 -0
- package/stdio.d.mts.map +1 -0
- package/stdio.d.ts +3 -0
- package/stdio.d.ts.map +1 -0
- package/stdio.js +14 -0
- package/stdio.js.map +1 -0
- package/stdio.mjs +10 -0
- package/stdio.mjs.map +1 -0
- package/tools/broadcasts/cancel-broadcasts.d.mts +51 -0
- package/tools/broadcasts/cancel-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/cancel-broadcasts.d.ts +51 -0
- package/tools/broadcasts/cancel-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/cancel-broadcasts.js +52 -0
- package/tools/broadcasts/cancel-broadcasts.js.map +1 -0
- package/tools/broadcasts/cancel-broadcasts.mjs +45 -0
- package/tools/broadcasts/cancel-broadcasts.mjs.map +1 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.d.mts +51 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.d.mts.map +1 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.d.ts +51 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.d.ts.map +1 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.js +71 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.js.map +1 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.mjs +64 -0
- package/tools/broadcasts/contacts/add-broadcasts-contacts.mjs.map +1 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.d.mts +51 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.d.mts.map +1 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.d.ts +51 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.d.ts.map +1 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.js +71 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.js.map +1 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.mjs +64 -0
- package/tools/broadcasts/contacts/list-broadcasts-contacts.mjs.map +1 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.mts +51 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.mts.map +1 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.ts +51 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.ts.map +1 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.js +40 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.js.map +1 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.mjs +36 -0
- package/tools/broadcasts/contacts/remove-broadcasts-contacts.mjs.map +1 -0
- package/tools/broadcasts/create-broadcasts.d.mts +51 -0
- package/tools/broadcasts/create-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/create-broadcasts.d.ts +51 -0
- package/tools/broadcasts/create-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/create-broadcasts.js +134 -0
- package/tools/broadcasts/create-broadcasts.js.map +1 -0
- package/tools/broadcasts/create-broadcasts.mjs +127 -0
- package/tools/broadcasts/create-broadcasts.mjs.map +1 -0
- package/tools/broadcasts/delete-broadcasts.d.mts +51 -0
- package/tools/broadcasts/delete-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/delete-broadcasts.d.ts +51 -0
- package/tools/broadcasts/delete-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/delete-broadcasts.js +37 -0
- package/tools/broadcasts/delete-broadcasts.js.map +1 -0
- package/tools/broadcasts/delete-broadcasts.mjs +33 -0
- package/tools/broadcasts/delete-broadcasts.mjs.map +1 -0
- package/tools/broadcasts/list-broadcasts.d.mts +51 -0
- package/tools/broadcasts/list-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/list-broadcasts.d.ts +51 -0
- package/tools/broadcasts/list-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/list-broadcasts.js +68 -0
- package/tools/broadcasts/list-broadcasts.js.map +1 -0
- package/tools/broadcasts/list-broadcasts.mjs +61 -0
- package/tools/broadcasts/list-broadcasts.mjs.map +1 -0
- package/tools/broadcasts/progress-broadcasts.d.mts +51 -0
- package/tools/broadcasts/progress-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/progress-broadcasts.d.ts +51 -0
- package/tools/broadcasts/progress-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/progress-broadcasts.js +54 -0
- package/tools/broadcasts/progress-broadcasts.js.map +1 -0
- package/tools/broadcasts/progress-broadcasts.mjs +47 -0
- package/tools/broadcasts/progress-broadcasts.mjs.map +1 -0
- package/tools/broadcasts/retrieve-broadcasts.d.mts +51 -0
- package/tools/broadcasts/retrieve-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/retrieve-broadcasts.d.ts +51 -0
- package/tools/broadcasts/retrieve-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/retrieve-broadcasts.js +54 -0
- package/tools/broadcasts/retrieve-broadcasts.js.map +1 -0
- package/tools/broadcasts/retrieve-broadcasts.mjs +47 -0
- package/tools/broadcasts/retrieve-broadcasts.mjs.map +1 -0
- package/tools/broadcasts/send-broadcasts.d.mts +51 -0
- package/tools/broadcasts/send-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/send-broadcasts.d.ts +51 -0
- package/tools/broadcasts/send-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/send-broadcasts.js +57 -0
- package/tools/broadcasts/send-broadcasts.js.map +1 -0
- package/tools/broadcasts/send-broadcasts.mjs +50 -0
- package/tools/broadcasts/send-broadcasts.mjs.map +1 -0
- package/tools/broadcasts/update-broadcasts.d.mts +51 -0
- package/tools/broadcasts/update-broadcasts.d.mts.map +1 -0
- package/tools/broadcasts/update-broadcasts.d.ts +51 -0
- package/tools/broadcasts/update-broadcasts.d.ts.map +1 -0
- package/tools/broadcasts/update-broadcasts.js +104 -0
- package/tools/broadcasts/update-broadcasts.js.map +1 -0
- package/tools/broadcasts/update-broadcasts.mjs +97 -0
- package/tools/broadcasts/update-broadcasts.mjs.map +1 -0
- package/tools/contacts/list-contacts.d.mts +51 -0
- package/tools/contacts/list-contacts.d.mts.map +1 -0
- package/tools/contacts/list-contacts.d.ts +51 -0
- package/tools/contacts/list-contacts.d.ts.map +1 -0
- package/tools/contacts/list-contacts.js +61 -0
- package/tools/contacts/list-contacts.js.map +1 -0
- package/tools/contacts/list-contacts.mjs +54 -0
- package/tools/contacts/list-contacts.mjs.map +1 -0
- package/tools/contacts/retrieve-by-phone-contacts.d.mts +51 -0
- package/tools/contacts/retrieve-by-phone-contacts.d.mts.map +1 -0
- package/tools/contacts/retrieve-by-phone-contacts.d.ts +51 -0
- package/tools/contacts/retrieve-by-phone-contacts.d.ts.map +1 -0
- package/tools/contacts/retrieve-by-phone-contacts.js +54 -0
- package/tools/contacts/retrieve-by-phone-contacts.js.map +1 -0
- package/tools/contacts/retrieve-by-phone-contacts.mjs +47 -0
- package/tools/contacts/retrieve-by-phone-contacts.mjs.map +1 -0
- package/tools/contacts/retrieve-contacts.d.mts +51 -0
- package/tools/contacts/retrieve-contacts.d.mts.map +1 -0
- package/tools/contacts/retrieve-contacts.d.ts +51 -0
- package/tools/contacts/retrieve-contacts.d.ts.map +1 -0
- package/tools/contacts/retrieve-contacts.js +54 -0
- package/tools/contacts/retrieve-contacts.js.map +1 -0
- package/tools/contacts/retrieve-contacts.mjs +47 -0
- package/tools/contacts/retrieve-contacts.mjs.map +1 -0
- package/tools/contacts/update-contacts.d.mts +51 -0
- package/tools/contacts/update-contacts.d.mts.map +1 -0
- package/tools/contacts/update-contacts.d.ts +51 -0
- package/tools/contacts/update-contacts.d.ts.map +1 -0
- package/tools/contacts/update-contacts.js +61 -0
- package/tools/contacts/update-contacts.js.map +1 -0
- package/tools/contacts/update-contacts.mjs +54 -0
- package/tools/contacts/update-contacts.mjs.map +1 -0
- package/tools/index.d.mts +10 -0
- package/tools/index.d.mts.map +1 -0
- package/tools/index.d.ts +10 -0
- package/tools/index.d.ts.map +1 -0
- package/tools/index.js +127 -0
- package/tools/index.js.map +1 -0
- package/tools/index.mjs +120 -0
- package/tools/index.mjs.map +1 -0
- package/tools/introspect/validate-phone-introspect.d.mts +51 -0
- package/tools/introspect/validate-phone-introspect.d.mts.map +1 -0
- package/tools/introspect/validate-phone-introspect.d.ts +51 -0
- package/tools/introspect/validate-phone-introspect.d.ts.map +1 -0
- package/tools/introspect/validate-phone-introspect.js +52 -0
- package/tools/introspect/validate-phone-introspect.js.map +1 -0
- package/tools/introspect/validate-phone-introspect.mjs +45 -0
- package/tools/introspect/validate-phone-introspect.mjs.map +1 -0
- package/tools/messages/list-messages.d.mts +51 -0
- package/tools/messages/list-messages.d.mts.map +1 -0
- package/tools/messages/list-messages.d.ts +51 -0
- package/tools/messages/list-messages.d.ts.map +1 -0
- package/tools/messages/list-messages.js +78 -0
- package/tools/messages/list-messages.js.map +1 -0
- package/tools/messages/list-messages.mjs +71 -0
- package/tools/messages/list-messages.mjs.map +1 -0
- package/tools/messages/react-messages.d.mts +51 -0
- package/tools/messages/react-messages.d.mts.map +1 -0
- package/tools/messages/react-messages.d.ts +51 -0
- package/tools/messages/react-messages.d.ts.map +1 -0
- package/tools/messages/react-messages.js +59 -0
- package/tools/messages/react-messages.js.map +1 -0
- package/tools/messages/react-messages.mjs +52 -0
- package/tools/messages/react-messages.mjs.map +1 -0
- package/tools/messages/retrieve-messages.d.mts +51 -0
- package/tools/messages/retrieve-messages.d.mts.map +1 -0
- package/tools/messages/retrieve-messages.d.ts +51 -0
- package/tools/messages/retrieve-messages.d.ts.map +1 -0
- package/tools/messages/retrieve-messages.js +54 -0
- package/tools/messages/retrieve-messages.js.map +1 -0
- package/tools/messages/retrieve-messages.mjs +47 -0
- package/tools/messages/retrieve-messages.mjs.map +1 -0
- package/tools/messages/send-messages.d.mts +51 -0
- package/tools/messages/send-messages.d.mts.map +1 -0
- package/tools/messages/send-messages.d.ts +51 -0
- package/tools/messages/send-messages.d.ts.map +1 -0
- package/tools/messages/send-messages.js +233 -0
- package/tools/messages/send-messages.js.map +1 -0
- package/tools/messages/send-messages.mjs +226 -0
- package/tools/messages/send-messages.mjs.map +1 -0
- package/tools/phone-numbers/list-phone-numbers.d.mts +51 -0
- package/tools/phone-numbers/list-phone-numbers.d.mts.map +1 -0
- package/tools/phone-numbers/list-phone-numbers.d.ts +51 -0
- package/tools/phone-numbers/list-phone-numbers.d.ts.map +1 -0
- package/tools/phone-numbers/list-phone-numbers.js +68 -0
- package/tools/phone-numbers/list-phone-numbers.js.map +1 -0
- package/tools/phone-numbers/list-phone-numbers.mjs +61 -0
- package/tools/phone-numbers/list-phone-numbers.mjs.map +1 -0
- package/tools/phone-numbers/purchase-phone-numbers.d.mts +51 -0
- package/tools/phone-numbers/purchase-phone-numbers.d.mts.map +1 -0
- package/tools/phone-numbers/purchase-phone-numbers.d.ts +51 -0
- package/tools/phone-numbers/purchase-phone-numbers.d.ts.map +1 -0
- package/tools/phone-numbers/purchase-phone-numbers.js +57 -0
- package/tools/phone-numbers/purchase-phone-numbers.js.map +1 -0
- package/tools/phone-numbers/purchase-phone-numbers.mjs +50 -0
- package/tools/phone-numbers/purchase-phone-numbers.mjs.map +1 -0
- package/tools/phone-numbers/release-phone-numbers.d.mts +51 -0
- package/tools/phone-numbers/release-phone-numbers.d.mts.map +1 -0
- package/tools/phone-numbers/release-phone-numbers.d.ts +51 -0
- package/tools/phone-numbers/release-phone-numbers.d.ts.map +1 -0
- package/tools/phone-numbers/release-phone-numbers.js +37 -0
- package/tools/phone-numbers/release-phone-numbers.js.map +1 -0
- package/tools/phone-numbers/release-phone-numbers.mjs +33 -0
- package/tools/phone-numbers/release-phone-numbers.mjs.map +1 -0
- package/tools/phone-numbers/retrieve-phone-numbers.d.mts +51 -0
- package/tools/phone-numbers/retrieve-phone-numbers.d.mts.map +1 -0
- package/tools/phone-numbers/retrieve-phone-numbers.d.ts +51 -0
- package/tools/phone-numbers/retrieve-phone-numbers.d.ts.map +1 -0
- package/tools/phone-numbers/retrieve-phone-numbers.js +54 -0
- package/tools/phone-numbers/retrieve-phone-numbers.js.map +1 -0
- package/tools/phone-numbers/retrieve-phone-numbers.mjs +47 -0
- package/tools/phone-numbers/retrieve-phone-numbers.mjs.map +1 -0
- package/tools/phone-numbers/search-available-phone-numbers.d.mts +51 -0
- package/tools/phone-numbers/search-available-phone-numbers.d.mts.map +1 -0
- package/tools/phone-numbers/search-available-phone-numbers.d.ts +51 -0
- package/tools/phone-numbers/search-available-phone-numbers.d.ts.map +1 -0
- package/tools/phone-numbers/search-available-phone-numbers.js +72 -0
- package/tools/phone-numbers/search-available-phone-numbers.js.map +1 -0
- package/tools/phone-numbers/search-available-phone-numbers.mjs +65 -0
- package/tools/phone-numbers/search-available-phone-numbers.mjs.map +1 -0
- package/tools/phone-numbers/update-phone-numbers.d.mts +51 -0
- package/tools/phone-numbers/update-phone-numbers.d.mts.map +1 -0
- package/tools/phone-numbers/update-phone-numbers.d.ts +51 -0
- package/tools/phone-numbers/update-phone-numbers.d.ts.map +1 -0
- package/tools/phone-numbers/update-phone-numbers.js +60 -0
- package/tools/phone-numbers/update-phone-numbers.js.map +1 -0
- package/tools/phone-numbers/update-phone-numbers.mjs +53 -0
- package/tools/phone-numbers/update-phone-numbers.mjs.map +1 -0
- package/tools/senders/create-senders.d.mts +51 -0
- package/tools/senders/create-senders.d.mts.map +1 -0
- package/tools/senders/create-senders.d.ts +51 -0
- package/tools/senders/create-senders.d.ts.map +1 -0
- package/tools/senders/create-senders.js +85 -0
- package/tools/senders/create-senders.js.map +1 -0
- package/tools/senders/create-senders.mjs +78 -0
- package/tools/senders/create-senders.mjs.map +1 -0
- package/tools/senders/delete-senders.d.mts +51 -0
- package/tools/senders/delete-senders.d.mts.map +1 -0
- package/tools/senders/delete-senders.d.ts +51 -0
- package/tools/senders/delete-senders.d.ts.map +1 -0
- package/tools/senders/delete-senders.js +37 -0
- package/tools/senders/delete-senders.js.map +1 -0
- package/tools/senders/delete-senders.mjs +33 -0
- package/tools/senders/delete-senders.mjs.map +1 -0
- package/tools/senders/list-senders.d.mts +51 -0
- package/tools/senders/list-senders.d.mts.map +1 -0
- package/tools/senders/list-senders.d.ts +51 -0
- package/tools/senders/list-senders.d.ts.map +1 -0
- package/tools/senders/list-senders.js +58 -0
- package/tools/senders/list-senders.js.map +1 -0
- package/tools/senders/list-senders.mjs +51 -0
- package/tools/senders/list-senders.mjs.map +1 -0
- package/tools/senders/regenerate-webhook-secret-senders.d.mts +51 -0
- package/tools/senders/regenerate-webhook-secret-senders.d.mts.map +1 -0
- package/tools/senders/regenerate-webhook-secret-senders.d.ts +51 -0
- package/tools/senders/regenerate-webhook-secret-senders.d.ts.map +1 -0
- package/tools/senders/regenerate-webhook-secret-senders.js +52 -0
- package/tools/senders/regenerate-webhook-secret-senders.js.map +1 -0
- package/tools/senders/regenerate-webhook-secret-senders.mjs +45 -0
- package/tools/senders/regenerate-webhook-secret-senders.mjs.map +1 -0
- package/tools/senders/retrieve-senders.d.mts +51 -0
- package/tools/senders/retrieve-senders.d.mts.map +1 -0
- package/tools/senders/retrieve-senders.d.ts +51 -0
- package/tools/senders/retrieve-senders.d.ts.map +1 -0
- package/tools/senders/retrieve-senders.js +54 -0
- package/tools/senders/retrieve-senders.js.map +1 -0
- package/tools/senders/retrieve-senders.mjs +47 -0
- package/tools/senders/retrieve-senders.mjs.map +1 -0
- package/tools/senders/update-senders.d.mts +51 -0
- package/tools/senders/update-senders.d.mts.map +1 -0
- package/tools/senders/update-senders.d.ts +51 -0
- package/tools/senders/update-senders.d.ts.map +1 -0
- package/tools/senders/update-senders.js +89 -0
- package/tools/senders/update-senders.js.map +1 -0
- package/tools/senders/update-senders.mjs +82 -0
- package/tools/senders/update-senders.mjs.map +1 -0
- package/tools/templates/create-templates.d.mts +51 -0
- package/tools/templates/create-templates.d.mts.map +1 -0
- package/tools/templates/create-templates.d.ts +51 -0
- package/tools/templates/create-templates.d.ts.map +1 -0
- package/tools/templates/create-templates.js +74 -0
- package/tools/templates/create-templates.js.map +1 -0
- package/tools/templates/create-templates.mjs +67 -0
- package/tools/templates/create-templates.mjs.map +1 -0
- package/tools/templates/delete-templates.d.mts +51 -0
- package/tools/templates/delete-templates.d.mts.map +1 -0
- package/tools/templates/delete-templates.d.ts +51 -0
- package/tools/templates/delete-templates.d.ts.map +1 -0
- package/tools/templates/delete-templates.js +37 -0
- package/tools/templates/delete-templates.js.map +1 -0
- package/tools/templates/delete-templates.mjs +33 -0
- package/tools/templates/delete-templates.mjs.map +1 -0
- package/tools/templates/list-templates.d.mts +51 -0
- package/tools/templates/list-templates.d.mts.map +1 -0
- package/tools/templates/list-templates.d.ts +51 -0
- package/tools/templates/list-templates.d.ts.map +1 -0
- package/tools/templates/list-templates.js +58 -0
- package/tools/templates/list-templates.js.map +1 -0
- package/tools/templates/list-templates.mjs +51 -0
- package/tools/templates/list-templates.mjs.map +1 -0
- package/tools/templates/retrieve-templates.d.mts +51 -0
- package/tools/templates/retrieve-templates.d.mts.map +1 -0
- package/tools/templates/retrieve-templates.d.ts +51 -0
- package/tools/templates/retrieve-templates.d.ts.map +1 -0
- package/tools/templates/retrieve-templates.js +54 -0
- package/tools/templates/retrieve-templates.js.map +1 -0
- package/tools/templates/retrieve-templates.mjs +47 -0
- package/tools/templates/retrieve-templates.mjs.map +1 -0
- package/tools/templates/submit-templates.d.mts +51 -0
- package/tools/templates/submit-templates.d.mts.map +1 -0
- package/tools/templates/submit-templates.d.ts +51 -0
- package/tools/templates/submit-templates.d.ts.map +1 -0
- package/tools/templates/submit-templates.js +66 -0
- package/tools/templates/submit-templates.js.map +1 -0
- package/tools/templates/submit-templates.mjs +59 -0
- package/tools/templates/submit-templates.mjs.map +1 -0
- package/tools/types.d.mts +52 -0
- package/tools/types.d.mts.map +1 -0
- package/tools/types.d.ts +52 -0
- package/tools/types.d.ts.map +1 -0
- package/tools/types.js +58 -0
- package/tools/types.js.map +1 -0
- package/tools/types.mjs +53 -0
- package/tools/types.mjs.map +1 -0
- package/tools.d.mts +2 -0
- package/tools.d.mts.map +1 -0
- package/tools.d.ts +2 -0
- package/tools.d.ts.map +1 -0
- package/tools.js +18 -0
- package/tools.js.map +1 -0
- package/tools.mjs +2 -0
- package/tools.mjs.map +1 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'phone_numbers',
|
|
11
|
+
operation: 'read',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'get',
|
|
14
|
+
httpPath: '/v1/phone-numbers/{phoneNumberId}',
|
|
15
|
+
operationId: 'getPhoneNumber',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'retrieve_phone_numbers',
|
|
20
|
+
description:
|
|
21
|
+
"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\nGet details of a specific phone number.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/phone_number_retrieve_response',\n $defs: {\n phone_number_retrieve_response: {\n type: 'object',\n properties: {\n phoneNumber: {\n $ref: '#/$defs/owned_phone_number'\n }\n },\n required: [ 'phoneNumber'\n ]\n },\n owned_phone_number: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n capabilities: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n phoneNumber: {\n type: 'string'\n },\n pricing: {\n $ref: '#/$defs/owned_phone_number_pricing'\n },\n status: {\n $ref: '#/$defs/phone_number_status'\n },\n name: {\n type: 'string',\n description: 'Optional custom name for the phone number.'\n },\n nextRenewalDate: {\n type: 'string',\n format: 'date-time'\n },\n senderId: {\n type: 'string',\n description: 'Sender ID if the phone number is assigned to a sender.'\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'capabilities',\n 'createdAt',\n 'phoneNumber',\n 'pricing',\n 'status'\n ]\n },\n owned_phone_number_pricing: {\n type: 'object',\n properties: {\n isFreeNumber: {\n type: 'boolean',\n description: 'Whether this is a free number.'\n },\n monthlyCost: {\n type: 'number',\n description: 'Monthly cost in cents.'\n },\n monthlyPrice: {\n type: 'number',\n description: 'Monthly price in USD.'\n },\n upfrontCost: {\n type: 'number',\n description: 'One-time purchase cost in cents.'\n }\n }\n },\n phone_number_status: {\n type: 'string',\n enum: [ 'active',\n 'suspended',\n 'pending'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
phoneNumberId: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
jq_filter: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
title: 'jq Filter',
|
|
31
|
+
description:
|
|
32
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
required: ['phoneNumberId'],
|
|
36
|
+
},
|
|
37
|
+
annotations: {
|
|
38
|
+
readOnlyHint: true,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
43
|
+
const { phoneNumberId, jq_filter, ...body } = args as any;
|
|
44
|
+
try {
|
|
45
|
+
return asTextContentResult(
|
|
46
|
+
await maybeFilter(jq_filter, await client.phoneNumbers.retrieve(phoneNumberId)),
|
|
47
|
+
);
|
|
48
|
+
} catch (error) {
|
|
49
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
50
|
+
return asErrorResult(error.message);
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'phone_numbers',
|
|
11
|
+
operation: 'read',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'get',
|
|
14
|
+
httpPath: '/v1/phone-numbers/available',
|
|
15
|
+
operationId: 'searchAvailablePhoneNumbers',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'search_available_phone_numbers',
|
|
20
|
+
description:
|
|
21
|
+
"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\nSearch for available phone numbers to purchase by country and type.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/phone_number_search_available_response',\n $defs: {\n phone_number_search_available_response: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/available_phone_number'\n }\n }\n },\n required: [ 'items'\n ]\n },\n available_phone_number: {\n type: 'object',\n properties: {\n capabilities: {\n $ref: '#/$defs/phone_number_capabilities'\n },\n phoneNumber: {\n type: 'string'\n },\n pricing: {\n $ref: '#/$defs/phone_number_pricing'\n },\n friendlyName: {\n type: 'string'\n },\n locality: {\n type: 'string'\n },\n region: {\n type: 'string'\n }\n },\n required: [ 'capabilities',\n 'phoneNumber',\n 'pricing'\n ]\n },\n phone_number_capabilities: {\n type: 'object',\n properties: {\n mms: {\n type: 'boolean'\n },\n sms: {\n type: 'boolean'\n },\n voice: {\n type: 'boolean'\n }\n }\n },\n phone_number_pricing: {\n type: 'object',\n properties: {\n isFreeEligible: {\n type: 'boolean',\n description: 'Whether this number qualifies for the free first US number offer.'\n },\n monthlyPrice: {\n type: 'number',\n description: 'Monthly price in USD.'\n },\n upfrontPrice: {\n type: 'number',\n description: 'One-time purchase price in USD.'\n }\n }\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
countryCode: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Two-letter ISO country code.',
|
|
28
|
+
},
|
|
29
|
+
contains: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
description: 'Search for numbers containing this string.',
|
|
32
|
+
},
|
|
33
|
+
limit: {
|
|
34
|
+
type: 'integer',
|
|
35
|
+
description: 'Maximum number of results to return.',
|
|
36
|
+
},
|
|
37
|
+
type: {
|
|
38
|
+
$ref: '#/$defs/phone_number_type',
|
|
39
|
+
},
|
|
40
|
+
jq_filter: {
|
|
41
|
+
type: 'string',
|
|
42
|
+
title: 'jq Filter',
|
|
43
|
+
description:
|
|
44
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
required: ['countryCode'],
|
|
48
|
+
$defs: {
|
|
49
|
+
phone_number_type: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
enum: ['local', 'mobile', 'tollFree'],
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
annotations: {
|
|
56
|
+
readOnlyHint: true,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
61
|
+
const { jq_filter, ...body } = args as any;
|
|
62
|
+
try {
|
|
63
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.phoneNumbers.searchAvailable(body)));
|
|
64
|
+
} catch (error) {
|
|
65
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
66
|
+
return asErrorResult(error.message);
|
|
67
|
+
}
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'phone_numbers',
|
|
11
|
+
operation: 'write',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'patch',
|
|
14
|
+
httpPath: '/v1/phone-numbers/{phoneNumberId}',
|
|
15
|
+
operationId: 'updatePhoneNumber',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'update_phone_numbers',
|
|
20
|
+
description:
|
|
21
|
+
"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\nUpdate a phone number's name or sender assignment.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/phone_number_update_response',\n $defs: {\n phone_number_update_response: {\n type: 'object',\n properties: {\n phoneNumber: {\n $ref: '#/$defs/owned_phone_number'\n }\n },\n required: [ 'phoneNumber'\n ]\n },\n owned_phone_number: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n capabilities: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n phoneNumber: {\n type: 'string'\n },\n pricing: {\n $ref: '#/$defs/owned_phone_number_pricing'\n },\n status: {\n $ref: '#/$defs/phone_number_status'\n },\n name: {\n type: 'string',\n description: 'Optional custom name for the phone number.'\n },\n nextRenewalDate: {\n type: 'string',\n format: 'date-time'\n },\n senderId: {\n type: 'string',\n description: 'Sender ID if the phone number is assigned to a sender.'\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'capabilities',\n 'createdAt',\n 'phoneNumber',\n 'pricing',\n 'status'\n ]\n },\n owned_phone_number_pricing: {\n type: 'object',\n properties: {\n isFreeNumber: {\n type: 'boolean',\n description: 'Whether this is a free number.'\n },\n monthlyCost: {\n type: 'number',\n description: 'Monthly cost in cents.'\n },\n monthlyPrice: {\n type: 'number',\n description: 'Monthly price in USD.'\n },\n upfrontCost: {\n type: 'number',\n description: 'One-time purchase cost in cents.'\n }\n }\n },\n phone_number_status: {\n type: 'string',\n enum: [ 'active',\n 'suspended',\n 'pending'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
phoneNumberId: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
name: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'Custom name for the phone number. Set to null to clear.',
|
|
31
|
+
},
|
|
32
|
+
senderId: {
|
|
33
|
+
type: 'string',
|
|
34
|
+
description: 'Sender ID to assign the phone number to. Set to null to unassign.',
|
|
35
|
+
},
|
|
36
|
+
jq_filter: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
title: 'jq Filter',
|
|
39
|
+
description:
|
|
40
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
required: ['phoneNumberId'],
|
|
44
|
+
},
|
|
45
|
+
annotations: {},
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
49
|
+
const { phoneNumberId, jq_filter, ...body } = args as any;
|
|
50
|
+
try {
|
|
51
|
+
return asTextContentResult(
|
|
52
|
+
await maybeFilter(jq_filter, await client.phoneNumbers.update(phoneNumberId, body)),
|
|
53
|
+
);
|
|
54
|
+
} catch (error) {
|
|
55
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
56
|
+
return asErrorResult(error.message);
|
|
57
|
+
}
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'senders',
|
|
11
|
+
operation: 'write',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'post',
|
|
14
|
+
httpPath: '/v1/senders',
|
|
15
|
+
operationId: 'createSender',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'create_senders',
|
|
20
|
+
description:
|
|
21
|
+
"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\nCreate sender\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/sender',\n $defs: {\n sender: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n phoneNumber: {\n type: 'string',\n description: 'Phone number in E.164 format.'\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n isDefault: {\n type: 'boolean',\n description: 'Whether this sender is the project\\'s default.'\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n webhook: {\n $ref: '#/$defs/sender_webhook'\n }\n },\n required: [ 'id',\n 'name',\n 'phoneNumber'\n ]\n },\n sender_webhook: {\n type: 'object',\n description: 'Webhook configuration for the sender.',\n properties: {\n active: {\n type: 'boolean',\n description: 'Whether the webhook is active.'\n },\n events: {\n type: 'array',\n description: 'List of events the webhook is subscribed to.',\n items: {\n $ref: '#/$defs/webhook_event'\n }\n },\n url: {\n type: 'string',\n description: 'HTTPS URL that will receive webhook events.'\n },\n secret: {\n type: 'string',\n description: 'Webhook secret for signature verification. Only returned on create or regenerate.'\n }\n },\n required: [ 'active',\n 'events',\n 'url'\n ]\n },\n webhook_event: {\n type: 'string',\n description: 'Type of event that triggers the webhook. Note: Reactions are delivered as message.inbound with messageType=\\'reaction\\'.',\n enum: [ 'message.queued',\n 'message.sent',\n 'message.delivered',\n 'message.failed',\n 'message.inbound',\n 'message.unsupported',\n 'conversation.new',\n 'template.status_changed'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
name: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
phoneNumber: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
},
|
|
31
|
+
setAsDefault: {
|
|
32
|
+
type: 'boolean',
|
|
33
|
+
},
|
|
34
|
+
webhookEvents: {
|
|
35
|
+
type: 'array',
|
|
36
|
+
description: 'Events to subscribe to.',
|
|
37
|
+
items: {
|
|
38
|
+
$ref: '#/$defs/webhook_event',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
webhookUrl: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
description: 'HTTPS URL for webhook events.',
|
|
44
|
+
},
|
|
45
|
+
jq_filter: {
|
|
46
|
+
type: 'string',
|
|
47
|
+
title: 'jq Filter',
|
|
48
|
+
description:
|
|
49
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
required: ['name', 'phoneNumber'],
|
|
53
|
+
$defs: {
|
|
54
|
+
webhook_event: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description:
|
|
57
|
+
"Type of event that triggers the webhook. Note: Reactions are delivered as message.inbound with messageType='reaction'.",
|
|
58
|
+
enum: [
|
|
59
|
+
'message.queued',
|
|
60
|
+
'message.sent',
|
|
61
|
+
'message.delivered',
|
|
62
|
+
'message.failed',
|
|
63
|
+
'message.inbound',
|
|
64
|
+
'message.unsupported',
|
|
65
|
+
'conversation.new',
|
|
66
|
+
'template.status_changed',
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
annotations: {},
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
75
|
+
const { jq_filter, ...body } = args as any;
|
|
76
|
+
try {
|
|
77
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.senders.create(body)));
|
|
78
|
+
} catch (error) {
|
|
79
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
80
|
+
return asErrorResult(error.message);
|
|
81
|
+
}
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { Metadata, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
4
|
+
|
|
5
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
import Zavudev from '@zavudev/sdk';
|
|
7
|
+
|
|
8
|
+
export const metadata: Metadata = {
|
|
9
|
+
resource: 'senders',
|
|
10
|
+
operation: 'write',
|
|
11
|
+
tags: [],
|
|
12
|
+
httpMethod: 'delete',
|
|
13
|
+
httpPath: '/v1/senders/{senderId}',
|
|
14
|
+
operationId: 'deleteSender',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const tool: Tool = {
|
|
18
|
+
name: 'delete_senders',
|
|
19
|
+
description: 'Delete sender',
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
senderId: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
required: ['senderId'],
|
|
28
|
+
},
|
|
29
|
+
annotations: {
|
|
30
|
+
idempotentHint: true,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
35
|
+
const { senderId, ...body } = args as any;
|
|
36
|
+
const response = await client.senders.delete(senderId).asResponse();
|
|
37
|
+
return asTextContentResult(await response.text());
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'senders',
|
|
11
|
+
operation: 'read',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'get',
|
|
14
|
+
httpPath: '/v1/senders',
|
|
15
|
+
operationId: 'listSenders',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'list_senders',
|
|
20
|
+
description:
|
|
21
|
+
"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\nList senders\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/sender'\n }\n },\n nextCursor: {\n type: 'string'\n }\n },\n required: [ 'items'\n ],\n $defs: {\n sender: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n phoneNumber: {\n type: 'string',\n description: 'Phone number in E.164 format.'\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n isDefault: {\n type: 'boolean',\n description: 'Whether this sender is the project\\'s default.'\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n webhook: {\n $ref: '#/$defs/sender_webhook'\n }\n },\n required: [ 'id',\n 'name',\n 'phoneNumber'\n ]\n },\n sender_webhook: {\n type: 'object',\n description: 'Webhook configuration for the sender.',\n properties: {\n active: {\n type: 'boolean',\n description: 'Whether the webhook is active.'\n },\n events: {\n type: 'array',\n description: 'List of events the webhook is subscribed to.',\n items: {\n $ref: '#/$defs/webhook_event'\n }\n },\n url: {\n type: 'string',\n description: 'HTTPS URL that will receive webhook events.'\n },\n secret: {\n type: 'string',\n description: 'Webhook secret for signature verification. Only returned on create or regenerate.'\n }\n },\n required: [ 'active',\n 'events',\n 'url'\n ]\n },\n webhook_event: {\n type: 'string',\n description: 'Type of event that triggers the webhook. Note: Reactions are delivered as message.inbound with messageType=\\'reaction\\'.',\n enum: [ 'message.queued',\n 'message.sent',\n 'message.delivered',\n 'message.failed',\n 'message.inbound',\n 'message.unsupported',\n 'conversation.new',\n 'template.status_changed'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
cursor: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
limit: {
|
|
29
|
+
type: 'integer',
|
|
30
|
+
},
|
|
31
|
+
jq_filter: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
title: 'jq Filter',
|
|
34
|
+
description:
|
|
35
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
required: [],
|
|
39
|
+
},
|
|
40
|
+
annotations: {
|
|
41
|
+
readOnlyHint: true,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
46
|
+
const { jq_filter, ...body } = args as any;
|
|
47
|
+
const response = await client.senders.list(body).asResponse();
|
|
48
|
+
try {
|
|
49
|
+
return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
|
|
50
|
+
} catch (error) {
|
|
51
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
52
|
+
return asErrorResult(error.message);
|
|
53
|
+
}
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'senders',
|
|
11
|
+
operation: 'write',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'post',
|
|
14
|
+
httpPath: '/v1/senders/{senderId}/webhook/secret',
|
|
15
|
+
operationId: 'regenerateSenderWebhookSecret',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'regenerate_webhook_secret_senders',
|
|
20
|
+
description:
|
|
21
|
+
"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\nRegenerate the webhook secret for a sender. The old secret will be invalidated immediately.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/webhook_secret_response',\n $defs: {\n webhook_secret_response: {\n type: 'object',\n properties: {\n secret: {\n type: 'string',\n description: 'The new webhook secret.'\n }\n },\n required: [ 'secret'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
senderId: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
jq_filter: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
title: 'jq Filter',
|
|
31
|
+
description:
|
|
32
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
required: ['senderId'],
|
|
36
|
+
},
|
|
37
|
+
annotations: {},
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
41
|
+
const { senderId, jq_filter, ...body } = args as any;
|
|
42
|
+
try {
|
|
43
|
+
return asTextContentResult(
|
|
44
|
+
await maybeFilter(jq_filter, await client.senders.regenerateWebhookSecret(senderId)),
|
|
45
|
+
);
|
|
46
|
+
} catch (error) {
|
|
47
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
48
|
+
return asErrorResult(error.message);
|
|
49
|
+
}
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'senders',
|
|
11
|
+
operation: 'read',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'get',
|
|
14
|
+
httpPath: '/v1/senders/{senderId}',
|
|
15
|
+
operationId: 'getSender',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'retrieve_senders',
|
|
20
|
+
description:
|
|
21
|
+
"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\nGet sender\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/sender',\n $defs: {\n sender: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n phoneNumber: {\n type: 'string',\n description: 'Phone number in E.164 format.'\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n isDefault: {\n type: 'boolean',\n description: 'Whether this sender is the project\\'s default.'\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n webhook: {\n $ref: '#/$defs/sender_webhook'\n }\n },\n required: [ 'id',\n 'name',\n 'phoneNumber'\n ]\n },\n sender_webhook: {\n type: 'object',\n description: 'Webhook configuration for the sender.',\n properties: {\n active: {\n type: 'boolean',\n description: 'Whether the webhook is active.'\n },\n events: {\n type: 'array',\n description: 'List of events the webhook is subscribed to.',\n items: {\n $ref: '#/$defs/webhook_event'\n }\n },\n url: {\n type: 'string',\n description: 'HTTPS URL that will receive webhook events.'\n },\n secret: {\n type: 'string',\n description: 'Webhook secret for signature verification. Only returned on create or regenerate.'\n }\n },\n required: [ 'active',\n 'events',\n 'url'\n ]\n },\n webhook_event: {\n type: 'string',\n description: 'Type of event that triggers the webhook. Note: Reactions are delivered as message.inbound with messageType=\\'reaction\\'.',\n enum: [ 'message.queued',\n 'message.sent',\n 'message.delivered',\n 'message.failed',\n 'message.inbound',\n 'message.unsupported',\n 'conversation.new',\n 'template.status_changed'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
senderId: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
jq_filter: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
title: 'jq Filter',
|
|
31
|
+
description:
|
|
32
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
required: ['senderId'],
|
|
36
|
+
},
|
|
37
|
+
annotations: {
|
|
38
|
+
readOnlyHint: true,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
43
|
+
const { senderId, jq_filter, ...body } = args as any;
|
|
44
|
+
try {
|
|
45
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.senders.retrieve(senderId)));
|
|
46
|
+
} catch (error) {
|
|
47
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
48
|
+
return asErrorResult(error.message);
|
|
49
|
+
}
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { isJqError, maybeFilter } from '@zavudev/sdk-mcp/filtering';
|
|
4
|
+
import { Metadata, asErrorResult, asTextContentResult } from '@zavudev/sdk-mcp/tools/types';
|
|
5
|
+
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import Zavudev from '@zavudev/sdk';
|
|
8
|
+
|
|
9
|
+
export const metadata: Metadata = {
|
|
10
|
+
resource: 'senders',
|
|
11
|
+
operation: 'write',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'patch',
|
|
14
|
+
httpPath: '/v1/senders/{senderId}',
|
|
15
|
+
operationId: 'updateSender',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'update_senders',
|
|
20
|
+
description:
|
|
21
|
+
"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\nUpdate sender\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/sender',\n $defs: {\n sender: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n phoneNumber: {\n type: 'string',\n description: 'Phone number in E.164 format.'\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n isDefault: {\n type: 'boolean',\n description: 'Whether this sender is the project\\'s default.'\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n webhook: {\n $ref: '#/$defs/sender_webhook'\n }\n },\n required: [ 'id',\n 'name',\n 'phoneNumber'\n ]\n },\n sender_webhook: {\n type: 'object',\n description: 'Webhook configuration for the sender.',\n properties: {\n active: {\n type: 'boolean',\n description: 'Whether the webhook is active.'\n },\n events: {\n type: 'array',\n description: 'List of events the webhook is subscribed to.',\n items: {\n $ref: '#/$defs/webhook_event'\n }\n },\n url: {\n type: 'string',\n description: 'HTTPS URL that will receive webhook events.'\n },\n secret: {\n type: 'string',\n description: 'Webhook secret for signature verification. Only returned on create or regenerate.'\n }\n },\n required: [ 'active',\n 'events',\n 'url'\n ]\n },\n webhook_event: {\n type: 'string',\n description: 'Type of event that triggers the webhook. Note: Reactions are delivered as message.inbound with messageType=\\'reaction\\'.',\n enum: [ 'message.queued',\n 'message.sent',\n 'message.delivered',\n 'message.failed',\n 'message.inbound',\n 'message.unsupported',\n 'conversation.new',\n 'template.status_changed'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
senderId: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
name: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
},
|
|
31
|
+
setAsDefault: {
|
|
32
|
+
type: 'boolean',
|
|
33
|
+
},
|
|
34
|
+
webhookActive: {
|
|
35
|
+
type: 'boolean',
|
|
36
|
+
description: 'Whether the webhook is active.',
|
|
37
|
+
},
|
|
38
|
+
webhookEvents: {
|
|
39
|
+
type: 'array',
|
|
40
|
+
description: 'Events to subscribe to.',
|
|
41
|
+
items: {
|
|
42
|
+
$ref: '#/$defs/webhook_event',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
webhookUrl: {
|
|
46
|
+
type: 'string',
|
|
47
|
+
description: 'HTTPS URL for webhook events. Set to null to remove webhook.',
|
|
48
|
+
},
|
|
49
|
+
jq_filter: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
title: 'jq Filter',
|
|
52
|
+
description:
|
|
53
|
+
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
required: ['senderId'],
|
|
57
|
+
$defs: {
|
|
58
|
+
webhook_event: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description:
|
|
61
|
+
"Type of event that triggers the webhook. Note: Reactions are delivered as message.inbound with messageType='reaction'.",
|
|
62
|
+
enum: [
|
|
63
|
+
'message.queued',
|
|
64
|
+
'message.sent',
|
|
65
|
+
'message.delivered',
|
|
66
|
+
'message.failed',
|
|
67
|
+
'message.inbound',
|
|
68
|
+
'message.unsupported',
|
|
69
|
+
'conversation.new',
|
|
70
|
+
'template.status_changed',
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
annotations: {},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
79
|
+
const { senderId, jq_filter, ...body } = args as any;
|
|
80
|
+
try {
|
|
81
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.senders.update(senderId, body)));
|
|
82
|
+
} catch (error) {
|
|
83
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
84
|
+
return asErrorResult(error.message);
|
|
85
|
+
}
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export default { metadata, tool, handler };
|