@onkernel/sdk 0.75.0 → 0.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/client.d.mts +4 -4
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +4 -4
  5. package/client.d.ts.map +1 -1
  6. package/client.js.map +1 -1
  7. package/client.mjs.map +1 -1
  8. package/package.json +1 -1
  9. package/resources/api-keys.d.mts +10 -2
  10. package/resources/api-keys.d.mts.map +1 -1
  11. package/resources/api-keys.d.ts +10 -2
  12. package/resources/api-keys.d.ts.map +1 -1
  13. package/resources/audit-logs.d.mts +2 -2
  14. package/resources/audit-logs.d.mts.map +1 -1
  15. package/resources/audit-logs.d.ts +2 -2
  16. package/resources/audit-logs.d.ts.map +1 -1
  17. package/resources/auth/connections.d.mts +30 -10
  18. package/resources/auth/connections.d.mts.map +1 -1
  19. package/resources/auth/connections.d.ts +30 -10
  20. package/resources/auth/connections.d.ts.map +1 -1
  21. package/resources/browser-pools.d.mts +56 -45
  22. package/resources/browser-pools.d.mts.map +1 -1
  23. package/resources/browser-pools.d.ts +56 -45
  24. package/resources/browser-pools.d.ts.map +1 -1
  25. package/resources/browsers/browsers.d.mts +34 -16
  26. package/resources/browsers/browsers.d.mts.map +1 -1
  27. package/resources/browsers/browsers.d.ts +34 -16
  28. package/resources/browsers/browsers.d.ts.map +1 -1
  29. package/resources/browsers/browsers.js.map +1 -1
  30. package/resources/browsers/browsers.mjs.map +1 -1
  31. package/resources/browsers/telemetry.d.mts +12 -9
  32. package/resources/browsers/telemetry.d.mts.map +1 -1
  33. package/resources/browsers/telemetry.d.ts +12 -9
  34. package/resources/browsers/telemetry.d.ts.map +1 -1
  35. package/resources/credential-providers.d.mts +2 -1
  36. package/resources/credential-providers.d.mts.map +1 -1
  37. package/resources/credential-providers.d.ts +2 -1
  38. package/resources/credential-providers.d.ts.map +1 -1
  39. package/resources/credentials.d.mts +18 -1
  40. package/resources/credentials.d.mts.map +1 -1
  41. package/resources/credentials.d.ts +18 -1
  42. package/resources/credentials.d.ts.map +1 -1
  43. package/resources/deployments.d.mts +112 -0
  44. package/resources/deployments.d.mts.map +1 -1
  45. package/resources/deployments.d.ts +112 -0
  46. package/resources/deployments.d.ts.map +1 -1
  47. package/resources/extensions.d.mts +9 -1
  48. package/resources/extensions.d.mts.map +1 -1
  49. package/resources/extensions.d.ts +9 -1
  50. package/resources/extensions.d.ts.map +1 -1
  51. package/resources/index.d.mts +2 -2
  52. package/resources/index.d.mts.map +1 -1
  53. package/resources/index.d.ts +2 -2
  54. package/resources/index.d.ts.map +1 -1
  55. package/resources/index.js.map +1 -1
  56. package/resources/index.mjs +1 -1
  57. package/resources/index.mjs.map +1 -1
  58. package/resources/organization/limits.d.mts +14 -13
  59. package/resources/organization/limits.d.mts.map +1 -1
  60. package/resources/organization/limits.d.ts +14 -13
  61. package/resources/organization/limits.d.ts.map +1 -1
  62. package/resources/organization/limits.js +4 -4
  63. package/resources/organization/limits.js.map +1 -1
  64. package/resources/organization/limits.mjs +4 -4
  65. package/resources/organization/limits.mjs.map +1 -1
  66. package/resources/profiles.d.mts +72 -3
  67. package/resources/profiles.d.mts.map +1 -1
  68. package/resources/profiles.d.ts +72 -3
  69. package/resources/profiles.d.ts.map +1 -1
  70. package/resources/profiles.js +54 -0
  71. package/resources/profiles.js.map +1 -1
  72. package/resources/profiles.mjs +54 -0
  73. package/resources/profiles.mjs.map +1 -1
  74. package/resources/projects/limits.d.mts +18 -12
  75. package/resources/projects/limits.d.mts.map +1 -1
  76. package/resources/projects/limits.d.ts +18 -12
  77. package/resources/projects/limits.d.ts.map +1 -1
  78. package/resources/projects/projects.d.mts +5 -0
  79. package/resources/projects/projects.d.mts.map +1 -1
  80. package/resources/projects/projects.d.ts +5 -0
  81. package/resources/projects/projects.d.ts.map +1 -1
  82. package/resources/projects/projects.js.map +1 -1
  83. package/resources/projects/projects.mjs.map +1 -1
  84. package/resources/proxies.d.mts +187 -2
  85. package/resources/proxies.d.mts.map +1 -1
  86. package/resources/proxies.d.ts +187 -2
  87. package/resources/proxies.d.ts.map +1 -1
  88. package/resources/proxies.js +46 -0
  89. package/resources/proxies.js.map +1 -1
  90. package/resources/proxies.mjs +46 -0
  91. package/resources/proxies.mjs.map +1 -1
  92. package/src/client.ts +6 -1
  93. package/src/resources/api-keys.ts +11 -2
  94. package/src/resources/audit-logs.ts +2 -2
  95. package/src/resources/auth/connections.ts +30 -10
  96. package/src/resources/browser-pools.ts +57 -45
  97. package/src/resources/browsers/browsers.ts +34 -16
  98. package/src/resources/browsers/telemetry.ts +12 -9
  99. package/src/resources/credential-providers.ts +2 -1
  100. package/src/resources/credentials.ts +21 -1
  101. package/src/resources/deployments.ts +132 -0
  102. package/src/resources/extensions.ts +10 -1
  103. package/src/resources/index.ts +8 -1
  104. package/src/resources/organization/limits.ts +14 -13
  105. package/src/resources/profiles.ts +85 -3
  106. package/src/resources/projects/limits.ts +18 -12
  107. package/src/resources/projects/projects.ts +6 -0
  108. package/src/resources/proxies.ts +222 -1
  109. package/src/version.ts +1 -1
  110. package/version.d.mts +1 -1
  111. package/version.d.ts +1 -1
  112. package/version.js +1 -1
  113. package/version.mjs +1 -1
@@ -202,6 +202,13 @@ export interface Credential {
202
202
  * When the totp_code expires. Only included when totp_code is present.
203
203
  */
204
204
  totp_code_expires_at?: string;
205
+
206
+ /**
207
+ * The field names stored in this credential's values (e.g., username, password).
208
+ * Values themselves are never returned. Included on single-credential responses
209
+ * (create, get by id or name, update); omitted from list responses.
210
+ */
211
+ value_keys?: Array<string>;
205
212
  }
206
213
 
207
214
  /**
@@ -213,6 +220,12 @@ export interface UpdateCredentialRequest {
213
220
  */
214
221
  name?: string;
215
222
 
223
+ /**
224
+ * Field names to remove from the credential's stored values. Removals are applied
225
+ * before `values` are merged, so a key present in both is kept with its new value.
226
+ */
227
+ remove_value_keys?: Array<string>;
228
+
216
229
  /**
217
230
  * If set, indicates this credential should be used with the specified SSO
218
231
  * provider. Set to empty string or null to remove.
@@ -281,6 +294,12 @@ export interface CredentialUpdateParams {
281
294
  */
282
295
  name?: string;
283
296
 
297
+ /**
298
+ * Field names to remove from the credential's stored values. Removals are applied
299
+ * before `values` are merged, so a key present in both is kept with its new value.
300
+ */
301
+ remove_value_keys?: Array<string>;
302
+
284
303
  /**
285
304
  * If set, indicates this credential should be used with the specified SSO
286
305
  * provider. Set to empty string or null to remove.
@@ -307,7 +326,8 @@ export interface CredentialListParams extends OffsetPaginationParams {
307
326
  domain?: string;
308
327
 
309
328
  /**
310
- * Search credentials by name, domain, or ID.
329
+ * Case-insensitive substring match against credential name or domain. IDs match by
330
+ * exact value.
311
331
  */
312
332
  query?: string;
313
333
  }
@@ -165,6 +165,39 @@ export namespace DeploymentStateEvent {
165
165
  */
166
166
  env_vars?: { [key: string]: string };
167
167
 
168
+ /**
169
+ * Hex-encoded SHA-256 checksum of the source archive. For file uploads, this
170
+ * hashes the uploaded archive; for GitHub-sourced deployments, this hashes the
171
+ * GitHub archive downloaded by the API. Omitted for deployments created before
172
+ * this field was recorded.
173
+ */
174
+ source_checksum?: string;
175
+
176
+ /**
177
+ * For GitHub-sourced deployments, the subpath within the repository that was used
178
+ * as the deploy root. Omitted when the repo root was used or for file uploads.
179
+ */
180
+ source_path?: string;
181
+
182
+ /**
183
+ * For GitHub-sourced deployments, the git ref as requested at deploy time (branch,
184
+ * tag, or commit SHA — not resolved to a commit). Omitted for file uploads.
185
+ */
186
+ source_ref?: string;
187
+
188
+ /**
189
+ * Origin of the deployed source code. This is read-only response provenance;
190
+ * `file` indicates an uploaded archive and `github` indicates a repository fetched
191
+ * by the API.
192
+ */
193
+ source_type?: 'file' | 'github';
194
+
195
+ /**
196
+ * For GitHub-sourced deployments, the repository URL that was fetched. Omitted for
197
+ * file uploads.
198
+ */
199
+ source_url?: string;
200
+
168
201
  /**
169
202
  * Status reason
170
203
  */
@@ -213,6 +246,39 @@ export interface DeploymentCreateResponse {
213
246
  */
214
247
  env_vars?: { [key: string]: string };
215
248
 
249
+ /**
250
+ * Hex-encoded SHA-256 checksum of the source archive. For file uploads, this
251
+ * hashes the uploaded archive; for GitHub-sourced deployments, this hashes the
252
+ * GitHub archive downloaded by the API. Omitted for deployments created before
253
+ * this field was recorded.
254
+ */
255
+ source_checksum?: string;
256
+
257
+ /**
258
+ * For GitHub-sourced deployments, the subpath within the repository that was used
259
+ * as the deploy root. Omitted when the repo root was used or for file uploads.
260
+ */
261
+ source_path?: string;
262
+
263
+ /**
264
+ * For GitHub-sourced deployments, the git ref as requested at deploy time (branch,
265
+ * tag, or commit SHA — not resolved to a commit). Omitted for file uploads.
266
+ */
267
+ source_ref?: string;
268
+
269
+ /**
270
+ * Origin of the deployed source code. This is read-only response provenance;
271
+ * `file` indicates an uploaded archive and `github` indicates a repository fetched
272
+ * by the API.
273
+ */
274
+ source_type?: 'file' | 'github';
275
+
276
+ /**
277
+ * For GitHub-sourced deployments, the repository URL that was fetched. Omitted for
278
+ * file uploads.
279
+ */
280
+ source_url?: string;
281
+
216
282
  /**
217
283
  * Status reason
218
284
  */
@@ -260,6 +326,39 @@ export interface DeploymentRetrieveResponse {
260
326
  */
261
327
  env_vars?: { [key: string]: string };
262
328
 
329
+ /**
330
+ * Hex-encoded SHA-256 checksum of the source archive. For file uploads, this
331
+ * hashes the uploaded archive; for GitHub-sourced deployments, this hashes the
332
+ * GitHub archive downloaded by the API. Omitted for deployments created before
333
+ * this field was recorded.
334
+ */
335
+ source_checksum?: string;
336
+
337
+ /**
338
+ * For GitHub-sourced deployments, the subpath within the repository that was used
339
+ * as the deploy root. Omitted when the repo root was used or for file uploads.
340
+ */
341
+ source_path?: string;
342
+
343
+ /**
344
+ * For GitHub-sourced deployments, the git ref as requested at deploy time (branch,
345
+ * tag, or commit SHA — not resolved to a commit). Omitted for file uploads.
346
+ */
347
+ source_ref?: string;
348
+
349
+ /**
350
+ * Origin of the deployed source code. This is read-only response provenance;
351
+ * `file` indicates an uploaded archive and `github` indicates a repository fetched
352
+ * by the API.
353
+ */
354
+ source_type?: 'file' | 'github';
355
+
356
+ /**
357
+ * For GitHub-sourced deployments, the repository URL that was fetched. Omitted for
358
+ * file uploads.
359
+ */
360
+ source_url?: string;
361
+
263
362
  /**
264
363
  * Status reason
265
364
  */
@@ -307,6 +406,39 @@ export interface DeploymentListResponse {
307
406
  */
308
407
  env_vars?: { [key: string]: string };
309
408
 
409
+ /**
410
+ * Hex-encoded SHA-256 checksum of the source archive. For file uploads, this
411
+ * hashes the uploaded archive; for GitHub-sourced deployments, this hashes the
412
+ * GitHub archive downloaded by the API. Omitted for deployments created before
413
+ * this field was recorded.
414
+ */
415
+ source_checksum?: string;
416
+
417
+ /**
418
+ * For GitHub-sourced deployments, the subpath within the repository that was used
419
+ * as the deploy root. Omitted when the repo root was used or for file uploads.
420
+ */
421
+ source_path?: string;
422
+
423
+ /**
424
+ * For GitHub-sourced deployments, the git ref as requested at deploy time (branch,
425
+ * tag, or commit SHA — not resolved to a commit). Omitted for file uploads.
426
+ */
427
+ source_ref?: string;
428
+
429
+ /**
430
+ * Origin of the deployed source code. This is read-only response provenance;
431
+ * `file` indicates an uploaded archive and `github` indicates a repository fetched
432
+ * by the API.
433
+ */
434
+ source_type?: 'file' | 'github';
435
+
436
+ /**
437
+ * For GitHub-sourced deployments, the repository URL that was fetched. Omitted for
438
+ * file uploads.
439
+ */
440
+ source_url?: string;
441
+
310
442
  /**
311
443
  * Status reason
312
444
  */
@@ -250,7 +250,16 @@ export interface ExtensionUploadResponse {
250
250
 
251
251
  export interface ExtensionListParams extends OffsetPaginationParams {
252
252
  /**
253
- * Search extensions by name or ID.
253
+ * Exact-match filter on extension name using the database collation. In
254
+ * production, matching is case- and accent-insensitive. During the default-project
255
+ * migration, unscoped requests prefer a concrete default-project extension over a
256
+ * legacy unscoped extension with the same name.
257
+ */
258
+ name?: string;
259
+
260
+ /**
261
+ * Case-insensitive substring match against extension name. IDs match by exact
262
+ * value.
254
263
  */
255
264
  query?: string;
256
265
  }
@@ -120,7 +120,12 @@ export {
120
120
  type InvocationListResponsesOffsetPagination,
121
121
  } from './invocations';
122
122
  export { Organization } from './organization/organization';
123
- export { Profiles, type ProfileCreateParams, type ProfileListParams } from './profiles';
123
+ export {
124
+ Profiles,
125
+ type ProfileCreateParams,
126
+ type ProfileUpdateParams,
127
+ type ProfileListParams,
128
+ } from './profiles';
124
129
  export {
125
130
  Projects,
126
131
  type CreateProjectRequest,
@@ -135,9 +140,11 @@ export {
135
140
  Proxies,
136
141
  type ProxyCreateResponse,
137
142
  type ProxyRetrieveResponse,
143
+ type ProxyUpdateResponse,
138
144
  type ProxyListResponse,
139
145
  type ProxyCheckResponse,
140
146
  type ProxyCreateParams,
147
+ type ProxyUpdateParams,
141
148
  type ProxyListParams,
142
149
  type ProxyCheckParams,
143
150
  type ProxyListResponsesOffsetPagination,
@@ -9,8 +9,9 @@ import { RequestOptions } from '../../internal/request-options';
9
9
  */
10
10
  export class Limits extends APIResource {
11
11
  /**
12
- * Get the organization's concurrent session ceiling and the default per-project
13
- * concurrency cap applied to projects without an explicit override.
12
+ * Get the organization's concurrency limit the maximum browsers running at once
13
+ * across on-demand sessions and browser pool reservations and the default
14
+ * per-project concurrency cap applied to projects without an explicit override.
14
15
  */
15
16
  retrieve(options?: RequestOptions): APIPromise<OrgLimits> {
16
17
  return this._client.get('/org/limits', options);
@@ -19,8 +20,7 @@ export class Limits extends APIResource {
19
20
  /**
20
21
  * Set the default per-project concurrency cap applied to projects without an
21
22
  * explicit override. Set the value to 0 to remove the default; omit to leave it
22
- * unchanged. The default cannot exceed the organization's concurrent session
23
- * ceiling.
23
+ * unchanged. The default cannot exceed the organization's concurrency limit.
24
24
  */
25
25
  update(body: LimitUpdateParams, options?: RequestOptions): APIPromise<OrgLimits> {
26
26
  return this._client.patch('/org/limits', { body, ...options });
@@ -29,7 +29,7 @@ export class Limits extends APIResource {
29
29
 
30
30
  export interface OrgLimits {
31
31
  /**
32
- * Default maximum concurrent browser sessions applied to every project that has no
32
+ * Default maximum concurrent browsers applied to every project that has no
33
33
  * explicit per-project override. Null means no org-level default, so such projects
34
34
  * are uncapped (only the org-wide limit applies). Applies to existing and newly
35
35
  * created projects.
@@ -37,8 +37,9 @@ export interface OrgLimits {
37
37
  default_project_max_concurrent_sessions?: number | null;
38
38
 
39
39
  /**
40
- * The organization's effective concurrent browser session ceiling, from its plan
41
- * or an override. Read-only and shared across all projects in the org; a
40
+ * The organization's effective concurrency limit the maximum browsers running at
41
+ * once, covering both on-demand sessions and browser pool reservations from its
42
+ * plan or an override. Read-only and shared across all projects in the org; a
42
43
  * per-project default cannot exceed it.
43
44
  */
44
45
  max_concurrent_sessions?: number;
@@ -46,18 +47,18 @@ export interface OrgLimits {
46
47
 
47
48
  export interface UpdateOrgLimitsRequest {
48
49
  /**
49
- * Default maximum concurrent browser sessions for projects without an explicit
50
- * override. Set to 0 to remove the default; omit to leave unchanged. Cannot exceed
51
- * the organization's concurrent session ceiling.
50
+ * Default maximum concurrent browsers for projects without an explicit override.
51
+ * Set to 0 to remove the default; omit to leave unchanged. Cannot exceed the
52
+ * organization's concurrency limit.
52
53
  */
53
54
  default_project_max_concurrent_sessions?: number | null;
54
55
  }
55
56
 
56
57
  export interface LimitUpdateParams {
57
58
  /**
58
- * Default maximum concurrent browser sessions for projects without an explicit
59
- * override. Set to 0 to remove the default; omit to leave unchanged. Cannot exceed
60
- * the organization's concurrent session ceiling.
59
+ * Default maximum concurrent browsers for projects without an explicit override.
60
+ * Set to 0 to remove the default; omit to leave unchanged. Cannot exceed the
61
+ * organization's concurrency limit.
61
62
  */
62
63
  default_project_max_concurrent_sessions?: number | null;
63
64
  }
@@ -16,6 +16,11 @@ export class Profiles extends APIResource {
16
16
  /**
17
17
  * Create a browser profile that can be used to load state into future browser
18
18
  * sessions.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const profile = await client.profiles.create();
23
+ * ```
19
24
  */
20
25
  create(body: ProfileCreateParams, options?: RequestOptions): APIPromise<BrowsersAPI.Profile> {
21
26
  return this._client.post('/profiles', { body, ...options });
@@ -23,13 +28,52 @@ export class Profiles extends APIResource {
23
28
 
24
29
  /**
25
30
  * Retrieve details for a single profile by its ID or name.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const profile = await client.profiles.retrieve(
35
+ * 'id_or_name',
36
+ * );
37
+ * ```
26
38
  */
27
39
  retrieve(idOrName: string, options?: RequestOptions): APIPromise<BrowsersAPI.Profile> {
28
40
  return this._client.get(path`/profiles/${idOrName}`, options);
29
41
  }
30
42
 
43
+ /**
44
+ * Update a profile's name. Names must be unique within the logical project; during
45
+ * the default-project migration, unscoped profiles and profiles in the org default
46
+ * project are treated as the same project. Duplicate-name conflicts are checked
47
+ * before update but are best-effort because there is no backing unique index.
48
+ * Renaming a profile while a browser session references it by name may prevent
49
+ * that session's changes from saving; prefer renaming when the profile is not in
50
+ * use.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const profile = await client.profiles.update('id_or_name', {
55
+ * name: 'my-renamed-profile',
56
+ * });
57
+ * ```
58
+ */
59
+ update(
60
+ idOrName: string,
61
+ body: ProfileUpdateParams,
62
+ options?: RequestOptions,
63
+ ): APIPromise<BrowsersAPI.Profile> {
64
+ return this._client.patch(path`/profiles/${idOrName}`, { body, ...options });
65
+ }
66
+
31
67
  /**
32
68
  * List profiles with optional filtering and pagination.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * // Automatically fetches more pages as needed.
73
+ * for await (const profile of client.profiles.list()) {
74
+ * // ...
75
+ * }
76
+ * ```
33
77
  */
34
78
  list(
35
79
  query: ProfileListParams | null | undefined = {},
@@ -40,6 +84,11 @@ export class Profiles extends APIResource {
40
84
 
41
85
  /**
42
86
  * Delete a profile by its ID or by its name.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * await client.profiles.delete('id_or_name');
91
+ * ```
43
92
  */
44
93
  delete(idOrName: string, options?: RequestOptions): APIPromise<void> {
45
94
  return this._client.delete(path`/profiles/${idOrName}`, {
@@ -50,6 +99,16 @@ export class Profiles extends APIResource {
50
99
 
51
100
  /**
52
101
  * Returns a zstd-compressed tar file of the full user-data directory.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const response = await client.profiles.download(
106
+ * 'id_or_name',
107
+ * );
108
+ *
109
+ * const content = await response.blob();
110
+ * console.log(content);
111
+ * ```
53
112
  */
54
113
  download(idOrName: string, options?: RequestOptions): APIPromise<Response> {
55
114
  return this._client.get(path`/profiles/${idOrName}/download`, {
@@ -62,20 +121,43 @@ export class Profiles extends APIResource {
62
121
 
63
122
  export interface ProfileCreateParams {
64
123
  /**
65
- * Optional name of the profile. Must be unique within the project.
124
+ * Optional name of the profile. Must be unique within the logical project; during
125
+ * the default-project migration, unscoped profiles and profiles in the org default
126
+ * project are treated as the same project.
66
127
  */
67
128
  name?: string;
68
129
  }
69
130
 
131
+ export interface ProfileUpdateParams {
132
+ /**
133
+ * New profile name. Must be unique within the logical project; during the
134
+ * default-project migration, unscoped profiles and profiles in the org default
135
+ * project are treated as the same project.
136
+ */
137
+ name: string;
138
+ }
139
+
70
140
  export interface ProfileListParams extends OffsetPaginationParams {
71
141
  /**
72
- * Search profiles by name or ID.
142
+ * Exact-match filter on profile name using the database collation. In production,
143
+ * matching is case- and accent-insensitive. During the default-project migration,
144
+ * unscoped requests prefer a concrete default-project profile over a legacy
145
+ * unscoped profile with the same name.
146
+ */
147
+ name?: string;
148
+
149
+ /**
150
+ * Case-insensitive substring match against profile name or ID.
73
151
  */
74
152
  query?: string;
75
153
  }
76
154
 
77
155
  export declare namespace Profiles {
78
- export { type ProfileCreateParams as ProfileCreateParams, type ProfileListParams as ProfileListParams };
156
+ export {
157
+ type ProfileCreateParams as ProfileCreateParams,
158
+ type ProfileUpdateParams as ProfileUpdateParams,
159
+ type ProfileListParams as ProfileListParams,
160
+ };
79
161
  }
80
162
 
81
163
  export { type ProfilesOffsetPagination };
@@ -49,14 +49,16 @@ export interface ProjectLimits {
49
49
  max_concurrent_invocations?: number | null;
50
50
 
51
51
  /**
52
- * Maximum concurrent browser sessions for this project. Null means no
53
- * project-level cap.
52
+ * Maximum concurrent browsers for this project, covering both on-demand sessions
53
+ * (`browsers.create()`) and browser pool reservations. Null means no project-level
54
+ * cap.
54
55
  */
55
56
  max_concurrent_sessions?: number | null;
56
57
 
57
58
  /**
58
- * Maximum pooled sessions capacity for this project. Null means no project-level
59
- * cap.
59
+ * @deprecated Deprecated: pooled browsers now count toward
60
+ * `max_concurrent_sessions`. Always null once the unified concurrency limit is
61
+ * enabled for your organization.
60
62
  */
61
63
  max_pooled_sessions?: number | null;
62
64
  }
@@ -69,14 +71,16 @@ export interface UpdateProjectLimitsRequest {
69
71
  max_concurrent_invocations?: number | null;
70
72
 
71
73
  /**
72
- * Maximum concurrent browser sessions for this project. Set to 0 to remove the
73
- * cap; omit to leave unchanged.
74
+ * Maximum concurrent browsers for this project, covering both on-demand sessions
75
+ * and browser pool reservations. Set to 0 to remove the cap; omit to leave
76
+ * unchanged.
74
77
  */
75
78
  max_concurrent_sessions?: number | null;
76
79
 
77
80
  /**
78
- * Maximum pooled sessions capacity for this project. Set to 0 to remove the cap;
79
- * omit to leave unchanged.
81
+ * @deprecated Deprecated: pooled browsers now count toward
82
+ * `max_concurrent_sessions`. Requests that set this field are rejected with a 400
83
+ * once the unified concurrency limit is enabled for your organization.
80
84
  */
81
85
  max_pooled_sessions?: number | null;
82
86
  }
@@ -89,14 +93,16 @@ export interface LimitUpdateParams {
89
93
  max_concurrent_invocations?: number | null;
90
94
 
91
95
  /**
92
- * Maximum concurrent browser sessions for this project. Set to 0 to remove the
93
- * cap; omit to leave unchanged.
96
+ * Maximum concurrent browsers for this project, covering both on-demand sessions
97
+ * and browser pool reservations. Set to 0 to remove the cap; omit to leave
98
+ * unchanged.
94
99
  */
95
100
  max_concurrent_sessions?: number | null;
96
101
 
97
102
  /**
98
- * Maximum pooled sessions capacity for this project. Set to 0 to remove the cap;
99
- * omit to leave unchanged.
103
+ * @deprecated Deprecated: pooled browsers now count toward
104
+ * `max_concurrent_sessions`. Requests that set this field are rejected with a 400
105
+ * once the unified concurrency limit is enabled for your organization.
100
106
  */
101
107
  max_pooled_sessions?: number | null;
102
108
  }
@@ -155,6 +155,12 @@ export interface ProjectUpdateParams {
155
155
  }
156
156
 
157
157
  export interface ProjectListParams extends OffsetPaginationParams {
158
+ /**
159
+ * Exact-match filter on project name using the database collation. In production,
160
+ * matching is case- and accent-insensitive.
161
+ */
162
+ name?: string;
163
+
158
164
  /**
159
165
  * Case-insensitive substring match against project name
160
166
  */