@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,609 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { snRequest, toServerKeys } from './client.js';
|
|
5
|
+
export const serviceNowCancelChangeConflictCheck = tool({
|
|
6
|
+
description: "Cancels the running conflict checking process for a specified ServiceNow change request. Use this action when a conflict check is taking too long or needs to be aborted, and you want to stop the process without waiting for it to complete naturally. This is commonly used when automated change management workflows need to be expedited or when conflict checks are blocking other operations. Note: this action is NOT idempotent. Calling it on a change request with no active conflict check running returns a 400 error (\"Conflict for change request could not be cancelled\"), not a success response. If the change request doesn't exist, a 404 error is returned instead.",
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
9
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request whose conflict checking process should be cancelled. This is a 32-character hexadecimal string that uniquely identifies the change request record. Example: '1766f1de47410200e90d87e8dee490f6'. The change request must exist and have an active conflict checking process running."),
|
|
10
|
+
}),
|
|
11
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
12
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}/conflict`, { method: 'DELETE' });
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
export const serviceNowCreateSnChgRestChange = tool({
|
|
16
|
+
description: "Creates a new change request in ServiceNow using the Change Management REST API. Use this action when you need to create and submit a new change request for approval and implementation. The action supports specifying change details such as short description, description, category, type, priority, risk, and impact. After creation, the change request will have a unique sys_id and number that can be used to retrieve, update, or delete it in subsequent operations.",
|
|
17
|
+
inputSchema: z.object({
|
|
18
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
19
|
+
risk: z.string().optional().describe("Risk level of the change request (e.g., 'low', 'medium', 'high', 'critical')."),
|
|
20
|
+
type: z.string().optional().describe("Type of change request (e.g., 'normal', 'standard', 'emergency')."),
|
|
21
|
+
phase: z.string().optional().describe("Current phase of the change request workflow (e.g., 'Planning', 'Assessment', 'Implementation')."),
|
|
22
|
+
impact: z.string().optional().describe("Impact level of the change request (typically 1-3, where 1 is highest)."),
|
|
23
|
+
vendor: z.string().optional().describe("Vendor associated with the change request."),
|
|
24
|
+
cmdbCi: z.string().optional().describe("Sys_id of the Configuration Item associated with the change."),
|
|
25
|
+
company: z.string().optional().describe("Sys_id of the company associated with the change request."),
|
|
26
|
+
category: z.string().optional().describe("Category classification of the change request (e.g., 'Network', 'Hardware', 'Software', 'Communication')."),
|
|
27
|
+
comments: z.string().optional().describe("Comments visible to end users."),
|
|
28
|
+
contract: z.string().optional().describe("Contract reference or identifier associated with the change."),
|
|
29
|
+
location: z.string().optional().describe("Sys_id of the location associated with the change request."),
|
|
30
|
+
priority: z.string().optional().describe("Priority level of the change request (typically 1-5, where 1 is highest)."),
|
|
31
|
+
testPlan: z.string().optional().describe("Plan for testing the change after implementation."),
|
|
32
|
+
department: z.string().optional().describe("Sys_id of the department associated with the change request."),
|
|
33
|
+
workNotes: z.string().optional().describe("Internal work notes (not visible to end users)."),
|
|
34
|
+
assignedTo: z.string().optional().describe("Sys_id of the user to assign the change request to."),
|
|
35
|
+
closeNotes: z.string().optional().describe("Notes to be added when closing the change request."),
|
|
36
|
+
description: z.string().optional().describe("Detailed description explaining what the change involves, its purpose, and expected outcomes."),
|
|
37
|
+
subcategory: z.string().optional().describe("Subcategory classification within the main category."),
|
|
38
|
+
backoutPlan: z.string().optional().describe("Plan for rolling back the change if issues occur."),
|
|
39
|
+
expectedEnd: z.string().optional().describe("Expected end date and time for the change (ISO 8601 format recommended)."),
|
|
40
|
+
requestedBy: z.string().optional().describe("Sys_id of the user who requested the change."),
|
|
41
|
+
justification: z.string().optional().describe("Business justification explaining why this change is needed."),
|
|
42
|
+
expectedStart: z.string().optional().describe("Expected start date and time for the change (ISO 8601 format recommended)."),
|
|
43
|
+
onHoldReason: z.string().optional().describe("Reason for placing the change request on hold."),
|
|
44
|
+
assignmentGroup: z.string().optional().describe("Sys_id of the group to assign the change request to."),
|
|
45
|
+
plannedEndDate: z.string().optional().describe("Planned end date and time for the change (format: YYYY-MM-DD HH:MM:SS or ISO 8601)."),
|
|
46
|
+
serviceOffering: z.string().optional().describe("Sys_id of the service offering related to the change."),
|
|
47
|
+
requestedByDate: z.string().optional().describe("Date by which the change is requested (format: YYYY-MM-DD HH:MM:SS or ISO 8601)."),
|
|
48
|
+
shortDescription: z.string().optional().describe("Brief summary or title of the change request (recommended, displayed in lists)."),
|
|
49
|
+
plannedStartDate: z.string().optional().describe("Planned start date and time for the change (format: YYYY-MM-DD HH:MM:SS or ISO 8601)."),
|
|
50
|
+
implementationPlan: z.string().optional().describe("Detailed plan for implementing the change."),
|
|
51
|
+
}),
|
|
52
|
+
execute: async ({ servicenowCredentials, risk, type, phase, impact, vendor, cmdbCi, company, category, comments, contract, location, priority, testPlan, department, workNotes, assignedTo, closeNotes, description, subcategory, backoutPlan, expectedEnd, requestedBy, justification, expectedStart, onHoldReason, assignmentGroup, plannedEndDate, serviceOffering, requestedByDate, shortDescription, plannedStartDate, implementationPlan }) => {
|
|
53
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change`, { method: 'POST', body: toServerKeys({ risk, type, phase, impact, vendor, cmdbCi, company, category, comments, contract, location, priority, testPlan, department, workNotes, assignedTo, closeNotes, description, subcategory, backoutPlan, expectedEnd, requestedBy, justification, expectedStart, onHoldReason, assignmentGroup, plannedEndDate, serviceOffering, requestedByDate, shortDescription, plannedStartDate, implementationPlan }) });
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
export const serviceNowCreateSnChgRestChangeCi = tool({
|
|
57
|
+
description: "Creates an association between a change request and one or more configuration items (CIs) in ServiceNow. Use this action when you need to link CIs (servers, databases, applications, etc.) to a change request in ServiceNow's Change Management module. This is commonly used to: - Define which infrastructure components are affected by a change - Include specific CIs in the scope of a change request - Track and manage CI relationships for change planning The action requires the change request sys_id and a list of CI sys_ids to associate.",
|
|
58
|
+
inputSchema: z.object({
|
|
59
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
60
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request. This is a 32-character hexadecimal string that uniquely identifies the change request record. Example: '46e9b4afa9fe198101026e122b85f442'"),
|
|
61
|
+
cmdbCiSysIds: z.array(z.any()).describe("List of sys_ids of the Configuration Items (CIs) to associate with the change request. Each sys_id is a 32-character hexadecimal string that uniquely identifies a CI record in the CMDB. Example: ['00a96c0d3790200044e0bfc8bcbe5db4']"),
|
|
62
|
+
associationType: z.enum(["affected", "requested", "requested_and_affected"]).optional().describe("Type of CI association with the change request. 'affected': The CI is affected by the change request. 'requested': The CI is requested to be included in the change request. 'requested_and_affected': The CI is both requested and affected."),
|
|
63
|
+
}),
|
|
64
|
+
execute: async ({ servicenowCredentials, sysId, cmdbCiSysIds, associationType }) => {
|
|
65
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}/ci`, { method: 'POST', body: toServerKeys({ cmdbCiSysIds, associationType }) });
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
export const serviceNowCreateSnChgRestChangeConflict = tool({
|
|
69
|
+
description: "Starts the conflict checking process for a ServiceNow change request, identifying scheduling conflicts with other changes or blackout windows. Use this action when you need to initiate a conflict check for a change request. This is typically used to verify that a change request doesn't conflict with other scheduled changes or fall within a blackout window. This is commonly used before approving or implementing a change to ensure proper scheduling and avoid resource conflicts. Note: This action starts the conflict check process asynchronously. Use the GetChangeConflict action to retrieve the results of the conflict check once it completes.",
|
|
70
|
+
inputSchema: z.object({
|
|
71
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
72
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request to start conflict checking for. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'"),
|
|
73
|
+
}),
|
|
74
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
75
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}/conflict`, { method: 'POST' });
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
export const serviceNowCreateSnChgRestChangeEmergency = tool({
|
|
79
|
+
description: "Creates an emergency change request in ServiceNow using the Change Management API. Use this action when you need to create an expedited change request that requires urgent approval and implementation due to critical business requirements or emergency situations. Emergency changes bypass standard approval workflows to enable rapid response to urgent needs. This action creates a new emergency change request record and returns the generated sys_id and change request number for future reference.",
|
|
80
|
+
inputSchema: z.object({
|
|
81
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
82
|
+
reason: z.string().optional().describe("Reason for the emergency change request explaining the urgency"),
|
|
83
|
+
cmdbCi: z.string().optional().describe("Sys_id of the affected Configuration Item (CI) in CMDB"),
|
|
84
|
+
description: z.string().optional().describe("Full description of the emergency change request providing detailed context"),
|
|
85
|
+
shortDescription: z.string().describe("Short description of the emergency change request"),
|
|
86
|
+
}),
|
|
87
|
+
execute: async ({ servicenowCredentials, reason, cmdbCi, description, shortDescription }) => {
|
|
88
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/emergency`, { method: 'POST', body: toServerKeys({ shortDescription, description, reason, cmdbCi }) });
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
export const serviceNowCreateSnChgRestChangeNormal = tool({
|
|
92
|
+
description: "Creates a normal change request in ServiceNow using the Change Management REST API. Use when you need to create a standard change request that follows the normal approval workflow. Normal changes are subject to standard CAB (Change Advisory Board) review and approval processes before implementation. This action is appropriate for planned changes that can follow the normal change lifecycle. This action creates a new normal change request record and returns the generated sys_id and change request number for future reference and tracking.",
|
|
93
|
+
inputSchema: z.object({
|
|
94
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
95
|
+
cmdbCi: z.string().optional().describe("Sys_id of the affected Configuration Item (CI) in CMDB"),
|
|
96
|
+
description: z.string().optional().describe("Full description of the normal change request providing detailed context"),
|
|
97
|
+
assignmentGroup: z.string().optional().describe("Sys_id of the assignment group responsible for implementing the change"),
|
|
98
|
+
shortDescription: z.string().describe("Short description of the normal change request"),
|
|
99
|
+
}),
|
|
100
|
+
execute: async ({ servicenowCredentials, cmdbCi, description, assignmentGroup, shortDescription }) => {
|
|
101
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/normal`, { method: 'POST', body: toServerKeys({ shortDescription, description, cmdbCi, assignmentGroup }) });
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
export const serviceNowCreateSnChgRestChangeStandard = tool({
|
|
105
|
+
description: "Creates a new standard change request in ServiceNow using a pre-approved standard change template. Use this action when you need to create a standard change request based on a predefined template from the std_change_record_producer table. Standard changes follow a pre-approved workflow and are typically lower-risk changes that follow standardized procedures defined by the organization. The template_id parameter should be the sys_id of an active standard change template. This action creates a new change request record populated with the fields defined in the template.",
|
|
106
|
+
inputSchema: z.object({
|
|
107
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
108
|
+
templateId: z.string().describe("The sys_id of the standard change template to use for creating the change request. This is a 32-character hexadecimal string that uniquely identifies the template in the std_change_record_producer table. Example: '1234567890abcdef1234567890abcdef'"),
|
|
109
|
+
}),
|
|
110
|
+
execute: async ({ servicenowCredentials, templateId }) => {
|
|
111
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/standard/${encodeURIComponent(templateId)}`, { method: 'POST' });
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
export const serviceNowCreateSnChgRestChangeTask = tool({
|
|
115
|
+
description: "Creates a new task for a ServiceNow change request using the Change Management REST API. Use this action when you need to add a new task or subtask to an existing change request, such as breaking down a change into smaller work items, assigning specific work to team members, or tracking additional work needed as part of the change process. The task will be automatically linked to the specified change request. After creation, use the returned sys_id to update or retrieve the task as needed.",
|
|
116
|
+
inputSchema: z.object({
|
|
117
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
118
|
+
state: z.string().optional().describe("Initial state of the task. Common values: -5=Cancelled, -4=On hold, -3=Rejected, -2=Pending, -1=Draft, 1=Open, 2=Work In Progress, 3=Pending, 4=Complete. If not specified, defaults to the task type's default state."),
|
|
119
|
+
category: z.string().optional().describe("Category or type of the task"),
|
|
120
|
+
comments: z.string().optional().describe("Public comments on the task (visible to end users)"),
|
|
121
|
+
priority: z.string().optional().describe("Priority level of the task (e.g., '1' for critical, '2' for high, '3' for moderate, '4' for low, '5' for planning)"),
|
|
122
|
+
workNotes: z.string().optional().describe("Internal work notes for the task (visible to IT staff only)"),
|
|
123
|
+
assignedTo: z.string().optional().describe("sys_id of the user assigned to the task"),
|
|
124
|
+
description: z.string().optional().describe("Full description of the task"),
|
|
125
|
+
expectedEnd: z.string().optional().describe("Expected end date and time of the task (ISO 8601 format)"),
|
|
126
|
+
changeSysId: z.string().describe("The unique system ID (sys_id) of the change request to create a task for. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'. The change request must exist, or a 404 error will be returned."),
|
|
127
|
+
expectedStart: z.string().optional().describe("Expected start date and time of the task (ISO 8601 format)"),
|
|
128
|
+
onHoldReason: z.string().optional().describe("Reason the task is on hold (use with state=-4)"),
|
|
129
|
+
assignmentGroup: z.string().optional().describe("sys_id of the group assigned to the task"),
|
|
130
|
+
shortDescription: z.string().describe("Brief summary or title of the task"),
|
|
131
|
+
}),
|
|
132
|
+
execute: async ({ servicenowCredentials, state, category, comments, priority, workNotes, assignedTo, description, expectedEnd, changeSysId, expectedStart, onHoldReason, assignmentGroup, shortDescription }) => {
|
|
133
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(changeSysId)}/task`, { method: 'POST', body: toServerKeys({ shortDescription, description, state, category, comments, priority, workNotes, assignedTo, expectedStart, expectedEnd, onHoldReason, assignmentGroup }) });
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
export const serviceNowDeleteChangeTask = tool({
|
|
137
|
+
description: "Permanently deletes a specific task from a ServiceNow change request using its sys_id. This is a destructive, irreversible operation. The task will be permanently removed from the change request and cannot be recovered once deleted. Use this action with caution. Requires the user to have appropriate permissions to delete tasks from change requests. If the change request or task doesn't exist, or if the user lacks permissions, an error will be returned. Use this action when you need to clean up obsolete or incorrect tasks from change requests.",
|
|
138
|
+
inputSchema: z.object({
|
|
139
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
140
|
+
taskSysId: z.string().describe("The unique system ID (sys_id) of the task to delete from the change request. This is a 32-character hexadecimal string that uniquely identifies the task. Example: 'd262847a833bf210dd2dc2dfeeaad353'. The task must exist within the specified change request, or a 404 error will be returned."),
|
|
141
|
+
changeSysId: z.string().describe("The unique system ID (sys_id) of the change request that contains the task. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'. The change request must exist, or a 404 error will be returned."),
|
|
142
|
+
}),
|
|
143
|
+
execute: async ({ servicenowCredentials, taskSysId, changeSysId }) => {
|
|
144
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(changeSysId)}/task/${encodeURIComponent(taskSysId)}`, { method: 'DELETE' });
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
export const serviceNowDeleteEmergencyChangeRequest = tool({
|
|
148
|
+
description: "Permanently deletes a specific emergency change request from ServiceNow using its sys_id. This is a destructive operation that cannot be undone. The emergency change request will be permanently removed from the system. Use this action when an emergency change request is no longer needed or was created in error. Use this action when you need to remove an emergency change request from ServiceNow. This action is irreversible — the emergency change request cannot be recovered once deleted. Requires the user to have delete permissions for change requests. If the record doesn't exist, is not an emergency change request, or the user lacks permissions, an error will be returned.",
|
|
149
|
+
inputSchema: z.object({
|
|
150
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
151
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the emergency change request to delete. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '45b188f6833bf210dd2dc2dfeeaad324'. The record must exist and be an emergency change request, or a 404 error will be returned."),
|
|
152
|
+
}),
|
|
153
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
154
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/emergency/${encodeURIComponent(sysId)}`, { method: 'DELETE' });
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
export const serviceNowDeleteSnChgRestChange = tool({
|
|
158
|
+
description: "Permanently deletes a specific change request using its sys_id via the Change Management REST API. Use this action when you need to remove a change request from ServiceNow that is no longer needed. This action is irreversible — the change request cannot be recovered once deleted. Requires the user to have appropriate permissions for the change management module.",
|
|
159
|
+
inputSchema: z.object({
|
|
160
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
161
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request to delete. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '1766f1de47410200e90d87e8dee490f6'. The change request must exist, or a 404 error will be returned."),
|
|
162
|
+
}),
|
|
163
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
164
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}`, { method: 'DELETE' });
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
export const serviceNowDeleteSnChgRestChangeNormal = tool({
|
|
168
|
+
description: "Permanently deletes a normal change request identified by its sys_id using the ServiceNow Change Management REST API. This is a destructive operation that cannot be undone. The normal change request will be permanently removed from the system. Use when you need to remove an unwanted or obsolete normal change request from ServiceNow. This action is irreversible — the change request cannot be recovered once deleted.",
|
|
169
|
+
inputSchema: z.object({
|
|
170
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
171
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the normal change request to delete. This is a 32-character hexadecimal string that uniquely identifies the change request record. Example: '2071a5d037310200f212cc028e41f107'. The change request must exist, or a 404 error will be returned."),
|
|
172
|
+
}),
|
|
173
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
174
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/normal/${encodeURIComponent(sysId)}`, { method: 'DELETE' });
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
export const serviceNowDeleteSnChgRestChangeStandard = tool({
|
|
178
|
+
description: "Permanently deletes a standard change request from ServiceNow using its sys_id. Use this action when you need to remove a specific standard change request that is no longer needed. This is a destructive operation that cannot be undone — the standard change request cannot be recovered once deleted. Requires appropriate permissions to delete change requests in ServiceNow.",
|
|
179
|
+
inputSchema: z.object({
|
|
180
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
181
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the standard change request to delete. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '2de5121347c12200e0ef563dbb9a71eb'. The change request must exist, or a 404 error will be returned."),
|
|
182
|
+
}),
|
|
183
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
184
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/standard/${encodeURIComponent(sysId)}`, { method: 'DELETE' });
|
|
185
|
+
},
|
|
186
|
+
});
|
|
187
|
+
export const serviceNowGetChangeCiSchedule = tool({
|
|
188
|
+
description: "Retrieves available time slots for scheduling changes against a specific Configuration Item (CI). Use this action when you need to find available change windows for a given CI in ServiceNow's Change Management module. The endpoint queries the CMDB with the specified CI sys_id and returns available schedule slots. Optionally filter by duration_in_seconds to find slots that can accommodate a specific change window length.",
|
|
189
|
+
inputSchema: z.object({
|
|
190
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
191
|
+
cmdbCiSysId: z.string().describe("The sys_id of the Configuration Item (CI) in the CMDB for which to retrieve available change schedule time slots. This is a 32-character unique identifier for the CI record."),
|
|
192
|
+
durationInSeconds: z.number().describe("The requested duration of the change window in seconds. The API returns only schedule slots that can accommodate a change of this duration. For example, 3600 seconds = 1 hour, 7200 seconds = 2 hours."),
|
|
193
|
+
}),
|
|
194
|
+
execute: async ({ servicenowCredentials, cmdbCiSysId, durationInSeconds }) => {
|
|
195
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/ci/${encodeURIComponent(cmdbCiSysId)}/schedule`, { method: 'GET', query: { duration_in_seconds: durationInSeconds } });
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
export const serviceNowGetChangeConflict = tool({
|
|
199
|
+
description: "Retrieves the conflict status for a ServiceNow change request, identifying scheduling conflicts with other changes or blackout windows. Use this action when you need to check if a change request has any scheduling conflicts with other changes or if it falls within a blackout window. This is typically used before approving or implementing a change to ensure proper scheduling and avoid resource conflicts.",
|
|
200
|
+
inputSchema: z.object({
|
|
201
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
202
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request to retrieve conflict status for. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'"),
|
|
203
|
+
}),
|
|
204
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
205
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}/conflict`, { method: 'GET' });
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
export const serviceNowGetChangeNextstates = tool({
|
|
209
|
+
description: "Retrieves a list of available next states for a specified change request based on the current state and workflow. Use this action when you need to determine what state transitions are valid for a particular change request, such as when deciding which state to move a change to or when validating workflow transitions.",
|
|
210
|
+
inputSchema: z.object({
|
|
211
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
212
|
+
changeSysId: z.string().describe("The sys_id of the change request for which to retrieve available next states."),
|
|
213
|
+
}),
|
|
214
|
+
execute: async ({ servicenowCredentials, changeSysId }) => {
|
|
215
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(changeSysId)}/nextstates`, { method: 'GET' });
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
export const serviceNowGetChangeRequestCi = tool({
|
|
219
|
+
description: "Retrieves configuration items (CIs) associated with a specific change request in ServiceNow. Use this action when you need to fetch the list of configuration items (servers, databases, applications, etc.) that are linked to a change request. This is commonly used to: - Review affected infrastructure before approving a change - Understand the scope of impact for a change request - Verify that all required CIs are included in the change The association_type parameter determines which CIs to retrieve based on their relationship to the change request.",
|
|
220
|
+
inputSchema: z.object({
|
|
221
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
222
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request. This is a 32-character hexadecimal string that uniquely identifies the change request record. Example: '46e9b4afa9fe198101026e122b85f442'"),
|
|
223
|
+
associationType: z.enum(["affected", "requested", "requested_and_affected"]).optional().describe("Type of CI association to retrieve for the change request. 'affected': Retrieves CIs that are affected by the change request. 'requested': Retrieves CIs that are requested to be included in the change request. 'requested_and_affected': Retrieves both requested and affected CIs."),
|
|
224
|
+
}),
|
|
225
|
+
execute: async ({ servicenowCredentials, sysId, associationType }) => {
|
|
226
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}/ci`, { method: 'GET', query: { association_type: associationType } });
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
export const serviceNowGetChangeSchedule = tool({
|
|
230
|
+
description: "Retrieves available time slots for scheduling a ServiceNow change request. Use this action when you need to find available scheduling windows for a change request that has been created but not yet scheduled. This helps identify appropriate times to schedule the change work based on the configured calendar and availability. The response includes schedule windows with start/end times, duration, and availability status. Note: The change request must exist and the user must have permission to view the schedule.",
|
|
231
|
+
inputSchema: z.object({
|
|
232
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
233
|
+
changeSysId: z.string().describe("The unique system ID (sys_id) of the change request. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'. You can obtain this from the sys_id field of a change request record."),
|
|
234
|
+
}),
|
|
235
|
+
execute: async ({ servicenowCredentials, changeSysId }) => {
|
|
236
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(changeSysId)}/schedule`, { method: 'GET' });
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
export const serviceNowGetSnChgRestChangeById = tool({
|
|
240
|
+
description: "Retrieves a specific change request from ServiceNow using its sys_id. Use this action when you need to fetch detailed information about a particular change request, including its state, type, and description. This is a read-only operation that does not modify any data in ServiceNow.",
|
|
241
|
+
inputSchema: z.object({
|
|
242
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
243
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request to retrieve. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '8866498dc37a3610eb10d8477d013161'"),
|
|
244
|
+
}),
|
|
245
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
246
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}`, { method: 'GET' });
|
|
247
|
+
},
|
|
248
|
+
});
|
|
249
|
+
export const serviceNowGetSnChgRestChangeEmergencyById = tool({
|
|
250
|
+
description: "Retrieves a specific emergency change request from ServiceNow using its sys_id. Use this action when you need to fetch detailed information about a particular emergency change request, including its state, risk level, priority, implementation details, approval status, and schedule. This is a read-only operation that does not modify any data in ServiceNow.",
|
|
251
|
+
inputSchema: z.object({
|
|
252
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
253
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the emergency change request to retrieve. This is a 32-character hexadecimal string that uniquely identifies the emergency change request. Example: 'd53e72ec73d423002728660c4cf6a78d'"),
|
|
254
|
+
}),
|
|
255
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
256
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/emergency/${encodeURIComponent(sysId)}`, { method: 'GET' });
|
|
257
|
+
},
|
|
258
|
+
});
|
|
259
|
+
export const serviceNowGetSnChgRestChangeEmergencyList = tool({
|
|
260
|
+
description: "Retrieves one or more emergency change requests from ServiceNow using the Change Management API. Use this action when you need to query emergency change requests. Emergency changes are a type of change request that requires expedited approval and implementation due to urgent business needs. Supports filtering via sysparm_query, field selection, pagination, and display value options. Common use cases: Retrieving active emergency changes for approval, listing recently submitted emergency changes, monitoring emergency change status, or finding emergency changes by assignee.",
|
|
261
|
+
inputSchema: z.object({
|
|
262
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
263
|
+
sysparmView: z.string().optional().describe("UI view for which to render the data. Determines the fields returned in the response. Valid values: desktop, mobile, both."),
|
|
264
|
+
sysparmLimit: z.number().optional().describe("Maximum number of emergency change records to return. For requests that exceed this number of records, use pagination via sysparm_offset. Note: Unusually large sysparm_limit values can impact system performance."),
|
|
265
|
+
sysparmQuery: z.string().optional().describe("Encoded query used to filter the result set. Syntax: sysparm_query=<col_name><operator><value>. Supports operators: =, !=, ^ (AND), ^OR, LIKE, STARTSWITH, ENDSWITH. Example: sysparm_query=state!=4^priority=1 Can also use ORDERBY/ORDERBYDESC for sorting. Example: sysparm_query=ORDERBYDESCopened_at"),
|
|
266
|
+
sysparmFields: z.string().optional().describe("Comma-separated list of fields to return in the response (e.g., 'number,short_description,state,priority'). Invalid fields are ignored. If not specified, all fields are returned."),
|
|
267
|
+
sysparmOffset: z.number().optional().describe("Starting record index for which to begin retrieving records. Use this value to paginate record retrieval. For example, if sysparm_limit is 25, use sysparm_offset=25 to get the next 25 records."),
|
|
268
|
+
sysparmDisplayValue: z.enum(["true", "false", "all"]).optional().describe("Determines the type of data returned in the response. 'false': Returns actual database values (sys_ids for references, numeric values for choices). 'true': Returns display values (names for references, text labels for choices). 'all': Returns both display and actual values."),
|
|
269
|
+
sysparmExcludeReferenceLink: z.boolean().optional().describe("Flag that indicates whether to exclude Table API links for reference fields."),
|
|
270
|
+
}),
|
|
271
|
+
execute: async ({ servicenowCredentials, sysparmView, sysparmLimit, sysparmQuery, sysparmFields, sysparmOffset, sysparmDisplayValue, sysparmExcludeReferenceLink }) => {
|
|
272
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/emergency`, { method: 'GET', query: { sysparm_view: sysparmView, sysparm_limit: sysparmLimit, sysparm_query: sysparmQuery, sysparm_fields: sysparmFields, sysparm_offset: sysparmOffset, sysparm_display_value: sysparmDisplayValue, sysparm_exclude_reference_link: sysparmExcludeReferenceLink } });
|
|
273
|
+
},
|
|
274
|
+
});
|
|
275
|
+
export const serviceNowGetSnChgRestChangeList = tool({
|
|
276
|
+
description: "Retrieves one or more change requests from ServiceNow based on specified filter criteria. Use when you need to query change management records, monitor pending changes, find changes by state or type, or list all changes assigned to a specific user or group. Supports filtering via encoded queries, pagination via limit/offset, and returns rich change request details including state, priority, dates, assignments, and approvals.",
|
|
277
|
+
inputSchema: z.object({
|
|
278
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
279
|
+
sysparmLimit: z.number().optional().describe("Maximum number of change request records to return. Use sysparm_offset for pagination to retrieve additional records. Note: Unusually large values can impact system performance."),
|
|
280
|
+
sysparmQuery: z.string().optional().describe("Encoded query to filter change requests. Syntax: <col_name><operator><value>. Supports operators: = (exact match), != (not equal), ^ (AND), ^OR (OR), LIKE (contains string), STARTSWITH, ENDSWITH. Example: sysparm_query=state!=7^active=true You can also use ORDERBY and ORDERBYDESC to sort results, e.g., ORDERBYDESCopened_at to sort by most recently opened."),
|
|
281
|
+
sysparmOffset: z.number().optional().describe("Starting record index for pagination. Use sysparm_offset + sysparm_limit to page through large result sets. For example, first call with offset=0, next call with offset=sysparm_limit."),
|
|
282
|
+
}),
|
|
283
|
+
execute: async ({ servicenowCredentials, sysparmLimit, sysparmQuery, sysparmOffset }) => {
|
|
284
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change`, { method: 'GET', query: { sysparm_limit: sysparmLimit, sysparm_query: sysparmQuery, sysparm_offset: sysparmOffset } });
|
|
285
|
+
},
|
|
286
|
+
});
|
|
287
|
+
export const serviceNowGetSnChgRestChangeModelById = tool({
|
|
288
|
+
description: "Retrieves a specific change model from ServiceNow using its sys_id. Use this action when you need to fetch detailed information about a particular change model, including its name, description, type, category, workflow, and other configuration settings. This is a read-only operation that does not modify any data in ServiceNow.",
|
|
289
|
+
inputSchema: z.object({
|
|
290
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
291
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change model to retrieve. This is a 32-character hexadecimal string that uniquely identifies the change model. Example: '7840d2515323101034d1ddeeff7b12a6'"),
|
|
292
|
+
}),
|
|
293
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
294
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/model/${encodeURIComponent(sysId)}`, { method: 'GET' });
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
export const serviceNowGetSnChgRestChangeModelList = tool({
|
|
298
|
+
description: "Retrieves one or more change models from ServiceNow's Change Management API. Use this action when you need to fetch change model definitions that define the structure and workflow for change requests. Change models determine the type of change (normal, standard, emergency), associated workflows, and other configuration. This is a read-only operation that does not modify any data in ServiceNow. You can retrieve a specific change model by sys_id, or list all change models with optional filtering and pagination.",
|
|
299
|
+
inputSchema: z.object({
|
|
300
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
301
|
+
sysId: z.string().optional().describe("The unique system ID (sys_id) of a specific change model to retrieve. If specified, returns only the change model with this sys_id. If not specified, returns all change models (with optional filtering). Example: '8766498dc37a3610eb10d8477d013161'"),
|
|
302
|
+
sysparmLimit: z.number().optional().describe("Maximum number of change models to return in the response. Defaults to 25 if not specified. Use this with sysparm_offset for pagination. Note: Unusually large limit values can impact system performance."),
|
|
303
|
+
sysparmQuery: z.string().optional().describe("Encoded query string to filter change models. Uses ServiceNow query syntax. Example: 'active=true' or 'nameLIKEstandard'. Supports operators: =, !=, ^ (AND), ^OR, LIKE, STARTSWITH, ENDSWITH. Example: 'active=true^nameLIKEemergency'"),
|
|
304
|
+
sysparmOffset: z.number().optional().describe("Starting record index for pagination. Use this to paginate through results. For example, set sysparm_offset to 25 to retrieve the second page of results when combined with sysparm_limit=25."),
|
|
305
|
+
}),
|
|
306
|
+
execute: async ({ servicenowCredentials, sysId, sysparmLimit, sysparmQuery, sysparmOffset }) => {
|
|
307
|
+
if (sysId !== undefined) {
|
|
308
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/model/${encodeURIComponent(sysId)}`, { method: 'GET' });
|
|
309
|
+
}
|
|
310
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/model`, { method: 'GET', query: { sysparm_limit: sysparmLimit, sysparm_query: sysparmQuery, sysparm_offset: sysparmOffset } });
|
|
311
|
+
},
|
|
312
|
+
});
|
|
313
|
+
export const serviceNowGetSnChgRestChangeNormalById = tool({
|
|
314
|
+
description: "Retrieves a specific normal change request from ServiceNow using its sys_id via the Change Management REST API. Use when you need to fetch detailed information about a particular normal change request, including its state, type, priority, dates, assignments, and approvals. This is a read-only operation that does not modify any data in ServiceNow. The action specifically targets change requests of type 'normal' — if the provided sys_id does not correspond to a normal change request, a 404 error will be returned.",
|
|
315
|
+
inputSchema: z.object({
|
|
316
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
317
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the normal change request to retrieve. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: 'a9e9c33dc61122760072455df62663d2'. The change request must exist and be of type 'normal', or a 404 error will be returned."),
|
|
318
|
+
}),
|
|
319
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
320
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/normal/${encodeURIComponent(sysId)}`, { method: 'GET' });
|
|
321
|
+
},
|
|
322
|
+
});
|
|
323
|
+
export const serviceNowGetSnChgRestChangeNormalList = tool({
|
|
324
|
+
description: "Retrieves one or more normal change requests from ServiceNow's Change Management API. Use this action when you need to query normal change management records, monitor pending normal changes, find normal changes by state or type, or list all normal changes assigned to a specific user or group. Supports filtering via encoded queries, pagination via limit/offset, and returns rich normal change request details including state, priority, dates, assignments, and approvals. This is a read-only operation that does not modify any data in ServiceNow.",
|
|
325
|
+
inputSchema: z.object({
|
|
326
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
327
|
+
sysparmLimit: z.number().optional().describe("Maximum number of normal change request records to return. Use sysparm_offset for pagination to retrieve additional records. Note: Unusually large values can impact system performance."),
|
|
328
|
+
sysparmQuery: z.string().optional().describe("Encoded query to filter normal change requests. Syntax: <col_name><operator><value>. Supports operators: = (exact match), != (not equal), ^ (AND), ^OR (OR), LIKE (contains string), STARTSWITH, ENDSWITH. Example: sysparm_query=state!=7^active=true You can also use ORDERBY and ORDERBYDESC to sort results, e.g., ORDERBYDESCopened_at to sort by most recently opened."),
|
|
329
|
+
sysparmOffset: z.number().optional().describe("Starting record index for pagination. Use sysparm_offset + sysparm_limit to page through large result sets. For example, first call with offset=0, next call with offset=sysparm_limit."),
|
|
330
|
+
sysparmDisplayValue: z.enum(["true", "false", "all"]).optional().describe("Determines the type of data returned in the response. 'false': Returns actual database values (sys_ids for references, numeric values for choices). 'true': Returns display values (names for references, text labels for choices). 'all': Returns both display and actual values."),
|
|
331
|
+
}),
|
|
332
|
+
execute: async ({ servicenowCredentials, sysparmLimit, sysparmQuery, sysparmOffset, sysparmDisplayValue }) => {
|
|
333
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/normal`, { method: 'GET', query: { sysparm_limit: sysparmLimit, sysparm_query: sysparmQuery, sysparm_offset: sysparmOffset, sysparm_display_value: sysparmDisplayValue } });
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
export const serviceNowGetSnChgRestChangeStandardById = tool({
|
|
337
|
+
description: "Retrieves a specific standard change request from ServiceNow using its sys_id. Use this action when you need to fetch detailed information about a particular standard change request, including its state, phase, description, assignments, and schedule. This is a read-only operation that does not modify any data in ServiceNow. Standard changes are pre-approved changes following a standardized process defined by the organization.",
|
|
338
|
+
inputSchema: z.object({
|
|
339
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
340
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the standard change request to retrieve. This is a 32-character hexadecimal string that uniquely identifies the standard change request. Example: 'eaf5d21347c12200e0ef563dbb9a7109'"),
|
|
341
|
+
}),
|
|
342
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
343
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/standard/${encodeURIComponent(sysId)}`, { method: 'GET' });
|
|
344
|
+
},
|
|
345
|
+
});
|
|
346
|
+
export const serviceNowGetSnChgRestChangeStandardList = tool({
|
|
347
|
+
description: "Retrieves one or more standard change requests from ServiceNow using the Change Management API. Use this action when you need to query standard change requests. Standard changes are a type of change request that follows a pre-approved template and workflow, typically for routine or recurring changes that have been assessed and authorized in advance. Supports filtering via sysparm_query, field selection, pagination, and display value options. Common use cases: Retrieving active standard changes for approval, listing recently submitted standard changes, monitoring standard change status, or finding standard changes by assignee.",
|
|
348
|
+
inputSchema: z.object({
|
|
349
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
350
|
+
sysparmView: z.string().optional().describe("UI view for which to render the data. Determines the fields returned in the response. Valid values: desktop, mobile, both."),
|
|
351
|
+
sysparmLimit: z.number().optional().describe("Maximum number of standard change records to return. For requests that exceed this number of records, use pagination via sysparm_offset. Note: Unusually large sysparm_limit values can impact system performance."),
|
|
352
|
+
sysparmQuery: z.string().optional().describe("Encoded query used to filter the result set. Syntax: sysparm_query=<col_name><operator><value>. Supports operators: =, !=, ^ (AND), ^OR, LIKE, STARTSWITH, ENDSWITH. Example: sysparm_query=state!=4^priority=1 Can also use ORDERBY/ORDERBYDESC for sorting. Example: sysparm_query=ORDERBYDESCopened_at"),
|
|
353
|
+
sysparmFields: z.string().optional().describe("Comma-separated list of fields to return in the response (e.g., 'number,short_description,state,priority'). Invalid fields are ignored. If not specified, all fields are returned."),
|
|
354
|
+
sysparmOffset: z.number().optional().describe("Starting record index for which to begin retrieving records. Use this value to paginate record retrieval. For example, if sysparm_limit is 25, use sysparm_offset=25 to get the next 25 records."),
|
|
355
|
+
sysparmDisplayValue: z.enum(["true", "false", "all"]).optional().describe("Determines the type of data returned in the response. 'false': Returns actual database values (sys_ids for references, numeric values for choices). 'true': Returns display values (names for references, text labels for choices). 'all': Returns both display and actual values."),
|
|
356
|
+
sysparmExcludeReferenceLink: z.boolean().optional().describe("Flag that indicates whether to exclude Table API links for reference fields."),
|
|
357
|
+
}),
|
|
358
|
+
execute: async ({ servicenowCredentials, sysparmView, sysparmLimit, sysparmQuery, sysparmFields, sysparmOffset, sysparmDisplayValue, sysparmExcludeReferenceLink }) => {
|
|
359
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/standard`, { method: 'GET', query: { sysparm_view: sysparmView, sysparm_limit: sysparmLimit, sysparm_query: sysparmQuery, sysparm_fields: sysparmFields, sysparm_offset: sysparmOffset, sysparm_display_value: sysparmDisplayValue, sysparm_exclude_reference_link: sysparmExcludeReferenceLink } });
|
|
360
|
+
},
|
|
361
|
+
});
|
|
362
|
+
export const serviceNowGetSnChgRestChangeStandardTemplateById = tool({
|
|
363
|
+
description: "Retrieves a specific standard change template from ServiceNow using its sys_id. Use this action when you need to fetch detailed information about a particular standard change template, including its name, description, category, implementation plan, test plan, risk assessment, and other predefined fields. This is a read-only operation that does not modify any data in ServiceNow. This action complements the list action — use the list action to discover template sys_ids, then use this action to retrieve full details of a specific template by its sys_id.",
|
|
364
|
+
inputSchema: z.object({
|
|
365
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
366
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the standard change template to retrieve. This is a 32-character hexadecimal string that uniquely identifies the template. Example: '508e02ec47410200e90d87e8dee49058'"),
|
|
367
|
+
}),
|
|
368
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
369
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/standard/template/${encodeURIComponent(sysId)}`, { method: 'GET' });
|
|
370
|
+
},
|
|
371
|
+
});
|
|
372
|
+
export const serviceNowGetSnChgRestChangeStandardTemplateList = tool({
|
|
373
|
+
description: "Retrieves one or more standard change templates from ServiceNow's Change Management API. Use this action when you need to query standard change templates that provide pre-defined structures for creating standard change requests. Standard change templates help ensure consistency in change implementation by providing predefined fields such as category, implementation plan, test plan, and risk assessment. This is a read-only operation that does not modify any data in ServiceNow. Common use cases: Listing available templates for a change request, filtering templates by category or active status, or retrieving templates for display in a user interface.",
|
|
374
|
+
inputSchema: z.object({
|
|
375
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
376
|
+
sysparmLimit: z.number().optional().describe("Maximum number of standard change template records to return. Defaults to 25 if not specified. Use sysparm_offset for pagination to retrieve additional records. Note: Unusually large limit values can impact system performance."),
|
|
377
|
+
sysparmQuery: z.string().optional().describe("Encoded query to filter standard change templates. Uses ServiceNow query syntax to filter results. Example: 'active=true' to only return active templates, or 'category=software' to filter by category. Supports operators: = (exact match), != (not equal), ^ (AND), ^OR (OR), LIKE (contains string), STARTSWITH, ENDSWITH. Can also use ORDERBY/ORDERBYDESC for sorting, e.g., ORDERBYDESCname."),
|
|
378
|
+
sysparmOffset: z.number().optional().describe("Starting record index for pagination. Use sysparm_offset + sysparm_limit to page through large result sets. For example, first call with offset=0, next call with offset=sysparm_limit."),
|
|
379
|
+
}),
|
|
380
|
+
execute: async ({ servicenowCredentials, sysparmLimit, sysparmQuery, sysparmOffset }) => {
|
|
381
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/standard/template`, { method: 'GET', query: { sysparm_limit: sysparmLimit, sysparm_query: sysparmQuery, sysparm_offset: sysparmOffset } });
|
|
382
|
+
},
|
|
383
|
+
});
|
|
384
|
+
export const serviceNowGetSnChgRestChangeTask = tool({
|
|
385
|
+
description: "Retrieves one or more tasks associated with a specific ServiceNow change request. Use this action when you need to fetch the tasks or subtasks related to a change request, such as to view task status, track progress, or list all work items assigned to a change. This is a read-only operation that does not modify any data in ServiceNow. The endpoint returns tasks that are linked to the change request via the task_for field or as child records in the change management workflow.",
|
|
386
|
+
inputSchema: z.object({
|
|
387
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
388
|
+
changeSysId: z.string().describe("The unique system ID (sys_id) of the change request whose tasks to retrieve. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'. The change request must exist, or a 404 error will be returned."),
|
|
389
|
+
sysparmLimit: z.number().optional().describe("Maximum number of task records to return. Use sysparm_offset for pagination to retrieve additional records. Note: Unusually large values can impact system performance."),
|
|
390
|
+
sysparmFields: z.string().optional().describe("Comma-separated list of fields to return in the response. Invalid fields are ignored. If not specified, all fields are returned. Example: 'number,short_description,state,assigned_to'"),
|
|
391
|
+
sysparmOffset: z.number().optional().describe("Starting record index for pagination. Use sysparm_offset + sysparm_limit to page through large result sets. For example, first call with offset=0, next call with offset=sysparm_limit."),
|
|
392
|
+
sysparmDisplayValue: z.string().optional().describe("Determines the type of data returned. 'true': Returns display values (names for references, text labels for choices). 'false': Returns actual database values (sys_ids for references, numeric values for choices). 'all': Returns both display and actual values."),
|
|
393
|
+
}),
|
|
394
|
+
execute: async ({ servicenowCredentials, changeSysId, sysparmLimit, sysparmFields, sysparmOffset, sysparmDisplayValue }) => {
|
|
395
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(changeSysId)}/task`, { method: 'GET', query: { sysparm_limit: sysparmLimit, sysparm_fields: sysparmFields, sysparm_offset: sysparmOffset, sysparm_display_value: sysparmDisplayValue } });
|
|
396
|
+
},
|
|
397
|
+
});
|
|
398
|
+
export const serviceNowRefreshImpactedServices = tool({
|
|
399
|
+
description: "Refreshes and repopulates the impacted services/configuration items for a change request in ServiceNow using the Change Management REST API. Use this action when you need to recalculate and update the list of impacted services or configuration items for a change request. This is commonly used when: - The change request's scope has changed - Configuration items need to be re-evaluated for impact - A new CI is added to the change and its impact needs to be computed Note: This action triggers a refresh of the impacted services based on the change request's current configuration items and may modify the associated services.",
|
|
400
|
+
inputSchema: z.object({
|
|
401
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
402
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request for which to refresh impacted services. This is a 32-character hexadecimal string that uniquely identifies the change request record. Example: '46e9b4afa9fe198101026e122b85f442'"),
|
|
403
|
+
}),
|
|
404
|
+
execute: async ({ servicenowCredentials, sysId }) => {
|
|
405
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}/refresh_impacted_services`, { method: 'POST' });
|
|
406
|
+
},
|
|
407
|
+
});
|
|
408
|
+
export const serviceNowScheduleChangeFirstAvailable = tool({
|
|
409
|
+
description: "Updates the planned start and end times of a ServiceNow change request to the first available schedule slot. Use this action when you need to automatically schedule a change request at the earliest available time slot based on the configured calendar and availability. This is useful for finding optimal scheduling windows when the specific timing is less important than scheduling as soon as possible. This action sends a PATCH request to the Change Management API endpoint, which automatically calculates and assigns the first available time slot for the change request. Note: The change request must exist and be in a schedulable state (typically 'Open' or 'Approved'). The user must have appropriate permissions to modify the change request schedule.",
|
|
410
|
+
inputSchema: z.object({
|
|
411
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
412
|
+
changeSysId: z.string().describe("The unique system ID (sys_id) of the change request to schedule. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'. The change request must exist and be in a schedulable state."),
|
|
413
|
+
durationInSeconds: z.number().optional().describe("The expected duration of the change request in seconds. This is used to find the first available time slot that can accommodate the change. Default is 3600 seconds (1 hour). Minimum recommended is 300 seconds (5 minutes)."),
|
|
414
|
+
}),
|
|
415
|
+
execute: async ({ servicenowCredentials, changeSysId, durationInSeconds }) => {
|
|
416
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(changeSysId)}/schedule/first_available`, { method: 'PATCH', body: toServerKeys({ durationInSeconds }) });
|
|
417
|
+
},
|
|
418
|
+
});
|
|
419
|
+
export const serviceNowUpdateSnChgRestChange = tool({
|
|
420
|
+
description: "Updates an existing change request in ServiceNow using the Change Management REST API. Use this action when you need to modify an existing change request, such as updating its state, changing assignments, adding notes, modifying dates, or updating the implementation plan. This action sends a PATCH request to the Change Management API, allowing partial updates of the record fields. Note: Only include the fields you want to update in the request. Fields not included will retain their current values. This is a destructive operation in that it modifies data, but the changes can be reverted by calling this action again with corrected values.",
|
|
421
|
+
inputSchema: z.object({
|
|
422
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
423
|
+
risk: z.string().optional().describe("Risk assessment of the change request (e.g., 1=High, 2=Medium, 3=Low)"),
|
|
424
|
+
phase: z.string().optional().describe("Current phase of the change request lifecycle (e.g., planning, assessment, authorization, implementation, closure)"),
|
|
425
|
+
state: z.string().optional().describe("Current state of the change request. Common values: -7=Cancelled, -6=Rejected, -5=Skipped, -4=Closed Incomplete, -3=Closed Complete, -2=Closed Skipped, -1=Closed Cancelled, 0=Pending, 1=In Progress, 2=Open, 3=Approved, 4=Review, 5=Scheduled, 6=Implemented, 7=Evaluated"),
|
|
426
|
+
impact: z.string().optional().describe("Impact level of the change request (e.g., 1=High, 2=Medium, 3=Low)"),
|
|
427
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the change request to update. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'"),
|
|
428
|
+
category: z.string().optional().describe("Category or classification of the change request"),
|
|
429
|
+
priority: z.string().optional().describe("Priority of the change request (e.g., 1=Critical, 2=High, 3=Medium, 4=Low)"),
|
|
430
|
+
testPlan: z.string().optional().describe("Test plan for the change"),
|
|
431
|
+
workNotes: z.string().optional().describe("Internal work notes (not visible to end users)"),
|
|
432
|
+
assignedTo: z.string().optional().describe("Sys_id of the user assigned to implement the change"),
|
|
433
|
+
closeNotes: z.string().optional().describe("Notes added when closing the change request"),
|
|
434
|
+
description: z.string().optional().describe("Full description of the change request"),
|
|
435
|
+
subcategory: z.string().optional().describe("Subcategory of the change request"),
|
|
436
|
+
requestedBy: z.string().optional().describe("Sys_id of the user who requested the change"),
|
|
437
|
+
justification: z.string().optional().describe("Business justification for the change"),
|
|
438
|
+
onHoldReason: z.string().optional().describe("Reason the change is on hold"),
|
|
439
|
+
assignmentGroup: z.string().optional().describe("Sys_id of the group assigned to the change"),
|
|
440
|
+
plannedEndDate: z.string().optional().describe("Planned end date and time of the change (format: YYYY-MM-DD HH:MM:SS)"),
|
|
441
|
+
shortDescription: z.string().optional().describe("Brief summary or title of the change request"),
|
|
442
|
+
plannedStartDate: z.string().optional().describe("Planned start date and time of the change (format: YYYY-MM-DD HH:MM:SS)"),
|
|
443
|
+
implementationPlan: z.string().optional().describe("Implementation plan details"),
|
|
444
|
+
}),
|
|
445
|
+
execute: async ({ servicenowCredentials, risk, phase, state, impact, sysId, category, priority, testPlan, workNotes, assignedTo, closeNotes, description, subcategory, requestedBy, justification, onHoldReason, assignmentGroup, plannedEndDate, shortDescription, plannedStartDate, implementationPlan }) => {
|
|
446
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(sysId)}`, { method: 'PATCH', body: toServerKeys({ risk, phase, state, impact, category, priority, testPlan, workNotes, assignedTo, closeNotes, description, subcategory, requestedBy, justification, onHoldReason, assignmentGroup, plannedEndDate, shortDescription, plannedStartDate, implementationPlan }) });
|
|
447
|
+
},
|
|
448
|
+
});
|
|
449
|
+
export const serviceNowUpdateSnChgRestChangeEmergency = tool({
|
|
450
|
+
description: "Updates an existing emergency change request in ServiceNow using the Change Management API. Use this action when you need to modify an existing emergency change request, such as updating its description, changing assignment, modifying priority, updating the implementation plan, or changing any other modifiable field. This is an update (PATCH) operation that performs a partial update of the record. Only fields that are included in the request body will be modified; all other fields retain their current values. Note: This action only works with emergency change requests. For normal or standard changes, use the appropriate change-specific endpoints.",
|
|
451
|
+
inputSchema: z.object({
|
|
452
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
453
|
+
risk: z.string().optional().describe("Risk level of the emergency change request. Valid values: 'low', 'medium', 'high', 'critical'"),
|
|
454
|
+
phase: z.string().optional().describe("Current phase of the emergency change request workflow."),
|
|
455
|
+
state: z.string().optional().describe("Current state of the emergency change request. Valid values: -5=Cancelled, -4=On hold, -3=Rejected, -2=Pending, -1=Draft, 1=Initiating, 2=Pending, 3=Open, 4=In Progress, 5=Under Review, 6=Scheduled, 7=Implemented, 8=Verified, 9=Closed"),
|
|
456
|
+
impact: z.string().optional().describe("Impact level of the emergency change request. Valid values: 1=High, 2=Medium, 3=Low"),
|
|
457
|
+
reason: z.string().optional().describe("Reason for the emergency change request or its current state."),
|
|
458
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the emergency change request to update. This is a 32-character hexadecimal string that uniquely identifies the emergency change request. Example: 'd53e72ec73d423002728660c4cf6a78d'"),
|
|
459
|
+
cabDate: z.string().optional().describe("Scheduled CAB (Change Advisory Board) date in YYYY-MM-DD format."),
|
|
460
|
+
category: z.string().optional().describe("Category classification of the emergency change request."),
|
|
461
|
+
comments: z.string().optional().describe("Comments visible to end users."),
|
|
462
|
+
priority: z.string().optional().describe("Priority level of the emergency change request. Valid values: 1=Critical, 2=High, 3=Moderate, 4=Low, 5=Planning"),
|
|
463
|
+
testPlan: z.string().optional().describe("Test plan for validating the emergency change implementation."),
|
|
464
|
+
workNotes: z.string().optional().describe("Internal work notes not visible to end users."),
|
|
465
|
+
assignedTo: z.string().optional().describe("sys_id of the user assigned to handle the emergency change request. Reference to sys_user table."),
|
|
466
|
+
closeNotes: z.string().optional().describe("Notes added when closing the emergency change request."),
|
|
467
|
+
description: z.string().optional().describe("Detailed description of the emergency change request. Use this to provide comprehensive details about the change, its purpose, and expected outcomes."),
|
|
468
|
+
subcategory: z.string().optional().describe("Subcategory classification of the emergency change request."),
|
|
469
|
+
expectedEnd: z.string().optional().describe("Expected end date and time of the emergency change. Format: YYYY-MM-DD HH:MM:SS"),
|
|
470
|
+
justification: z.string().optional().describe("Business justification for the emergency change request."),
|
|
471
|
+
rollbackPlan: z.string().optional().describe("Plan for rolling back the change if issues arise."),
|
|
472
|
+
expectedStart: z.string().optional().describe("Expected start date and time of the emergency change. Format: YYYY-MM-DD HH:MM:SS"),
|
|
473
|
+
onHoldReason: z.string().optional().describe("Reason for placing the emergency change request on hold."),
|
|
474
|
+
assignmentGroup: z.string().optional().describe("sys_id of the group assigned to handle the emergency change request. Reference to sys_user_group table."),
|
|
475
|
+
shortDescription: z.string().optional().describe("Brief summary or title of the emergency change request. This field provides a quick overview of what the emergency change is about."),
|
|
476
|
+
cabRecommendation: z.string().optional().describe("CAB recommendation for the emergency change."),
|
|
477
|
+
implementationPlan: z.string().optional().describe("Detailed implementation steps for the emergency change."),
|
|
478
|
+
}),
|
|
479
|
+
execute: async ({ servicenowCredentials, risk, phase, state, impact, reason, sysId, cabDate, category, comments, priority, testPlan, workNotes, assignedTo, closeNotes, description, subcategory, expectedEnd, justification, rollbackPlan, expectedStart, onHoldReason, assignmentGroup, shortDescription, cabRecommendation, implementationPlan }) => {
|
|
480
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/emergency/${encodeURIComponent(sysId)}`, { method: 'PATCH', body: toServerKeys({ risk, phase, state, impact, reason, cabDate, category, comments, priority, testPlan, workNotes, assignedTo, closeNotes, description, subcategory, expectedEnd, justification, rollbackPlan, expectedStart, onHoldReason, assignmentGroup, shortDescription, cabRecommendation, implementationPlan }) });
|
|
481
|
+
},
|
|
482
|
+
});
|
|
483
|
+
export const serviceNowUpdateSnChgRestChangeNormal = tool({
|
|
484
|
+
description: "Updates a normal change request identified by its sys_id using the ServiceNow Change Management REST API. Use this action when you need to modify the details of an existing normal change request, such as updating its description, changing its state or priority, reassigning it to a different user or group, or updating schedule dates. Only the fields provided in the request will be updated; all other fields retain their current values. This is a PATCH operation — it performs a partial update. Only include the fields you want to change.",
|
|
485
|
+
inputSchema: z.object({
|
|
486
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
487
|
+
risk: z.string().optional().describe("Risk level of the change request. Typical values: 'low', 'medium', 'high', 'critical'. Use lowercase string values as defined in your ServiceNow instance."),
|
|
488
|
+
phase: z.string().optional().describe("Current phase of the change request workflow. Typical values: 'Draft', 'Assessment', 'Authorization', 'Scheduled', 'Implementation', 'Post-Implementation', 'Closed'. Use the exact phase names as defined in your ServiceNow instance."),
|
|
489
|
+
state: z.string().optional().describe("Current state of the change request. Common values: '-5'=Cancelled, '-4'=On hold, '-3'=Rejected, '-2'=Pending, '-1'=Draft, '1'=Initiating, '2'=Pending, '3'=Open, '4'=In Progress, '5'=Under Review, '6'=Scheduled, '7'=Implemented, '8'=Verified, '9'=Closed. Use the numeric string value corresponding to the desired state."),
|
|
490
|
+
active: z.string().optional().describe("Boolean indicating whether the change request is active. Set to 'true' to activate or 'false' to deactivate."),
|
|
491
|
+
impact: z.string().optional().describe("Impact level of the change request. Typical values: '1'=High, '2'=Medium, '3'=Low. Use the numeric string value corresponding to the impact level."),
|
|
492
|
+
reason: z.string().optional().describe("Reason for the change. Example: 'End of life for legacy system component'"),
|
|
493
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the normal change request to update. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: 'a9e9c33dc61122760072455df62663d2'"),
|
|
494
|
+
vendor: z.string().optional().describe("Vendor associated with the change request. Example: 'Acme Corp'"),
|
|
495
|
+
cmdbCi: z.string().optional().describe("The sys_id of the Configuration Item (CI) associated with the change. Reference to cmdb_ci table. Example: 'f9e9c33dc61122760072455df62663d2'"),
|
|
496
|
+
company: z.string().optional().describe("Company associated with the change request. Reference to core_company table via sys_id. Example: '1234567890abcdef1234567890abcdef'"),
|
|
497
|
+
cabDate: z.string().optional().describe("CAB (Change Advisory Board) meeting date. Format: ISO 8601 datetime string. Example: '2024-11-25 10:00:00'"),
|
|
498
|
+
category: z.string().optional().describe("Category or classification of the change request. Examples: 'Network', 'Hardware', 'Software', 'Application'. Values must match valid categories defined in your ServiceNow instance."),
|
|
499
|
+
comments: z.string().optional().describe("Comments visible to end users regarding the change. Example: 'Scheduled maintenance window: 2024-12-01 02:00-04:00 UTC'"),
|
|
500
|
+
contract: z.string().optional().describe("Contract associated with the change request. Example: 'Vendor Support Agreement #12345'"),
|
|
501
|
+
location: z.string().optional().describe("Location associated with the change request. Reference to cmn_location table via sys_id. Example: 'abcdef1234567890abcdef1234567890'"),
|
|
502
|
+
priority: z.string().optional().describe("Priority level of the change request. Typical values: '1'=Critical, '2'=High, '3'=Standard, '4'=Low, '5'=Planning. Use the numeric string value corresponding to the priority."),
|
|
503
|
+
openedBy: z.string().optional().describe("The sys_id of the user who opened the change request. Reference to sys_user table. Example: '681ccaf9c0a8016400b98a4e52c54f82'"),
|
|
504
|
+
testPlan: z.string().optional().describe("Test plan for validating the change. Example: 'Verify service connectivity, check logs for errors'"),
|
|
505
|
+
department: z.string().optional().describe("Department associated with the change request. Reference to cmn_department table via sys_id. Example: 'fedcba0987654321fedcba098765432'"),
|
|
506
|
+
workNotes: z.string().optional().describe("Internal work notes for the change (not visible to end users). Example: 'Contacted vendor support for additional guidance'"),
|
|
507
|
+
approvedBy: z.string().optional().describe("Names or sys_ids of users who approved the change (comma-separated for multiple). Example: 'John Doe, Jane Smith'"),
|
|
508
|
+
assignedTo: z.string().optional().describe("The sys_id of the user assigned to implement the change. Reference to sys_user table. Example: '681ccaf9c0a8016400b98a4e52c54f82'"),
|
|
509
|
+
closeNotes: z.string().optional().describe("Notes added when closing the change request. Example: 'Change completed successfully with no issues'"),
|
|
510
|
+
description: z.string().optional().describe("Detailed description of the change request. Example: 'Requires updating firewall rules to allow traffic on port 443'"),
|
|
511
|
+
phaseState: z.string().optional().describe("State within the current phase. Examples: 'Complete', 'In Progress', 'Pending', 'Skipped'. Use the exact state names as defined in your ServiceNow instance."),
|
|
512
|
+
reviewDate: z.string().optional().describe("Scheduled review date for the change. Format: ISO 8601 datetime string. Example: '2024-11-30 09:00:00'"),
|
|
513
|
+
subcategory: z.string().optional().describe("Subcategory of the change request. Must correspond to a valid subcategory for the selected category. Example: 'Firewall' under 'Network'"),
|
|
514
|
+
requestedBy: z.string().optional().describe("The sys_id of the user who requested the change. Reference to sys_user table. Example: '681ccaf9c0a8016400b98a4e52c54f82'"),
|
|
515
|
+
justification: z.string().optional().describe("Business justification for the change. Example: 'Required for compliance with new security policy'"),
|
|
516
|
+
onHoldReason: z.string().optional().describe("Reason for placing the change request on hold. Example: 'Waiting for approval from security team'"),
|
|
517
|
+
actualEndDate: z.string().optional().describe("Actual end date and time when the change was completed. Format: ISO 8601 datetime string. Example: '2024-12-01 03:45:00'"),
|
|
518
|
+
assignmentGroup: z.string().optional().describe("The sys_id of the group assigned to the change. Reference to sys_user_group table. Example: '287e8906c61122730024e53cf3104b26'"),
|
|
519
|
+
plannedEndDate: z.string().optional().describe("Planned end date and time of the change. Format: ISO 8601 datetime string. Example: '2024-12-01 04:00:00'"),
|
|
520
|
+
serviceOffering: z.string().optional().describe("The sys_id of the service offering related to the change. Reference to service_offering table. Example: 'b1e9c33dc61122760072455df62663d2'"),
|
|
521
|
+
actualStartDate: z.string().optional().describe("Actual start date and time when the change began. Format: ISO 8601 datetime string. Example: '2024-12-01 02:05:00'"),
|
|
522
|
+
businessDuration: z.string().optional().describe("Business duration in seconds (calculated based on business hours). Example: '7200' for 2 hours"),
|
|
523
|
+
calendarDuration: z.string().optional().describe("Calendar duration in seconds (total elapsed time). Example: '14400' for 4 hours"),
|
|
524
|
+
shortDescription: z.string().optional().describe("Brief summary or title of the change request. Example: 'Update network configuration for DC-2'"),
|
|
525
|
+
cabRecommendation: z.string().optional().describe("CAB recommendation for the change. Example: 'Approved with conditions'"),
|
|
526
|
+
plannedStartDate: z.string().optional().describe("Planned start date and time of the change. Format: ISO 8601 datetime string. Example: '2024-12-01 02:00:00'"),
|
|
527
|
+
implementationPlan: z.string().optional().describe("Implementation plan details describing how the change will be executed. Example: 'Step 1: Backup current config. Step 2: Apply new config. Step 3: Verify.'"),
|
|
528
|
+
}),
|
|
529
|
+
execute: async ({ servicenowCredentials, risk, phase, state, active, impact, reason, sysId, vendor, cmdbCi, company, cabDate, category, comments, contract, location, priority, openedBy, testPlan, department, workNotes, approvedBy, assignedTo, closeNotes, description, phaseState, reviewDate, subcategory, requestedBy, justification, onHoldReason, actualEndDate, assignmentGroup, plannedEndDate, serviceOffering, actualStartDate, businessDuration, calendarDuration, shortDescription, cabRecommendation, plannedStartDate, implementationPlan }) => {
|
|
530
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/normal/${encodeURIComponent(sysId)}`, { method: 'PATCH', body: toServerKeys({ risk, phase, state, active, impact, reason, vendor, cmdbCi, company, cabDate, category, comments, contract, location, priority, openedBy, testPlan, department, workNotes, approvedBy, assignedTo, closeNotes, description, phaseState, reviewDate, subcategory, requestedBy, justification, onHoldReason, actualEndDate, assignmentGroup, plannedEndDate, serviceOffering, actualStartDate, businessDuration, calendarDuration, shortDescription, cabRecommendation, plannedStartDate, implementationPlan }) });
|
|
531
|
+
},
|
|
532
|
+
});
|
|
533
|
+
export const serviceNowUpdateSnChgRestChangeStandard = tool({
|
|
534
|
+
description: "Updates a standard change request in ServiceNow using its sys_id. Use this action when you need to modify an existing standard change request, such as updating its description, changing the assigned user or group, modifying dates, updating state or phase, or adding implementation and test plans. This is a PATCH operation that updates only the provided fields while preserving all other existing values on the record. This action uses the PATCH method, which means only fields included in the request will be modified. Fields not provided will retain their current values.",
|
|
535
|
+
inputSchema: z.object({
|
|
536
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
537
|
+
risk: z.string().optional().describe("Risk level of the standard change request. Valid values: 'low', 'medium', 'high', 'critical'. Example: 'low'"),
|
|
538
|
+
phase: z.string().optional().describe("Current phase of the standard change request workflow. Example: 'Requested', 'Approved', 'Scheduled', 'Implementation', 'Review', 'Closed'"),
|
|
539
|
+
state: z.string().optional().describe("Current state of the standard change request. Common values: -5=Cancelled, -4=On hold, -3=Rejected, -2=Pending, -1=Draft, 1=Initiating, 2=Pending, 3=Open, 4=In Progress, 5=Under Review, 6=Scheduled, 7=Implemented, 8=Verified, 9=Closed. Note: State transitions may require appropriate permissions and workflow conditions."),
|
|
540
|
+
active: z.string().optional().describe("Boolean indicating if the standard change request is active. Use 'true' to activate or 'false' to deactivate. Example: 'true'"),
|
|
541
|
+
impact: z.string().optional().describe("Impact level of the standard change request. Typical values: 1=Critical, 2=High, 3=Medium, 4=Low. Example: '2'"),
|
|
542
|
+
reason: z.string().optional().describe("Reason for the standard change request. Example: 'Performance optimization required'"),
|
|
543
|
+
sysId: z.string().describe("The unique system ID (sys_id) of the standard change request to update. This is a 32-character hexadecimal string that uniquely identifies the standard change request. Example: '543a39de47410200e90d87e8dee4908a'"),
|
|
544
|
+
vendor: z.string().optional().describe("Vendor associated with the standard change request. Example: 'ACME Corporation'"),
|
|
545
|
+
cmdbCi: z.string().optional().describe("The sys_id of the Configuration Item (CI) associated with the standard change request. Reference to cmdb_ci table. Example: 'ci1234567890abcdef1234567890ab'"),
|
|
546
|
+
company: z.string().optional().describe("The sys_id of the company associated with the standard change request. Reference to core_company table. Example: 'com1234567890abcdef1234567890ab'"),
|
|
547
|
+
category: z.string().optional().describe("Category classification of the standard change request. Must be a valid category defined in the change management configuration. Example: 'Software' or 'Hardware'"),
|
|
548
|
+
comments: z.string().optional().describe("Comments visible to end users about the standard change request. Example: 'Maintenance window: 2AM-4AM UTC'"),
|
|
549
|
+
location: z.string().optional().describe("The sys_id of the location associated with the standard change request. Reference to cmn_location table. Example: 'loc1234567890abcdef1234567890ab'"),
|
|
550
|
+
priority: z.string().optional().describe("Priority level of the standard change request. Typical values: 1=Critical, 2=High, 3=Standard, 4=Low, 5=Planning. Example: '2'"),
|
|
551
|
+
workEnd: z.string().optional().describe("Work end date and time for the standard change. Format: YYYY-MM-DD HH:MM:SS or ISO 8601 format. Example: '2024-12-15 04:00:00'"),
|
|
552
|
+
poNumber: z.string().optional().describe("Purchase order number associated with the standard change request. Example: 'PO-2024-12345'"),
|
|
553
|
+
testPlan: z.string().optional().describe("Test plan for the standard change request describing how the change will be tested before and after implementation. Example: 'Verify application starts successfully and database connections work'"),
|
|
554
|
+
actualEnd: z.string().optional().describe("Actual end date and time of the standard change. Format: YYYY-MM-DD HH:MM:SS or ISO 8601 format. Example: '2024-12-15 03:45:00'"),
|
|
555
|
+
department: z.string().optional().describe("The sys_id of the department associated with the standard change request. Reference to cmn_department table. Example: 'dept1234567890abcdef1234567890ab'"),
|
|
556
|
+
workNotes: z.string().optional().describe("Internal work notes for the standard change request (not visible to end users). Use this for technical details and progress updates. Example: 'Applied config changes to all servers'"),
|
|
557
|
+
workStart: z.string().optional().describe("Work start date and time for the standard change. Format: YYYY-MM-DD HH:MM:SS or ISO 8601 format. Example: '2024-12-15 02:00:00'"),
|
|
558
|
+
assignedTo: z.string().optional().describe("The sys_id of the user to assign the standard change request to. Reference to sys_user table. Example: 'usr1234567890abcdef1234567890ab'"),
|
|
559
|
+
changePlan: z.string().optional().describe("Change plan details for the standard change request. Example: 'Update configuration files and restart services'"),
|
|
560
|
+
closeNotes: z.string().optional().describe("Notes to add when closing the standard change request. Include any final comments, lessons learned, or completion status. Example: 'Change completed successfully. No issues encountered.'"),
|
|
561
|
+
description: z.string().optional().describe("Detailed description of the standard change request explaining what needs to be changed and why. Example: 'Update connection pooling settings in production database to improve performance'"),
|
|
562
|
+
phaseState: z.string().optional().describe("State within the current phase of the workflow"),
|
|
563
|
+
subcategory: z.string().optional().describe("Subcategory classification of the standard change request. Must be a valid subcategory within the selected category. Example: 'Operating System' or 'Database'"),
|
|
564
|
+
actualStart: z.string().optional().describe("Actual start date and time of the standard change. Format: YYYY-MM-DD HH:MM:SS or ISO 8601 format. Example: '2024-12-15 02:05:00'"),
|
|
565
|
+
backoutPlan: z.string().optional().describe("Backout plan describing the procedure to back out of the standard change. Example: 'Execute revert script and notify team'"),
|
|
566
|
+
expectedEnd: z.string().optional().describe("Expected end date and time of the standard change. Format: YYYY-MM-DD HH:MM:SS or ISO 8601 format. Example: '2024-12-15 04:00:00'"),
|
|
567
|
+
requestedBy: z.string().optional().describe("The sys_id of the user who requested the standard change. Reference to sys_user table. Example: 'usr987654321fedcba9876543210zyxw'"),
|
|
568
|
+
justification: z.string().optional().describe("Business justification for the standard change request. Example: 'Improve system performance and reduce downtime'"),
|
|
569
|
+
rollbackPlan: z.string().optional().describe("Rollback plan describing how to revert the standard change if issues occur. Example: 'Restore from backup and restart previous version'"),
|
|
570
|
+
expectedStart: z.string().optional().describe("Expected start date and time of the standard change. Format: YYYY-MM-DD HH:MM:SS or ISO 8601 format. Example: '2024-12-15 02:00:00'"),
|
|
571
|
+
onHoldReason: z.string().optional().describe("Reason for placing the standard change request on hold. Example: 'Waiting for vendor approval'"),
|
|
572
|
+
reviewOutcome: z.string().optional().describe("Outcome of the standard change review. Example: 'Success', 'Failed', 'Partial'"),
|
|
573
|
+
reviewComments: z.string().optional().describe("Comments from the standard change review. Example: 'All tests passed successfully'"),
|
|
574
|
+
assignmentGroup: z.string().optional().describe("The sys_id of the group to assign the standard change request to. Reference to sys_user_group table. Example: 'grp1234567890abcdef1234567890ab'"),
|
|
575
|
+
serviceOffering: z.string().optional().describe("The sys_id of the service offering associated with the standard change request. Reference to service_offering table. Example: 'svc1234567890abcdef1234567890ab'"),
|
|
576
|
+
shortDescription: z.string().optional().describe("Brief summary or title of the standard change request. Example: 'Update database configuration for production servers'"),
|
|
577
|
+
cabRecommendation: z.string().optional().describe("CAB recommendation for the standard change. Example: 'Approved', 'Rejected', 'Approved with conditions'"),
|
|
578
|
+
implementationPlan: z.string().optional().describe("Implementation plan describing the steps to implement the standard change. Example: '1. Backup current config, 2. Apply new settings, 3. Restart service'"),
|
|
579
|
+
}),
|
|
580
|
+
execute: async ({ servicenowCredentials, risk, phase, state, active, impact, reason, sysId, vendor, cmdbCi, company, category, comments, location, priority, workEnd, poNumber, testPlan, actualEnd, department, workNotes, workStart, assignedTo, changePlan, closeNotes, description, phaseState, subcategory, actualStart, backoutPlan, expectedEnd, requestedBy, justification, rollbackPlan, expectedStart, onHoldReason, reviewOutcome, reviewComments, assignmentGroup, serviceOffering, shortDescription, cabRecommendation, implementationPlan }) => {
|
|
581
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/standard/${encodeURIComponent(sysId)}`, { method: 'PATCH', body: toServerKeys({ risk, phase, state, active, impact, reason, vendor, cmdbCi, company, category, comments, location, priority, workEnd, poNumber, testPlan, actualEnd, department, workNotes, workStart, assignedTo, changePlan, closeNotes, description, phaseState, subcategory, actualStart, backoutPlan, expectedEnd, requestedBy, justification, rollbackPlan, expectedStart, onHoldReason, reviewOutcome, reviewComments, assignmentGroup, serviceOffering, shortDescription, cabRecommendation, implementationPlan }) });
|
|
582
|
+
},
|
|
583
|
+
});
|
|
584
|
+
export const serviceNowUpdateSnChgRestChangeTask = tool({
|
|
585
|
+
description: "Updates an existing change request task in ServiceNow using the Change Management REST API. Use this action when you need to modify an existing task associated with a change request, such as updating its status, changing assignment, adding work notes, or marking it complete. This action sends a PATCH request to the Change Management API, allowing partial updates of the task fields. Only include the fields you want to update in the request - fields not included will retain their current values. Note: The task must already exist within the specified change request. If the change request or task doesn't exist, a 404 error will be returned.",
|
|
586
|
+
inputSchema: z.object({
|
|
587
|
+
servicenowCredentials: z.string().optional().describe('Injected auth JSON {baseUrl, username, password} — do not provide'),
|
|
588
|
+
state: z.string().optional().describe("Current state of the task. Common values: -5=Cancelled, -4=On hold, -3=Rejected, -2=Pending, -1=Draft, 1=Open, 2=Work In Progress, 3=Pending, 4=Complete"),
|
|
589
|
+
comments: z.string().optional().describe("Public comments on the task (visible to end users)"),
|
|
590
|
+
priority: z.string().optional().describe("Priority level of the task (e.g., '1' for critical, '2' for high, '3' for moderate, '4' for low, '5' for planning)"),
|
|
591
|
+
actualEnd: z.string().optional().describe("Actual end date and time when the task was completed (ISO 8601 format)"),
|
|
592
|
+
workNotes: z.string().optional().describe("Internal work notes for the task (visible to IT staff only)"),
|
|
593
|
+
assignedTo: z.string().optional().describe("sys_id of the user assigned to the task"),
|
|
594
|
+
closeNotes: z.string().optional().describe("Notes added when closing the task"),
|
|
595
|
+
description: z.string().optional().describe("Full description of the task"),
|
|
596
|
+
taskSysId: z.string().describe("The unique system ID (sys_id) of the task to update within the change request. This is a 32-character hexadecimal string that uniquely identifies the task. Example: 'cd820c7a833bf210dd2dc2dfeeaad333'. The task must exist within the specified change request, or a 404 error will be returned."),
|
|
597
|
+
actualStart: z.string().optional().describe("Actual start date and time when the task began (ISO 8601 format)"),
|
|
598
|
+
expectedEnd: z.string().optional().describe("Expected end date and time of the task (ISO 8601 format)"),
|
|
599
|
+
changeSysId: z.string().describe("The unique system ID (sys_id) of the change request containing the task to update. This is a 32-character hexadecimal string that uniquely identifies the change request. Example: '46e9b4afa9fe198101026e122b85f442'. The change request must exist, or a 404 error will be returned."),
|
|
600
|
+
expectedStart: z.string().optional().describe("Expected start date and time of the task (ISO 8601 format)"),
|
|
601
|
+
onHoldReason: z.string().optional().describe("Reason the task is on hold"),
|
|
602
|
+
assignmentGroup: z.string().optional().describe("sys_id of the group assigned to the task"),
|
|
603
|
+
shortDescription: z.string().optional().describe("Brief summary or title of the task"),
|
|
604
|
+
}),
|
|
605
|
+
execute: async ({ servicenowCredentials, state, comments, priority, actualEnd, workNotes, assignedTo, closeNotes, description, taskSysId, actualStart, expectedEnd, changeSysId, expectedStart, onHoldReason, assignmentGroup, shortDescription }) => {
|
|
606
|
+
return snRequest(servicenowCredentials, `/api/sn_chg_rest/change/${encodeURIComponent(changeSysId)}/task/${encodeURIComponent(taskSysId)}`, { method: 'PATCH', body: toServerKeys({ state, comments, priority, actualEnd, workNotes, assignedTo, closeNotes, description, actualStart, expectedEnd, expectedStart, onHoldReason, assignmentGroup, shortDescription }) });
|
|
607
|
+
},
|
|
608
|
+
});
|
|
609
|
+
//# sourceMappingURL=changes.js.map
|