@onkernel/sdk 0.47.0 → 0.49.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 (88) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/client.d.mts +6 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/internal/utils/env.js +2 -2
  11. package/internal/utils/env.js.map +1 -1
  12. package/internal/utils/env.mjs +2 -2
  13. package/internal/utils/env.mjs.map +1 -1
  14. package/package.json +1 -1
  15. package/resources/browser-pools.d.mts +4 -0
  16. package/resources/browser-pools.d.mts.map +1 -1
  17. package/resources/browser-pools.d.ts +4 -0
  18. package/resources/browser-pools.d.ts.map +1 -1
  19. package/resources/browsers/browsers.d.mts +17 -1
  20. package/resources/browsers/browsers.d.mts.map +1 -1
  21. package/resources/browsers/browsers.d.ts +17 -1
  22. package/resources/browsers/browsers.d.ts.map +1 -1
  23. package/resources/browsers/browsers.js.map +1 -1
  24. package/resources/browsers/browsers.mjs.map +1 -1
  25. package/resources/browsers/replays.d.mts +2 -1
  26. package/resources/browsers/replays.d.mts.map +1 -1
  27. package/resources/browsers/replays.d.ts +2 -1
  28. package/resources/browsers/replays.d.ts.map +1 -1
  29. package/resources/index.d.mts +1 -0
  30. package/resources/index.d.mts.map +1 -1
  31. package/resources/index.d.ts +1 -0
  32. package/resources/index.d.ts.map +1 -1
  33. package/resources/index.js +3 -1
  34. package/resources/index.js.map +1 -1
  35. package/resources/index.mjs +1 -0
  36. package/resources/index.mjs.map +1 -1
  37. package/resources/invocations.d.mts +4 -0
  38. package/resources/invocations.d.mts.map +1 -1
  39. package/resources/invocations.d.ts +4 -0
  40. package/resources/invocations.d.ts.map +1 -1
  41. package/resources/projects/index.d.mts +3 -0
  42. package/resources/projects/index.d.mts.map +1 -0
  43. package/resources/projects/index.d.ts +3 -0
  44. package/resources/projects/index.d.ts.map +1 -0
  45. package/resources/projects/index.js +9 -0
  46. package/resources/projects/index.js.map +1 -0
  47. package/resources/projects/index.mjs +4 -0
  48. package/resources/projects/index.mjs.map +1 -0
  49. package/resources/projects/limits.d.mts +103 -0
  50. package/resources/projects/limits.d.mts.map +1 -0
  51. package/resources/projects/limits.d.ts +103 -0
  52. package/resources/projects/limits.d.ts.map +1 -0
  53. package/resources/projects/limits.js +42 -0
  54. package/resources/projects/limits.js.map +1 -0
  55. package/resources/projects/limits.mjs +38 -0
  56. package/resources/projects/limits.mjs.map +1 -0
  57. package/resources/projects/projects.d.mts +125 -0
  58. package/resources/projects/projects.d.mts.map +1 -0
  59. package/resources/projects/projects.d.ts +125 -0
  60. package/resources/projects/projects.d.ts.map +1 -0
  61. package/resources/projects/projects.js +87 -0
  62. package/resources/projects/projects.js.map +1 -0
  63. package/resources/projects/projects.mjs +82 -0
  64. package/resources/projects/projects.mjs.map +1 -0
  65. package/resources/projects.d.mts +2 -0
  66. package/resources/projects.d.mts.map +1 -0
  67. package/resources/projects.d.ts +2 -0
  68. package/resources/projects.d.ts.map +1 -0
  69. package/resources/projects.js +6 -0
  70. package/resources/projects.js.map +1 -0
  71. package/resources/projects.mjs +3 -0
  72. package/resources/projects.mjs.map +1 -0
  73. package/src/client.ts +26 -0
  74. package/src/internal/utils/env.ts +2 -2
  75. package/src/resources/browser-pools.ts +5 -0
  76. package/src/resources/browsers/browsers.ts +21 -1
  77. package/src/resources/browsers/replays.ts +2 -1
  78. package/src/resources/index.ts +10 -0
  79. package/src/resources/invocations.ts +5 -0
  80. package/src/resources/projects/index.ts +18 -0
  81. package/src/resources/projects/limits.ts +128 -0
  82. package/src/resources/projects/projects.ts +179 -0
  83. package/src/resources/projects.ts +3 -0
  84. package/src/version.ts +1 -1
  85. package/version.d.mts +1 -1
  86. package/version.d.ts +1 -1
  87. package/version.js +1 -1
  88. package/version.mjs +1 -1
@@ -0,0 +1,103 @@
1
+ import { APIResource } from "../../core/resource.js";
2
+ import { APIPromise } from "../../core/api-promise.js";
3
+ import { RequestOptions } from "../../internal/request-options.js";
4
+ /**
5
+ * Create and manage projects for resource isolation within an organization.
6
+ */
7
+ export declare class Limits extends APIResource {
8
+ /**
9
+ * Get the resource limit overrides for a project. Null values mean no
10
+ * project-level cap (org limit applies).
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const projectLimits = await client.projects.limits.retrieve(
15
+ * 'id',
16
+ * );
17
+ * ```
18
+ */
19
+ retrieve(id: string, options?: RequestOptions): APIPromise<ProjectLimits>;
20
+ /**
21
+ * Update resource limit overrides for a project. Only fields present in the
22
+ * request are modified. Set a field to 0 to remove that limit cap; omit a field to
23
+ * leave it unchanged.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const projectLimits = await client.projects.limits.update(
28
+ * 'id',
29
+ * );
30
+ * ```
31
+ */
32
+ update(id: string, body: LimitUpdateParams, options?: RequestOptions): APIPromise<ProjectLimits>;
33
+ }
34
+ export interface ProjectLimits {
35
+ /**
36
+ * Maximum concurrent app invocations for this project. Null means no project-level
37
+ * cap.
38
+ */
39
+ max_concurrent_invocations?: number | null;
40
+ /**
41
+ * Maximum concurrent browser sessions for this project. Null means no
42
+ * project-level cap.
43
+ */
44
+ max_concurrent_sessions?: number | null;
45
+ /**
46
+ * Maximum persistent browser sessions for this project. Null means no
47
+ * project-level cap.
48
+ */
49
+ max_persistent_sessions?: number | null;
50
+ /**
51
+ * Maximum pooled sessions capacity for this project. Null means no project-level
52
+ * cap.
53
+ */
54
+ max_pooled_sessions?: number | null;
55
+ }
56
+ export interface UpdateProjectLimitsRequest {
57
+ /**
58
+ * Maximum concurrent app invocations for this project. Set to 0 to remove the cap;
59
+ * omit to leave unchanged.
60
+ */
61
+ max_concurrent_invocations?: number | null;
62
+ /**
63
+ * Maximum concurrent browser sessions for this project. Set to 0 to remove the
64
+ * cap; omit to leave unchanged.
65
+ */
66
+ max_concurrent_sessions?: number | null;
67
+ /**
68
+ * Maximum persistent browser sessions for this project. Set to 0 to remove the
69
+ * cap; omit to leave unchanged.
70
+ */
71
+ max_persistent_sessions?: number | null;
72
+ /**
73
+ * Maximum pooled sessions capacity for this project. Set to 0 to remove the cap;
74
+ * omit to leave unchanged.
75
+ */
76
+ max_pooled_sessions?: number | null;
77
+ }
78
+ export interface LimitUpdateParams {
79
+ /**
80
+ * Maximum concurrent app invocations for this project. Set to 0 to remove the cap;
81
+ * omit to leave unchanged.
82
+ */
83
+ max_concurrent_invocations?: number | null;
84
+ /**
85
+ * Maximum concurrent browser sessions for this project. Set to 0 to remove the
86
+ * cap; omit to leave unchanged.
87
+ */
88
+ max_concurrent_sessions?: number | null;
89
+ /**
90
+ * Maximum persistent browser sessions for this project. Set to 0 to remove the
91
+ * cap; omit to leave unchanged.
92
+ */
93
+ max_persistent_sessions?: number | null;
94
+ /**
95
+ * Maximum pooled sessions capacity for this project. Set to 0 to remove the cap;
96
+ * omit to leave unchanged.
97
+ */
98
+ max_pooled_sessions?: number | null;
99
+ }
100
+ export declare namespace Limits {
101
+ export { type ProjectLimits as ProjectLimits, type UpdateProjectLimitsRequest as UpdateProjectLimitsRequest, type LimitUpdateParams as LimitUpdateParams, };
102
+ }
103
+ //# sourceMappingURL=limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/resources/projects/limits.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAGzB;;GAEG;AACH,qBAAa,MAAO,SAAQ,WAAW;IACrC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;IAIzE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;CAGjG;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,OAAO,EACL,KAAK,aAAa,IAAI,aAAa,EACnC,KAAK,0BAA0B,IAAI,0BAA0B,EAC7D,KAAK,iBAAiB,IAAI,iBAAiB,GAC5C,CAAC;CACH"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Limits = void 0;
5
+ const resource_1 = require("../../core/resource.js");
6
+ const path_1 = require("../../internal/utils/path.js");
7
+ /**
8
+ * Create and manage projects for resource isolation within an organization.
9
+ */
10
+ class Limits extends resource_1.APIResource {
11
+ /**
12
+ * Get the resource limit overrides for a project. Null values mean no
13
+ * project-level cap (org limit applies).
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const projectLimits = await client.projects.limits.retrieve(
18
+ * 'id',
19
+ * );
20
+ * ```
21
+ */
22
+ retrieve(id, options) {
23
+ return this._client.get((0, path_1.path) `/projects/${id}/limits`, options);
24
+ }
25
+ /**
26
+ * Update resource limit overrides for a project. Only fields present in the
27
+ * request are modified. Set a field to 0 to remove that limit cap; omit a field to
28
+ * leave it unchanged.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const projectLimits = await client.projects.limits.update(
33
+ * 'id',
34
+ * );
35
+ * ```
36
+ */
37
+ update(id, body, options) {
38
+ return this._client.patch((0, path_1.path) `/projects/${id}/limits`, { body, ...options });
39
+ }
40
+ }
41
+ exports.Limits = Limits;
42
+ //# sourceMappingURL=limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/resources/projects/limits.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,qDAAkD;AAGlD,uDAAiD;AAEjD;;GAEG;AACH,MAAa,MAAO,SAAQ,sBAAW;IACrC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAU,EAAE,IAAuB,EAAE,OAAwB;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,aAAa,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;CACF;AA/BD,wBA+BC"}
@@ -0,0 +1,38 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../../core/resource.mjs";
3
+ import { path } from "../../internal/utils/path.mjs";
4
+ /**
5
+ * Create and manage projects for resource isolation within an organization.
6
+ */
7
+ export class Limits extends APIResource {
8
+ /**
9
+ * Get the resource limit overrides for a project. Null values mean no
10
+ * project-level cap (org limit applies).
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const projectLimits = await client.projects.limits.retrieve(
15
+ * 'id',
16
+ * );
17
+ * ```
18
+ */
19
+ retrieve(id, options) {
20
+ return this._client.get(path `/projects/${id}/limits`, options);
21
+ }
22
+ /**
23
+ * Update resource limit overrides for a project. Only fields present in the
24
+ * request are modified. Set a field to 0 to remove that limit cap; omit a field to
25
+ * leave it unchanged.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const projectLimits = await client.projects.limits.update(
30
+ * 'id',
31
+ * );
32
+ * ```
33
+ */
34
+ update(id, body, options) {
35
+ return this._client.patch(path `/projects/${id}/limits`, { body, ...options });
36
+ }
37
+ }
38
+ //# sourceMappingURL=limits.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.mjs","sourceRoot":"","sources":["../../src/resources/projects/limits.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAGf,EAAE,IAAI,EAAE;AAEf;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,WAAW;IACrC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAU,EAAE,IAAuB,EAAE,OAAwB;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA,aAAa,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;CACF"}
@@ -0,0 +1,125 @@
1
+ import { APIResource } from "../../core/resource.mjs";
2
+ import * as LimitsAPI from "./limits.mjs";
3
+ import { LimitUpdateParams, Limits, ProjectLimits, UpdateProjectLimitsRequest } from "./limits.mjs";
4
+ import { APIPromise } from "../../core/api-promise.mjs";
5
+ import { OffsetPagination, type OffsetPaginationParams, PagePromise } from "../../core/pagination.mjs";
6
+ import { RequestOptions } from "../../internal/request-options.mjs";
7
+ /**
8
+ * Create and manage projects for resource isolation within an organization.
9
+ */
10
+ export declare class Projects extends APIResource {
11
+ limits: LimitsAPI.Limits;
12
+ /**
13
+ * Create a new project within the authenticated organization. Requires a paid plan
14
+ * and the projects feature flag.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const project = await client.projects.create({
19
+ * name: 'staging',
20
+ * });
21
+ * ```
22
+ */
23
+ create(body: ProjectCreateParams, options?: RequestOptions): APIPromise<Project>;
24
+ /**
25
+ * Get a project by ID.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const project = await client.projects.retrieve('id');
30
+ * ```
31
+ */
32
+ retrieve(id: string, options?: RequestOptions): APIPromise<Project>;
33
+ /**
34
+ * Update a project's name or status.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const project = await client.projects.update('id');
39
+ * ```
40
+ */
41
+ update(id: string, body: ProjectUpdateParams, options?: RequestOptions): APIPromise<Project>;
42
+ /**
43
+ * List projects for the authenticated organization.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * // Automatically fetches more pages as needed.
48
+ * for await (const project of client.projects.list()) {
49
+ * // ...
50
+ * }
51
+ * ```
52
+ */
53
+ list(query?: ProjectListParams | null | undefined, options?: RequestOptions): PagePromise<ProjectsOffsetPagination, Project>;
54
+ /**
55
+ * Soft-delete a project. The project must be empty (no active resources).
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * await client.projects.delete('id');
60
+ * ```
61
+ */
62
+ delete(id: string, options?: RequestOptions): APIPromise<void>;
63
+ }
64
+ export type ProjectsOffsetPagination = OffsetPagination<Project>;
65
+ export interface CreateProjectRequest {
66
+ /**
67
+ * Project name (1-255 characters)
68
+ */
69
+ name: string;
70
+ }
71
+ export interface Project {
72
+ /**
73
+ * Unique project identifier
74
+ */
75
+ id: string;
76
+ /**
77
+ * When the project was created
78
+ */
79
+ created_at: string;
80
+ /**
81
+ * Project name
82
+ */
83
+ name: string;
84
+ /**
85
+ * Project status
86
+ */
87
+ status: 'active' | 'archived';
88
+ /**
89
+ * When the project was last updated
90
+ */
91
+ updated_at: string;
92
+ }
93
+ export interface UpdateProjectRequest {
94
+ /**
95
+ * New project name
96
+ */
97
+ name?: string;
98
+ /**
99
+ * New project status
100
+ */
101
+ status?: 'active' | 'archived';
102
+ }
103
+ export interface ProjectCreateParams {
104
+ /**
105
+ * Project name (1-255 characters)
106
+ */
107
+ name: string;
108
+ }
109
+ export interface ProjectUpdateParams {
110
+ /**
111
+ * New project name
112
+ */
113
+ name?: string;
114
+ /**
115
+ * New project status
116
+ */
117
+ status?: 'active' | 'archived';
118
+ }
119
+ export interface ProjectListParams extends OffsetPaginationParams {
120
+ }
121
+ export declare namespace Projects {
122
+ export { type CreateProjectRequest as CreateProjectRequest, type Project as Project, type UpdateProjectRequest as UpdateProjectRequest, type ProjectsOffsetPagination as ProjectsOffsetPagination, type ProjectCreateParams as ProjectCreateParams, type ProjectUpdateParams as ProjectUpdateParams, type ProjectListParams as ProjectListParams, };
123
+ export { Limits as Limits, type ProjectLimits as ProjectLimits, type UpdateProjectLimitsRequest as UpdateProjectLimitsRequest, type LimitUpdateParams as LimitUpdateParams, };
124
+ }
125
+ //# sourceMappingURL=projects.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.mts","sourceRoot":"","sources":["../../src/resources/projects/projects.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,SAAS;OACd,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,0BAA0B,EAAE;OACxE,EAAE,UAAU,EAAE;OACd,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,WAAW,EAAE;OAE9D,EAAE,cAAc,EAAE;AAGzB;;GAEG;AACH,qBAAa,QAAS,SAAQ,WAAW;IACvC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAsC;IAE9D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAIhF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAInE;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAI5F;;;;;;;;;;OAUG;IACH,IAAI,CACF,KAAK,GAAE,iBAAiB,GAAG,IAAI,GAAG,SAAc,EAChD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAIjD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;CAM/D;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAE9B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;CAAG;AAIpE,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,OAAO,EACL,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,OAAO,IAAI,OAAO,EACvB,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,iBAAiB,IAAI,iBAAiB,GAC5C,CAAC;IAEF,OAAO,EACL,MAAM,IAAI,MAAM,EAChB,KAAK,aAAa,IAAI,aAAa,EACnC,KAAK,0BAA0B,IAAI,0BAA0B,EAC7D,KAAK,iBAAiB,IAAI,iBAAiB,GAC5C,CAAC;CACH"}
@@ -0,0 +1,125 @@
1
+ import { APIResource } from "../../core/resource.js";
2
+ import * as LimitsAPI from "./limits.js";
3
+ import { LimitUpdateParams, Limits, ProjectLimits, UpdateProjectLimitsRequest } from "./limits.js";
4
+ import { APIPromise } from "../../core/api-promise.js";
5
+ import { OffsetPagination, type OffsetPaginationParams, PagePromise } from "../../core/pagination.js";
6
+ import { RequestOptions } from "../../internal/request-options.js";
7
+ /**
8
+ * Create and manage projects for resource isolation within an organization.
9
+ */
10
+ export declare class Projects extends APIResource {
11
+ limits: LimitsAPI.Limits;
12
+ /**
13
+ * Create a new project within the authenticated organization. Requires a paid plan
14
+ * and the projects feature flag.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const project = await client.projects.create({
19
+ * name: 'staging',
20
+ * });
21
+ * ```
22
+ */
23
+ create(body: ProjectCreateParams, options?: RequestOptions): APIPromise<Project>;
24
+ /**
25
+ * Get a project by ID.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const project = await client.projects.retrieve('id');
30
+ * ```
31
+ */
32
+ retrieve(id: string, options?: RequestOptions): APIPromise<Project>;
33
+ /**
34
+ * Update a project's name or status.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const project = await client.projects.update('id');
39
+ * ```
40
+ */
41
+ update(id: string, body: ProjectUpdateParams, options?: RequestOptions): APIPromise<Project>;
42
+ /**
43
+ * List projects for the authenticated organization.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * // Automatically fetches more pages as needed.
48
+ * for await (const project of client.projects.list()) {
49
+ * // ...
50
+ * }
51
+ * ```
52
+ */
53
+ list(query?: ProjectListParams | null | undefined, options?: RequestOptions): PagePromise<ProjectsOffsetPagination, Project>;
54
+ /**
55
+ * Soft-delete a project. The project must be empty (no active resources).
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * await client.projects.delete('id');
60
+ * ```
61
+ */
62
+ delete(id: string, options?: RequestOptions): APIPromise<void>;
63
+ }
64
+ export type ProjectsOffsetPagination = OffsetPagination<Project>;
65
+ export interface CreateProjectRequest {
66
+ /**
67
+ * Project name (1-255 characters)
68
+ */
69
+ name: string;
70
+ }
71
+ export interface Project {
72
+ /**
73
+ * Unique project identifier
74
+ */
75
+ id: string;
76
+ /**
77
+ * When the project was created
78
+ */
79
+ created_at: string;
80
+ /**
81
+ * Project name
82
+ */
83
+ name: string;
84
+ /**
85
+ * Project status
86
+ */
87
+ status: 'active' | 'archived';
88
+ /**
89
+ * When the project was last updated
90
+ */
91
+ updated_at: string;
92
+ }
93
+ export interface UpdateProjectRequest {
94
+ /**
95
+ * New project name
96
+ */
97
+ name?: string;
98
+ /**
99
+ * New project status
100
+ */
101
+ status?: 'active' | 'archived';
102
+ }
103
+ export interface ProjectCreateParams {
104
+ /**
105
+ * Project name (1-255 characters)
106
+ */
107
+ name: string;
108
+ }
109
+ export interface ProjectUpdateParams {
110
+ /**
111
+ * New project name
112
+ */
113
+ name?: string;
114
+ /**
115
+ * New project status
116
+ */
117
+ status?: 'active' | 'archived';
118
+ }
119
+ export interface ProjectListParams extends OffsetPaginationParams {
120
+ }
121
+ export declare namespace Projects {
122
+ export { type CreateProjectRequest as CreateProjectRequest, type Project as Project, type UpdateProjectRequest as UpdateProjectRequest, type ProjectsOffsetPagination as ProjectsOffsetPagination, type ProjectCreateParams as ProjectCreateParams, type ProjectUpdateParams as ProjectUpdateParams, type ProjectListParams as ProjectListParams, };
123
+ export { Limits as Limits, type ProjectLimits as ProjectLimits, type UpdateProjectLimitsRequest as UpdateProjectLimitsRequest, type LimitUpdateParams as LimitUpdateParams, };
124
+ }
125
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/resources/projects/projects.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,SAAS;OACd,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,0BAA0B,EAAE;OACxE,EAAE,UAAU,EAAE;OACd,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,WAAW,EAAE;OAE9D,EAAE,cAAc,EAAE;AAGzB;;GAEG;AACH,qBAAa,QAAS,SAAQ,WAAW;IACvC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAsC;IAE9D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAIhF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAInE;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAI5F;;;;;;;;;;OAUG;IACH,IAAI,CACF,KAAK,GAAE,iBAAiB,GAAG,IAAI,GAAG,SAAc,EAChD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAIjD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;CAM/D;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAE9B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;CAAG;AAIpE,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,OAAO,EACL,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,OAAO,IAAI,OAAO,EACvB,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,iBAAiB,IAAI,iBAAiB,GAC5C,CAAC;IAEF,OAAO,EACL,MAAM,IAAI,MAAM,EAChB,KAAK,aAAa,IAAI,aAAa,EACnC,KAAK,0BAA0B,IAAI,0BAA0B,EAC7D,KAAK,iBAAiB,IAAI,iBAAiB,GAC5C,CAAC;CACH"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Projects = void 0;
5
+ const tslib_1 = require("../../internal/tslib.js");
6
+ const resource_1 = require("../../core/resource.js");
7
+ const LimitsAPI = tslib_1.__importStar(require("./limits.js"));
8
+ const limits_1 = require("./limits.js");
9
+ const pagination_1 = require("../../core/pagination.js");
10
+ const headers_1 = require("../../internal/headers.js");
11
+ const path_1 = require("../../internal/utils/path.js");
12
+ /**
13
+ * Create and manage projects for resource isolation within an organization.
14
+ */
15
+ class Projects extends resource_1.APIResource {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.limits = new LimitsAPI.Limits(this._client);
19
+ }
20
+ /**
21
+ * Create a new project within the authenticated organization. Requires a paid plan
22
+ * and the projects feature flag.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const project = await client.projects.create({
27
+ * name: 'staging',
28
+ * });
29
+ * ```
30
+ */
31
+ create(body, options) {
32
+ return this._client.post('/projects', { body, ...options });
33
+ }
34
+ /**
35
+ * Get a project by ID.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const project = await client.projects.retrieve('id');
40
+ * ```
41
+ */
42
+ retrieve(id, options) {
43
+ return this._client.get((0, path_1.path) `/projects/${id}`, options);
44
+ }
45
+ /**
46
+ * Update a project's name or status.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const project = await client.projects.update('id');
51
+ * ```
52
+ */
53
+ update(id, body, options) {
54
+ return this._client.patch((0, path_1.path) `/projects/${id}`, { body, ...options });
55
+ }
56
+ /**
57
+ * List projects for the authenticated organization.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * // Automatically fetches more pages as needed.
62
+ * for await (const project of client.projects.list()) {
63
+ * // ...
64
+ * }
65
+ * ```
66
+ */
67
+ list(query = {}, options) {
68
+ return this._client.getAPIList('/projects', (pagination_1.OffsetPagination), { query, ...options });
69
+ }
70
+ /**
71
+ * Soft-delete a project. The project must be empty (no active resources).
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * await client.projects.delete('id');
76
+ * ```
77
+ */
78
+ delete(id, options) {
79
+ return this._client.delete((0, path_1.path) `/projects/${id}`, {
80
+ ...options,
81
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
82
+ });
83
+ }
84
+ }
85
+ exports.Projects = Projects;
86
+ Projects.Limits = limits_1.Limits;
87
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/resources/projects/projects.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,qDAAkD;AAClD,+DAAsC;AACtC,wCAAgG;AAEhG,yDAAmG;AACnG,uDAAsD;AAEtD,uDAAiD;AAEjD;;GAEG;AACH,MAAa,QAAS,SAAQ,sBAAW;IAAzC;;QACE,WAAM,GAAqB,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAyEhE,CAAC;IAvEC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAyB,EAAE,OAAwB;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,EAAU,EAAE,IAAyB,EAAE,OAAwB;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAA8C,EAAE,EAChD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA,6BAAyB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,aAAa,EAAE,EAAE,EAAE;YAChD,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AA1ED,4BA0EC;AAuED,QAAQ,CAAC,MAAM,GAAG,eAAM,CAAC"}
@@ -0,0 +1,82 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../../core/resource.mjs";
3
+ import * as LimitsAPI from "./limits.mjs";
4
+ import { Limits } from "./limits.mjs";
5
+ import { OffsetPagination } from "../../core/pagination.mjs";
6
+ import { buildHeaders } from "../../internal/headers.mjs";
7
+ import { path } from "../../internal/utils/path.mjs";
8
+ /**
9
+ * Create and manage projects for resource isolation within an organization.
10
+ */
11
+ export class Projects extends APIResource {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.limits = new LimitsAPI.Limits(this._client);
15
+ }
16
+ /**
17
+ * Create a new project within the authenticated organization. Requires a paid plan
18
+ * and the projects feature flag.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const project = await client.projects.create({
23
+ * name: 'staging',
24
+ * });
25
+ * ```
26
+ */
27
+ create(body, options) {
28
+ return this._client.post('/projects', { body, ...options });
29
+ }
30
+ /**
31
+ * Get a project by ID.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const project = await client.projects.retrieve('id');
36
+ * ```
37
+ */
38
+ retrieve(id, options) {
39
+ return this._client.get(path `/projects/${id}`, options);
40
+ }
41
+ /**
42
+ * Update a project's name or status.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const project = await client.projects.update('id');
47
+ * ```
48
+ */
49
+ update(id, body, options) {
50
+ return this._client.patch(path `/projects/${id}`, { body, ...options });
51
+ }
52
+ /**
53
+ * List projects for the authenticated organization.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * // Automatically fetches more pages as needed.
58
+ * for await (const project of client.projects.list()) {
59
+ * // ...
60
+ * }
61
+ * ```
62
+ */
63
+ list(query = {}, options) {
64
+ return this._client.getAPIList('/projects', (OffsetPagination), { query, ...options });
65
+ }
66
+ /**
67
+ * Soft-delete a project. The project must be empty (no active resources).
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * await client.projects.delete('id');
72
+ * ```
73
+ */
74
+ delete(id, options) {
75
+ return this._client.delete(path `/projects/${id}`, {
76
+ ...options,
77
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
78
+ });
79
+ }
80
+ }
81
+ Projects.Limits = Limits;
82
+ //# sourceMappingURL=projects.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.mjs","sourceRoot":"","sources":["../../src/resources/projects/projects.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OACf,KAAK,SAAS;OACd,EAAqB,MAAM,EAA6C;OAExE,EAAE,gBAAgB,EAA4C;OAC9D,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,WAAW;IAAzC;;QACE,WAAM,GAAqB,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAyEhE,CAAC;IAvEC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAyB,EAAE,OAAwB;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,EAAU,EAAE,IAAyB,EAAE,OAAwB;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAA8C,EAAE,EAChD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA,gBAAyB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,aAAa,EAAE,EAAE,EAAE;YAChD,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AAuED,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./projects/index.mjs";
2
+ //# sourceMappingURL=projects.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.mts","sourceRoot":"","sources":["../src/resources/projects.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./projects/index.js";
2
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/resources/projects.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("../internal/tslib.js");
5
+ tslib_1.__exportStar(require("./projects/index.js"), exports);
6
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../src/resources/projects.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,8DAAiC"}
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export * from "./projects/index.mjs";
3
+ //# sourceMappingURL=projects.mjs.map