Repository navigation
feat(credentials): saved credentials for 17 more blocks, GitLab tokens, and keyless hardening - #9840
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
[High impact] The PR appears safe to merge; no new actionable issues were established. SummaryAdds saved credentials and credential-only versions for 17 integrations, including host-bound GitLab access tokens.
|
There was a problem hiding this comment.
1 issue found across 499 files
Confidence score: 4/5
icon-mapping.tsdrops the icon for the still-registeredgrain_v2block, so legacy integration surfaces can show an undefined icon. Retain bothgrain_v2andgrain_v3entries.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/sim/lib/integrations/icon-mapping.ts">
<violation number="1" location="apps/sim/lib/integrations/icon-mapping.ts:459">
P3: This replacement drops the icon mapping for the still-registered `grain_v2` legacy block. Retain both `grain_v2` and `grain_v3` entries so legacy integration surfaces do not receive an undefined icon.</violation>
</file>
Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.
Turn on auto-fix | Re-trigger cubic
7bfa423 to
a11573a
Compare
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 499 files
Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.
Turn on auto-fix | Re-trigger cubic
…gning key, surface Databricks token errors
…red service-account codes
… 17 more token blocks Ashby, Calendly, Checkr, Fathom, Grain (v3), Granola, Lemlist, PagerDuty, Resend, Rootly, Semrush, Sentry, Stripe, Telegram, Typeform, Vercel and WhatsApp get a token credential with a vendor check on save and a credential-only successor. Legacy blocks only gain hideFromToolbar and a sunset; Telegram's params builder is extracted so the legacy block keeps its bot-token check.
Restricted keys that name their missing permission (Ashby, Resend, ElevenLabs) are accepted through a provesKey check; Typeform rejects every 403; WhatsApp keeps the phone number ID in its own path segment; Semrush is held back because its free balance check accepts unknown keys.
…on picker and share the provider-failure split Credential-only blocks now show their saved-credential picker right under the operation picker. Validators reuse the tools' header builders, one providerFailureCode decides caller vs provider errors (a Databricks token reply without a token is the provider misbehaving), and new providers sit in alphabetical order.
Saving a keyless Databricks connection now refuses a federation policy that trusts every Sim subject, as AWS roles already were. Keyless stays off when the issuer isn't https on the default port, and an unpinned issuer is logged. Docs cover a zero-downtime key rotation, the issuer requirements, finding the service principal ID, and troubleshooting.
…gitlab_v2 A GitLab credential holds a personal, project, or group access token and the instance host (gitlab.com or self-managed). Saving verifies the token's self-lookup at that exact host over the SSRF-guarded fetch with no redirects and requires an active token with an API scope; runs only reach the verified host. Successors may now state the picker's required rule when the replaced fields differ (GitLab's host was optional).
…er logs, and WhatsApp IDs The Databricks refusal names the real cause (a subject_claim other than sub), the issuer failure log points at the key or issuer, the AWS troubleshooting leads with the message users see, rotation steps cover background workers, and a WhatsApp phone number ID can no longer leave its path segment.
…moves to gitlab_v2 Personal-token visibility resolved the GitLab integration by the legacy block type, so hiding that block and renaming its catalog entry hid every existing personal token and refused new ones. It now resolves the current GitLab version, and the integration page lists personal tokens beside saved GitLab credentials.
GitLab's integration page offers personal tokens and saved access tokens side by side, a malformed GitLab token lookup reports the provider as unavailable, and the keyless issuer refuses a query string or fragment.
Docs describe credential-only Telegram and Typeform actions and the issuer's query/fragment refusal, PagerDuty and Grain copy name every token type that works, Granola accepts a key whose note scope an admin turned off, a GitLab reply that isn't a token lookup reports the provider, and Semrush's catalog entry matches staging exactly.
Ashby's restricted-key check reads the missing permission from object-shaped error entries too, and a GitLab host that doesn't resolve is reported as not found instead of the provider being unavailable.
a11573a to
841091c
Compare
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 499 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.
Turn on auto-fix | Re-trigger cubic
Summary
grain_v3), Granola, Lemlist, PagerDuty, Resend, Rootly, Sentry, Stripe, Telegram, Typeform, Vercel, WhatsApp, and GitLab.apiorread_api; runs only reach the verified host. Copilot's GitLab personal tokens keep working (visibility now resolves the current GitLab version), and the GitLab integration page offers personal tokens and saved access tokens side by side.subject_claimother thansub), as AWS roles already were.httpson the default port.Existing workflows don't change
hideFromToolbar: trueandsunset. Telegram's params builder is extracted and the legacy block still calls it with its original bot-token check (blocks/legacy-builders.test.ts).serializer/saved-credentials.test.tscovers every legacy block (still requires its inline secret) and every successor (runs on a credential alone, per operation).Validators
provesKeyoption: an error body that names a missing permission still proves the key. It's used for Ashby (missing_endpoint_permission), Resend (restricted_api_key) and ElevenLabs (missing_permissions).providerFailureCodenow decides caller error vs provider outage, shared by the validators,throwForProviderResponseand Databricks.Held back
200 "0"for unknown keys.Type of Change
Testing
bun run lint, type-check (pre-push),check-block-registry.ts origin/staging, and the docs, docs-manifest, deployment-config, block-successors, tool-metadata, integration-catalog, canvas-sentences, boundaries, client-boundary, application-graph, integration-access, tool-registry-boundary, react-query, test-pattern, comment, utils, explicit-any, file-names and source-conventions audits. Fullcheck:auditsand the full suite run in CI.Checklist
test-auditauthoring gate)