Skip to content

Updated platform embedded wallet confg#475

Merged
carsonp6 merged 1 commit into
mainfrom
05-18-updated_platform_embedded_wallet_confg
May 18, 2026
Merged

Updated platform embedded wallet confg#475
carsonp6 merged 1 commit into
mainfrom
05-18-updated_platform_embedded_wallet_confg

Conversation

@carsonp6
Copy link
Copy Markdown
Contributor

@carsonp6 carsonp6 commented May 18, 2026

No description provided.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
grid-flow-builder Ready Ready Preview, Comment May 18, 2026 11:06pm

Request Review

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@carsonp6 carsonp6 marked this pull request as ready for review May 18, 2026 21:43
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 18, 2026

✱ Stainless preview builds for grid

This PR will update the grid SDKs with the following commit messages.

cli

feat(api): add embedded-wallet-config parameter to config update method

csharp

feat(api): add embedded_wallet_config field to config update params and response

go

feat(api): add embedded_wallet_config to config

kotlin

feat(api): add embeddedWalletConfig parameter to config update

openapi

feat(api): add embeddedWalletConfig to config update method and response

php

feat(api): add embeddedWalletConfig parameter and field to config

python

feat(api): add embedded_wallet_config to config update method and response

ruby

feat: Updated platform embedded wallet confg

typescript

feat(api): add embeddedWalletConfig parameter and field to config
⚠️ grid-openapi studio · code

Your SDK build had at least one warning diagnostic.
generate ✅

⚠️ grid-ruby studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ⚠️build ✅lint ❗test ✅

⚠️ grid-go studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ❗build ✅lint ❗test ❗

go get github.com/stainless-sdks/grid-go@a731b39259a4d39e12d1c0a63fc7233b6b16a34c
⚠️ grid-kotlin studio · code

Your SDK build had at least one warning diagnostic.
generate ✅build ✅lint ✅test ✅

⚠️ grid-python studio · code

Your SDK build had at least one warning diagnostic.
generate ✅build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/3189861e1fa2d47e3e597d28a1cee708a439e132/grid-0.0.1-py3-none-any.whl
⚠️ grid-csharp studio · code

Your SDK build had a failure in the build CI job, which is a regression from the base state.
generate ❗build ❗lint ❗test ❗

⚠️ grid-typescript studio · code

Your SDK build had a failure in the build CI job, which is a regression from the base state.
generate ✅build ❗lint ❗test ❗

⚠️ grid-php studio · code

Your SDK build had at least one "error" diagnostic.
generate ❗lint ✅test ✅

⚠️ grid-cli studio · code

Your SDK build had a failure in the build CI job, which is a regression from the base state.
generate ⚠️build ❗lint ❗test ❗


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-05-18 23:20:26 UTC

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 18, 2026

Greptile Summary

This PR introduces EmbeddedWalletConfig — a new schema controlling branding and OTP behaviour for email-based embedded-wallet authentication — and wires it into both the PlatformConfig response and PlatformConfigUpdateRequest body. All feedback from the previous review round (email format hints, URI format on logoUrl, otpLength minimum raised to 4, expirationSeconds capped at 86400) has been incorporated.

  • New EmbeddedWalletConfig schema (openapi/components/schemas/config/EmbeddedWalletConfig.yaml): defines appName, otpLength (4–12), alphanumeric, expirationSeconds (1–86400), sender email/name fields, and logoUrl, all with appropriate format hints and length constraints.
  • PATCH semantics clarified: the description on embeddedWalletConfig in PlatformConfigUpdateRequest states that omitted nested fields are left unchanged, resolving the previously noted contradiction.
  • Bundled specs updated: both openapi.yaml and mintlify/openapi.yaml are kept in sync with the source component YAML files.

Confidence Score: 5/5

Safe to merge; changes are additive OpenAPI schema additions with no breaking changes to existing fields.

All changes are additive — a new optional schema and new optional fields on existing schemas. The bundled YAML files are consistent with the source components. Previous review concerns have been fully addressed, leaving only a minor documentation gap where appName's conditional required constraint cannot be expressed in JSON Schema and is documented in prose instead.

No files require special attention; EmbeddedWalletConfig.yaml has one open documentation gap around the conditional appName requirement on first create.

Important Files Changed

Filename Overview
openapi/components/schemas/config/EmbeddedWalletConfig.yaml New schema defining per-platform embedded-wallet branding/OTP config; previous review feedback (format hints, otpLength minimum, expirationSeconds maximum) has been addressed, but appName's conditional required constraint is expressed only in prose.
openapi/components/schemas/config/PlatformConfigUpdateRequest.yaml Adds embeddedWalletConfig to the PATCH request body; description correctly describes partial-update semantics (fields omitted are left unchanged).
openapi/components/schemas/config/PlatformConfig.yaml Adds optional embeddedWalletConfig field to the GET response schema; correctly uses $ref with a response-specific description override.
openapi/paths/platform/config.yaml Extends the PATCH example to include embeddedWalletConfig; example is well-formed and consistent with the schema.
openapi.yaml Bundled openapi.yaml updated in sync with source component YAML files; EmbeddedWalletConfig schema and all referencing fields are consistent.
mintlify/openapi.yaml Mintlify-specific bundled spec updated in sync with the main openapi.yaml; no divergence observed.

Sequence Diagram

sequenceDiagram
    participant Client
    participant API as PATCH /platform/config
    participant Store as Platform Config Store

    Client->>API: PATCH embeddedWalletConfig fields
    API->>Store: Does embeddedWalletConfig exist?
    alt First-time create
        Store-->>API: No
        Note over API: appName required (server-side only)
        API->>Store: Create EmbeddedWalletConfig
    else Subsequent update
        Store-->>API: Yes
        Note over API: Omitted fields left unchanged
        API->>Store: Patch EmbeddedWalletConfig
    end
    Store-->>API: Updated PlatformConfig
    API-->>Client: 200 PlatformConfig with embeddedWalletConfig
Loading

Fix All in Claude Code

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
openapi/components/schemas/config/EmbeddedWalletConfig.yaml:7-16
**`appName` conditional requirement not enforced by the schema**

The description states "`appName` is required when creating the configuration for the first time," but `EmbeddedWalletConfig` has no `required` array anywhere. SDK generators and OpenAPI validators will treat `appName` as fully optional, so a client could send `{"embeddedWalletConfig": {}}` on first create, pass schema validation cleanly, and only hit a server error at runtime. Since the constraint depends on server-side state (whether the config already exists) it can't be expressed with a simple `required` list — but if you have separate create/update code paths, consider a dedicated create-only request schema that does mark `appName` as required.

Reviews (4): Last reviewed commit: "Updated platform embedded wallet confg" | Re-trigger Greptile

Comment thread openapi/components/schemas/config/EmbeddedWalletConfig.yaml
Comment thread openapi/components/schemas/config/EmbeddedWalletConfig.yaml
Comment thread openapi/components/schemas/config/EmbeddedWalletConfig.yaml
@carsonp6 carsonp6 force-pushed the 05-18-updated_platform_embedded_wallet_confg branch from 9c0165d to e3c4efa Compare May 18, 2026 22:04
@carsonp6
Copy link
Copy Markdown
Contributor Author

@greptileai

Comment thread openapi/components/schemas/config/EmbeddedWalletConfig.yaml
@carsonp6 carsonp6 force-pushed the 05-18-updated_platform_embedded_wallet_confg branch from e3c4efa to ada6eb6 Compare May 18, 2026 22:12
@carsonp6 carsonp6 force-pushed the 05-18-updated_platform_embedded_wallet_confg branch from ada6eb6 to f8762b1 Compare May 18, 2026 22:14
@carsonp6
Copy link
Copy Markdown
Contributor Author

@greptileai

Comment thread openapi/components/schemas/config/PlatformConfigUpdateRequest.yaml
@carsonp6
Copy link
Copy Markdown
Contributor Author

@greptile review again

behavior for the email sent when a customer authenticates with an
EMAIL_OTP credential. Omitted fields fall back to platform defaults.
When creating the configuration for the first time, `appName` is required.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does this mean when we create the platform on signup?

@carsonp6 carsonp6 force-pushed the 05-18-updated_platform_embedded_wallet_confg branch from f8762b1 to c6b1d0b Compare May 18, 2026 23:06
@carsonp6 carsonp6 merged commit cb87fa2 into main May 18, 2026
8 checks passed
@carsonp6 carsonp6 deleted the 05-18-updated_platform_embedded_wallet_confg branch May 18, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants