@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,74 @@
|
|
|
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: 'templates',
|
|
11
|
+
operation: 'write',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'post',
|
|
14
|
+
httpPath: '/v1/templates',
|
|
15
|
+
operationId: 'createTemplate',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'create_templates',
|
|
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 a WhatsApp message template. Note: Templates must be approved by Meta before use.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/template',\n $defs: {\n template: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n body: {\n type: 'string',\n description: 'Template body with variables: {{1}}, {{2}}, etc.'\n },\n category: {\n $ref: '#/$defs/whatsapp_category'\n },\n language: {\n type: 'string',\n description: 'Language code.'\n },\n name: {\n type: 'string',\n description: 'Template name (must match WhatsApp template name).'\n },\n buttons: {\n type: 'array',\n description: 'Template buttons.',\n items: {\n type: 'object',\n properties: {\n phoneNumber: {\n type: 'string'\n },\n text: {\n type: 'string'\n },\n type: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n }\n }\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n footer: {\n type: 'string',\n description: 'Footer text for the template.'\n },\n headerContent: {\n type: 'string',\n description: 'Header content (text or media URL).'\n },\n headerType: {\n type: 'string',\n description: 'Type of header (text, image, video, document).'\n },\n status: {\n type: 'string',\n enum: [ 'draft',\n 'pending',\n 'approved',\n 'rejected'\n ]\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n variables: {\n type: 'array',\n description: 'List of variable names for documentation.',\n items: {\n type: 'string'\n }\n },\n whatsapp: {\n type: 'object',\n description: 'WhatsApp-specific template information.',\n properties: {\n namespace: {\n type: 'string',\n description: 'WhatsApp Business Account namespace.'\n },\n status: {\n type: 'string',\n description: 'WhatsApp approval status.'\n },\n templateName: {\n type: 'string',\n description: 'WhatsApp template name.'\n }\n }\n }\n },\n required: [ 'id',\n 'body',\n 'category',\n 'language',\n 'name'\n ]\n },\n whatsapp_category: {\n type: 'string',\n description: 'WhatsApp template category.',\n enum: [ 'UTILITY',\n 'MARKETING',\n 'AUTHENTICATION'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
body: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
language: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
},
|
|
31
|
+
name: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
},
|
|
34
|
+
variables: {
|
|
35
|
+
type: 'array',
|
|
36
|
+
items: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
whatsappCategory: {
|
|
41
|
+
$ref: '#/$defs/whatsapp_category',
|
|
42
|
+
},
|
|
43
|
+
jq_filter: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
title: 'jq Filter',
|
|
46
|
+
description:
|
|
47
|
+
'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/).',
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
required: ['body', 'language', 'name'],
|
|
51
|
+
$defs: {
|
|
52
|
+
whatsapp_category: {
|
|
53
|
+
type: 'string',
|
|
54
|
+
description: 'WhatsApp template category.',
|
|
55
|
+
enum: ['UTILITY', 'MARKETING', 'AUTHENTICATION'],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
annotations: {},
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
63
|
+
const { jq_filter, ...body } = args as any;
|
|
64
|
+
try {
|
|
65
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.templates.create(body)));
|
|
66
|
+
} catch (error) {
|
|
67
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
68
|
+
return asErrorResult(error.message);
|
|
69
|
+
}
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
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: 'templates',
|
|
10
|
+
operation: 'write',
|
|
11
|
+
tags: [],
|
|
12
|
+
httpMethod: 'delete',
|
|
13
|
+
httpPath: '/v1/templates/{templateId}',
|
|
14
|
+
operationId: 'deleteTemplate',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const tool: Tool = {
|
|
18
|
+
name: 'delete_templates',
|
|
19
|
+
description: 'Delete template',
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
templateId: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
required: ['templateId'],
|
|
28
|
+
},
|
|
29
|
+
annotations: {
|
|
30
|
+
idempotentHint: true,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
35
|
+
const { templateId, ...body } = args as any;
|
|
36
|
+
const response = await client.templates.delete(templateId).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: 'templates',
|
|
11
|
+
operation: 'read',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'get',
|
|
14
|
+
httpPath: '/v1/templates',
|
|
15
|
+
operationId: 'listTemplates',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'list_templates',
|
|
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 WhatsApp message templates for this project.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/template'\n }\n },\n nextCursor: {\n type: 'string'\n }\n },\n required: [ 'items'\n ],\n $defs: {\n template: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n body: {\n type: 'string',\n description: 'Template body with variables: {{1}}, {{2}}, etc.'\n },\n category: {\n $ref: '#/$defs/whatsapp_category'\n },\n language: {\n type: 'string',\n description: 'Language code.'\n },\n name: {\n type: 'string',\n description: 'Template name (must match WhatsApp template name).'\n },\n buttons: {\n type: 'array',\n description: 'Template buttons.',\n items: {\n type: 'object',\n properties: {\n phoneNumber: {\n type: 'string'\n },\n text: {\n type: 'string'\n },\n type: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n }\n }\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n footer: {\n type: 'string',\n description: 'Footer text for the template.'\n },\n headerContent: {\n type: 'string',\n description: 'Header content (text or media URL).'\n },\n headerType: {\n type: 'string',\n description: 'Type of header (text, image, video, document).'\n },\n status: {\n type: 'string',\n enum: [ 'draft',\n 'pending',\n 'approved',\n 'rejected'\n ]\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n variables: {\n type: 'array',\n description: 'List of variable names for documentation.',\n items: {\n type: 'string'\n }\n },\n whatsapp: {\n type: 'object',\n description: 'WhatsApp-specific template information.',\n properties: {\n namespace: {\n type: 'string',\n description: 'WhatsApp Business Account namespace.'\n },\n status: {\n type: 'string',\n description: 'WhatsApp approval status.'\n },\n templateName: {\n type: 'string',\n description: 'WhatsApp template name.'\n }\n }\n }\n },\n required: [ 'id',\n 'body',\n 'category',\n 'language',\n 'name'\n ]\n },\n whatsapp_category: {\n type: 'string',\n description: 'WhatsApp template category.',\n enum: [ 'UTILITY',\n 'MARKETING',\n 'AUTHENTICATION'\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.templates.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: 'templates',
|
|
11
|
+
operation: 'read',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'get',
|
|
14
|
+
httpPath: '/v1/templates/{templateId}',
|
|
15
|
+
operationId: 'getTemplate',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'retrieve_templates',
|
|
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 template\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/template',\n $defs: {\n template: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n body: {\n type: 'string',\n description: 'Template body with variables: {{1}}, {{2}}, etc.'\n },\n category: {\n $ref: '#/$defs/whatsapp_category'\n },\n language: {\n type: 'string',\n description: 'Language code.'\n },\n name: {\n type: 'string',\n description: 'Template name (must match WhatsApp template name).'\n },\n buttons: {\n type: 'array',\n description: 'Template buttons.',\n items: {\n type: 'object',\n properties: {\n phoneNumber: {\n type: 'string'\n },\n text: {\n type: 'string'\n },\n type: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n }\n }\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n footer: {\n type: 'string',\n description: 'Footer text for the template.'\n },\n headerContent: {\n type: 'string',\n description: 'Header content (text or media URL).'\n },\n headerType: {\n type: 'string',\n description: 'Type of header (text, image, video, document).'\n },\n status: {\n type: 'string',\n enum: [ 'draft',\n 'pending',\n 'approved',\n 'rejected'\n ]\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n variables: {\n type: 'array',\n description: 'List of variable names for documentation.',\n items: {\n type: 'string'\n }\n },\n whatsapp: {\n type: 'object',\n description: 'WhatsApp-specific template information.',\n properties: {\n namespace: {\n type: 'string',\n description: 'WhatsApp Business Account namespace.'\n },\n status: {\n type: 'string',\n description: 'WhatsApp approval status.'\n },\n templateName: {\n type: 'string',\n description: 'WhatsApp template name.'\n }\n }\n }\n },\n required: [ 'id',\n 'body',\n 'category',\n 'language',\n 'name'\n ]\n },\n whatsapp_category: {\n type: 'string',\n description: 'WhatsApp template category.',\n enum: [ 'UTILITY',\n 'MARKETING',\n 'AUTHENTICATION'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
templateId: {
|
|
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: ['templateId'],
|
|
36
|
+
},
|
|
37
|
+
annotations: {
|
|
38
|
+
readOnlyHint: true,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
43
|
+
const { templateId, jq_filter, ...body } = args as any;
|
|
44
|
+
try {
|
|
45
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.templates.retrieve(templateId)));
|
|
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,66 @@
|
|
|
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: 'templates',
|
|
11
|
+
operation: 'write',
|
|
12
|
+
tags: [],
|
|
13
|
+
httpMethod: 'post',
|
|
14
|
+
httpPath: '/v1/templates/{templateId}/submit',
|
|
15
|
+
operationId: 'submitTemplate',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const tool: Tool = {
|
|
19
|
+
name: 'submit_templates',
|
|
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\nSubmit a WhatsApp template to Meta for approval. The template must be in draft status and associated with a sender that has a WhatsApp Business Account configured.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/template',\n $defs: {\n template: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n body: {\n type: 'string',\n description: 'Template body with variables: {{1}}, {{2}}, etc.'\n },\n category: {\n $ref: '#/$defs/whatsapp_category'\n },\n language: {\n type: 'string',\n description: 'Language code.'\n },\n name: {\n type: 'string',\n description: 'Template name (must match WhatsApp template name).'\n },\n buttons: {\n type: 'array',\n description: 'Template buttons.',\n items: {\n type: 'object',\n properties: {\n phoneNumber: {\n type: 'string'\n },\n text: {\n type: 'string'\n },\n type: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n }\n }\n },\n createdAt: {\n type: 'string',\n format: 'date-time'\n },\n footer: {\n type: 'string',\n description: 'Footer text for the template.'\n },\n headerContent: {\n type: 'string',\n description: 'Header content (text or media URL).'\n },\n headerType: {\n type: 'string',\n description: 'Type of header (text, image, video, document).'\n },\n status: {\n type: 'string',\n enum: [ 'draft',\n 'pending',\n 'approved',\n 'rejected'\n ]\n },\n updatedAt: {\n type: 'string',\n format: 'date-time'\n },\n variables: {\n type: 'array',\n description: 'List of variable names for documentation.',\n items: {\n type: 'string'\n }\n },\n whatsapp: {\n type: 'object',\n description: 'WhatsApp-specific template information.',\n properties: {\n namespace: {\n type: 'string',\n description: 'WhatsApp Business Account namespace.'\n },\n status: {\n type: 'string',\n description: 'WhatsApp approval status.'\n },\n templateName: {\n type: 'string',\n description: 'WhatsApp template name.'\n }\n }\n }\n },\n required: [ 'id',\n 'body',\n 'category',\n 'language',\n 'name'\n ]\n },\n whatsapp_category: {\n type: 'string',\n description: 'WhatsApp template category.',\n enum: [ 'UTILITY',\n 'MARKETING',\n 'AUTHENTICATION'\n ]\n }\n }\n}\n```",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
templateId: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
},
|
|
28
|
+
senderId: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'The sender ID with the WhatsApp Business Account to submit the template to.',
|
|
31
|
+
},
|
|
32
|
+
category: {
|
|
33
|
+
$ref: '#/$defs/whatsapp_category',
|
|
34
|
+
},
|
|
35
|
+
jq_filter: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
title: 'jq Filter',
|
|
38
|
+
description:
|
|
39
|
+
'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/).',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
required: ['templateId', 'senderId'],
|
|
43
|
+
$defs: {
|
|
44
|
+
whatsapp_category: {
|
|
45
|
+
type: 'string',
|
|
46
|
+
description: 'WhatsApp template category.',
|
|
47
|
+
enum: ['UTILITY', 'MARKETING', 'AUTHENTICATION'],
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
annotations: {},
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const handler = async (client: Zavudev, args: Record<string, unknown> | undefined) => {
|
|
55
|
+
const { templateId, jq_filter, ...body } = args as any;
|
|
56
|
+
try {
|
|
57
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.templates.submit(templateId, body)));
|
|
58
|
+
} catch (error) {
|
|
59
|
+
if (error instanceof Zavudev.APIError || isJqError(error)) {
|
|
60
|
+
return asErrorResult(error.message);
|
|
61
|
+
}
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export default { metadata, tool, handler };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import Zavudev from '@zavudev/sdk';
|
|
4
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
|
|
6
|
+
type TextContentBlock = {
|
|
7
|
+
type: 'text';
|
|
8
|
+
text: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
type ImageContentBlock = {
|
|
12
|
+
type: 'image';
|
|
13
|
+
data: string;
|
|
14
|
+
mimeType: string;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
type AudioContentBlock = {
|
|
18
|
+
type: 'audio';
|
|
19
|
+
data: string;
|
|
20
|
+
mimeType: string;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
type ResourceContentBlock = {
|
|
24
|
+
type: 'resource';
|
|
25
|
+
resource:
|
|
26
|
+
| {
|
|
27
|
+
uri: string;
|
|
28
|
+
mimeType: string;
|
|
29
|
+
text: string;
|
|
30
|
+
}
|
|
31
|
+
| {
|
|
32
|
+
uri: string;
|
|
33
|
+
mimeType: string;
|
|
34
|
+
blob: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export type ContentBlock = TextContentBlock | ImageContentBlock | AudioContentBlock | ResourceContentBlock;
|
|
39
|
+
|
|
40
|
+
export type ToolCallResult = {
|
|
41
|
+
content: ContentBlock[];
|
|
42
|
+
isError?: boolean;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export type HandlerFunction = (
|
|
46
|
+
client: Zavudev,
|
|
47
|
+
args: Record<string, unknown> | undefined,
|
|
48
|
+
) => Promise<ToolCallResult>;
|
|
49
|
+
|
|
50
|
+
export function asTextContentResult(result: unknown): ToolCallResult {
|
|
51
|
+
return {
|
|
52
|
+
content: [
|
|
53
|
+
{
|
|
54
|
+
type: 'text',
|
|
55
|
+
text: JSON.stringify(result, null, 2),
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export async function asBinaryContentResult(response: Response): Promise<ToolCallResult> {
|
|
62
|
+
const blob = await response.blob();
|
|
63
|
+
const mimeType = blob.type;
|
|
64
|
+
const data = Buffer.from(await blob.arrayBuffer()).toString('base64');
|
|
65
|
+
if (mimeType.startsWith('image/')) {
|
|
66
|
+
return {
|
|
67
|
+
content: [{ type: 'image', mimeType, data }],
|
|
68
|
+
};
|
|
69
|
+
} else if (mimeType.startsWith('audio/')) {
|
|
70
|
+
return {
|
|
71
|
+
content: [{ type: 'audio', mimeType, data }],
|
|
72
|
+
};
|
|
73
|
+
} else {
|
|
74
|
+
return {
|
|
75
|
+
content: [
|
|
76
|
+
{
|
|
77
|
+
type: 'resource',
|
|
78
|
+
resource: {
|
|
79
|
+
// We must give a URI, even though this isn't actually an MCP resource.
|
|
80
|
+
uri: 'resource://tool-response',
|
|
81
|
+
mimeType,
|
|
82
|
+
blob: data,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export function asErrorResult(message: string): ToolCallResult {
|
|
91
|
+
return {
|
|
92
|
+
content: [
|
|
93
|
+
{
|
|
94
|
+
type: 'text',
|
|
95
|
+
text: message,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
isError: true,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export type Metadata = {
|
|
103
|
+
resource: string;
|
|
104
|
+
operation: 'read' | 'write';
|
|
105
|
+
tags: string[];
|
|
106
|
+
httpMethod?: string;
|
|
107
|
+
httpPath?: string;
|
|
108
|
+
operationId?: string;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export type Endpoint = {
|
|
112
|
+
metadata: Metadata;
|
|
113
|
+
tool: Tool;
|
|
114
|
+
handler: HandlerFunction;
|
|
115
|
+
};
|
package/src/tools.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tools/index';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
// this config is included in the published src directory to prevent TS errors
|
|
3
|
+
// from appearing when users go to source, and VSCode opens the source .ts file
|
|
4
|
+
// via declaration maps
|
|
5
|
+
"include": ["index.ts"],
|
|
6
|
+
"compilerOptions": {
|
|
7
|
+
"target": "es2015",
|
|
8
|
+
"lib": ["DOM"],
|
|
9
|
+
"moduleResolution": "node"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/stdio.d.mts
ADDED
package/stdio.d.mts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.d.mts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,eAAO,MAAM,iBAAiB,GAAU,SAAS,UAAU,kBAQ1D,CAAC"}
|
package/stdio.d.ts
ADDED
package/stdio.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,eAAO,MAAM,iBAAiB,GAAU,SAAS,UAAU,kBAQ1D,CAAC"}
|
package/stdio.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.launchStdioServer = void 0;
|
|
4
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
5
|
+
const server_1 = require("./server.js");
|
|
6
|
+
const launchStdioServer = async (options) => {
|
|
7
|
+
const server = (0, server_1.newMcpServer)();
|
|
8
|
+
(0, server_1.initMcpServer)({ server, mcpOptions: options });
|
|
9
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
10
|
+
await server.connect(transport);
|
|
11
|
+
console.error('MCP Server running on stdio');
|
|
12
|
+
};
|
|
13
|
+
exports.launchStdioServer = launchStdioServer;
|
|
14
|
+
//# sourceMappingURL=stdio.js.map
|
package/stdio.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":";;;AAAA,wEAAiF;AACjF,wCAAuD;AAGhD,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;IAE9B,IAAA,sBAAa,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}
|
package/stdio.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
|
+
import { initMcpServer, newMcpServer } from "./server.mjs";
|
|
3
|
+
export const launchStdioServer = async (options) => {
|
|
4
|
+
const server = newMcpServer();
|
|
5
|
+
initMcpServer({ server, mcpOptions: options });
|
|
6
|
+
const transport = new StdioServerTransport();
|
|
7
|
+
await server.connect(transport);
|
|
8
|
+
console.error('MCP Server running on stdio');
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=stdio.mjs.map
|
package/stdio.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.mjs","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C;OACzE,EAAE,aAAa,EAAE,YAAY,EAAE;AAGtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Metadata } from '@zavudev/sdk-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Zavudev from '@zavudev/sdk';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Zavudev, args: Record<string, unknown> | undefined) => Promise<import("@zavudev/sdk-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
inputSchema: {
|
|
11
|
+
[x: string]: unknown;
|
|
12
|
+
type: "object";
|
|
13
|
+
properties?: {
|
|
14
|
+
[x: string]: object;
|
|
15
|
+
} | undefined;
|
|
16
|
+
required?: string[] | undefined;
|
|
17
|
+
};
|
|
18
|
+
name: string;
|
|
19
|
+
description?: string | undefined;
|
|
20
|
+
outputSchema?: {
|
|
21
|
+
[x: string]: unknown;
|
|
22
|
+
type: "object";
|
|
23
|
+
properties?: {
|
|
24
|
+
[x: string]: object;
|
|
25
|
+
} | undefined;
|
|
26
|
+
required?: string[] | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
annotations?: {
|
|
29
|
+
title?: string | undefined;
|
|
30
|
+
readOnlyHint?: boolean | undefined;
|
|
31
|
+
destructiveHint?: boolean | undefined;
|
|
32
|
+
idempotentHint?: boolean | undefined;
|
|
33
|
+
openWorldHint?: boolean | undefined;
|
|
34
|
+
} | undefined;
|
|
35
|
+
execution?: {
|
|
36
|
+
taskSupport?: "optional" | "required" | "forbidden" | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
icons?: {
|
|
42
|
+
src: string;
|
|
43
|
+
mimeType?: string | undefined;
|
|
44
|
+
sizes?: string[] | undefined;
|
|
45
|
+
}[] | undefined;
|
|
46
|
+
title?: string | undefined;
|
|
47
|
+
};
|
|
48
|
+
handler: (client: Zavudev, args: Record<string, unknown> | undefined) => Promise<import("@zavudev/sdk-mcp/tools/types").ToolCallResult>;
|
|
49
|
+
};
|
|
50
|
+
export default _default;
|
|
51
|
+
//# sourceMappingURL=cancel-broadcasts.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel-broadcasts.d.mts","sourceRoot":"","sources":["../../src/tools/broadcasts/cancel-broadcasts.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,8BAA8B;OAEpF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,cAAc;AAElC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAoBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,mEAUvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAYxF,wBAA2C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Metadata } from '@zavudev/sdk-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Zavudev from '@zavudev/sdk';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Zavudev, args: Record<string, unknown> | undefined) => Promise<import("@zavudev/sdk-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
inputSchema: {
|
|
11
|
+
[x: string]: unknown;
|
|
12
|
+
type: "object";
|
|
13
|
+
properties?: {
|
|
14
|
+
[x: string]: object;
|
|
15
|
+
} | undefined;
|
|
16
|
+
required?: string[] | undefined;
|
|
17
|
+
};
|
|
18
|
+
name: string;
|
|
19
|
+
description?: string | undefined;
|
|
20
|
+
outputSchema?: {
|
|
21
|
+
[x: string]: unknown;
|
|
22
|
+
type: "object";
|
|
23
|
+
properties?: {
|
|
24
|
+
[x: string]: object;
|
|
25
|
+
} | undefined;
|
|
26
|
+
required?: string[] | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
annotations?: {
|
|
29
|
+
title?: string | undefined;
|
|
30
|
+
readOnlyHint?: boolean | undefined;
|
|
31
|
+
destructiveHint?: boolean | undefined;
|
|
32
|
+
idempotentHint?: boolean | undefined;
|
|
33
|
+
openWorldHint?: boolean | undefined;
|
|
34
|
+
} | undefined;
|
|
35
|
+
execution?: {
|
|
36
|
+
taskSupport?: "optional" | "required" | "forbidden" | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
icons?: {
|
|
42
|
+
src: string;
|
|
43
|
+
mimeType?: string | undefined;
|
|
44
|
+
sizes?: string[] | undefined;
|
|
45
|
+
}[] | undefined;
|
|
46
|
+
title?: string | undefined;
|
|
47
|
+
};
|
|
48
|
+
handler: (client: Zavudev, args: Record<string, unknown> | undefined) => Promise<import("@zavudev/sdk-mcp/tools/types").ToolCallResult>;
|
|
49
|
+
};
|
|
50
|
+
export default _default;
|
|
51
|
+
//# sourceMappingURL=cancel-broadcasts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel-broadcasts.d.ts","sourceRoot":"","sources":["../../src/tools/broadcasts/cancel-broadcasts.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,8BAA8B;OAEpF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,cAAc;AAElC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAoBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,mEAUvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAYxF,wBAA2C"}
|