Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.12.0"
".": "0.13.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 175
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-8f6ee769411e2d21a2f437d49eb2f16880fcef0db52ac1985f2a3963af45f6a0.yml
openapi_spec_hash: 28f2d9d7e36f1f0ecd13052054449249
config_hash: 3f1278a7a2a9285f57e81f148743e99e
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-1923b5d3865532d64d80c22746aa63991bbf227cf1cbefc8cdb14a374c4c5b89.yml
openapi_spec_hash: 304200ebfa8622f5f6846895528f06e3
config_hash: 469d30a2d44895c8c53a5aac370a56f1
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## 0.13.0 (2026-02-18)

Full Changelog: [v0.12.0...v0.13.0](https://github.com/gitpod-io/gitpod-sdk-typescript/compare/v0.12.0...v0.13.0)

### Features

* **api:** add auditOnly field to Veto.Exec and ExecutableDenyList ([08f9dd2](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/08f9dd245a02ef2d831521a86cf72bbb5bdab963))
* **api:** add runner_side_agent capability to runners ([1451c46](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/1451c466af8c2f1a3b098090a98b958d94eb9024))
* **api:** add WARMPOOL_ADMIN/WARMPOOL_VIEWER to ResourceRole ([04969a3](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/04969a38173ca22010780ab4b41b0bb8a4414eb7))


### Bug Fixes

* **types:** rename ExecutableDenyList to VetoExecPolicy in organization policies ([0ff5595](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/0ff5595a54b7f2cf3a16a49957686b4ed30891c5))


### Chores

* **internal/client:** fix form-urlencoded requests ([fd12303](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/fd12303e87a280fda1e2f8d84bf328b941393405))

## 0.12.0 (2026-02-11)

Full Changelog: [v0.11.0...v0.12.0](https://github.com/gitpod-io/gitpod-sdk-typescript/compare/v0.11.0...v0.12.0)
Expand Down
3 changes: 2 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -428,9 +428,10 @@ Types:

- <code><a href="./src/resources/organizations/policies.ts">AgentPolicy</a></code>
- <code><a href="./src/resources/organizations/policies.ts">CrowdStrikeConfig</a></code>
- <code><a href="./src/resources/organizations/policies.ts">ExecutableDenyList</a></code>
- <code><a href="./src/resources/organizations/policies.ts">KernelControlsAction</a></code>
- <code><a href="./src/resources/organizations/policies.ts">OrganizationPolicies</a></code>
- <code><a href="./src/resources/organizations/policies.ts">SecurityAgentPolicy</a></code>
- <code><a href="./src/resources/organizations/policies.ts">VetoExecPolicy</a></code>
- <code><a href="./src/resources/organizations/policies.ts">PolicyRetrieveResponse</a></code>
- <code><a href="./src/resources/organizations/policies.ts">PolicyUpdateResponse</a></code>

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gitpod/sdk",
"version": "0.12.0",
"version": "0.13.0",
"description": "The official TypeScript library for the Gitpod API",
"author": "Gitpod <dev-feedback@gitpod.com>",
"types": "dist/index.d.ts",
Expand Down
8 changes: 8 additions & 0 deletions src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1076,6 +1076,14 @@ export class Gitpod {
(Symbol.iterator in body && 'next' in body && typeof body.next === 'function'))
) {
return { bodyHeaders: undefined, body: Shims.ReadableStreamFrom(body as AsyncIterable<Uint8Array>) };
} else if (
typeof body === 'object' &&
headers.values.get('content-type') === 'application/x-www-form-urlencoded'
) {
return {
bodyHeaders: { 'content-type': 'application/x-www-form-urlencoded' },
body: this.stringifyQuery(body as Record<string, unknown>),
};
} else {
return this.#encoder({ body, headers });
}
Expand Down
6 changes: 6 additions & 0 deletions src/resources/environments/environments.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import * as EnvironmentsAPI from './environments';
import * as Shared from '../shared';
import * as ClassesAPI from './classes';
import { ClassListParams, Classes } from './classes';
import * as PoliciesAPI from '../organizations/policies';
import * as ProjectsAPI from '../projects/projects';
import * as RunnersAPI from '../runners/runners';
import * as AutomationsAPI from './automations/automations';
Expand Down Expand Up @@ -1517,6 +1518,11 @@ export namespace Veto {
* exec controls executable blocking
*/
export interface Exec {
/**
* action specifies what action kernel-level controls take on policy violations
*/
action?: PoliciesAPI.KernelControlsAction;

/**
* denylist is the list of executable paths or names to block
*/
Expand Down
3 changes: 2 additions & 1 deletion src/resources/organizations/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,10 @@ export {
Policies,
type AgentPolicy,
type CrowdStrikeConfig,
type ExecutableDenyList,
type KernelControlsAction,
type OrganizationPolicies,
type SecurityAgentPolicy,
type VetoExecPolicy,
type PolicyRetrieveResponse,
type PolicyUpdateResponse,
type PolicyRetrieveParams,
Expand Down
6 changes: 4 additions & 2 deletions src/resources/organizations/organizations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,15 @@ import * as PoliciesAPI from './policies';
import {
AgentPolicy,
CrowdStrikeConfig,
ExecutableDenyList,
KernelControlsAction,
OrganizationPolicies,
Policies,
PolicyRetrieveParams,
PolicyRetrieveResponse,
PolicyUpdateParams,
PolicyUpdateResponse,
SecurityAgentPolicy,
VetoExecPolicy,
} from './policies';
import * as ScimConfigurationsAPI from './scim-configurations';
import {
Expand Down Expand Up @@ -1048,9 +1049,10 @@ export declare namespace Organizations {
Policies as Policies,
type AgentPolicy as AgentPolicy,
type CrowdStrikeConfig as CrowdStrikeConfig,
type ExecutableDenyList as ExecutableDenyList,
type KernelControlsAction as KernelControlsAction,
type OrganizationPolicies as OrganizationPolicies,
type SecurityAgentPolicy as SecurityAgentPolicy,
type VetoExecPolicy as VetoExecPolicy,
type PolicyRetrieveResponse as PolicyRetrieveResponse,
type PolicyUpdateResponse as PolicyUpdateResponse,
type PolicyRetrieveParams as PolicyRetrieveParams,
Expand Down
52 changes: 32 additions & 20 deletions src/resources/organizations/policies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,20 +152,12 @@ export interface CrowdStrikeConfig {
}

/**
* ExecutableDenyList contains executables that are blocked from execution in
* environments.
* KernelControlsAction defines how a kernel-level policy violation is handled.
*/
export interface ExecutableDenyList {
/**
* enabled controls whether executable blocking is active
*/
enabled?: boolean;

/**
* executables is the list of executable paths or names to block
*/
executables?: Array<string>;
}
export type KernelControlsAction =
| 'KERNEL_CONTROLS_ACTION_UNSPECIFIED'
| 'KERNEL_CONTROLS_ACTION_BLOCK'
| 'KERNEL_CONTROLS_ACTION_AUDIT';

export interface OrganizationPolicies {
/**
Expand Down Expand Up @@ -261,10 +253,9 @@ export interface OrganizationPolicies {
editorVersionRestrictions?: { [key: string]: OrganizationPolicies.EditorVersionRestrictions };

/**
* executable_deny_list contains executables that are blocked from execution in
* environments.
* executable_deny_list contains the veto exec policy for environments.
*/
executableDenyList?: ExecutableDenyList;
executableDenyList?: VetoExecPolicy;

/**
* maximum_environment_lifetime controls for how long environments are allowed to
Expand Down Expand Up @@ -314,6 +305,27 @@ export interface SecurityAgentPolicy {
crowdstrike?: CrowdStrikeConfig;
}

/**
* VetoExecPolicy defines the policy for blocking or auditing executable execution
* in environments.
*/
export interface VetoExecPolicy {
/**
* action specifies what action kernel-level controls take on policy violations
*/
action?: KernelControlsAction;

/**
* enabled controls whether executable blocking is active
*/
enabled?: boolean;

/**
* executables is the list of executable paths or names to block
*/
executables?: Array<string>;
}

export interface PolicyRetrieveResponse {
policies: OrganizationPolicies;
}
Expand Down Expand Up @@ -376,10 +388,9 @@ export interface PolicyUpdateParams {
editorVersionRestrictions?: { [key: string]: PolicyUpdateParams.EditorVersionRestrictions };

/**
* executable_deny_list contains executables that are blocked from execution in
* environments.
* executable_deny_list contains the veto exec policy for environments.
*/
executableDenyList?: ExecutableDenyList | null;
executableDenyList?: VetoExecPolicy | null;

/**
* maximum_environment_lifetime controls for how long environments are allowed to
Expand Down Expand Up @@ -535,9 +546,10 @@ export declare namespace Policies {
export {
type AgentPolicy as AgentPolicy,
type CrowdStrikeConfig as CrowdStrikeConfig,
type ExecutableDenyList as ExecutableDenyList,
type KernelControlsAction as KernelControlsAction,
type OrganizationPolicies as OrganizationPolicies,
type SecurityAgentPolicy as SecurityAgentPolicy,
type VetoExecPolicy as VetoExecPolicy,
type PolicyRetrieveResponse as PolicyRetrieveResponse,
type PolicyUpdateResponse as PolicyUpdateResponse,
type PolicyRetrieveParams as PolicyRetrieveParams,
Expand Down
3 changes: 2 additions & 1 deletion src/resources/runners/runners.ts
Original file line number Diff line number Diff line change
Expand Up @@ -622,7 +622,8 @@ export type RunnerCapability =
| 'RUNNER_CAPABILITY_ENVIRONMENT_SNAPSHOT'
| 'RUNNER_CAPABILITY_PREBUILDS_BEFORE_SNAPSHOT_TRIGGER'
| 'RUNNER_CAPABILITY_LIST_SCM_ORGANIZATIONS'
| 'RUNNER_CAPABILITY_CHECK_REPOSITORY_ACCESS';
| 'RUNNER_CAPABILITY_CHECK_REPOSITORY_ACCESS'
| 'RUNNER_CAPABILITY_RUNNER_SIDE_AGENT';

export interface RunnerConfiguration {
/**
Expand Down
4 changes: 3 additions & 1 deletion src/resources/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,9 @@ export type ResourceRole =
| 'RESOURCE_ROLE_SNAPSHOT_RUNNER'
| 'RESOURCE_ROLE_WEBHOOK_ADMIN'
| 'RESOURCE_ROLE_WEBHOOK_VIEWER'
| 'RESOURCE_ROLE_WARMPOOL_RUNNER';
| 'RESOURCE_ROLE_WARMPOOL_RUNNER'
| 'RESOURCE_ROLE_WARMPOOL_ADMIN'
| 'RESOURCE_ROLE_WARMPOOL_VIEWER';

export type ResourceType =
| 'RESOURCE_TYPE_UNSPECIFIED'
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '0.12.0'; // x-release-please-version
export const VERSION = '0.13.0'; // x-release-please-version
6 changes: 5 additions & 1 deletion tests/api-resources/organizations/policies.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,11 @@ describe('resource policies', () => {
defaultEnvironmentImage: 'defaultEnvironmentImage',
deleteArchivedEnvironmentsAfter: '+9125115.360s',
editorVersionRestrictions: { foo: { allowedVersions: ['string'] } },
executableDenyList: { enabled: true, executables: ['string'] },
executableDenyList: {
action: 'KERNEL_CONTROLS_ACTION_UNSPECIFIED',
enabled: true,
executables: ['string'],
},
maximumEnvironmentLifetime: '+9125115.360s',
maximumEnvironmentsPerUser: '20',
maximumEnvironmentTimeout: '3600s',
Expand Down