cloudflare / cloudflare/cloudflare-typescript
App-scoped `PolicyCreateParams` / `PolicyUpdateParams` missing fields
- Dominant language
- TypeScript
- Stars
- 814
- Forks
- 190
- Avg merge
- 1h 38m
- Merged PRs (30d)
- 2
Description
### Confirm this is a Typescript library issue and not an underlying Cloudflare API issue
- [x] This is an issue with the Typescript library
### Describe the bug
## App-scoped `PolicyCreateParams` / `PolicyUpdateParams` missing `name`, `decision`, `include`, `require` fields
The app-scoped policy endpoints (`POST /accounts/{account_id}/access/apps/{app_id}/policies` and `PUT .../{policy_id}`) accept `name`, `decision`, `include`, `require`, and `exclude` in the request body — inherited via the `access_app_policy_request` → `access_policy_req` → `access_base_policy_req` allOf chain in the OpenAPI spec.
However, the generated TypeScript types at `cloudflare/resources/zero-trust/access/applications/policies.d.ts` only include:
```typescript
export interface PolicyCreateParams {
account_id?: string;
zone_id?: string;
approval_groups?: Array<...>;
approval_required?: boolean;
isolation_required?: boolean;
precedence?: number;
purpose_justification_prompt?: string;
purpose_justification_required?: boolean;
session_duration?: string;
// name, decision, include, require, exclude are missing
}
```
The account-level policy types at `cloudflare/resources/zero-trust/access/policies.d.ts` correctly include all fields:
```typescript
export interface PolicyCreateParams {
account_id: string;
decision: DecisionParam; // ✓
include: Array; // ✓
name: string; // ✓
require?: Array; // ✓
exclude?: Array; // ✓
// ...
}
```
It looks like the code generator isn't resolving the `allOf` inheritance chain for the app-scoped variant.
---
This report generated by Claude
### To Reproduce
1. Try to use all parameters that are supported
2. Get Type Error
### Code snippets
```Typescript
```
### OS
Windows
### Runtime version
Bun 1.3.9
### Library version
v5.2.0
Contributor guide
Assessment
This issue has not been assessed yet.