Repository navigation
Commit 106310e
authored
feat(credentials): saved credentials for 17 more blocks, GitLab tokens, and keyless hardening (#9840)
* fix(credentials): accept scoped keys on save, isolate the retiring signing key, surface Databricks token errors
* improvement(credentials): report Databricks token failures in the shared service-account codes
* feat(credentials): saved credentials and credential-only versions for 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.
* fix(credentials): close batch-2 audit findings
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.
* improvement(credentials): put the credential picker under the operation 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.
* fix(credentials): harden keyless sign-in for AWS and Databricks
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.
* feat(credentials): saved GitLab token credential and credential-only 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).
* fix(credentials): close final-audit findings on keyless wording, issuer 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.
* fix(credentials): keep GitLab personal tokens available after GitLab 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.
* chore(credentials): cleanup pass on the batch-2 changes
* chore(credentials): shrink the unused-exports baseline
* fix(credentials): type the GitLab check's secure-fetch response
* fix(credentials): address review round 1
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.
* fix(credentials): close the PR-wide audit findings
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.
* improvement(credentials): simplify and clean up the review-round changes
* fix(credentials): address review round 2
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.1 parent b68b2d9 commit 106310e
499 files changed
Lines changed: 3575 additions & 891 deletions
File tree
- apps
- docs
- components/ui
- content/docs
- integrations
- platform/self-hosting
- sim
- app/workspace/[workspaceId]/integrations/[block]
- blocks
- blocks
- lib
- block-metadata
- credentials
- token-service-accounts
- validators
- workload-identity
- integrations
- oauth
- permission-groups
- serializer
- tools
- ashby
- calendly
- checkr
- fathom
- generated
- gitlab
- grain
- granola
- lemlist
- pagerduty
- resend
- rootly
- sentry
- stripe
- telegram
- typeform
- vercel
- whatsapp
- packages/deployment-config/src
- scripts
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
| 358 | + | |
358 | 359 | | |
359 | 360 | | |
360 | 361 | | |
| |||
374 | 375 | | |
375 | 376 | | |
376 | 377 | | |
| 378 | + | |
377 | 379 | | |
378 | 380 | | |
379 | 381 | | |
| 382 | + | |
380 | 383 | | |
381 | 384 | | |
382 | 385 | | |
| |||
449 | 452 | | |
450 | 453 | | |
451 | 454 | | |
| 455 | + | |
452 | 456 | | |
453 | 457 | | |
454 | 458 | | |
| |||
472 | 476 | | |
473 | 477 | | |
474 | 478 | | |
| 479 | + | |
475 | 480 | | |
476 | 481 | | |
477 | 482 | | |
| |||
503 | 508 | | |
504 | 509 | | |
505 | 510 | | |
| 511 | + | |
506 | 512 | | |
| 513 | + | |
507 | 514 | | |
508 | 515 | | |
509 | 516 | | |
| |||
558 | 565 | | |
559 | 566 | | |
560 | 567 | | |
| 568 | + | |
561 | 569 | | |
562 | 570 | | |
563 | 571 | | |
| |||
622 | 630 | | |
623 | 631 | | |
624 | 632 | | |
| 633 | + | |
625 | 634 | | |
626 | 635 | | |
627 | 636 | | |
| |||
663 | 672 | | |
664 | 673 | | |
665 | 674 | | |
| 675 | + | |
666 | 676 | | |
667 | 677 | | |
668 | 678 | | |
669 | 679 | | |
670 | 680 | | |
671 | 681 | | |
672 | 682 | | |
| 683 | + | |
673 | 684 | | |
674 | 685 | | |
675 | 686 | | |
| |||
688 | 699 | | |
689 | 700 | | |
690 | 701 | | |
| 702 | + | |
691 | 703 | | |
692 | 704 | | |
693 | 705 | | |
| |||
725 | 737 | | |
726 | 738 | | |
727 | 739 | | |
| 740 | + | |
728 | 741 | | |
729 | 742 | | |
730 | 743 | | |
| |||
737 | 750 | | |
738 | 751 | | |
739 | 752 | | |
| 753 | + | |
740 | 754 | | |
741 | 755 | | |
742 | 756 | | |
| |||
755 | 769 | | |
756 | 770 | | |
757 | 771 | | |
| 772 | + | |
758 | 773 | | |
759 | 774 | | |
760 | 775 | | |
761 | 776 | | |
762 | 777 | | |
763 | 778 | | |
| 779 | + | |
764 | 780 | | |
765 | 781 | | |
766 | 782 | | |
| |||
771 | 787 | | |
772 | 788 | | |
773 | 789 | | |
| 790 | + | |
774 | 791 | | |
775 | 792 | | |
776 | 793 | | |
| |||
0 commit comments