@rnsk/toolkits 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -2
- package/dist/index.d.ts +11 -1
- package/dist/index.js +21 -1
- package/dist/toolkits/accuweather/icon.d.ts +5 -0
- package/dist/toolkits/accuweather/icon.js +6 -0
- package/dist/toolkits/accuweather/manifest.d.ts +3 -0
- package/dist/toolkits/accuweather/manifest.js +35 -0
- package/dist/toolkits/accuweather/tools/alerts-alarms.d.ts +13 -0
- package/dist/toolkits/accuweather/tools/alerts-alarms.js +25 -0
- package/dist/toolkits/accuweather/tools/client.d.ts +17 -0
- package/dist/toolkits/accuweather/tools/client.js +50 -0
- package/dist/toolkits/accuweather/tools/current-conditions.d.ts +21 -0
- package/dist/toolkits/accuweather/tools/current-conditions.js +46 -0
- package/dist/toolkits/accuweather/tools/forecasts.d.ts +17 -0
- package/dist/toolkits/accuweather/tools/forecasts.js +41 -0
- package/dist/toolkits/accuweather/tools/imagery.d.ts +7 -0
- package/dist/toolkits/accuweather/tools/imagery.js +21 -0
- package/dist/toolkits/accuweather/tools/index.d.ts +21 -0
- package/dist/toolkits/accuweather/tools/index.js +60 -0
- package/dist/toolkits/accuweather/tools/indices.d.ts +29 -0
- package/dist/toolkits/accuweather/tools/indices.js +66 -0
- package/dist/toolkits/accuweather/tools/lightning.d.ts +11 -0
- package/dist/toolkits/accuweather/tools/lightning.js +35 -0
- package/dist/toolkits/accuweather/tools/locations.d.ts +101 -0
- package/dist/toolkits/accuweather/tools/locations.js +280 -0
- package/dist/toolkits/accuweather/tools/minutecast.d.ts +11 -0
- package/dist/toolkits/accuweather/tools/minutecast.js +28 -0
- package/dist/toolkits/accuweather/tools/translations.d.ts +20 -0
- package/dist/toolkits/accuweather/tools/translations.js +49 -0
- package/dist/toolkits/accuweather/tools/tropical.d.ts +49 -0
- package/dist/toolkits/accuweather/tools/tropical.js +108 -0
- package/dist/toolkits/aws/tools/cloudwatch/filter-log-events.d.ts +2 -2
- package/dist/toolkits/aws/tools/cloudwatch/get-metric-data.d.ts +2 -2
- package/dist/toolkits/aws/tools/index.d.ts +4 -4
- package/dist/toolkits/bitbucket/tools/commits.d.ts +3 -3
- package/dist/toolkits/bitbucket/tools/index.d.ts +4 -4
- package/dist/toolkits/bitbucket/tools/pull-requests.d.ts +1 -1
- package/dist/toolkits/bitbucket/tools/repositories.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/create-dns-record.d.ts +2 -2
- package/dist/toolkits/cloudflare/tools/create-zone.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/index.d.ts +9 -9
- package/dist/toolkits/cloudflare/tools/list-accounts.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/list-dns-records.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/list-tunnels.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/list-zones.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/update-dns-record.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/update-zone.d.ts +1 -1
- package/dist/toolkits/convex/tools/deployments.d.ts +1 -1
- package/dist/toolkits/convex/tools/index.d.ts +1 -1
- package/dist/toolkits/datadog/tools/events.d.ts +1 -1
- package/dist/toolkits/datadog/tools/index.d.ts +5 -5
- package/dist/toolkits/datadog/tools/integrations.d.ts +1 -1
- package/dist/toolkits/datadog/tools/metrics.d.ts +1 -1
- package/dist/toolkits/datadog/tools/monitors.d.ts +1 -1
- package/dist/toolkits/datadog/tools/synthetics.d.ts +1 -1
- package/dist/toolkits/dev-to/tools/articles.d.ts +1 -1
- package/dist/toolkits/dev-to/tools/community.d.ts +1 -1
- package/dist/toolkits/dev-to/tools/index.d.ts +2 -2
- package/dist/toolkits/discord/tools/applications.d.ts +1 -1
- package/dist/toolkits/discord/tools/index.d.ts +1 -1
- package/dist/toolkits/figma/tools/create-dev-resources.d.ts +1 -1
- package/dist/toolkits/figma/tools/get-activity-logs.d.ts +2 -2
- package/dist/toolkits/figma/tools/get-file-json.d.ts +1 -1
- package/dist/toolkits/figma/tools/get-team-component-sets.d.ts +1 -1
- package/dist/toolkits/figma/tools/get-team-components.d.ts +1 -1
- package/dist/toolkits/figma/tools/get-team-styles.d.ts +1 -1
- package/dist/toolkits/figma/tools/get-versions-of-a-file.d.ts +1 -1
- package/dist/toolkits/figma/tools/index.d.ts +7 -7
- package/dist/toolkits/figma/tools/update-dev-resources.d.ts +1 -1
- package/dist/toolkits/github/tools/Checks/create-check-run.d.ts +1 -1
- package/dist/toolkits/github/tools/Collaborators/add-collaborator.d.ts +1 -1
- package/dist/toolkits/github/tools/Collaborators/check-collaborator.d.ts +1 -1
- package/dist/toolkits/github/tools/Collaborators/remove-collaborator.d.ts +1 -1
- package/dist/toolkits/github/tools/Dependabot/list-alerts.d.ts +2 -2
- package/dist/toolkits/github/tools/Organizations/list-org-repositories.d.ts +1 -1
- package/dist/toolkits/github/tools/Organizations/update-organization.d.ts +1 -1
- package/dist/toolkits/github/tools/Projects/update-project.d.ts +1 -1
- package/dist/toolkits/github/tools/Releases/create-release.d.ts +1 -1
- package/dist/toolkits/github/tools/Releases/update-release.d.ts +1 -1
- package/dist/toolkits/github/tools/SecurityAdvisories/create-repository-advisory.d.ts +2 -2
- package/dist/toolkits/github/tools/SecurityAdvisories/get-repository-advisory.d.ts +1 -1
- package/dist/toolkits/github/tools/SecurityAdvisories/list-global-advisories.d.ts +1 -1
- package/dist/toolkits/github/tools/SecurityAdvisories/list-repository-advisories.d.ts +1 -1
- package/dist/toolkits/github/tools/Teams/update-team.d.ts +1 -1
- package/dist/toolkits/github/tools/Users/follow-user.d.ts +1 -1
- package/dist/toolkits/github/tools/Users/update-authenticated-user.d.ts +1 -1
- package/dist/toolkits/github/tools/Webhooks/create-repo-webhook.d.ts +1 -1
- package/dist/toolkits/github/tools/Workflows/list-workflows.d.ts +1 -1
- package/dist/toolkits/github/tools/index.d.ts +21 -21
- package/dist/toolkits/gitlab/tools/index.d.ts +2 -2
- package/dist/toolkits/gitlab/tools/pipelines.d.ts +1 -1
- package/dist/toolkits/gitlab/tools/projects.d.ts +1 -1
- package/dist/toolkits/gmail/manifest.js +204 -1
- package/dist/toolkits/gmail/tools/create-label.d.ts +2 -2
- package/dist/toolkits/gmail/tools/index.d.ts +5 -0
- package/dist/toolkits/gmail/tools/index.js +5 -0
- package/dist/toolkits/gmail/tools/labels-threads.d.ts +47 -0
- package/dist/toolkits/gmail/tools/labels-threads.js +110 -0
- package/dist/toolkits/gmail/tools/list-drafts.d.ts +1 -1
- package/dist/toolkits/gmail/tools/list-threads.d.ts +1 -1
- package/dist/toolkits/gmail/tools/mailbox.d.ts +46 -0
- package/dist/toolkits/gmail/tools/mailbox.js +142 -0
- package/dist/toolkits/gmail/tools/messages-extra.d.ts +34 -0
- package/dist/toolkits/gmail/tools/messages-extra.js +176 -0
- package/dist/toolkits/gmail/tools/people-extra.d.ts +18 -0
- package/dist/toolkits/gmail/tools/people-extra.js +67 -0
- package/dist/toolkits/gmail/tools/settings.d.ts +100 -0
- package/dist/toolkits/gmail/tools/settings.js +210 -0
- package/dist/toolkits/google-analytics/tools/admin.d.ts +3 -3
- package/dist/toolkits/google-analytics/tools/custom-definitions.d.ts +2 -2
- package/dist/toolkits/google-classroom/tools/announcement-addons.d.ts +4 -4
- package/dist/toolkits/google-classroom/tools/coursework-addons.d.ts +2 -2
- package/dist/toolkits/google-classroom/tools/coursework.d.ts +1 -1
- package/dist/toolkits/google-classroom/tools/index.d.ts +9 -9
- package/dist/toolkits/google-classroom/tools/invitations.d.ts +2 -2
- package/dist/toolkits/google-classroom/tools/materials-addons.d.ts +2 -2
- package/dist/toolkits/google-classroom/tools/posts-addons.d.ts +1 -1
- package/dist/toolkits/google-contacts/tools/contacts.d.ts +5 -5
- package/dist/toolkits/google-contacts/tools/directory.d.ts +3 -3
- package/dist/toolkits/google-contacts/tools/groups.d.ts +1 -1
- package/dist/toolkits/google-contacts/tools/index.d.ts +9 -9
- package/dist/toolkits/google-drive/tools/index.d.ts +3 -3
- package/dist/toolkits/google-drive/tools/search-files.d.ts +1 -1
- package/dist/toolkits/google-drive/tools/upload-file.d.ts +2 -2
- package/dist/toolkits/google-maps/tools/index.d.ts +4 -4
- package/dist/toolkits/google-maps/tools/places.d.ts +4 -4
- package/dist/toolkits/google-sheets/tools/index.d.ts +1 -1
- package/dist/toolkits/google-sheets/tools/list-spreadsheets.d.ts +1 -1
- package/dist/toolkits/google-tasks/tools/batch-execute.d.ts +1 -1
- package/dist/toolkits/google-tasks/tools/index.d.ts +2 -2
- package/dist/toolkits/google-tasks/tools/update-task-full.d.ts +1 -1
- package/dist/toolkits/groww/tools/index.d.ts +8 -8
- package/dist/toolkits/groww/tools/margin.d.ts +1 -1
- package/dist/toolkits/groww/tools/orders.d.ts +2 -2
- package/dist/toolkits/groww/tools/smart-orders.d.ts +5 -5
- package/dist/toolkits/gumroad/icon.d.ts +5 -0
- package/dist/toolkits/gumroad/icon.js +6 -0
- package/dist/toolkits/gumroad/manifest.d.ts +3 -0
- package/dist/toolkits/gumroad/manifest.js +41 -0
- package/dist/toolkits/gumroad/tools/client.d.ts +16 -0
- package/dist/toolkits/gumroad/tools/client.js +53 -0
- package/dist/toolkits/gumroad/tools/index.d.ts +12 -0
- package/dist/toolkits/gumroad/tools/index.js +17 -0
- package/dist/toolkits/gumroad/tools/sales.d.ts +34 -0
- package/dist/toolkits/gumroad/tools/sales.js +68 -0
- package/dist/toolkits/hostinger/tools/hosting.d.ts +2 -2
- package/dist/toolkits/hostinger/tools/index.d.ts +3 -3
- package/dist/toolkits/hostinger/tools/whois.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/datasets.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/index.d.ts +2 -2
- package/dist/toolkits/hugging-face/tools/papers.d.ts +1 -1
- package/dist/toolkits/jira/tools/boards.d.ts +1 -1
- package/dist/toolkits/jira/tools/index.d.ts +4 -4
- package/dist/toolkits/jira/tools/meta.d.ts +1 -1
- package/dist/toolkits/jira/tools/projects.d.ts +1 -1
- package/dist/toolkits/jira/tools/users.d.ts +1 -1
- package/dist/toolkits/kaggle/tools/competitions.d.ts +1 -1
- package/dist/toolkits/kaggle/tools/datasets.d.ts +1 -1
- package/dist/toolkits/kaggle/tools/index.d.ts +7 -7
- package/dist/toolkits/kaggle/tools/kernels.d.ts +3 -3
- package/dist/toolkits/kaggle/tools/models.d.ts +2 -2
- package/dist/toolkits/nasa/tools/cmr.d.ts +3 -3
- package/dist/toolkits/nasa/tools/eonet.d.ts +5 -5
- package/dist/toolkits/nasa/tools/index.d.ts +9 -9
- package/dist/toolkits/nasa/tools/ntrs.d.ts +1 -1
- package/dist/toolkits/neon/tools/auth.d.ts +5 -5
- package/dist/toolkits/neon/tools/index.d.ts +5 -5
- package/dist/toolkits/new-relic/tools/admin.d.ts +1 -1
- package/dist/toolkits/new-relic/tools/alert-policies.d.ts +1 -1
- package/dist/toolkits/new-relic/tools/apm.d.ts +9 -9
- package/dist/toolkits/new-relic/tools/conditions.d.ts +5 -5
- package/dist/toolkits/new-relic/tools/config.d.ts +1 -1
- package/dist/toolkits/new-relic/tools/dashboards.d.ts +2 -2
- package/dist/toolkits/new-relic/tools/entities.d.ts +1 -1
- package/dist/toolkits/new-relic/tools/notifications.d.ts +1 -1
- package/dist/toolkits/new-relic/tools/nrql-conditions.d.ts +2 -2
- package/dist/toolkits/notebook-lm/tools/index.d.ts +2 -2
- package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.d.ts +1 -1
- package/dist/toolkits/notebook-lm/tools/upload-source-file.d.ts +1 -1
- package/dist/toolkits/postman/icon.d.ts +5 -0
- package/dist/toolkits/postman/icon.js +14 -0
- package/dist/toolkits/postman/manifest.d.ts +3 -0
- package/dist/toolkits/postman/manifest.js +35 -0
- package/dist/toolkits/postman/tools/client.d.ts +23 -0
- package/dist/toolkits/postman/tools/client.js +59 -0
- package/dist/toolkits/postman/tools/collections.d.ts +93 -0
- package/dist/toolkits/postman/tools/collections.js +358 -0
- package/dist/toolkits/postman/tools/comments.d.ts +113 -0
- package/dist/toolkits/postman/tools/comments.js +387 -0
- package/dist/toolkits/postman/tools/designs_and_apis.d.ts +106 -0
- package/dist/toolkits/postman/tools/designs_and_apis.js +385 -0
- package/dist/toolkits/postman/tools/environments.d.ts +63 -0
- package/dist/toolkits/postman/tools/environments.js +208 -0
- package/dist/toolkits/postman/tools/index.d.ts +1204 -0
- package/dist/toolkits/postman/tools/index.js +143 -0
- package/dist/toolkits/postman/tools/items.d.ts +90 -0
- package/dist/toolkits/postman/tools/items.js +286 -0
- package/dist/toolkits/postman/tools/mocks_and_tests.d.ts +100 -0
- package/dist/toolkits/postman/tools/mocks_and_tests.js +363 -0
- package/dist/toolkits/postman/tools/pull_requests.d.ts +26 -0
- package/dist/toolkits/postman/tools/pull_requests.js +108 -0
- package/dist/toolkits/postman/tools/scim_users_teams.d.ts +31 -0
- package/dist/toolkits/postman/tools/scim_users_teams.js +156 -0
- package/dist/toolkits/postman/tools/specs.d.ts +100 -0
- package/dist/toolkits/postman/tools/specs.js +380 -0
- package/dist/toolkits/postman/tools/webhooks.d.ts +8 -0
- package/dist/toolkits/postman/tools/webhooks.js +40 -0
- package/dist/toolkits/postman/tools/workspaces.d.ts +50 -0
- package/dist/toolkits/postman/tools/workspaces.js +198 -0
- package/dist/toolkits/prometheus/icon.d.ts +5 -0
- package/dist/toolkits/prometheus/icon.js +52 -0
- package/dist/toolkits/prometheus/manifest.d.ts +3 -0
- package/dist/toolkits/prometheus/manifest.js +32 -0
- package/dist/toolkits/prometheus/tools/admin.d.ts +19 -0
- package/dist/toolkits/prometheus/tools/admin.js +90 -0
- package/dist/toolkits/prometheus/tools/client.d.ts +22 -0
- package/dist/toolkits/prometheus/tools/client.js +91 -0
- package/dist/toolkits/prometheus/tools/discovery.d.ts +82 -0
- package/dist/toolkits/prometheus/tools/discovery.js +182 -0
- package/dist/toolkits/prometheus/tools/index.d.ts +16 -0
- package/dist/toolkits/prometheus/tools/index.js +51 -0
- package/dist/toolkits/prometheus/tools/query.d.ts +33 -0
- package/dist/toolkits/prometheus/tools/query.js +101 -0
- package/dist/toolkits/prometheus/tools/status.d.ts +66 -0
- package/dist/toolkits/prometheus/tools/status.js +248 -0
- package/dist/toolkits/prometheus/tools/targets.d.ts +31 -0
- package/dist/toolkits/prometheus/tools/targets.js +117 -0
- package/dist/toolkits/razorpay/icon.d.ts +5 -0
- package/dist/toolkits/razorpay/icon.js +33 -0
- package/dist/toolkits/razorpay/manifest.d.ts +3 -0
- package/dist/toolkits/razorpay/manifest.js +32 -0
- package/dist/toolkits/razorpay/tools/client.d.ts +24 -0
- package/dist/toolkits/razorpay/tools/client.js +73 -0
- package/dist/toolkits/razorpay/tools/customers.d.ts +29 -0
- package/dist/toolkits/razorpay/tools/customers.js +53 -0
- package/dist/toolkits/razorpay/tools/index.d.ts +16 -0
- package/dist/toolkits/razorpay/tools/index.js +56 -0
- package/dist/toolkits/razorpay/tools/invoices.d.ts +169 -0
- package/dist/toolkits/razorpay/tools/invoices.js +143 -0
- package/dist/toolkits/razorpay/tools/items-links.d.ts +98 -0
- package/dist/toolkits/razorpay/tools/items-links.js +131 -0
- package/dist/toolkits/razorpay/tools/orders.d.ts +63 -0
- package/dist/toolkits/razorpay/tools/orders.js +99 -0
- package/dist/toolkits/razorpay/tools/payouts.d.ts +58 -0
- package/dist/toolkits/razorpay/tools/payouts.js +91 -0
- package/dist/toolkits/servicenow/icon.d.ts +5 -0
- package/dist/toolkits/servicenow/icon.js +6 -0
- package/dist/toolkits/servicenow/manifest.d.ts +3 -0
- package/dist/toolkits/servicenow/manifest.js +33 -0
- package/dist/toolkits/servicenow/tools/attachments.d.ts +35 -0
- package/dist/toolkits/servicenow/tools/attachments.js +120 -0
- package/dist/toolkits/servicenow/tools/catalog.d.ts +122 -0
- package/dist/toolkits/servicenow/tools/catalog.js +333 -0
- package/dist/toolkits/servicenow/tools/changes.d.ts +374 -0
- package/dist/toolkits/servicenow/tools/changes.js +609 -0
- package/dist/toolkits/servicenow/tools/cicd.d.ts +109 -0
- package/dist/toolkits/servicenow/tools/cicd.js +316 -0
- package/dist/toolkits/servicenow/tools/client.d.ts +42 -0
- package/dist/toolkits/servicenow/tools/client.js +168 -0
- package/dist/toolkits/servicenow/tools/cmdb.d.ts +224 -0
- package/dist/toolkits/servicenow/tools/cmdb.js +460 -0
- package/dist/toolkits/servicenow/tools/imports.d.ts +13 -0
- package/dist/toolkits/servicenow/tools/imports.js +36 -0
- package/dist/toolkits/servicenow/tools/incidents.d.ts +94 -0
- package/dist/toolkits/servicenow/tools/incidents.js +226 -0
- package/dist/toolkits/servicenow/tools/index.d.ts +1566 -0
- package/dist/toolkits/servicenow/tools/index.js +169 -0
- package/dist/toolkits/servicenow/tools/platform.d.ts +124 -0
- package/dist/toolkits/servicenow/tools/platform.js +298 -0
- package/dist/toolkits/servicenow/tools/records.d.ts +73 -0
- package/dist/toolkits/servicenow/tools/records.js +185 -0
- package/dist/toolkits/servicenow/tools/sdon.d.ts +48 -0
- package/dist/toolkits/servicenow/tools/sdon.js +81 -0
- package/dist/toolkits/slack/tools/admin-conversations.d.ts +2 -2
- package/dist/toolkits/slack/tools/emoji.d.ts +1 -1
- package/dist/toolkits/slack/tools/messages.d.ts +2 -2
- package/dist/toolkits/slack/tools/reactions-stars-pins.d.ts +2 -2
- package/dist/toolkits/slack/tools/search.d.ts +3 -3
- package/dist/toolkits/slack/tools/users.d.ts +1 -1
- package/dist/toolkits/vercel/icon.d.ts +5 -0
- package/dist/toolkits/vercel/icon.js +6 -0
- package/dist/toolkits/vercel/manifest.d.ts +3 -0
- package/dist/toolkits/vercel/manifest.js +35 -0
- package/dist/toolkits/vercel/tools/aliases.d.ts +47 -0
- package/dist/toolkits/vercel/tools/aliases.js +141 -0
- package/dist/toolkits/vercel/tools/auth.d.ts +23 -0
- package/dist/toolkits/vercel/tools/auth.js +117 -0
- package/dist/toolkits/vercel/tools/cache-artifacts.d.ts +57 -0
- package/dist/toolkits/vercel/tools/cache-artifacts.js +205 -0
- package/dist/toolkits/vercel/tools/certs.d.ts +9 -0
- package/dist/toolkits/vercel/tools/certs.js +31 -0
- package/dist/toolkits/vercel/tools/client.d.ts +17 -0
- package/dist/toolkits/vercel/tools/client.js +53 -0
- package/dist/toolkits/vercel/tools/deployments.d.ts +169 -0
- package/dist/toolkits/vercel/tools/deployments.js +443 -0
- package/dist/toolkits/vercel/tools/domains.d.ts +229 -0
- package/dist/toolkits/vercel/tools/domains.js +719 -0
- package/dist/toolkits/vercel/tools/edge-config.d.ts +110 -0
- package/dist/toolkits/vercel/tools/edge-config.js +402 -0
- package/dist/toolkits/vercel/tools/environment-variables.d.ts +137 -0
- package/dist/toolkits/vercel/tools/environment-variables.js +411 -0
- package/dist/toolkits/vercel/tools/firewall.d.ts +57 -0
- package/dist/toolkits/vercel/tools/firewall.js +187 -0
- package/dist/toolkits/vercel/tools/index.d.ts +1944 -0
- package/dist/toolkits/vercel/tools/index.js +312 -0
- package/dist/toolkits/vercel/tools/logs.d.ts +35 -0
- package/dist/toolkits/vercel/tools/logs.js +129 -0
- package/dist/toolkits/vercel/tools/misc.d.ts +140 -0
- package/dist/toolkits/vercel/tools/misc.js +486 -0
- package/dist/toolkits/vercel/tools/projects.d.ts +194 -0
- package/dist/toolkits/vercel/tools/projects.js +468 -0
- package/dist/toolkits/vercel/tools/teams.d.ts +50 -0
- package/dist/toolkits/vercel/tools/teams.js +144 -0
- package/dist/toolkits/vercel/tools/webhooks.d.ts +27 -0
- package/dist/toolkits/vercel/tools/webhooks.js +103 -0
- package/dist/toolkits/wise/icon.d.ts +5 -0
- package/dist/toolkits/wise/icon.js +15 -0
- package/dist/toolkits/wise/manifest.d.ts +3 -0
- package/dist/toolkits/wise/manifest.js +30 -0
- package/dist/toolkits/wise/tools/create-quote.d.ts +86 -0
- package/dist/toolkits/wise/tools/create-quote.js +64 -0
- package/dist/toolkits/wise/tools/get-exchange-rate.d.ts +42 -0
- package/dist/toolkits/wise/tools/get-exchange-rate.js +44 -0
- package/dist/toolkits/wise/tools/get-quote.d.ts +82 -0
- package/dist/toolkits/wise/tools/get-quote.js +46 -0
- package/dist/toolkits/wise/tools/index.d.ts +475 -0
- package/dist/toolkits/wise/tools/index.js +77 -0
- package/dist/toolkits/wise/tools/list-activities.d.ts +43 -0
- package/dist/toolkits/wise/tools/list-activities.js +49 -0
- package/dist/toolkits/wise/tools/list-balances.d.ts +30 -0
- package/dist/toolkits/wise/tools/list-balances.js +34 -0
- package/dist/toolkits/wise/tools/list-currencies.d.ts +29 -0
- package/dist/toolkits/wise/tools/list-currencies.js +31 -0
- package/dist/toolkits/wise/tools/list-profiles.d.ts +28 -0
- package/dist/toolkits/wise/tools/list-profiles.js +29 -0
- package/dist/toolkits/wise/tools/list-recipients.d.ts +43 -0
- package/dist/toolkits/wise/tools/list-recipients.js +54 -0
- package/dist/toolkits/wise/tools/list-transfers.d.ts +44 -0
- package/dist/toolkits/wise/tools/list-transfers.js +52 -0
- package/dist/toolkits/wise/tools/utils.d.ts +18 -0
- package/dist/toolkits/wise/tools/utils.js +39 -0
- package/dist/toolkits/wordpress/icon.d.ts +5 -0
- package/dist/toolkits/wordpress/icon.js +6 -0
- package/dist/toolkits/wordpress/manifest.d.ts +3 -0
- package/dist/toolkits/wordpress/manifest.js +36 -0
- package/dist/toolkits/wordpress/tools/create-draft-post.d.ts +47 -0
- package/dist/toolkits/wordpress/tools/create-draft-post.js +68 -0
- package/dist/toolkits/wordpress/tools/delete-draft-post.d.ts +38 -0
- package/dist/toolkits/wordpress/tools/delete-draft-post.js +51 -0
- package/dist/toolkits/wordpress/tools/get-post.d.ts +41 -0
- package/dist/toolkits/wordpress/tools/get-post.js +48 -0
- package/dist/toolkits/wordpress/tools/get-site-overview.d.ts +67 -0
- package/dist/toolkits/wordpress/tools/get-site-overview.js +91 -0
- package/dist/toolkits/wordpress/tools/index.d.ts +489 -0
- package/dist/toolkits/wordpress/tools/index.js +85 -0
- package/dist/toolkits/wordpress/tools/list-blogging-prompts.d.ts +48 -0
- package/dist/toolkits/wordpress/tools/list-blogging-prompts.js +55 -0
- package/dist/toolkits/wordpress/tools/list-cms-resources.d.ts +45 -0
- package/dist/toolkits/wordpress/tools/list-cms-resources.js +77 -0
- package/dist/toolkits/wordpress/tools/list-content.d.ts +49 -0
- package/dist/toolkits/wordpress/tools/list-content.js +71 -0
- package/dist/toolkits/wordpress/tools/list-reader-subscriptions.d.ts +24 -0
- package/dist/toolkits/wordpress/tools/list-reader-subscriptions.js +39 -0
- package/dist/toolkits/wordpress/tools/list-sites.d.ts +26 -0
- package/dist/toolkits/wordpress/tools/list-sites.js +69 -0
- package/dist/toolkits/wordpress/tools/update-draft-post.d.ts +51 -0
- package/dist/toolkits/wordpress/tools/update-draft-post.js +93 -0
- package/dist/toolkits/wordpress/tools/utils.d.ts +18 -0
- package/dist/toolkits/wordpress/tools/utils.js +33 -0
- package/dist/toolkits/zoho/icon.d.ts +5 -0
- package/dist/toolkits/zoho/icon.js +125 -0
- package/dist/toolkits/zoho/manifest.d.ts +3 -0
- package/dist/toolkits/zoho/manifest.js +54 -0
- package/dist/toolkits/zoho/tools/convert-zoho-lead.d.ts +11 -0
- package/dist/toolkits/zoho/tools/convert-zoho-lead.js +47 -0
- package/dist/toolkits/zoho/tools/create-contact.d.ts +36 -0
- package/dist/toolkits/zoho/tools/create-contact.js +58 -0
- package/dist/toolkits/zoho/tools/create-deal.d.ts +17 -0
- package/dist/toolkits/zoho/tools/create-deal.js +39 -0
- package/dist/toolkits/zoho/tools/create-email-draft.d.ts +7 -0
- package/dist/toolkits/zoho/tools/create-email-draft.js +30 -0
- package/dist/toolkits/zoho/tools/create-event.d.ts +18 -0
- package/dist/toolkits/zoho/tools/create-event.js +40 -0
- package/dist/toolkits/zoho/tools/create-lead.d.ts +31 -0
- package/dist/toolkits/zoho/tools/create-lead.js +53 -0
- package/dist/toolkits/zoho/tools/create-note.d.ts +8 -0
- package/dist/toolkits/zoho/tools/create-note.js +31 -0
- package/dist/toolkits/zoho/tools/create-zoho-record.d.ts +8 -0
- package/dist/toolkits/zoho/tools/create-zoho-record.js +35 -0
- package/dist/toolkits/zoho/tools/create-zoho-tag.d.ts +7 -0
- package/dist/toolkits/zoho/tools/create-zoho-tag.js +30 -0
- package/dist/toolkits/zoho/tools/delete-account.d.ts +6 -0
- package/dist/toolkits/zoho/tools/delete-account.js +29 -0
- package/dist/toolkits/zoho/tools/delete-contact.d.ts +6 -0
- package/dist/toolkits/zoho/tools/delete-contact.js +29 -0
- package/dist/toolkits/zoho/tools/delete-deal.d.ts +6 -0
- package/dist/toolkits/zoho/tools/delete-deal.js +29 -0
- package/dist/toolkits/zoho/tools/get-account.d.ts +6 -0
- package/dist/toolkits/zoho/tools/get-account.js +34 -0
- package/dist/toolkits/zoho/tools/get-call.d.ts +6 -0
- package/dist/toolkits/zoho/tools/get-call.js +34 -0
- package/dist/toolkits/zoho/tools/get-contact.d.ts +5 -0
- package/dist/toolkits/zoho/tools/get-contact.js +33 -0
- package/dist/toolkits/zoho/tools/get-email-drafts.d.ts +6 -0
- package/dist/toolkits/zoho/tools/get-email-drafts.js +34 -0
- package/dist/toolkits/zoho/tools/get-event.d.ts +5 -0
- package/dist/toolkits/zoho/tools/get-event.js +33 -0
- package/dist/toolkits/zoho/tools/get-from-addresses.d.ts +4 -0
- package/dist/toolkits/zoho/tools/get-from-addresses.js +32 -0
- package/dist/toolkits/zoho/tools/get-module-fields.d.ts +8 -0
- package/dist/toolkits/zoho/tools/get-module-fields.js +36 -0
- package/dist/toolkits/zoho/tools/get-note.d.ts +6 -0
- package/dist/toolkits/zoho/tools/get-note.js +34 -0
- package/dist/toolkits/zoho/tools/get-record-emails.d.ts +9 -0
- package/dist/toolkits/zoho/tools/get-record-emails.js +37 -0
- package/dist/toolkits/zoho/tools/get-related-lists.d.ts +6 -0
- package/dist/toolkits/zoho/tools/get-related-lists.js +29 -0
- package/dist/toolkits/zoho/tools/get-related-records.d.ts +15 -0
- package/dist/toolkits/zoho/tools/get-related-records.js +38 -0
- package/dist/toolkits/zoho/tools/get-task.d.ts +6 -0
- package/dist/toolkits/zoho/tools/get-task.js +34 -0
- package/dist/toolkits/zoho/tools/get-user.d.ts +5 -0
- package/dist/toolkits/zoho/tools/get-user.js +33 -0
- package/dist/toolkits/zoho/tools/get-zoho-records.d.ts +13 -0
- package/dist/toolkits/zoho/tools/get-zoho-records.js +59 -0
- package/dist/toolkits/zoho/tools/get-zoho-users.d.ts +9 -0
- package/dist/toolkits/zoho/tools/get-zoho-users.js +32 -0
- package/dist/toolkits/zoho/tools/index.d.ts +789 -0
- package/dist/toolkits/zoho/tools/index.js +175 -0
- package/dist/toolkits/zoho/tools/list-accounts.d.ts +14 -0
- package/dist/toolkits/zoho/tools/list-accounts.js +60 -0
- package/dist/toolkits/zoho/tools/list-calls.d.ts +12 -0
- package/dist/toolkits/zoho/tools/list-calls.js +58 -0
- package/dist/toolkits/zoho/tools/list-contacts.d.ts +12 -0
- package/dist/toolkits/zoho/tools/list-contacts.js +58 -0
- package/dist/toolkits/zoho/tools/list-deals.d.ts +15 -0
- package/dist/toolkits/zoho/tools/list-deals.js +61 -0
- package/dist/toolkits/zoho/tools/list-events.d.ts +12 -0
- package/dist/toolkits/zoho/tools/list-events.js +58 -0
- package/dist/toolkits/zoho/tools/list-leads.d.ts +13 -0
- package/dist/toolkits/zoho/tools/list-leads.js +59 -0
- package/dist/toolkits/zoho/tools/list-modules.d.ts +4 -0
- package/dist/toolkits/zoho/tools/list-modules.js +50 -0
- package/dist/toolkits/zoho/tools/list-notes.d.ts +7 -0
- package/dist/toolkits/zoho/tools/list-notes.js +53 -0
- package/dist/toolkits/zoho/tools/list-record-attachments.d.ts +9 -0
- package/dist/toolkits/zoho/tools/list-record-attachments.js +55 -0
- package/dist/toolkits/zoho/tools/list-tasks.d.ts +12 -0
- package/dist/toolkits/zoho/tools/list-tasks.js +58 -0
- package/dist/toolkits/zoho/tools/search-accounts.d.ts +11 -0
- package/dist/toolkits/zoho/tools/search-accounts.js +49 -0
- package/dist/toolkits/zoho/tools/search-calls.d.ts +11 -0
- package/dist/toolkits/zoho/tools/search-calls.js +49 -0
- package/dist/toolkits/zoho/tools/search-contacts.d.ts +11 -0
- package/dist/toolkits/zoho/tools/search-contacts.js +49 -0
- package/dist/toolkits/zoho/tools/search-deals.d.ts +11 -0
- package/dist/toolkits/zoho/tools/search-deals.js +49 -0
- package/dist/toolkits/zoho/tools/search-events.d.ts +11 -0
- package/dist/toolkits/zoho/tools/search-events.js +49 -0
- package/dist/toolkits/zoho/tools/search-leads.d.ts +13 -0
- package/dist/toolkits/zoho/tools/search-leads.js +51 -0
- package/dist/toolkits/zoho/tools/search-notes.d.ts +11 -0
- package/dist/toolkits/zoho/tools/search-notes.js +49 -0
- package/dist/toolkits/zoho/tools/search-tasks.d.ts +11 -0
- package/dist/toolkits/zoho/tools/search-tasks.js +49 -0
- package/dist/toolkits/zoho/tools/search-zoho-records.d.ts +12 -0
- package/dist/toolkits/zoho/tools/search-zoho-records.js +50 -0
- package/dist/toolkits/zoho/tools/update-account.d.ts +32 -0
- package/dist/toolkits/zoho/tools/update-account.js +55 -0
- package/dist/toolkits/zoho/tools/update-call.d.ts +8 -0
- package/dist/toolkits/zoho/tools/update-call.js +33 -0
- package/dist/toolkits/zoho/tools/update-deal.d.ts +9 -0
- package/dist/toolkits/zoho/tools/update-deal.js +34 -0
- package/dist/toolkits/zoho/tools/update-email-draft.d.ts +17 -0
- package/dist/toolkits/zoho/tools/update-email-draft.js +42 -0
- package/dist/toolkits/zoho/tools/update-event.d.ts +6 -0
- package/dist/toolkits/zoho/tools/update-event.js +31 -0
- package/dist/toolkits/zoho/tools/update-lead.d.ts +9 -0
- package/dist/toolkits/zoho/tools/update-lead.js +34 -0
- package/dist/toolkits/zoho/tools/update-note.d.ts +8 -0
- package/dist/toolkits/zoho/tools/update-note.js +33 -0
- package/dist/toolkits/zoho/tools/update-related-records.d.ts +8 -0
- package/dist/toolkits/zoho/tools/update-related-records.js +33 -0
- package/dist/toolkits/zoho/tools/update-zoho-record.d.ts +10 -0
- package/dist/toolkits/zoho/tools/update-zoho-record.js +35 -0
- package/dist/toolkits/zoho/tools/upload-attachment.d.ts +9 -0
- package/dist/toolkits/zoho/tools/upload-attachment.js +34 -0
- package/dist/toolkits/zoho/tools/utils.d.ts +24 -0
- package/dist/toolkits/zoho/tools/utils.js +49 -0
- package/dist/toolkits/zoho/tools/validate-credential.d.ts +4 -0
- package/dist/toolkits/zoho/tools/validate-credential.js +27 -0
- package/package.json +1 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export declare const createCilifecyclemgmtAction: import("ai").Tool<{
|
|
2
|
+
action: string;
|
|
3
|
+
ci: string;
|
|
4
|
+
servicenowCredentials?: string | undefined;
|
|
5
|
+
}, any>;
|
|
6
|
+
export declare const createCiLifecycleMgmtOperators: import("ai").Tool<{
|
|
7
|
+
email: string;
|
|
8
|
+
firstName: string;
|
|
9
|
+
lastName: string;
|
|
10
|
+
userName: string;
|
|
11
|
+
servicenowCredentials?: string | undefined;
|
|
12
|
+
}, any>;
|
|
13
|
+
export declare const createCiLifecycleMgmtStatuses: import("ai").Tool<{
|
|
14
|
+
sysIds: string[];
|
|
15
|
+
operationalState: string;
|
|
16
|
+
servicenowCredentials?: string | undefined;
|
|
17
|
+
requestor?: string | undefined;
|
|
18
|
+
}, any>;
|
|
19
|
+
export declare const createSnCicdAppBatchInstall: import("ai").Tool<{
|
|
20
|
+
name: string;
|
|
21
|
+
packages: Record<string, any>[];
|
|
22
|
+
servicenowCredentials?: string | undefined;
|
|
23
|
+
}, any>;
|
|
24
|
+
export declare const createSnCicdAppRepoInstall: import("ai").Tool<{
|
|
25
|
+
sysId: string;
|
|
26
|
+
servicenowCredentials?: string | undefined;
|
|
27
|
+
}, any>;
|
|
28
|
+
export declare const createSnCicdInstanceScanFullScan: import("ai").Tool<{
|
|
29
|
+
servicenowCredentials?: string | undefined;
|
|
30
|
+
}, any>;
|
|
31
|
+
export declare const createSnCicdInstanceScanSuiteScanCombo: import("ai").Tool<{
|
|
32
|
+
comboSysId: string;
|
|
33
|
+
asyncExecution?: boolean | undefined;
|
|
34
|
+
servicenowCredentials?: string | undefined;
|
|
35
|
+
targetScopeAppSysId?: string | undefined;
|
|
36
|
+
}, any>;
|
|
37
|
+
export declare const createSnCicdPluginActivate: import("ai").Tool<{
|
|
38
|
+
pluginId: string;
|
|
39
|
+
servicenowCredentials?: string | undefined;
|
|
40
|
+
}, any>;
|
|
41
|
+
export declare const createSnCicdTestsuiteRun: import("ai").Tool<{
|
|
42
|
+
servicenowCredentials?: string | undefined;
|
|
43
|
+
testSuiteId?: string | undefined;
|
|
44
|
+
testSuiteName?: string | undefined;
|
|
45
|
+
testSuiteSysId?: string | undefined;
|
|
46
|
+
}, any>;
|
|
47
|
+
export declare const deleteCiLifecycleMgmtAction: import("ai").Tool<{
|
|
48
|
+
actionSysId: string;
|
|
49
|
+
servicenowCredentials?: string | undefined;
|
|
50
|
+
}, any>;
|
|
51
|
+
export declare const deleteCiLifecycleMgmtOperators: import("ai").Tool<{
|
|
52
|
+
reqId: string;
|
|
53
|
+
servicenowCredentials?: string | undefined;
|
|
54
|
+
}, any>;
|
|
55
|
+
export declare const getCilifecyclemgmtActions: import("ai").Tool<{
|
|
56
|
+
sysId: string;
|
|
57
|
+
servicenowCredentials?: string | undefined;
|
|
58
|
+
sysparmFields?: string | undefined;
|
|
59
|
+
sysparmDisplayValue?: string | undefined;
|
|
60
|
+
sysparmExcludeReferenceLink?: boolean | undefined;
|
|
61
|
+
}, any>;
|
|
62
|
+
export declare const getCilifecyclemgmtCompatActions: import("ai").Tool<{
|
|
63
|
+
ci1: string;
|
|
64
|
+
ci2: string;
|
|
65
|
+
servicenowCredentials?: string | undefined;
|
|
66
|
+
}, any>;
|
|
67
|
+
export declare const getCiLifecycleMgmtLeasesExpired: import("ai").Tool<{
|
|
68
|
+
sysId: string;
|
|
69
|
+
servicenowCredentials?: string | undefined;
|
|
70
|
+
}, any>;
|
|
71
|
+
export declare const getCiLifecycleMgmtNotAllowedOpsTransition: import("ai").Tool<{
|
|
72
|
+
sysId: string;
|
|
73
|
+
servicenowCredentials?: string | undefined;
|
|
74
|
+
}, any>;
|
|
75
|
+
export declare const getCilifecyclemgmtRequestorsValid: import("ai").Tool<{
|
|
76
|
+
reqId: string;
|
|
77
|
+
servicenowCredentials?: string | undefined;
|
|
78
|
+
}, any>;
|
|
79
|
+
export declare const getCiLifecycleMgmtStatuses: import("ai").Tool<{
|
|
80
|
+
sysId: string;
|
|
81
|
+
servicenowCredentials?: string | undefined;
|
|
82
|
+
}, any>;
|
|
83
|
+
export declare const getSnCdmSharedLibrariesUploadStatus: import("ai").Tool<{
|
|
84
|
+
uploadId: string;
|
|
85
|
+
servicenowCredentials?: string | undefined;
|
|
86
|
+
}, any>;
|
|
87
|
+
export declare const getSnCicdAppBatchResults: import("ai").Tool<{
|
|
88
|
+
resultId: string;
|
|
89
|
+
servicenowCredentials?: string | undefined;
|
|
90
|
+
}, any>;
|
|
91
|
+
export declare const getSnCicdInstanceScanResult: import("ai").Tool<{
|
|
92
|
+
progressId: string;
|
|
93
|
+
servicenowCredentials?: string | undefined;
|
|
94
|
+
}, any>;
|
|
95
|
+
export declare const getSnCicdProgress: import("ai").Tool<{
|
|
96
|
+
progressId: string;
|
|
97
|
+
servicenowCredentials?: string | undefined;
|
|
98
|
+
}, any>;
|
|
99
|
+
export declare const getSnCicdTestsuiteResults: import("ai").Tool<{
|
|
100
|
+
resultId: string;
|
|
101
|
+
servicenowCredentials?: string | undefined;
|
|
102
|
+
}, any>;
|
|
103
|
+
export declare const retrieveSnCicdUpdateSet: import("ai").Tool<{
|
|
104
|
+
updateSetId: string;
|
|
105
|
+
servicenowCredentials?: string | undefined;
|
|
106
|
+
updateSourceId?: string | undefined;
|
|
107
|
+
updateSourceInstanceId?: string | undefined;
|
|
108
|
+
}, any>;
|
|
109
|
+
//# sourceMappingURL=cicd.d.ts.map
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { snRequest, toServerKeys } from './client.js';
|
|
5
|
+
export const createCilifecyclemgmtAction = tool({
|
|
6
|
+
description: "Adds a specified configuration item (CI) action using the ServiceNow CI Lifecycle Management API. Use this action when you need to create or execute a CI lifecycle action for a Configuration Item in ServiceNow's CMDB. This endpoint allows you to trigger specific lifecycle actions (such as activate, retire, or custom actions) on CIs programmatically. The action requires the CI identifier and the action name to be executed. Ensure the action is valid for the specified CI class.",
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
9
|
+
ci: z.string().describe("The unique identifier of the Configuration Item (CI) to associate with the action. This can be the sys_id (32-character hexadecimal string) or other CI identifier. Example: '00a96c0d3790200044e0bfc8bcbe5db4'"),
|
|
10
|
+
action: z.string().describe("The name or identifier of the action to execute on the CI. This corresponds to a valid CI lifecycle action defined in the ci_lifecycle_action table. Example: 'test_action', 'activate', 'retire'"),
|
|
11
|
+
}),
|
|
12
|
+
execute: async ({ servicenowCredentials, ci, action }) => {
|
|
13
|
+
return snRequest(servicenowCredentials, '/api/now/cilifecyclemgmt/actions', {
|
|
14
|
+
method: 'POST',
|
|
15
|
+
query: { actionName: action, sysIds: ci },
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
export const createCiLifecycleMgmtOperators = tool({
|
|
20
|
+
description: "Registers a new operator for a non-workflow user in the ServiceNow CI Lifecycle Management system. Use this action when you need to create or register an operator identity for CI lifecycle management purposes. The operator must be associated with a non-workflow user account. The returned req_id can be used to manage the operator (e.g., delete it later).",
|
|
21
|
+
inputSchema: z.object({
|
|
22
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
23
|
+
email: z.string().describe("The email address of the operator. Must be a valid email format. Example: 'test@example.com'"),
|
|
24
|
+
lastName: z.string().describe("The last name (surname) of the operator. Example: 'Operator'"),
|
|
25
|
+
userName: z.string().describe("The unique username for the operator being registered. This must be a non-workflow user account. Example: 'test_operator'"),
|
|
26
|
+
firstName: z.string().describe("The first name of the operator. Example: 'Test'"),
|
|
27
|
+
}),
|
|
28
|
+
execute: async ({ servicenowCredentials, email, lastName, userName, firstName }) => {
|
|
29
|
+
return snRequest(servicenowCredentials, '/api/now/cilifecyclemgmt/operators', {
|
|
30
|
+
method: 'POST',
|
|
31
|
+
body: toServerKeys({ email, lastName, userName, firstName }),
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
export const createCiLifecycleMgmtStatuses = tool({
|
|
36
|
+
description: "Sets the operational state for one or more configuration items (CIs) using the ServiceNow CI Lifecycle Management API. Use this action when you need to update the operational status of CIs in ServiceNow's CMDB. This endpoint allows you to programmatically set the operational state (operational, non-operational, on order, inventory, etc.) for a batch of configuration items. The action requires a list of CI identifiers and the operational state value to apply.",
|
|
37
|
+
inputSchema: z.object({
|
|
38
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
39
|
+
sysIds: z.array(z.string()).describe("List of Configuration Item (CI) identifiers to set the operational state for. Each identifier should be the sys_id (32-character hexadecimal string) of the CI. Example: ['73aa7167c42'] or ['00a96c0d3790200044e0bfc8bcbe5db4']"),
|
|
40
|
+
requestor: z.string().optional().describe("The user ID or sys_id of the requestor who is setting the operational state. This is required for authorization purposes. Example: 'admin' or '681ccaf9c0a8016400b98a06818d6e1a'"),
|
|
41
|
+
operationalState: z.string().describe("The operational state to set for the specified CIs. Common values: '1' = Operational, '2' = Non-Operational, '3' = On Order, '4' = Inventory. The valid values depend on your ServiceNow configuration. Example: '1'"),
|
|
42
|
+
}),
|
|
43
|
+
execute: async ({ servicenowCredentials, sysIds, requestor, operationalState }) => {
|
|
44
|
+
return snRequest(servicenowCredentials, '/api/now/cilifecyclemgmt/statuses', {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
query: { sysIds: sysIds.join(','), requestorId: requestor, opsLabel: operationalState },
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
export const createSnCicdAppBatchInstall = tool({
|
|
51
|
+
description: "Installs two or more ServiceNow application packages in a single batch operation via the CICD API. Use this action when you need to deploy multiple applications at once as part of a CI/CD pipeline or automated deployment process. The batch install allows for efficient bulk installation of related applications rather than installing them one at a time. This action is idempotent — running it multiple times with the same packages will produce the same result. Note: At least two packages must be specified for a batch install operation.",
|
|
52
|
+
inputSchema: z.object({
|
|
53
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
54
|
+
name: z.string().describe("The name or label for this batch install operation. This is used for identification purposes."),
|
|
55
|
+
packages: z.array(z.record(z.any())).describe("List of packages to install in a single batch operation. Each package must have a 'name' field containing the application ID. At least two packages are required for batch installation."),
|
|
56
|
+
}),
|
|
57
|
+
execute: async ({ servicenowCredentials, name, packages }) => {
|
|
58
|
+
return snRequest(servicenowCredentials, '/api/sn_cicd/app/batch/install', {
|
|
59
|
+
method: 'POST',
|
|
60
|
+
body: toServerKeys({ name, packages }),
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
export const createSnCicdAppRepoInstall = tool({
|
|
65
|
+
description: "Installs the specified application from the ServiceNow app repository. Use this action when you need to install an application from the ServiceNow Store or a private app repository onto your ServiceNow instance. This is commonly used during CI/CD pipelines to automate the deployment of applications. The action requires the sys_id of the application to install, which can be obtained from the app repository records or from a previous application listing operation.",
|
|
66
|
+
inputSchema: z.object({
|
|
67
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
68
|
+
sysId: z.string().describe("The sys_id of the application to install from the app repository. This is the unique system identifier for the application record in ServiceNow."),
|
|
69
|
+
}),
|
|
70
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
71
|
+
return snRequest(servicenowCredentials, '/api/sn_cicd/app_repo/install', {
|
|
72
|
+
method: 'POST',
|
|
73
|
+
query: { sys_id: sysId },
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
export const createSnCicdInstanceScanFullScan = tool({
|
|
78
|
+
description: "Initiates a full instance scan by running all active checks present in the ServiceNow instance. Use this action when you need to execute a comprehensive validation scan of your ServiceNow instance, running all configured active checks to identify configuration issues, best practice violations, or compliance problems. This is typically used during CI/CD pipelines or before major changes to ensure the instance meets required standards. This action starts an asynchronous scan operation - the response indicates the scan has been initiated with a 'running' state. Use the returned sys_id to track progress or retrieve detailed results.",
|
|
79
|
+
inputSchema: z.object({
|
|
80
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
81
|
+
}),
|
|
82
|
+
execute: async ({ servicenowCredentials }) => {
|
|
83
|
+
return snRequest(servicenowCredentials, '/api/sn_cicd/instance_scan/full_scan', {
|
|
84
|
+
method: 'POST',
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
export const createSnCicdInstanceScanSuiteScanCombo = tool({
|
|
89
|
+
description: "Runs a CI/CD scan using a suite and target (scoped app) combination in ServiceNow. Use this action when you need to execute a compliance or best practices scan against a scoped application using a predefined scan suite and target combination. This is commonly used in CI/CD pipelines to validate that an application meets ServiceNow best practices before deployment or release. The combo_sys_id refers to a saved configuration that links a scan suite with a target scoped application. You can optionally override the target by providing target_scope_app_sys_id. This action modifies the ServiceNow instance by executing a scan. If async_execution is false (default), the request will wait for the scan to complete. Set async_execution to true if you want the scan to run in the background and return immediately.",
|
|
90
|
+
inputSchema: z.object({
|
|
91
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
92
|
+
comboSysId: z.string().describe("The unique system ID (sys_id) of the scan suite and target combination to run. This is a 32-character hexadecimal string that identifies the combo configuration containing the suite and target (scoped app) to scan. Example: 'a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4'"),
|
|
93
|
+
asyncExecution: z.boolean().optional().describe("When set to true, the scan runs asynchronously and returns immediately with a job ID. When false (default), the request waits for the scan to complete before returning."),
|
|
94
|
+
targetScopeAppSysId: z.string().optional().describe("The sys_id of the scoped application to run the scan against. If not provided, the target defined in the combo configuration will be used. Example: 'f6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1'"),
|
|
95
|
+
}),
|
|
96
|
+
execute: async ({ servicenowCredentials, comboSysId, asyncExecution, targetScopeAppSysId }) => {
|
|
97
|
+
return snRequest(servicenowCredentials, `/api/sn_cicd/instance_scan/suite_scan/combo/${encodeURIComponent(comboSysId)}`, {
|
|
98
|
+
method: 'POST',
|
|
99
|
+
query: { async_execution: asyncExecution, target_scope_app_sys_id: targetScopeAppSysId },
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
export const createSnCicdPluginActivate = tool({
|
|
104
|
+
description: "Activates the specified plugin in ServiceNow's CICD Plugin API. Use this action when you need to activate a plugin on a ServiceNow instance as part of a CI/CD pipeline or automated deployment process. This is commonly used after deploying a plugin to enable its functionality on the target instance. This action modifies the state of the ServiceNow instance by activating the plugin. Ensure the plugin is compatible with your instance and that any prerequisites are met before activation.",
|
|
105
|
+
inputSchema: z.object({
|
|
106
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
107
|
+
pluginId: z.string().describe("The unique identifier or name of the plugin to activate. This is typically the plugin's scope name or full identifier (e.g., 'com.glide.cs', 'com.snc.pdap')."),
|
|
108
|
+
}),
|
|
109
|
+
execute: async ({ servicenowCredentials, pluginId }) => {
|
|
110
|
+
return snRequest(servicenowCredentials, `/api/sn_cicd/plugin/${encodeURIComponent(pluginId)}/activate`, {
|
|
111
|
+
method: 'POST',
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
export const createSnCicdTestsuiteRun = tool({
|
|
116
|
+
description: "Starts a specified automated test suite using ServiceNow's CI/CD Pipeline API. Use this action when you need to execute an automated test suite as part of a CI/CD pipeline or deployment process. This action initiates the test suite run and returns a progress identifier that can be used with GetSnCicdProgress to monitor execution status. The action is commonly used during automated testing phases in deployment pipelines to validate application changes before production deployment.",
|
|
117
|
+
inputSchema: z.object({
|
|
118
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
119
|
+
testSuiteId: z.string().optional().describe("Deprecated alias for test_suite_sys_id, kept for backward compatibility. Use test_suite_sys_id instead."),
|
|
120
|
+
testSuiteName: z.string().optional().describe("The name of the automated test suite to run. Required if test_suite_sys_id is not specified."),
|
|
121
|
+
testSuiteSysId: z.string().optional().describe("The sys_id of the automated test suite (Test [sys_atf_test_suite]) to run. Required if test_suite_name is not specified. Example: 'a1b2c3d4e5f67890abcdef1234567890'"),
|
|
122
|
+
}),
|
|
123
|
+
execute: async ({ servicenowCredentials, testSuiteId, testSuiteName, testSuiteSysId }) => {
|
|
124
|
+
return snRequest(servicenowCredentials, '/api/sn_cicd/testsuite/run', {
|
|
125
|
+
method: 'POST',
|
|
126
|
+
query: { test_suite_sys_id: testSuiteSysId ?? testSuiteId, test_suite_name: testSuiteName },
|
|
127
|
+
});
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
export const deleteCiLifecycleMgmtAction = tool({
|
|
131
|
+
description: "Permanently deletes a specific CI Lifecycle Management action from ServiceNow using its sys_id. Use this action when you need to remove a CI Lifecycle Management action record that is no longer needed. This action is irreversible — the CI action cannot be recovered once deleted. Requires the user to have appropriate permissions for the CI Lifecycle Management module. Use when you need to clean up obsolete, incorrect, or duplicate CI lifecycle action records.",
|
|
132
|
+
inputSchema: z.object({
|
|
133
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
134
|
+
actionSysId: z.string().describe("The unique system ID (sys_id) of the CI Lifecycle Management action to delete. This is a 32-character hexadecimal string that uniquely identifies the action record. Example: '9a8f5b3c1d4e7f2a6b0c8d3e5f7a1b9c'. The action must exist, or a 404 error will be returned. This parameter corresponds to the 'sys_id' field of the 'statemgmt_ci_actions' table."),
|
|
135
|
+
}),
|
|
136
|
+
execute: async ({ servicenowCredentials, actionSysId }) => {
|
|
137
|
+
return snRequest(servicenowCredentials, `/api/now/cilifecyclemgmt/actions/${encodeURIComponent(actionSysId)}`, {
|
|
138
|
+
method: 'DELETE',
|
|
139
|
+
});
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
export const deleteCiLifecycleMgmtOperators = tool({
|
|
143
|
+
description: "Permanently unregisters an operator from the ServiceNow CI Lifecycle Management system. This action removes an operator registration for non-workflow users. This is a destructive, irreversible operation — once the operator is unregistered, it cannot be recovered and will need to be re-registered if needed again. Use this action with caution. Use when you need to clean up obsolete operator registrations for non-workflow users in the CI Lifecycle Management system. The user must have appropriate permissions to unregister operators. If the operator doesn't exist or the user lacks permissions, an error will be returned.",
|
|
144
|
+
inputSchema: z.object({
|
|
145
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
146
|
+
reqId: z.string().describe("The unique identifier of the operator to unregister. This is the operator ID that was assigned when the operator was registered. Example: 'test-operator-id-123'. The operator must exist in the CI Lifecycle Management system, or a 404 error will be returned."),
|
|
147
|
+
}),
|
|
148
|
+
execute: async ({ servicenowCredentials, reqId }) => {
|
|
149
|
+
return snRequest(servicenowCredentials, `/api/now/cilifecyclemgmt/operators/${encodeURIComponent(reqId)}`, {
|
|
150
|
+
method: 'DELETE',
|
|
151
|
+
});
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
export const getCilifecyclemgmtActions = tool({
|
|
155
|
+
description: "Retrieves a specific CI Lifecycle Management action from ServiceNow using its sys_id. Use this action when you need to fetch detailed information about a particular CI Lifecycle Management action, including its name, state, description, and associated CMDB class. This is a read-only operation that does not modify any data in ServiceNow.",
|
|
156
|
+
inputSchema: z.object({
|
|
157
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
158
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the CI Lifecycle Management action to retrieve. This is a 32-character hexadecimal string that uniquely identifies the action record. Example: '00000000000000000000000000000000'"),
|
|
159
|
+
sysparmFields: z.string().optional().describe("Comma-separated list of fields to return in the response. Invalid field names are silently ignored. Example: 'sys_id,name,state,class_name'"),
|
|
160
|
+
sysparmDisplayValue: z.string().optional().describe("Determines the type of data returned for reference fields. 'false': Returns actual database values (sys_ids for references). 'true': Returns display values (names for references). 'all': Returns both display and actual values."),
|
|
161
|
+
sysparmExcludeReferenceLink: z.boolean().optional().describe("Flag that indicates whether to exclude Table API links for reference fields."),
|
|
162
|
+
}),
|
|
163
|
+
execute: async ({ servicenowCredentials, sysId, sysparmFields, sysparmDisplayValue, sysparmExcludeReferenceLink }) => {
|
|
164
|
+
return snRequest(servicenowCredentials, `/api/now/cilifecyclemgmt/actions/${encodeURIComponent(sysId)}`, {
|
|
165
|
+
method: 'GET',
|
|
166
|
+
query: {
|
|
167
|
+
sysparm_fields: sysparmFields,
|
|
168
|
+
sysparm_display_value: sysparmDisplayValue,
|
|
169
|
+
sysparm_exclude_reference_link: sysparmExcludeReferenceLink,
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
export const getCilifecyclemgmtCompatActions = tool({
|
|
175
|
+
description: "Determines whether two specified Configuration Items (CIs) in the ServiceNow CMDB are compatible using the CI Lifecycle Management compatActions endpoint. Use this action when you need to verify compatibility between two Configuration Items before planning changes, deployments, or scheduling activities that involve multiple CIs. This helps ensure that changes to one CI won't negatively impact another CI in the configuration.",
|
|
176
|
+
inputSchema: z.object({
|
|
177
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
178
|
+
ci1: z.string().describe("The sys_id of the first Configuration Item (CI) to check for compatibility. This is a 32-character hexadecimal string that uniquely identifies the CI record in the CMDB. Example: '00a96c0d3790200044e0bfc8bcbe5db4'"),
|
|
179
|
+
ci2: z.string().describe("The sys_id of the second Configuration Item (CI) to check for compatibility. This is a 32-character hexadecimal string that uniquely identifies the CI record in the CMDB. Example: '00a96c0d3790200044e0bfc8bcbe5db5'"),
|
|
180
|
+
}),
|
|
181
|
+
execute: async ({ servicenowCredentials, ci1, ci2 }) => {
|
|
182
|
+
return snRequest(servicenowCredentials, '/api/now/cilifecyclemgmt/compatActions', {
|
|
183
|
+
method: 'GET',
|
|
184
|
+
query: { actionName: ci1, otherActionName: ci2 },
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
});
|
|
188
|
+
export const getCiLifecycleMgmtLeasesExpired = tool({
|
|
189
|
+
description: "Determines whether a CI Lifecycle Management lease has expired for the specified lease record. Use this action when you need to check the expiration status of a lease in ServiceNow's CI Lifecycle Management system. This is a read-only operation that queries whether the specified lease has expired based on its end date and current system time. This action is useful for: - Verifying lease validity before performing operations that require an active lease - Auditing expired leases in the CMDB - Triggering renewal workflows when leases are expired",
|
|
190
|
+
inputSchema: z.object({
|
|
191
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
192
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the lease record to check for expiration status. This is a 32-character hexadecimal string that uniquely identifies the lease record in the CI Lifecycle Management system. Example: '00000000000000000000000000000001'"),
|
|
193
|
+
}),
|
|
194
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
195
|
+
return snRequest(servicenowCredentials, `/api/now/cilifecyclemgmt/leases/${encodeURIComponent(sysId)}/expired`, {
|
|
196
|
+
method: 'GET',
|
|
197
|
+
});
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
export const getCiLifecycleMgmtNotAllowedOpsTransition = tool({
|
|
201
|
+
description: "Determines whether a configuration item (CI) can be transitioned based on CI lifecycle management rules. Use this action when you need to check if a configuration item (CI) in ServiceNow's CMDB has any allowed state transitions under the CI lifecycle management rules. This is typically used when validating whether a CI can be moved to a specific state in its lifecycle, such as before scheduling maintenance or making configuration changes. The endpoint queries the CI lifecycle management rules to determine if the specified CI has any transition restrictions or if certain state changes are not permitted.",
|
|
202
|
+
inputSchema: z.object({
|
|
203
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
204
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the configuration item (CI) to check for not allowed operations transition. This is a 32-character hexadecimal string that uniquely identifies the CI record in ServiceNow CMDB. Example: '00a96c0d3790200044e0bfc8bcbe5db4'"),
|
|
205
|
+
}),
|
|
206
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
207
|
+
return snRequest(servicenowCredentials, '/api/now/cilifecyclemgmt/notAllowedOpsTransition', {
|
|
208
|
+
method: 'GET',
|
|
209
|
+
query: { sys_id: sysId },
|
|
210
|
+
});
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
export const getCilifecyclemgmtRequestorsValid = tool({
|
|
214
|
+
description: "Validates whether a specified active workflow requestor exists and is valid in ServiceNow CI Lifecycle Management. Use this action when you need to verify that a CI Lifecycle Management workflow requestor is valid and active before proceeding with related operations such as change requests, deployment approvals, or CI lifecycle workflows. This is a read-only check that does not modify any data. The action queries the CI Lifecycle Management API with the requestor ID and returns a boolean result indicating validity. If the requestor is not found or is inactive, the API typically returns false.",
|
|
215
|
+
inputSchema: z.object({
|
|
216
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
217
|
+
reqId: z.string().describe("The unique identifier of the workflow requestor to validate. This is typically the sys_id of the requestor record in the CI Lifecycle Management system. Example: 'test123456789012345678901234567'"),
|
|
218
|
+
}),
|
|
219
|
+
execute: async ({ servicenowCredentials, reqId }) => {
|
|
220
|
+
return snRequest(servicenowCredentials, `/api/now/cilifecyclemgmt/requestors/${encodeURIComponent(reqId)}/valid`, {
|
|
221
|
+
method: 'GET',
|
|
222
|
+
});
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
export const getCiLifecycleMgmtStatuses = tool({
|
|
226
|
+
description: "Retrieves the current operational status for a Configuration Item (CI) in ServiceNow CMDB using the CI Lifecycle Management API. Use this action when you need to check the current operational state of a specific Configuration Item, such as whether it is running, has a problem, or is non-operational. This is a read-only operation that does not modify any data in ServiceNow.",
|
|
227
|
+
inputSchema: z.object({
|
|
228
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
229
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the Configuration Item (CI) for which to retrieve the current operational status. This is a 32-character hexadecimal string that uniquely identifies the CI record in ServiceNow CMDB. Example: '00a96c0d3790200044e0bfc8bcbe5db4'"),
|
|
230
|
+
}),
|
|
231
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
232
|
+
return snRequest(servicenowCredentials, `/api/now/cilifecyclemgmt/statuses/${encodeURIComponent(sysId)}`, {
|
|
233
|
+
method: 'GET',
|
|
234
|
+
});
|
|
235
|
+
},
|
|
236
|
+
});
|
|
237
|
+
export const getSnCdmSharedLibrariesUploadStatus = tool({
|
|
238
|
+
description: "Retrieves the current status of a shared library upload operation in ServiceNow. Use this action when you need to check whether a library upload has completed successfully, is still in progress, or has failed. The upload_id should be obtained from a previous upload operation response or task. This is a read-only operation that queries the current status without modifying any data.",
|
|
239
|
+
inputSchema: z.object({
|
|
240
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
241
|
+
uploadId: z.string().describe("The unique identifier of the upload operation to retrieve the status for."),
|
|
242
|
+
}),
|
|
243
|
+
execute: async ({ servicenowCredentials, uploadId }) => {
|
|
244
|
+
return snRequest(servicenowCredentials, `/api/sn_cdm/shared_libraries/upload-status/${encodeURIComponent(uploadId)}`, {
|
|
245
|
+
method: 'GET',
|
|
246
|
+
});
|
|
247
|
+
},
|
|
248
|
+
});
|
|
249
|
+
export const getSnCicdAppBatchResults = tool({
|
|
250
|
+
description: "Retrieves the results of a batch application install operation from ServiceNow CI/CD. Use this action when you need to check the status and details of a previously initiated batch application install or deployment operation. The result_id should be obtained from the response of the batch operation that was initiated. This is a read-only operation that does not modify any data in ServiceNow. This action is particularly useful for tracking the progress of multi-app deployments or installations, checking individual item success/failure status, and identifying any errors that occurred during the batch operation.",
|
|
251
|
+
inputSchema: z.object({
|
|
252
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
253
|
+
resultId: z.string().describe("The unique identifier of the batch operation result to retrieve. This is a 32-character hexadecimal string that identifies the batch results record. Obtain this value from the response of a previous batch install operation. Example: 'bb23487e833bf210dd2dc2dfeeaad3c4'"),
|
|
254
|
+
}),
|
|
255
|
+
execute: async ({ servicenowCredentials, resultId }) => {
|
|
256
|
+
return snRequest(servicenowCredentials, `/api/sn_cicd/app/batch/results/${encodeURIComponent(resultId)}`, {
|
|
257
|
+
method: 'GET',
|
|
258
|
+
});
|
|
259
|
+
},
|
|
260
|
+
});
|
|
261
|
+
export const getSnCicdInstanceScanResult = tool({
|
|
262
|
+
description: "Retrieves the current progress and status of a CI/CD instance scan operation in ServiceNow. Use this action when you need to check the status of an ongoing or completed ServiceNow instance scan that validates configurations, detects issues, or checks compliance. The progress_id should be obtained from the response of a previously initiated instance scan operation. This is a read-only operation that queries the current scan status without modifying any data. This action is typically used in a polling loop after initiating an instance scan to determine when the scan completes and to retrieve the scan results once finished.",
|
|
263
|
+
inputSchema: z.object({
|
|
264
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
265
|
+
progressId: z.string().describe("The unique identifier for the instance scan progress operation to retrieve. This ID is typically returned from a previous instance scan initiation response. Example: 'test-progress-id-12345' or a system-generated GUID"),
|
|
266
|
+
}),
|
|
267
|
+
execute: async ({ servicenowCredentials, progressId }) => {
|
|
268
|
+
return snRequest(servicenowCredentials, `/api/sn_cicd/instance_scan/result/${encodeURIComponent(progressId)}`, {
|
|
269
|
+
method: 'GET',
|
|
270
|
+
});
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
export const getSnCicdProgress = tool({
|
|
274
|
+
description: "Retrieves the current progress and status of a CI/CD operation in ServiceNow. Use this action when you need to check the status of an ongoing CI/CD pipeline execution, commit operation, or deployment. The progress_id should be obtained from a previous CI/CD operation response. This is a read-only operation that queries the current status without modifying any data.",
|
|
275
|
+
inputSchema: z.object({
|
|
276
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
277
|
+
progressId: z.string().describe("The unique identifier for the CI/CD progress operation to retrieve. This ID is typically returned from a previous CI/CD operation such as a pipeline execution, commit, or deployment. Example: 'test' or a system-generated GUID"),
|
|
278
|
+
}),
|
|
279
|
+
execute: async ({ servicenowCredentials, progressId }) => {
|
|
280
|
+
return snRequest(servicenowCredentials, `/api/sn_cicd/progress/${encodeURIComponent(progressId)}`, {
|
|
281
|
+
method: 'GET',
|
|
282
|
+
});
|
|
283
|
+
},
|
|
284
|
+
});
|
|
285
|
+
export const getSnCicdTestsuiteResults = tool({
|
|
286
|
+
description: "Retrieves the results of a test suite run from ServiceNow CI/CD based on the result ID. Use this action when you need to check the status, completion percentage, or final outcome of a previously initiated test suite execution in the ServiceNow CI/CD pipeline. The result_id should be obtained from the response of a test suite run initiation action. This is a read-only operation that queries the current state without modifying any data.",
|
|
287
|
+
inputSchema: z.object({
|
|
288
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
289
|
+
resultId: z.string().describe("The unique identifier of the test suite result to retrieve. This ID is returned when a test suite run is initiated."),
|
|
290
|
+
}),
|
|
291
|
+
execute: async ({ servicenowCredentials, resultId }) => {
|
|
292
|
+
return snRequest(servicenowCredentials, `/api/sn_cicd/testsuite/results/${encodeURIComponent(resultId)}`, {
|
|
293
|
+
method: 'GET',
|
|
294
|
+
});
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
export const retrieveSnCicdUpdateSet = tool({
|
|
298
|
+
description: "Retrieves an update set with a given sys_id from the ServiceNow CICD (Continuous Integration/Continuous Delivery) plugin. Use this action when you need to retrieve an update set from the CICD plugin to access its contents, including remote updates and application details. This operation is typically used as a preliminary step before deploying or reviewing update set changes through the CICD pipeline. The action requires the sys_id of an existing update set that is available in the CICD system. After successful retrieval, the update set details including its state, application info, and remote updates will be returned.",
|
|
299
|
+
inputSchema: z.object({
|
|
300
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
301
|
+
updateSetId: z.string().describe("The sys_id of the update set to retrieve from the CICD plugin. This is the unique system identifier assigned to the update set."),
|
|
302
|
+
updateSourceId: z.string().optional().describe("The sys_id of the update source. Either update_source_id or update_source_instance_id is required."),
|
|
303
|
+
updateSourceInstanceId: z.string().optional().describe("The sys_id of the update source instance. Either update_source_id or update_source_instance_id is required."),
|
|
304
|
+
}),
|
|
305
|
+
execute: async ({ servicenowCredentials, updateSetId, updateSourceId, updateSourceInstanceId }) => {
|
|
306
|
+
return snRequest(servicenowCredentials, '/api/sn_cicd/update_set/retrieve', {
|
|
307
|
+
method: 'POST',
|
|
308
|
+
query: {
|
|
309
|
+
update_set_id: updateSetId,
|
|
310
|
+
update_source_id: updateSourceId,
|
|
311
|
+
update_source_instance_id: updateSourceInstanceId,
|
|
312
|
+
},
|
|
313
|
+
});
|
|
314
|
+
},
|
|
315
|
+
});
|
|
316
|
+
//# sourceMappingURL=cicd.js.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared ServiceNow REST client.
|
|
3
|
+
*
|
|
4
|
+
* Auth: injected `servicenowCredentials` is a JSON string:
|
|
5
|
+
* { "baseUrl": "https://myinstance.service-now.com",
|
|
6
|
+
* "username": "admin", "password": "..." } -> HTTP Basic
|
|
7
|
+
* { "baseUrl": "...", "accessToken": "..." } -> Authorization: Bearer (OAuth 2.0)
|
|
8
|
+
* { "baseUrl": "...", "apiKey": "..." } -> x-sn-apikey header (API Key auth)
|
|
9
|
+
*/
|
|
10
|
+
export interface ServiceNowCredentials {
|
|
11
|
+
baseUrl: string;
|
|
12
|
+
username?: string;
|
|
13
|
+
password?: string;
|
|
14
|
+
accessToken?: string;
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const SERVICENOW_CONNECT_ERROR = "ServiceNow credentials are required. Connect ServiceNow with your instance base URL (e.g. https://myinstance.service-now.com) and username/password (or accessToken/apiKey) first.";
|
|
18
|
+
export declare function parseServiceNowCredentials(servicenowCredentials: string): ServiceNowCredentials;
|
|
19
|
+
/**
|
|
20
|
+
* Perform a ServiceNow REST call. Never throws — returns an `{ error }` object on failure.
|
|
21
|
+
*
|
|
22
|
+
* @param path API path relative to the instance, e.g. `/api/now/table/incident`
|
|
23
|
+
*/
|
|
24
|
+
export declare function snRequest(servicenowCredentials: string, path: string, options?: {
|
|
25
|
+
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
26
|
+
query?: Record<string, string | number | boolean | string[] | undefined>;
|
|
27
|
+
body?: unknown;
|
|
28
|
+
/** multipart/form-data payload (attachment uploads). Takes precedence over body. */
|
|
29
|
+
formData?: FormData;
|
|
30
|
+
/** When true, non-JSON responses (file downloads) return metadata instead of bytes. */
|
|
31
|
+
expectBinary?: boolean;
|
|
32
|
+
}): Promise<any>;
|
|
33
|
+
/** Standard sysparm_* query helper: picks only defined values from tool input. */
|
|
34
|
+
export declare function sysparms(params: Record<string, string | number | boolean | undefined>): Record<string, string | number | boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Convert top-level camelCase schema keys to ServiceNow's snake_case wire names
|
|
37
|
+
* (sysparmQuery -> sysparm_query, shortDescription -> short_description) and drop
|
|
38
|
+
* undefined values. Only top level is transformed — nested objects (record fields,
|
|
39
|
+
* catalog variables) are passed through untouched.
|
|
40
|
+
*/
|
|
41
|
+
export declare function toServerKeys(obj: Record<string, unknown>): Record<string, unknown>;
|
|
42
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* Shared ServiceNow REST client.
|
|
4
|
+
*
|
|
5
|
+
* Auth: injected `servicenowCredentials` is a JSON string:
|
|
6
|
+
* { "baseUrl": "https://myinstance.service-now.com",
|
|
7
|
+
* "username": "admin", "password": "..." } -> HTTP Basic
|
|
8
|
+
* { "baseUrl": "...", "accessToken": "..." } -> Authorization: Bearer (OAuth 2.0)
|
|
9
|
+
* { "baseUrl": "...", "apiKey": "..." } -> x-sn-apikey header (API Key auth)
|
|
10
|
+
*/
|
|
11
|
+
export const SERVICENOW_CONNECT_ERROR = 'ServiceNow credentials are required. Connect ServiceNow with your instance base URL (e.g. https://myinstance.service-now.com) and username/password (or accessToken/apiKey) first.';
|
|
12
|
+
export function parseServiceNowCredentials(servicenowCredentials) {
|
|
13
|
+
if (!servicenowCredentials) {
|
|
14
|
+
throw new Error(SERVICENOW_CONNECT_ERROR);
|
|
15
|
+
}
|
|
16
|
+
let parsed;
|
|
17
|
+
try {
|
|
18
|
+
parsed = JSON.parse(servicenowCredentials);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
throw new Error('ServiceNow credentials must be valid JSON like {"baseUrl":"https://myinstance.service-now.com","username":"admin","password":"..."}');
|
|
22
|
+
}
|
|
23
|
+
if (!parsed.baseUrl) {
|
|
24
|
+
throw new Error('ServiceNow credentials must include baseUrl, e.g. {"baseUrl":"https://myinstance.service-now.com"}');
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
baseUrl: parsed.baseUrl.replace(/\/+$/, ''),
|
|
28
|
+
username: parsed.username,
|
|
29
|
+
password: parsed.password,
|
|
30
|
+
accessToken: parsed.accessToken,
|
|
31
|
+
apiKey: parsed.apiKey,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function buildHeaders(credentials) {
|
|
35
|
+
const headers = { Accept: 'application/json' };
|
|
36
|
+
if (credentials.apiKey) {
|
|
37
|
+
headers['x-sn-apikey'] = credentials.apiKey;
|
|
38
|
+
}
|
|
39
|
+
else if (credentials.accessToken) {
|
|
40
|
+
headers.Authorization = `Bearer ${credentials.accessToken}`;
|
|
41
|
+
}
|
|
42
|
+
else if (credentials.username) {
|
|
43
|
+
headers.Authorization = `Basic ${Buffer.from(`${credentials.username}:${credentials.password ?? ''}`, 'utf-8').toString('base64')}`;
|
|
44
|
+
}
|
|
45
|
+
return headers;
|
|
46
|
+
}
|
|
47
|
+
function appendQuery(url, query) {
|
|
48
|
+
if (!query)
|
|
49
|
+
return;
|
|
50
|
+
for (const [key, value] of Object.entries(query)) {
|
|
51
|
+
if (value === undefined || value === null || value === '')
|
|
52
|
+
continue;
|
|
53
|
+
if (Array.isArray(value)) {
|
|
54
|
+
if (value.length === 0)
|
|
55
|
+
continue;
|
|
56
|
+
url.searchParams.set(key, value.join(','));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
url.searchParams.set(key, String(value));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async function parseBody(response) {
|
|
64
|
+
const text = await response.text();
|
|
65
|
+
if (!text)
|
|
66
|
+
return { success: true };
|
|
67
|
+
try {
|
|
68
|
+
return JSON.parse(text);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return { raw: text };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Perform a ServiceNow REST call. Never throws — returns an `{ error }` object on failure.
|
|
76
|
+
*
|
|
77
|
+
* @param path API path relative to the instance, e.g. `/api/now/table/incident`
|
|
78
|
+
*/
|
|
79
|
+
export async function snRequest(servicenowCredentials, path, options) {
|
|
80
|
+
let credentials;
|
|
81
|
+
try {
|
|
82
|
+
credentials = parseServiceNowCredentials(servicenowCredentials);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
return {
|
|
86
|
+
error: SERVICENOW_CONNECT_ERROR,
|
|
87
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const url = new URL(`${credentials.baseUrl}${path.startsWith('/') ? path : `/${path}`}`);
|
|
91
|
+
appendQuery(url, options?.query);
|
|
92
|
+
const headers = buildHeaders(credentials);
|
|
93
|
+
let payload;
|
|
94
|
+
if (options?.formData !== undefined) {
|
|
95
|
+
payload = options.formData;
|
|
96
|
+
}
|
|
97
|
+
else if (options?.body !== undefined) {
|
|
98
|
+
headers['Content-Type'] = 'application/json';
|
|
99
|
+
payload = JSON.stringify(options.body);
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
const response = await fetch(url.toString(), {
|
|
103
|
+
method: options?.method ?? 'GET',
|
|
104
|
+
headers,
|
|
105
|
+
body: payload,
|
|
106
|
+
});
|
|
107
|
+
if (!response.ok) {
|
|
108
|
+
const details = await parseBody(response).catch(() => ({}));
|
|
109
|
+
return {
|
|
110
|
+
error: `ServiceNow API request failed with status ${response.status}`,
|
|
111
|
+
status: response.status,
|
|
112
|
+
details,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
if (response.status === 204) {
|
|
116
|
+
return { success: true };
|
|
117
|
+
}
|
|
118
|
+
const contentType = response.headers.get('content-type') ?? '';
|
|
119
|
+
if (!contentType.includes('json')) {
|
|
120
|
+
if (options?.expectBinary || contentType) {
|
|
121
|
+
const size = response.headers.get('content-length');
|
|
122
|
+
const finalUrl = response.url || url.toString();
|
|
123
|
+
await response.body?.cancel().catch(() => null);
|
|
124
|
+
return {
|
|
125
|
+
contentType,
|
|
126
|
+
sizeBytes: size ? Number(size) : null,
|
|
127
|
+
url: finalUrl,
|
|
128
|
+
note: 'Binary content is not embedded in tool output. Use the url to download the file directly.',
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
const text = await response.text();
|
|
132
|
+
return { raw: text };
|
|
133
|
+
}
|
|
134
|
+
return await parseBody(response);
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
return {
|
|
138
|
+
error: 'Error calling ServiceNow API',
|
|
139
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** Standard sysparm_* query helper: picks only defined values from tool input. */
|
|
144
|
+
export function sysparms(params) {
|
|
145
|
+
const query = {};
|
|
146
|
+
for (const [key, value] of Object.entries(params)) {
|
|
147
|
+
if (value === undefined)
|
|
148
|
+
continue;
|
|
149
|
+
query[key] = value;
|
|
150
|
+
}
|
|
151
|
+
return query;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Convert top-level camelCase schema keys to ServiceNow's snake_case wire names
|
|
155
|
+
* (sysparmQuery -> sysparm_query, shortDescription -> short_description) and drop
|
|
156
|
+
* undefined values. Only top level is transformed — nested objects (record fields,
|
|
157
|
+
* catalog variables) are passed through untouched.
|
|
158
|
+
*/
|
|
159
|
+
export function toServerKeys(obj) {
|
|
160
|
+
const out = {};
|
|
161
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
162
|
+
if (value === undefined)
|
|
163
|
+
continue;
|
|
164
|
+
out[key.replace(/[A-Z]/g, (c) => `_${c.toLowerCase()}`)] = value;
|
|
165
|
+
}
|
|
166
|
+
return out;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=client.js.map
|