-
Notifications
You must be signed in to change notification settings - Fork 1k
/
Copy pathpermissions.ts
198 lines (170 loc) · 5.24 KB
/
permissions.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from '../../../resource';
import { isRequestOptions } from '../../../core';
import * as Core from '../../../core';
import { Page } from '../../../pagination';
export class Permissions extends APIResource {
/**
* **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys).
*
* This enables organization owners to share fine-tuned models with other projects
* in their organization.
*/
create(
fineTunedModelCheckpoint: string,
body: PermissionCreateParams,
options?: Core.RequestOptions,
): Core.PagePromise<PermissionCreateResponsesPage, PermissionCreateResponse> {
return this._client.getAPIList(
`/fine_tuning/checkpoints/${fineTunedModelCheckpoint}/permissions`,
PermissionCreateResponsesPage,
{ body, method: 'post', ...options },
);
}
/**
* **NOTE:** This endpoint requires an [admin API key](../admin-api-keys).
*
* Organization owners can use this endpoint to view all permissions for a
* fine-tuned model checkpoint.
*/
retrieve(
fineTunedModelCheckpoint: string,
query?: PermissionRetrieveParams,
options?: Core.RequestOptions,
): Core.APIPromise<PermissionRetrieveResponse>;
retrieve(
fineTunedModelCheckpoint: string,
options?: Core.RequestOptions,
): Core.APIPromise<PermissionRetrieveResponse>;
retrieve(
fineTunedModelCheckpoint: string,
query: PermissionRetrieveParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
): Core.APIPromise<PermissionRetrieveResponse> {
if (isRequestOptions(query)) {
return this.retrieve(fineTunedModelCheckpoint, {}, query);
}
return this._client.get(`/fine_tuning/checkpoints/${fineTunedModelCheckpoint}/permissions`, {
query,
...options,
});
}
/**
* **NOTE:** This endpoint requires an [admin API key](../admin-api-keys).
*
* Organization owners can use this endpoint to delete a permission for a
* fine-tuned model checkpoint.
*/
del(
fineTunedModelCheckpoint: string,
options?: Core.RequestOptions,
): Core.APIPromise<PermissionDeleteResponse> {
return this._client.delete(`/fine_tuning/checkpoints/${fineTunedModelCheckpoint}/permissions`, options);
}
}
/**
* Note: no pagination actually occurs yet, this is for forwards-compatibility.
*/
export class PermissionCreateResponsesPage extends Page<PermissionCreateResponse> {}
/**
* The `checkpoint.permission` object represents a permission for a fine-tuned
* model checkpoint.
*/
export interface PermissionCreateResponse {
/**
* The permission identifier, which can be referenced in the API endpoints.
*/
id: string;
/**
* The Unix timestamp (in seconds) for when the permission was created.
*/
created_at: number;
/**
* The object type, which is always "checkpoint.permission".
*/
object: 'checkpoint.permission';
/**
* The project identifier that the permission is for.
*/
project_id: string;
}
export interface PermissionRetrieveResponse {
data: Array<PermissionRetrieveResponse.Data>;
has_more: boolean;
object: 'list';
first_id?: string | null;
last_id?: string | null;
}
export namespace PermissionRetrieveResponse {
/**
* The `checkpoint.permission` object represents a permission for a fine-tuned
* model checkpoint.
*/
export interface Data {
/**
* The permission identifier, which can be referenced in the API endpoints.
*/
id: string;
/**
* The Unix timestamp (in seconds) for when the permission was created.
*/
created_at: number;
/**
* The object type, which is always "checkpoint.permission".
*/
object: 'checkpoint.permission';
/**
* The project identifier that the permission is for.
*/
project_id: string;
}
}
export interface PermissionDeleteResponse {
/**
* The ID of the fine-tuned model checkpoint permission that was deleted.
*/
id: string;
/**
* Whether the fine-tuned model checkpoint permission was successfully deleted.
*/
deleted: boolean;
/**
* The object type, which is always "checkpoint.permission".
*/
object: 'checkpoint.permission';
}
export interface PermissionCreateParams {
/**
* The project identifiers to grant access to.
*/
project_ids: Array<string>;
}
export interface PermissionRetrieveParams {
/**
* Identifier for the last permission ID from the previous pagination request.
*/
after?: string;
/**
* Number of permissions to retrieve.
*/
limit?: number;
/**
* The order in which to retrieve permissions.
*/
order?: 'ascending' | 'descending';
/**
* The ID of the project to get permissions for.
*/
project_id?: string;
}
Permissions.PermissionCreateResponsesPage = PermissionCreateResponsesPage;
export declare namespace Permissions {
export {
type PermissionCreateResponse as PermissionCreateResponse,
type PermissionRetrieveResponse as PermissionRetrieveResponse,
type PermissionDeleteResponse as PermissionDeleteResponse,
PermissionCreateResponsesPage as PermissionCreateResponsesPage,
type PermissionCreateParams as PermissionCreateParams,
type PermissionRetrieveParams as PermissionRetrieveParams,
};
}