-
Notifications
You must be signed in to change notification settings - Fork 5.5k
feat: MCP annotations batch 1/65 (100 components) #18513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughThis PR updates numerous action modules by bumping their version fields and adding an annotations object (destructiveHint, openWorldHint, readOnlyHint). No runtime logic, control flow, or method signatures change; only exported metadata is modified. Changes
Sequence Diagram(s)Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (100)
components/_0codekit/actions/compress-pdf/compress-pdf.mjs(1 hunks)components/_0codekit/actions/read-barcode/read-barcode.mjs(1 hunks)components/_1crm/actions/create-contact/create-contact.mjs(1 hunks)components/_1crm/actions/create-lead/create-lead.mjs(1 hunks)components/_1crm/actions/update-contact/update-contact.mjs(1 hunks)components/_1crm/actions/update-lead/update-lead.mjs(1 hunks)components/_2chat/actions/check-phone-number-whatsapp/check-phone-number-whatsapp.mjs(1 hunks)components/_2chat/actions/create-contact/create-contact.mjs(1 hunks)components/_2chat/actions/send-whatsapp-text-message/send-whatsapp-text-message.mjs(1 hunks)components/_2markdown/actions/html-file-to-markdown/html-file-to-markdown.mjs(1 hunks)components/_2markdown/actions/html-to-markdown/html-to-markdown.mjs(1 hunks)components/_2markdown/actions/pdf-to-markdown/pdf-to-markdown.mjs(1 hunks)components/_2markdown/actions/url-to-markdown/url-to-markdown.mjs(1 hunks)components/_360nrs/actions/send-sms/send-sms.mjs(1 hunks)components/_46elks/actions/make-phone-call/make-phone-call.mjs(1 hunks)components/_46elks/actions/send-sms/send-sms.mjs(1 hunks)components/_4dem/actions/confirm-email/confirm-email.mjs(1 hunks)components/_4dem/actions/create-email/create-email.mjs(1 hunks)components/_4dem/actions/create-sender/create-sender.mjs(1 hunks)components/_8x8_connect/actions/get-log-result/get-log-result.mjs(1 hunks)components/_8x8_connect/actions/request-log/request-log.mjs(1 hunks)components/_8x8_connect/actions/send-sms/send-sms.mjs(1 hunks)components/_twocaptcha/actions/check-account-balance/check-account-balance.mjs(1 hunks)components/_twocaptcha/actions/retrieve-solution/retrieve-solution.mjs(1 hunks)components/_twocaptcha/actions/submit-captcha/submit-captcha.mjs(1 hunks)components/ably/actions/publish-message/publish-message.mjs(1 hunks)components/ably/actions/publish-push-notification/publish-push-notification.mjs(1 hunks)components/abstract/actions/validate-email/validate-email.mjs(1 hunks)components/abyssale/actions/generate-image/generate-image.mjs(1 hunks)components/abyssale/actions/generate-multi-format-images-videos/generate-multi-format-images-videos.mjs(1 hunks)components/accelo/actions/create-contact/create-contact.mjs(1 hunks)components/accelo/actions/create-prospect/create-prospect.mjs(1 hunks)components/accelo/actions/create-request/create-request.mjs(1 hunks)components/accelo/actions/update-contact/update-contact.mjs(1 hunks)components/accredible/actions/create-credential/create-credential.mjs(1 hunks)components/accredible/actions/delete-credential/delete-credential.mjs(1 hunks)components/accredible/actions/update-credential/update-credential.mjs(1 hunks)components/accuweather/actions/get-current-conditions/get-current-conditions.mjs(1 hunks)components/accuweather/actions/get-daily-forecast/get-daily-forecast.mjs(1 hunks)components/accuweather/actions/get-historical-weather/get-historical-weather.mjs(1 hunks)components/accuweather/actions/get-hourly-forecast/get-hourly-forecast.mjs(1 hunks)components/accuweather/actions/get-location-key/get-location-key.mjs(1 hunks)components/acelle_mail/actions/create-customer/create-customer.mjs(1 hunks)components/acelle_mail/actions/subscribe-customer-to-plan/subscribe-customer-to-plan.mjs(1 hunks)components/actitime/actions/create-customer/create-customer.mjs(1 hunks)components/actitime/actions/create-task/create-task.mjs(1 hunks)components/actitime/actions/modify-leave-time/modify-leave-time.mjs(1 hunks)components/activecampaign/actions/add-contact-to-automation/add-contact-to-automation.mjs(1 hunks)components/activecampaign/actions/create-account/create-account.mjs(1 hunks)components/activecampaign/actions/create-contact/create-contact.mjs(1 hunks)components/activecampaign/actions/create-deal/create-deal.mjs(1 hunks)components/activecampaign/actions/create-note/create-note.mjs(1 hunks)components/activecampaign/actions/create-or-update-contact/create-or-update-contact.mjs(1 hunks)components/activecampaign/actions/create-tracked-event/create-tracked-event.mjs(1 hunks)components/activecampaign/actions/find-contact/find-contact.mjs(1 hunks)components/activecampaign/actions/find-deal/find-deal.mjs(1 hunks)components/activecampaign/actions/get-all-lists/get-all-lists.mjs(1 hunks)components/activecampaign/actions/get-contact-by-email/get-contact-by-email.mjs(1 hunks)components/activecampaign/actions/get-contact/get-contact.mjs(1 hunks)components/activecampaign/actions/get-deal/get-deal.mjs(1 hunks)components/activecampaign/actions/get-tags-for-contact/get-tags-for-contact.mjs(1 hunks)components/activecampaign/actions/list-all-contacts/list-all-contacts.mjs(1 hunks)components/activecampaign/actions/list-campaigns/list-campaigns.mjs(1 hunks)components/activecampaign/actions/remove-tag-from-contact/remove-tag-from-contact.mjs(1 hunks)components/activecampaign/actions/tag-contact/tag-contact.mjs(1 hunks)components/activecampaign/actions/update-deal/update-deal.mjs(1 hunks)components/acuity_scheduling/actions/add-blocked-off-time/add-blocked-off-time.mjs(1 hunks)components/acuity_scheduling/actions/book-appointment/book-appointment.mjs(1 hunks)components/acuity_scheduling/actions/check-availability-times/check-availability-times.mjs(1 hunks)components/acuity_scheduling/actions/find-appointments-by-client-info/find-appointments-by-client-info.mjs(1 hunks)components/acuity_scheduling/actions/get-appointment-types/get-appointment-types.mjs(1 hunks)components/acuity_scheduling/actions/get-appointments/get-appointments.mjs(1 hunks)components/acuity_scheduling/actions/get-availability-times/get-availability-times.mjs(1 hunks)components/acuity_scheduling/actions/get-products/get-products.mjs(1 hunks)components/acymailing/actions/add-update-user/add-update-user.mjs(1 hunks)components/acymailing/actions/email-user/email-user.mjs(1 hunks)components/acymailing/actions/subscribe-user/subscribe-user.mjs(1 hunks)components/adalo/actions/create-record/create-record.mjs(1 hunks)components/adalo/actions/get-records/get-records.mjs(1 hunks)components/adalo/actions/update-record/update-record.mjs(1 hunks)components/add_to_calendar_pro/actions/create-event-group/create-event-group.mjs(1 hunks)components/add_to_calendar_pro/actions/create-event/create-event.mjs(1 hunks)components/add_to_calendar_pro/actions/create-landing-page-template/create-landing-page-template.mjs(1 hunks)components/add_to_calendar_pro/actions/create-rsvp-template/create-rsvp-template.mjs(1 hunks)components/add_to_calendar_pro/actions/delete-event-group/delete-event-group.mjs(1 hunks)components/add_to_calendar_pro/actions/delete-event/delete-event.mjs(1 hunks)components/add_to_calendar_pro/actions/delete-landing-page-template/delete-landing-page-template.mjs(1 hunks)components/add_to_calendar_pro/actions/delete-rsvp-template/delete-rsvp-template.mjs(1 hunks)components/add_to_calendar_pro/actions/get-event-group/get-event-group.mjs(1 hunks)components/add_to_calendar_pro/actions/get-event/get-event.mjs(1 hunks)components/add_to_calendar_pro/actions/get-ics-data/get-ics-data.mjs(1 hunks)components/add_to_calendar_pro/actions/get-landing-page-template/get-landing-page-template.mjs(1 hunks)components/add_to_calendar_pro/actions/get-rsvp-template/get-rsvp-template.mjs(1 hunks)components/add_to_calendar_pro/actions/update-event-group/update-event-group.mjs(1 hunks)components/add_to_calendar_pro/actions/update-event/update-event.mjs(1 hunks)components/add_to_calendar_pro/actions/update-landing-page-template/update-landing-page-template.mjs(1 hunks)components/add_to_calendar_pro/actions/update-rsvp-template/update-rsvp-template.mjs(1 hunks)components/addevent/actions/create-event/create-event.mjs(1 hunks)components/addevent/actions/create-rsvp-for-attendee/create-rsvp-for-attendee.mjs(1 hunks)components/addressfinder/actions/verify-address-au/verify-address-au.mjs(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-10-30T15:24:39.294Z
Learnt from: jcortes
PR: PipedreamHQ/pipedream#14467
File: components/gainsight_px/actions/create-account/create-account.mjs:4-6
Timestamp: 2024-10-30T15:24:39.294Z
Learning: In `components/gainsight_px/actions/create-account/create-account.mjs`, the action name should be "Create Account" instead of "Create Memory".
Applied to files:
components/activecampaign/actions/create-account/create-account.mjs
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: pnpm publish
- GitHub Check: Lint Code Base
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
🔇 Additional comments (73)
components/add_to_calendar_pro/actions/update-rsvp-template/update-rsvp-template.mjs (1)
8-13: LGTM! Annotation values are semantically appropriate.The metadata changes look good:
- Version bump to 0.0.3 follows semantic versioning for metadata additions
destructiveHint: trueis correct for an update operation that modifies existing dataopenWorldHint: trueappropriately indicates external API interactionreadOnlyHint: falsecorrectly reflects that this is a write operationcomponents/acelle_mail/actions/create-customer/create-customer.mjs (1)
6-11: Metadata update looks good.Version bump and annotations align with the MCP rollout pattern—no issues spotted.
components/add_to_calendar_pro/actions/update-event-group/update-event-group.mjs (1)
7-12: LGTM! Annotations correctly reflect the action semantics.The annotations are semantically accurate for an update operation:
destructiveHint: trueappropriately signals that updates modify external stateopenWorldHint: truecorrectly indicates external API interactionreadOnlyHint: falseaccurately reflects the write operationcomponents/add_to_calendar_pro/actions/update-landing-page-template/update-landing-page-template.mjs (1)
7-12: LGTM! Annotations are semantically correct.The annotations appropriately describe the update operation's behavior and align with the action's implementation.
components/activecampaign/actions/create-account/create-account.mjs (1)
8-13: LGTM! Annotations correctly distinguish create from destructive operations.The annotations accurately reflect that this is a non-destructive write operation:
destructiveHint: falseappropriately indicates creation doesn't modify existing dataopenWorldHint: truecorrectly signals external API interactionreadOnlyHint: falseaccurately reflects the write operationcomponents/acuity_scheduling/actions/get-appointments/get-appointments.mjs (1)
7-12: LGTM! Annotations accurately reflect the read-only nature.The annotations correctly describe a read-only list operation:
destructiveHint: falseandreadOnlyHint: trueproperly indicate no mutations occuropenWorldHint: truecorrectly signals external API interactioncomponents/activecampaign/actions/get-contact-by-email/get-contact-by-email.mjs (1)
7-12: LGTM! Annotations correctly reflect the read-only retrieval operation.The annotations accurately describe this as a read-only lookup with appropriate hint values.
components/addevent/actions/create-event/create-event.mjs (1)
7-12: LGTM! Annotations correctly reflect action behavior.The version bump and annotations are appropriate:
destructiveHint: false- creates resources without deletionopenWorldHint: true- calls external AddEvent APIreadOnlyHint: false- performs write operationcomponents/_1crm/actions/create-contact/create-contact.mjs (1)
8-13: LGTM! Annotations correctly reflect the create operation.The metadata changes are appropriate:
destructiveHint: false- creates without deletionopenWorldHint: true- external 1CRM API callreadOnlyHint: false- write operationcomponents/activecampaign/actions/list-all-contacts/list-all-contacts.mjs (1)
7-12: LGTM! Annotations correctly reflect read-only list operation.The version bump and annotations are accurate:
destructiveHint: false- no deletionopenWorldHint: true- external ActiveCampaign APIreadOnlyHint: true- read-only list operationcomponents/abstract/actions/validate-email/validate-email.mjs (1)
7-12: LGTM! Annotations correctly reflect validation operation.The metadata additions are appropriate:
destructiveHint: false- no resource deletionopenWorldHint: true- external Abstract API callreadOnlyHint: true- read-only validation checkcomponents/activecampaign/actions/remove-tag-from-contact/remove-tag-from-contact.mjs (1)
7-12: LGTM! Annotations correctly reflect the destructive nature of this action.The version bump and annotations are appropriate. The action removes a tag from a contact, which is correctly marked as destructive (
destructiveHint: true) and non-read-only (readOnlyHint: false).components/adalo/actions/create-record/create-record.mjs (1)
7-12: LGTM! Annotations correctly reflect a non-destructive create operation.The version bump and annotations are appropriate. Creating a new record is correctly marked as non-destructive (
destructiveHint: false) since it doesn't modify or delete existing data.components/activecampaign/actions/get-deal/get-deal.mjs (1)
7-12: LGTM! Annotations correctly reflect the read-only nature of this action.The version bump and annotations are appropriate. This action retrieves a deal without modifications, correctly marked with
readOnlyHint: trueanddestructiveHint: false.components/activecampaign/actions/find-contact/find-contact.mjs (1)
7-12: LGTM! Annotations correctly reflect the read-only nature of this search action.The version bump and annotations are appropriate. This action searches for contacts without modifications, correctly marked with
readOnlyHint: trueanddestructiveHint: false.components/activecampaign/actions/update-deal/update-deal.mjs (1)
8-13: LGTM! Annotations correctly reflect the destructive nature of this update action.The version bump and annotations are appropriate. Updating a deal modifies existing data, correctly marked as destructive (
destructiveHint: true) and non-read-only (readOnlyHint: false).components/add_to_calendar_pro/actions/create-event-group/create-event-group.mjs (1)
7-12: LGTM! Metadata annotations added appropriately.The version bump and annotations are consistent with the PR's objective. The annotation values correctly reflect that this action creates an event group (not read-only, not destructive to existing data, and makes external API calls).
components/acymailing/actions/email-user/email-user.mjs (1)
8-13: LGTM! Metadata annotations added appropriately.The version bump and annotations are consistent with the PR's objective. The annotation values correctly reflect that this action sends an email (not read-only, not destructive to existing data, and makes external API calls).
components/activecampaign/actions/add-contact-to-automation/add-contact-to-automation.mjs (1)
7-12: LGTM! Metadata annotations added appropriately.The version bump and annotations are consistent with the PR's objective. The annotation values correctly reflect that this action adds a contact to an automation (not read-only, not destructive to existing data, and makes external API calls).
components/add_to_calendar_pro/actions/create-event/create-event.mjs (1)
8-13: LGTM! Metadata annotations added appropriately.The version bump and annotations are consistent with the PR's objective. The annotation values correctly reflect that this action creates an event (not read-only, not destructive to existing data, and makes external API calls).
components/_1crm/actions/create-lead/create-lead.mjs (1)
8-13: LGTM! Metadata annotations added appropriately.The version bump and annotations are consistent with the PR's objective. The annotation values correctly reflect that this action creates a lead (not read-only, not destructive to existing data, and makes external API calls).
components/_46elks/actions/send-sms/send-sms.mjs (1)
7-12: Metadata update looks good.Version bump and annotation flags match the action’s behavior (external write, non-destructive).
components/activecampaign/actions/get-contact/get-contact.mjs (1)
7-12: Annotation flags are consistent.Lookup is read-only, so
readOnlyHint: trueanddestructiveHint: falsemake sense.components/add_to_calendar_pro/actions/get-event-group/get-event-group.mjs (1)
7-12: Patch version + read-only hints check out.Fetching an event group is non-destructive and read-only; annotations reflect that accurately.
components/_8x8_connect/actions/send-sms/send-sms.mjs (1)
7-12: Looks accurate.Sending an SMS is a non-destructive external write, so the chosen hint flags fit.
components/activecampaign/actions/create-deal/create-deal.mjs (1)
7-12: Good alignment between behavior and hints.Creating a deal writes data but isn’t destructive, so the metadata choices are sensible.
components/_0codekit/actions/read-barcode/read-barcode.mjs (1)
7-12: LGTM: Annotations are semantically correct.The annotations accurately reflect this action's behavior: it's a read-only operation that makes external calls to decode QR codes from image URLs without any destructive side effects.
components/add_to_calendar_pro/actions/update-event/update-event.mjs (1)
7-12: LGTM: Annotations accurately reflect the update operation.The annotations correctly characterize this as a destructive, write operation that interacts with external APIs.
components/addressfinder/actions/verify-address-au/verify-address-au.mjs (1)
7-12: LGTM: Annotations correctly describe the read-only verification operation.The annotations properly reflect that this is a non-destructive, read-only address validation that calls external APIs.
components/add_to_calendar_pro/actions/get-landing-page-template/get-landing-page-template.mjs (1)
7-12: LGTM: Annotations accurately reflect the read-only retrieval operation.The annotations correctly indicate this is a non-destructive, read-only operation that fetches data from external APIs.
components/accelo/actions/create-request/create-request.mjs (1)
5-10: destructiveHint is correct for create-request action
No change needed—create operations in this codebase uniformly usedestructiveHint: false.components/accredible/actions/delete-credential/delete-credential.mjs (1)
7-12: Accurate MCP annotations for destructive delete action. SettingdestructiveHint: truewhile leavingreadOnlyHintfalse mirrors the spec’s guidance for tools that remove external data, so this addition looks correct to me. (modelcontextprotocol.io)components/actitime/actions/create-task/create-task.mjs (1)
8-13: Good call marking the create-task tool as non-destructive. Creating a task writes to an external system without deleting or overwriting state, sodestructiveHint: falseandopenWorldHint: trueline up well with MCP expectations. (modelcontextprotocol.io)components/accelo/actions/update-contact/update-contact.mjs (1)
5-10: Destructive hint matches the contact update behavior. Updating contact fields mutates remote state, so advertisingdestructiveHint: truekeeps the annotation aligned with the protocol guidance. Looks good. (modelcontextprotocol.io)components/_2chat/actions/create-contact/create-contact.mjs (1)
7-12: Annotations look spot-on for this create-contact action. Non-destructive, open-world creation matches the MCP hint definitions, so this metadata reads correctly. (modelcontextprotocol.io)components/accelo/actions/create-contact/create-contact.mjs (1)
5-10: Consistency maintained for MCP annotations. KeepingdestructiveHint: falseandopenWorldHint: trueon this create-contact tool maintains parity with the other create actions and aligns with MCP guidance. (modelcontextprotocol.io)components/add_to_calendar_pro/actions/delete-event-group/delete-event-group.mjs (1)
7-12: LGTM! Annotations correctly reflect destructive delete operation.The annotations are appropriately set for this delete action:
destructiveHint: trueaccurately signals that this operation permanently removes an event group, whileopenWorldHint: trueandreadOnlyHint: falsecorrectly describe the external API mutation.components/accuweather/actions/get-historical-weather/get-historical-weather.mjs (1)
8-13: LGTM! Annotations correctly reflect read-only data retrieval.The annotations are properly configured for this read-only action:
readOnlyHint: trueanddestructiveHint: falseaccurately indicate that this operation only retrieves historical weather data without modifying any state.components/activecampaign/actions/create-note/create-note.mjs (1)
7-12: LGTM! Annotations correctly reflect create operation.The annotations are appropriate for this create action:
destructiveHint: false(creates new data, doesn't destroy existing),readOnlyHint: false(modifies state), andopenWorldHint: true(external API call).components/activecampaign/actions/tag-contact/tag-contact.mjs (1)
7-12: LGTM! Annotations correctly reflect additive operation.The annotations are properly set for this tagging action:
destructiveHint: false(adds a tag without removing data),readOnlyHint: false(modifies contact state), andopenWorldHint: true(external API call).components/_twocaptcha/actions/submit-captcha/submit-captcha.mjs (1)
14-19: LGTM! Annotations correctly reflect task submission operation.The annotations are appropriate for this submission action:
destructiveHint: false(creates a new task),readOnlyHint: false(modifies state by submitting captcha), andopenWorldHint: true(external 2Captcha service call).components/_twocaptcha/actions/check-account-balance/check-account-balance.mjs (1)
7-12: LGTM! Annotations are semantically correct.The version bump and annotations accurately reflect the action's behavior: this is a read-only operation (balance check) that makes external API calls without any destructive effects.
components/_360nrs/actions/send-sms/send-sms.mjs (1)
8-13: LGTM! Annotations are semantically correct.The version bump and annotations accurately reflect the action's behavior: this operation sends SMS messages (non-read-only) via external API calls without destructive effects.
components/accuweather/actions/get-daily-forecast/get-daily-forecast.mjs (1)
8-13: LGTM! Annotations are semantically correct.The version bump and annotations accurately reflect the action's behavior: this is a read-only operation (forecast retrieval) that makes external API calls without any destructive effects.
components/add_to_calendar_pro/actions/create-rsvp-template/create-rsvp-template.mjs (1)
8-13: LGTM! Annotations are semantically correct.The version bump and annotations accurately reflect the action's behavior: this operation creates RSVP templates (non-read-only) via external API calls without destructive effects.
components/_4dem/actions/create-sender/create-sender.mjs (1)
7-12: LGTM! Annotations are semantically correct.The version bump and annotations accurately reflect the action's behavior: this operation creates email senders (non-read-only) via external API calls without destructive effects.
components/actitime/actions/create-customer/create-customer.mjs (1)
7-12: Annotations align with create semantics — Non-destructive write with external side effects is correctly flagged (readOnly=false, destructive=false, openWorld=true).components/activecampaign/actions/list-campaigns/list-campaigns.mjs (1)
8-13: Read-only listing correctly annotated — Version bump plus readOnly=true with non-destructive, open-world access matches the action’s behavior.components/accuweather/actions/get-hourly-forecast/get-hourly-forecast.mjs (1)
8-13: Forecast fetch marked correctly — Metadata now signals external, read-only usage without destructive effects, which matches the action.components/_4dem/actions/confirm-email/confirm-email.mjs (1)
7-12: State-changing confirmation appropriately classified — Marking this as open-world, non-read-only, and non-destructive matches the confirm flow.components/accredible/actions/update-credential/update-credential.mjs (1)
7-12: Update action flagged as destructive — Setting destructiveHint=true with open-world access and readOnly=false is consistent with credential mutation.components/actitime/actions/modify-leave-time/modify-leave-time.mjs (1)
7-12: LGTM! Annotations correctly reflect the action's behavior.The annotations are appropriate for this action:
destructiveHint: truecorrectly indicates that this modifies existing leave time records via PATCHopenWorldHint: truereflects external API interactionreadOnlyHint: falsecorrectly indicates this is a write operationcomponents/ably/actions/publish-message/publish-message.mjs (1)
5-10: LGTM! Annotations correctly reflect the action's behavior.The annotations are appropriate:
destructiveHint: falsecorrectly indicates this creates new data without modifying existing recordsopenWorldHint: truereflects external API interaction with AblyreadOnlyHint: falsecorrectly indicates this is a write operationcomponents/activecampaign/actions/get-all-lists/get-all-lists.mjs (1)
7-12: LGTM! Annotations correctly reflect the action's behavior.The annotations are appropriate:
destructiveHint: falsecorrectly indicates this is a read-only retrieval operationopenWorldHint: truereflects external API interaction with ActiveCampaignreadOnlyHint: truecorrectly indicates no data modification occurscomponents/acuity_scheduling/actions/get-appointment-types/get-appointment-types.mjs (1)
7-12: LGTM! Annotations correctly reflect the action's behavior.The annotations are appropriate:
destructiveHint: falsecorrectly indicates this is a read-only retrieval operationopenWorldHint: truereflects external API interactionreadOnlyHint: truecorrectly indicates no data modification occurscomponents/adalo/actions/get-records/get-records.mjs (1)
7-12: LGTM! Annotations correctly reflect the action's behavior.The annotations are appropriate:
destructiveHint: falsecorrectly indicates this is a read-only retrieval operationopenWorldHint: truereflects external API interaction with AdaloreadOnlyHint: truecorrectly indicates no data modification occurscomponents/add_to_calendar_pro/actions/delete-rsvp-template/delete-rsvp-template.mjs (1)
7-12: LGTM! Annotations correctly reflect destructive delete operation.The annotations are semantically correct:
destructiveHint: trueappropriately flags this delete operationopenWorldHint: truecorrectly indicates an external API callreadOnlyHint: falseproperly reflects state mutationcomponents/acuity_scheduling/actions/get-availability-times/get-availability-times.mjs (1)
7-12: LGTM! Annotations correctly reflect read-only query operation.The annotations accurately describe this retrieval action:
destructiveHint: falseandreadOnlyHint: trueproperly indicate a non-mutating read operationopenWorldHint: truecorrectly signals an external API callcomponents/acuity_scheduling/actions/get-products/get-products.mjs (1)
7-12: LGTM! Annotations align with read-only list operation.Annotations are consistent with other read-only actions in this PR and correctly reflect the non-mutating nature of listing products.
components/acuity_scheduling/actions/book-appointment/book-appointment.mjs (1)
8-13: LGTM! Annotations correctly distinguish create from delete operations.The annotations appropriately reflect a non-destructive write operation:
destructiveHint: falsecorrectly distinguishes CREATE (adds data) from DELETE (removes data, marked as destructive)readOnlyHint: falseproperly indicates state mutationopenWorldHint: truesignals external API interactioncomponents/ably/actions/publish-push-notification/publish-push-notification.mjs (1)
5-10: LGTM! Annotations correctly reflect non-destructive publish operation.The annotations are semantically appropriate for a message publishing action, consistent with other non-destructive write operations in this PR.
components/_2markdown/actions/url-to-markdown/url-to-markdown.mjs (1)
7-12: LGTM! Annotations align with action semantics.The version bump and annotations are appropriate.
openWorldHint: truecorrectly reflects that this action fetches external URLs, anddestructiveHint: falseis accurate since the action doesn't modify or delete user data.components/add_to_calendar_pro/actions/get-event/get-event.mjs (1)
7-12: LGTM! Annotations correctly reflect read-only semantics.The version bump and annotations are accurate.
readOnlyHint: trueis particularly appropriate for this GET operation that only retrieves event data without modification.components/add_to_calendar_pro/actions/delete-event/delete-event.mjs (1)
7-12: LGTM! Annotations correctly reflect destructive operation.The version bump and annotations are accurate.
destructiveHint: trueis particularly appropriate since this action explicitly deletes event data.components/abyssale/actions/generate-image/generate-image.mjs (1)
8-13: LGTM! Annotations align with image generation semantics.The version bump and annotations are appropriate.
openWorldHint: truecorrectly reflects external API calls to Abyssale's image generation service, anddestructiveHint: falseis accurate since the action creates content rather than deleting it.components/abyssale/actions/generate-multi-format-images-videos/generate-multi-format-images-videos.mjs (1)
8-13: LGTM! Annotations consistent with content generation semantics.The version bump and annotations are appropriate and consistent with the sibling
generate-imageaction. All three hints accurately reflect that this action creates content via external API without destructive operations.components/_2markdown/actions/html-to-markdown/html-to-markdown.mjs (1)
7-12: LGTM! Annotations are semantically correct.The annotations accurately reflect the action's behavior:
readOnlyHint: trueis appropriate since this performs a conversion operation via external API without modifying any persistent stateopenWorldHint: truecorrectly indicates external API dependencydestructiveHint: falseis correct as no data is destroyedcomponents/_8x8_connect/actions/get-log-result/get-log-result.mjs (1)
7-12: LGTM! Annotations align with read-only behavior.The annotations correctly represent this action's characteristics:
readOnlyHint: trueis appropriate for a status check operationopenWorldHint: truecorrectly reflects the external API dependency on 8x8 ConnectdestructiveHint: falseis accuratecomponents/acuity_scheduling/actions/add-blocked-off-time/add-blocked-off-time.mjs (1)
7-12: LGTM! Annotations correctly reflect write operation.The annotations are semantically accurate:
readOnlyHint: falseis correct since this action modifies the schedule by creating blocked time slotsopenWorldHint: trueappropriately indicates external API interactiondestructiveHint: falseis accurate as blocking time is additive, not destructivecomponents/accuweather/actions/get-current-conditions/get-current-conditions.mjs (1)
7-12: LGTM! Annotations are appropriate for read operation.The annotations accurately describe this read-only weather query action:
readOnlyHint: truecorrectly indicates no state modificationopenWorldHint: trueproperly reflects the AccuWeather API dependencydestructiveHint: falseis accuratecomponents/activecampaign/actions/create-contact/create-contact.mjs (1)
9-14: LGTM! Annotations correctly reflect create operation.The annotations are semantically correct for this action:
readOnlyHint: falseis appropriate since creating a contact modifies external stateopenWorldHint: truecorrectly indicates ActiveCampaign API interactiondestructiveHint: falseis accurate as contact creation is additivecomponents/add_to_calendar_pro/actions/create-landing-page-template/create-landing-page-template.mjs (1)
7-12: Metadata bump and annotations look consistent — version increment matches the newly added MCP annotation hints, and nothing else in the action changes.components/_2chat/actions/send-whatsapp-text-message/send-whatsapp-text-message.mjs (1)
7-12: Annotation additions make sense alongside the version bump — destructive/open-world/read-only flags align with the action behavior, so this metadata update looks good.
| version: "0.0.2", | ||
| annotations: { | ||
| destructiveHint: false, | ||
| openWorldHint: true, | ||
| readOnlyHint: true, | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Verify readOnlyHint: true is accurate.
The action compresses a PDF and returns a URL to the compressed file (getAsUrl: true on line 34), which suggests it creates/stores a new resource. Confirm whether readOnlyHint: true correctly reflects the operation, or if it should be false since compression typically produces a new artifact.
🏁 Script executed:
#!/bin/bash
# Description: Check if other PDF/compression actions use readOnlyHint: true or false
# Expected: Find similar compress/transform actions and their readOnlyHint values
rg -n -C3 --type=js 'key:.*compress.*pdf|name:.*[Cc]ompress.*PDF' -A20 | rg 'readOnlyHint'Length of output: 0
🏁 Script executed:
#!/bin/bash
# Find all occurrences of readOnlyHint in the codebase
rg -n 'readOnlyHint' -C2
# Find all actions using getAsUrl and show context for annotations
rg -n -C5 'getAsUrl'Length of output: 66159
Set readOnlyHint to false for compress-pdf action
Since this action generates and returns a new compressed PDF URL (getAsUrl: true), it writes a new resource—update readOnlyHint in components/_0codekit/actions/compress-pdf/compress-pdf.mjs (lines 7–12) from true to false.
🤖 Prompt for AI Agents
In components/_0codekit/actions/compress-pdf/compress-pdf.mjs around lines 7 to
12, the action sets annotations.readOnlyHint to true despite generating and
returning a new compressed PDF URL; update annotations.readOnlyHint from true to
false to reflect that the action writes a new resource (ensure only that boolean
value is changed).
| version: "0.0.2", | ||
| annotations: { | ||
| destructiveHint: false, | ||
| openWorldHint: true, | ||
| readOnlyHint: false, | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Flip destructiveHint to true
This action places a live phone call via 46elks, which is a side-effecting operation in the real world. Marking it as non-destructive misleads users and any automation that relies on these hints to detect risky actions. Please set destructiveHint: true to match the behavior.
🤖 Prompt for AI Agents
In components/_46elks/actions/make-phone-call/make-phone-call.mjs around lines 7
to 12, the annotations object incorrectly sets destructiveHint to false even
though this action places a live phone call; change destructiveHint: false to
destructiveHint: true so the hint accurately reflects the side-effecting nature
of the action, leaving the other annotation keys (openWorldHint, readOnlyHint)
unchanged.
| version: "0.0.2", | ||
| annotations: { | ||
| destructiveHint: false, | ||
| openWorldHint: true, | ||
| readOnlyHint: false, | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creating emails isn’t read-only
This action persists a new email draft in 4DEM, so it definitely mutates external state. With destructiveHint: false, users lose the warning that they’re writing data. Please set destructiveHint to true.
🤖 Prompt for AI Agents
In components/_4dem/actions/create-email/create-email.mjs around lines 7 to 12,
the action sets destructiveHint: false even though it creates/persists a new
email draft; change destructiveHint to true to indicate the action mutates
external state. Update the annotations block so destructiveHint: true is set
(leave other hints as-is) and ensure any tests or documentation reflecting
destructive behavior are adjusted accordingly.
| annotations: { | ||
| destructiveHint: false, | ||
| openWorldHint: true, | ||
| readOnlyHint: false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Set destructiveHint to true for create operation.
This action invokes accelo.createProspect, which writes a new record to Accelo. Labeling it as non-destructive misleads consumers about side effects and suppresses the appropriate safety cues. Please mark it as destructive.
- destructiveHint: false,
+ destructiveHint: true,📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| annotations: { | |
| destructiveHint: false, | |
| openWorldHint: true, | |
| readOnlyHint: false, | |
| annotations: { | |
| destructiveHint: true, | |
| openWorldHint: true, | |
| readOnlyHint: false, |
🤖 Prompt for AI Agents
In components/accelo/actions/create-prospect/create-prospect.mjs around lines 6
to 9, the action's annotations incorrectly set destructiveHint: false for a
create operation; change destructiveHint to true so the annotation reads
destructiveHint: true (keep openWorldHint and readOnlyHint as appropriate) to
correctly indicate this action performs a write and surface safety cues to
consumers.
| version: "0.0.2", | ||
| annotations: { | ||
| destructiveHint: false, | ||
| openWorldHint: true, | ||
| readOnlyHint: false, | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix destructiveHint to reflect state changes
The action mutates remote state (subscribing a customer), yet destructiveHint is set to false while readOnlyHint is already false. This mismatch undercuts the annotation’s warning semantics and could mislead users about the effect of running the action. Please align the flag with the action’s behavior.
version: "0.0.2",
annotations: {
- destructiveHint: false,
+ destructiveHint: true,
openWorldHint: true,
readOnlyHint: false,
},📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| version: "0.0.2", | |
| annotations: { | |
| destructiveHint: false, | |
| openWorldHint: true, | |
| readOnlyHint: false, | |
| }, | |
| version: "0.0.2", | |
| annotations: { | |
| destructiveHint: true, | |
| openWorldHint: true, | |
| readOnlyHint: false, | |
| }, |
🤖 Prompt for AI Agents
In
components/acelle_mail/actions/subscribe-customer-to-plan/subscribe-customer-to-plan.mjs
around lines 5 to 10, the annotations declare destructiveHint: false despite the
action mutating remote state by subscribing a customer; update the annotation to
reflect that this action is destructive by changing destructiveHint to true
(leave readOnlyHint as false and keep openWorldHint as appropriate) so the
metadata accurately signals state-changing behavior.
| export default { | ||
| key: "acuity_scheduling-get-appointment-types", | ||
| name: "Get Appointment Types", | ||
| description: "Return a list ofappointment types. [See the documentation](https://developers.acuityscheduling.com/reference/appointment-types)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor typo in description (pre-existing).
Line 6 has a typo: "ofappointment" should be "of appointment". This is a pre-existing issue not introduced by this PR, but could be fixed in a future change.
🤖 Prompt for AI Agents
components/acuity_scheduling/actions/get-appointment-types/get-appointment-types.mjs
around line 6: the description string contains a typo "ofappointment" — update
it to "of appointment" so the description reads "Return a list of appointment
types. [See the
documentation](https://developers.acuityscheduling.com/reference/appointment-types)".
Ensure spacing is correct and run any linting/string checks after the change.
| version: "0.0.2", | ||
| annotations: { | ||
| destructiveHint: false, | ||
| openWorldHint: true, | ||
| readOnlyHint: false, | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mark the subscription as destructive
Subscribing users to lists changes their state in AcyMailing (it writes data, triggers automations, sends welcome emails, etc.). Reporting this as non-destructive gives downstream tooling the wrong signal. Please flip destructiveHint to true.
🤖 Prompt for AI Agents
In components/acymailing/actions/subscribe-user/subscribe-user.mjs around lines
8 to 13, the action metadata marks the operation as non-destructive
(destructiveHint: false) but subscribing modifies user state and triggers
emails/automations; update the annotations to set destructiveHint: true so
downstream tooling correctly treats this as a destructive operation, keeping the
rest of the annotations unchanged.
Summary by CodeRabbit