From b50d7098e0550dcdd8b26260f75ddd60de410012 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 19:03:57 +0000 Subject: [PATCH 1/6] ci: pin GitHub Actions to commit SHAs Pin all GitHub Actions referenced in generated workflows (both first-party `actions/*` and third-party) to immutable commit SHAs. Updating pinned actions is now a deliberate codegen-side bump rather than implicit on every workflow run. --- .github/workflows/ci.yml | 14 +++++++------- .github/workflows/publish-pypi.yml | 4 ++-- .github/workflows/release-doctor.yml | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 92182d3..69d849f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,10 +21,10 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/keycard-api-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: version: '0.10.2' @@ -43,10 +43,10 @@ jobs: id-token: write runs-on: ${{ github.repository == 'stainless-sdks/keycard-api-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: version: '0.10.2' @@ -61,7 +61,7 @@ jobs: github.repository == 'stainless-sdks/keycard-api-python' && !startsWith(github.ref, 'refs/heads/stl/') id: github-oidc - uses: actions/github-script@v8 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 with: script: core.setOutput('github_token', await core.getIDToken()); @@ -81,10 +81,10 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/keycard-api-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: version: '0.10.2' diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index 38e459f..7de0ca0 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -14,10 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: version: '0.9.13' diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml index dcd9b97..bae7f6d 100644 --- a/.github/workflows/release-doctor.yml +++ b/.github/workflows/release-doctor.yml @@ -12,7 +12,7 @@ jobs: if: github.repository == 'keycardai/keycard-python' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next') steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check release environment run: | From 744a2afd2465cc5c67ee665636f89675d0913192 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 19:12:41 +0000 Subject: [PATCH 2/6] fix: housekeeping --- .stats.yml | 6 ++-- src/keycardai_api/resources/zones/zones.py | 22 ------------- src/keycardai_api/types/zone.py | 31 +++++++++++++------ src/keycardai_api/types/zone_create_params.py | 31 +++++++++++++------ src/keycardai_api/types/zone_update_params.py | 30 +++++++++++++----- tests/api_resources/test_zones.py | 20 +++++++++--- 6 files changed, 84 insertions(+), 56 deletions(-) diff --git a/.stats.yml b/.stats.yml index 9cf88bb..fce4838 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 106 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/keycard/keycard-api-d976147b1bc79d44e82107b943099bc750c9b7d101e91bf1ea53b91a6b74e8a6.yml -openapi_spec_hash: d2953fdcb3490866c4bef3ec7a8300bb -config_hash: 62b00ad8d94230c7c9b8ed142c7dcfc8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/keycard/keycard-api-e352f2d9cccdaf7adb243cfb5075939c650be691c90430f712c98b70fc435785.yml +openapi_spec_hash: 9101cf8d40bb32fa4585f72c5b90d425 +config_hash: b0ee2dc67cc490e45f8fe0acabd76206 diff --git a/src/keycardai_api/resources/zones/zones.py b/src/keycardai_api/resources/zones/zones.py index ea5d152..d9b3fae 100644 --- a/src/keycardai_api/resources/zones/zones.py +++ b/src/keycardai_api/resources/zones/zones.py @@ -232,7 +232,6 @@ def create( default_mcp_gateway_application: bool | Omit = omit, description: Optional[str] | Omit = omit, encryption_key: EncryptionKeyAwsKmsConfigParam | Omit = omit, - login_flow: Literal["default", "identifier_first"] | Omit = omit, protocols: zone_create_params.Protocols | Omit = omit, requires_invitation: bool | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -259,9 +258,6 @@ def create( encryption_key: AWS KMS configuration for zone encryption. When not specified, the default Keycard Cloud encryption key will be used. - login_flow: Login flow style for the zone. 'default' uses standard authentication, - 'identifier_first' uses identifier-based provider routing. - protocols: Protocol configuration for zone creation requires_invitation: Whether the zone requires an invitation for email/password registration, only @@ -283,7 +279,6 @@ def create( "default_mcp_gateway_application": default_mcp_gateway_application, "description": description, "encryption_key": encryption_key, - "login_flow": login_flow, "protocols": protocols, "requires_invitation": requires_invitation, }, @@ -341,7 +336,6 @@ def update( default_resource_id: Optional[str] | Omit = omit, description: Optional[str] | Omit = omit, encryption_key: Optional[zone_update_params.EncryptionKey] | Omit = omit, - login_flow: Optional[Literal["default", "identifier_first"]] | Omit = omit, name: str | Omit = omit, protocols: Optional[zone_update_params.Protocols] | Omit = omit, requires_invitation: bool | Omit = omit, @@ -369,10 +363,6 @@ def update( encryption_key: AWS KMS configuration for zone encryption update (set to null to remove customer-managed key and revert to default) - login_flow: Login flow style for the zone. 'default' uses standard authentication, - 'identifier_first' uses identifier-based provider routing. Set to null to reset - to 'default'. - name: Human-readable name. Must not contain HTML tags (e.g. `