@distilled.cloud/vercel 0.0.0 → 1.0.0-rc.10

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 (246) hide show
  1. package/LICENSE +201 -0
  2. package/lib/credentials.d.ts +21 -0
  3. package/lib/credentials.d.ts.map +1 -0
  4. package/lib/credentials.js +40 -0
  5. package/lib/credentials.js.map +1 -0
  6. package/lib/errors.d.ts +80 -0
  7. package/lib/errors.d.ts.map +1 -0
  8. package/lib/errors.js +50 -0
  9. package/lib/errors.js.map +1 -0
  10. package/lib/index.d.ts +15 -0
  11. package/lib/index.d.ts.map +1 -0
  12. package/lib/index.js +15 -0
  13. package/lib/index.js.map +1 -0
  14. package/lib/protocol.d.ts +18 -0
  15. package/lib/protocol.d.ts.map +1 -0
  16. package/lib/protocol.js +69 -0
  17. package/lib/protocol.js.map +1 -0
  18. package/lib/retry.d.ts +54 -0
  19. package/lib/retry.d.ts.map +1 -0
  20. package/lib/retry.js +47 -0
  21. package/lib/retry.js.map +1 -0
  22. package/lib/services/access_groups.d.ts +459 -0
  23. package/lib/services/access_groups.d.ts.map +1 -0
  24. package/lib/services/access_groups.js +449 -0
  25. package/lib/services/access_groups.js.map +1 -0
  26. package/lib/services/ai_gateway.d.ts +122 -0
  27. package/lib/services/ai_gateway.d.ts.map +1 -0
  28. package/lib/services/ai_gateway.js +125 -0
  29. package/lib/services/ai_gateway.js.map +1 -0
  30. package/lib/services/aliases.d.ts +591 -0
  31. package/lib/services/aliases.d.ts.map +1 -0
  32. package/lib/services/aliases.js +482 -0
  33. package/lib/services/aliases.js.map +1 -0
  34. package/lib/services/api_ai_gateway.d.ts +275 -0
  35. package/lib/services/api_ai_gateway.d.ts.map +1 -0
  36. package/lib/services/api_ai_gateway.js +227 -0
  37. package/lib/services/api_ai_gateway.js.map +1 -0
  38. package/lib/services/artifacts.d.ts +228 -0
  39. package/lib/services/artifacts.d.ts.map +1 -0
  40. package/lib/services/artifacts.js +214 -0
  41. package/lib/services/artifacts.js.map +1 -0
  42. package/lib/services/authentication.d.ts +373 -0
  43. package/lib/services/authentication.d.ts.map +1 -0
  44. package/lib/services/authentication.js +304 -0
  45. package/lib/services/authentication.js.map +1 -0
  46. package/lib/services/billing.d.ts +930 -0
  47. package/lib/services/billing.d.ts.map +1 -0
  48. package/lib/services/billing.js +695 -0
  49. package/lib/services/billing.js.map +1 -0
  50. package/lib/services/bulk_redirects.d.ts +308 -0
  51. package/lib/services/bulk_redirects.d.ts.map +1 -0
  52. package/lib/services/bulk_redirects.js +302 -0
  53. package/lib/services/bulk_redirects.js.map +1 -0
  54. package/lib/services/certs.d.ts +171 -0
  55. package/lib/services/certs.d.ts.map +1 -0
  56. package/lib/services/certs.js +163 -0
  57. package/lib/services/certs.js.map +1 -0
  58. package/lib/services/checks_v2.d.ts +1167 -0
  59. package/lib/services/checks_v2.d.ts.map +1 -0
  60. package/lib/services/checks_v2.js +1141 -0
  61. package/lib/services/checks_v2.js.map +1 -0
  62. package/lib/services/connect.d.ts +2228 -0
  63. package/lib/services/connect.d.ts.map +1 -0
  64. package/lib/services/connect.js +1575 -0
  65. package/lib/services/connect.js.map +1 -0
  66. package/lib/services/deployments.d.ts +9419 -0
  67. package/lib/services/deployments.d.ts.map +1 -0
  68. package/lib/services/deployments.js +8248 -0
  69. package/lib/services/deployments.js.map +1 -0
  70. package/lib/services/dns.d.ts +279 -0
  71. package/lib/services/dns.d.ts.map +1 -0
  72. package/lib/services/dns.js +277 -0
  73. package/lib/services/dns.js.map +1 -0
  74. package/lib/services/domains.d.ts +564 -0
  75. package/lib/services/domains.d.ts.map +1 -0
  76. package/lib/services/domains.js +469 -0
  77. package/lib/services/domains.js.map +1 -0
  78. package/lib/services/domains_registrar.d.ts +798 -0
  79. package/lib/services/domains_registrar.d.ts.map +1 -0
  80. package/lib/services/domains_registrar.js +916 -0
  81. package/lib/services/domains_registrar.js.map +1 -0
  82. package/lib/services/drains.d.ts +2263 -0
  83. package/lib/services/drains.d.ts.map +1 -0
  84. package/lib/services/drains.js +2121 -0
  85. package/lib/services/drains.js.map +1 -0
  86. package/lib/services/edge_cache.d.ts +125 -0
  87. package/lib/services/edge_cache.d.ts.map +1 -0
  88. package/lib/services/edge_cache.js +138 -0
  89. package/lib/services/edge_cache.js.map +1 -0
  90. package/lib/services/environment.d.ts +1020 -0
  91. package/lib/services/environment.d.ts.map +1 -0
  92. package/lib/services/environment.js +805 -0
  93. package/lib/services/environment.js.map +1 -0
  94. package/lib/services/feature_flags.d.ts +2893 -0
  95. package/lib/services/feature_flags.d.ts.map +1 -0
  96. package/lib/services/feature_flags.js +2707 -0
  97. package/lib/services/feature_flags.js.map +1 -0
  98. package/lib/services/global_config.d.ts +618 -0
  99. package/lib/services/global_config.d.ts.map +1 -0
  100. package/lib/services/global_config.js +709 -0
  101. package/lib/services/global_config.js.map +1 -0
  102. package/lib/services/index.d.ts +42 -0
  103. package/lib/services/index.d.ts.map +1 -0
  104. package/lib/services/index.js +43 -0
  105. package/lib/services/index.js.map +1 -0
  106. package/lib/services/integrations.d.ts +3014 -0
  107. package/lib/services/integrations.d.ts.map +1 -0
  108. package/lib/services/integrations.js +2544 -0
  109. package/lib/services/integrations.js.map +1 -0
  110. package/lib/services/kms.d.ts +1095 -0
  111. package/lib/services/kms.d.ts.map +1 -0
  112. package/lib/services/kms.js +956 -0
  113. package/lib/services/kms.js.map +1 -0
  114. package/lib/services/log_drains.d.ts +848 -0
  115. package/lib/services/log_drains.d.ts.map +1 -0
  116. package/lib/services/log_drains.js +782 -0
  117. package/lib/services/log_drains.js.map +1 -0
  118. package/lib/services/logs.d.ts +40 -0
  119. package/lib/services/logs.d.ts.map +1 -0
  120. package/lib/services/logs.js +43 -0
  121. package/lib/services/logs.js.map +1 -0
  122. package/lib/services/marketplace.d.ts +1053 -0
  123. package/lib/services/marketplace.d.ts.map +1 -0
  124. package/lib/services/marketplace.js +1116 -0
  125. package/lib/services/marketplace.js.map +1 -0
  126. package/lib/services/microfrontends.d.ts +3250 -0
  127. package/lib/services/microfrontends.d.ts.map +1 -0
  128. package/lib/services/microfrontends.js +3154 -0
  129. package/lib/services/microfrontends.js.map +1 -0
  130. package/lib/services/misc.d.ts +192 -0
  131. package/lib/services/misc.d.ts.map +1 -0
  132. package/lib/services/misc.js +124 -0
  133. package/lib/services/misc.js.map +1 -0
  134. package/lib/services/networking.d.ts +360 -0
  135. package/lib/services/networking.d.ts.map +1 -0
  136. package/lib/services/networking.js +353 -0
  137. package/lib/services/networking.js.map +1 -0
  138. package/lib/services/observability.d.ts +168 -0
  139. package/lib/services/observability.d.ts.map +1 -0
  140. package/lib/services/observability.js +190 -0
  141. package/lib/services/observability.js.map +1 -0
  142. package/lib/services/project_members.d.ts +142 -0
  143. package/lib/services/project_members.d.ts.map +1 -0
  144. package/lib/services/project_members.js +135 -0
  145. package/lib/services/project_members.js.map +1 -0
  146. package/lib/services/project_routes.d.ts +1990 -0
  147. package/lib/services/project_routes.d.ts.map +1 -0
  148. package/lib/services/project_routes.js +1883 -0
  149. package/lib/services/project_routes.js.map +1 -0
  150. package/lib/services/projects.d.ts +23677 -0
  151. package/lib/services/projects.d.ts.map +1 -0
  152. package/lib/services/projects.js +22223 -0
  153. package/lib/services/projects.js.map +1 -0
  154. package/lib/services/rolling_release.d.ts +764 -0
  155. package/lib/services/rolling_release.d.ts.map +1 -0
  156. package/lib/services/rolling_release.js +583 -0
  157. package/lib/services/rolling_release.js.map +1 -0
  158. package/lib/services/sandboxes.d.ts +2777 -0
  159. package/lib/services/sandboxes.d.ts.map +1 -0
  160. package/lib/services/sandboxes.js +2142 -0
  161. package/lib/services/sandboxes.js.map +1 -0
  162. package/lib/services/security.d.ts +4247 -0
  163. package/lib/services/security.d.ts.map +1 -0
  164. package/lib/services/security.js +4377 -0
  165. package/lib/services/security.js.map +1 -0
  166. package/lib/services/storage.d.ts +251 -0
  167. package/lib/services/storage.d.ts.map +1 -0
  168. package/lib/services/storage.js +257 -0
  169. package/lib/services/storage.js.map +1 -0
  170. package/lib/services/teams.d.ts +1600 -0
  171. package/lib/services/teams.d.ts.map +1 -0
  172. package/lib/services/teams.js +1314 -0
  173. package/lib/services/teams.js.map +1 -0
  174. package/lib/services/user.d.ts +8559 -0
  175. package/lib/services/user.d.ts.map +1 -0
  176. package/lib/services/user.js +7407 -0
  177. package/lib/services/user.js.map +1 -0
  178. package/lib/services/vcr.d.ts +751 -0
  179. package/lib/services/vcr.d.ts.map +1 -0
  180. package/lib/services/vcr.js +826 -0
  181. package/lib/services/vcr.js.map +1 -0
  182. package/lib/services/web_analytics.d.ts +726 -0
  183. package/lib/services/web_analytics.d.ts.map +1 -0
  184. package/lib/services/web_analytics.js +707 -0
  185. package/lib/services/web_analytics.js.map +1 -0
  186. package/lib/services/webhooks.d.ts +219 -0
  187. package/lib/services/webhooks.d.ts.map +1 -0
  188. package/lib/services/webhooks.js +177 -0
  189. package/lib/services/webhooks.js.map +1 -0
  190. package/lib/traits.d.ts +10 -0
  191. package/lib/traits.d.ts.map +1 -0
  192. package/lib/traits.js +11 -0
  193. package/lib/traits.js.map +1 -0
  194. package/package.json +78 -7
  195. package/src/credentials.ts +70 -0
  196. package/src/errors.ts +93 -0
  197. package/src/index.ts +18 -0
  198. package/src/protocol.ts +98 -0
  199. package/src/retry.ts +78 -0
  200. package/src/services/access_groups.ts +1165 -0
  201. package/src/services/ai_gateway.ts +267 -0
  202. package/src/services/aliases.ts +1315 -0
  203. package/src/services/api_ai_gateway.ts +607 -0
  204. package/src/services/artifacts.ts +542 -0
  205. package/src/services/authentication.ts +827 -0
  206. package/src/services/billing.ts +2104 -0
  207. package/src/services/bulk_redirects.ts +748 -0
  208. package/src/services/certs.ts +371 -0
  209. package/src/services/checks_v2.ts +3084 -0
  210. package/src/services/connect.ts +4805 -0
  211. package/src/services/deployments.ts +24576 -0
  212. package/src/services/dns.ts +715 -0
  213. package/src/services/domains.ts +1257 -0
  214. package/src/services/domains_registrar.ts +2257 -0
  215. package/src/services/drains.ts +5828 -0
  216. package/src/services/edge_cache.ts +303 -0
  217. package/src/services/environment.ts +2379 -0
  218. package/src/services/feature_flags.ts +7722 -0
  219. package/src/services/global_config.ts +1668 -0
  220. package/src/services/index.ts +42 -0
  221. package/src/services/integrations.ts +9022 -0
  222. package/src/services/kms.ts +2614 -0
  223. package/src/services/log_drains.ts +2434 -0
  224. package/src/services/logs.ts +78 -0
  225. package/src/services/marketplace.ts +2849 -0
  226. package/src/services/microfrontends.ts +9921 -0
  227. package/src/services/misc.ts +364 -0
  228. package/src/services/networking.ts +865 -0
  229. package/src/services/observability.ts +435 -0
  230. package/src/services/project_members.ts +326 -0
  231. package/src/services/project_routes.ts +5229 -0
  232. package/src/services/projects.ts +68139 -0
  233. package/src/services/rolling_release.ts +1860 -0
  234. package/src/services/sandboxes.ts +6988 -0
  235. package/src/services/security.ts +13931 -0
  236. package/src/services/storage.ts +850 -0
  237. package/src/services/teams.ts +4055 -0
  238. package/src/services/user.ts +23195 -0
  239. package/src/services/vcr.ts +2070 -0
  240. package/src/services/web_analytics.ts +1638 -0
  241. package/src/services/webhooks.ts +1102 -0
  242. package/src/traits.ts +46 -0
  243. package/README.md +0 -15
  244. package/bun.lock +0 -26
  245. package/index.ts +0 -1
  246. package/tsconfig.json +0 -29
@@ -0,0 +1,2070 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-vercel/specs/openapi.json). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as API from "@distilled.cloud/core/api";
4
+ import * as C from "@distilled.cloud/core/category";
5
+ import * as T from "../traits.ts";
6
+ import {
7
+ VercelProtocol,
8
+ type VercelOpError,
9
+ type VercelOpContext,
10
+ } from "../protocol.ts";
11
+ import * as Retry from "../retry.ts";
12
+
13
+ export type { VercelOpError, VercelOpContext };
14
+
15
+ export class BadRequest
16
+ extends /*@__PURE__*/ T.applyErrorMatchers(
17
+ /*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
18
+ code: S.Number,
19
+ message: S.String,
20
+ }).pipe(C.withBadRequestError),
21
+ [{ status: 400 }],
22
+ ) {}
23
+
24
+ export class Conflict
25
+ extends /*@__PURE__*/ T.applyErrorMatchers(
26
+ /*@__PURE__*/ S.TaggedError<Conflict>()("Conflict", {
27
+ code: S.Number,
28
+ message: S.String,
29
+ }).pipe(C.withConflictError),
30
+ [{ status: 409 }],
31
+ ) {}
32
+
33
+ export class Forbidden
34
+ extends /*@__PURE__*/ T.applyErrorMatchers(
35
+ /*@__PURE__*/ S.TaggedError<Forbidden>()("Forbidden", {
36
+ code: S.Number,
37
+ message: S.String,
38
+ }).pipe(C.withAuthError),
39
+ [{ status: 403 }],
40
+ ) {}
41
+
42
+ export class NotFound
43
+ extends /*@__PURE__*/ T.applyErrorMatchers(
44
+ /*@__PURE__*/ S.TaggedError<NotFound>()("NotFound", {
45
+ code: S.Number,
46
+ message: S.String,
47
+ }).pipe(C.withBadRequestError),
48
+ [{ status: 404 }],
49
+ ) {}
50
+
51
+ export class PaymentRequired
52
+ extends /*@__PURE__*/ T.applyErrorMatchers(
53
+ /*@__PURE__*/ S.TaggedError<PaymentRequired>()("PaymentRequired", {
54
+ code: S.Number,
55
+ message: S.String,
56
+ }).pipe(C.withQuotaError),
57
+ [{ status: 402 }],
58
+ ) {}
59
+
60
+ export interface AddRepositoryPermissionRequest {
61
+ idOrName: string;
62
+ projectId: string;
63
+ /** The Team identifier to perform the request on behalf of. */
64
+ teamId?: string;
65
+ /** The Team slug to perform the request on behalf of. */
66
+ slug?: string;
67
+ /** Slug of a team that is granted access to a repository. */
68
+ teamSlug?: string;
69
+ }
70
+ export const AddRepositoryPermissionRequest = /*@__PURE__*/ S.suspend(() =>
71
+ S.Struct({
72
+ idOrName: S.String.pipe(T.Label()),
73
+ projectId: S.String.pipe(T.Query()),
74
+ teamId: S.optional(S.String.pipe(T.Query())),
75
+ slug: S.optional(S.String.pipe(T.Query())),
76
+ teamSlug: S.optional(S.String),
77
+ }).pipe(
78
+ T.Http({
79
+ method: "POST",
80
+ uri: "/v1/vcr/repository/{idOrName}/permissions",
81
+ code: 200,
82
+ }),
83
+ ),
84
+ ).annotate({
85
+ identifier: "AddRepositoryPermissionRequest",
86
+ }) as any as S.Schema<AddRepositoryPermissionRequest>;
87
+
88
+ /** A team's access grant to a Vercel Container Registry repository. */
89
+ export interface VcrRepositoryPermission {
90
+ /** Identifier of the repository the permission grants access to. */
91
+ repositoryId: string;
92
+ /** Identifier of the team that is granted access to the repository. */
93
+ teamId: string;
94
+ /** Slug of the team that is granted access to the repository. */
95
+ teamSlug: string;
96
+ /** ISO 8601 timestamp of when the permission was created. */
97
+ createdAt: string;
98
+ }
99
+ export const VcrRepositoryPermission = /*@__PURE__*/ S.suspend(() =>
100
+ S.Struct({
101
+ repositoryId: S.String,
102
+ teamId: S.String,
103
+ teamSlug: S.String,
104
+ createdAt: S.String,
105
+ }),
106
+ ).annotate({
107
+ identifier: "VcrRepositoryPermission",
108
+ }) as any as S.Schema<VcrRepositoryPermission>;
109
+
110
+ export interface AddRepositoryPermissionResponse {
111
+ permission: VcrRepositoryPermission;
112
+ }
113
+ export const AddRepositoryPermissionResponse = /*@__PURE__*/ S.suspend(() =>
114
+ S.Struct({
115
+ permission: VcrRepositoryPermission,
116
+ }),
117
+ ).annotate({
118
+ identifier: "AddRepositoryPermissionResponse",
119
+ }) as any as S.Schema<AddRepositoryPermissionResponse>;
120
+
121
+ export interface ClearRepositoryPermissionsRequest {
122
+ idOrName: string;
123
+ projectId: string;
124
+ /** The Team identifier to perform the request on behalf of. */
125
+ teamId?: string;
126
+ /** The Team slug to perform the request on behalf of. */
127
+ slug?: string;
128
+ }
129
+ export const ClearRepositoryPermissionsRequest = /*@__PURE__*/ S.suspend(() =>
130
+ S.Struct({
131
+ idOrName: S.String.pipe(T.Label()),
132
+ projectId: S.String.pipe(T.Query()),
133
+ teamId: S.optional(S.String.pipe(T.Query())),
134
+ slug: S.optional(S.String.pipe(T.Query())),
135
+ }).pipe(
136
+ T.Http({
137
+ method: "DELETE",
138
+ uri: "/v1/vcr/repository/{idOrName}/permissions/all",
139
+ code: 200,
140
+ }),
141
+ ),
142
+ ).annotate({
143
+ identifier: "ClearRepositoryPermissionsRequest",
144
+ }) as any as S.Schema<ClearRepositoryPermissionsRequest>;
145
+
146
+ export type ClearRepositoryPermissionsResponse = unknown;
147
+ export const ClearRepositoryPermissionsResponse = /*@__PURE__*/ S.suspend(() =>
148
+ S.Unknown.pipe(T.RawResponseRoot()),
149
+ ).annotate({
150
+ identifier: "ClearRepositoryPermissionsResponse",
151
+ }) as any as S.Schema<ClearRepositoryPermissionsResponse>;
152
+
153
+ export interface CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsRequest {
154
+ /** Single Docker repository team slug component. */
155
+ teamSlug: string;
156
+ /** Single Docker repository project slug component. */
157
+ projectSlug: string;
158
+ /** Single Docker repository name component. */
159
+ repositoryName: string;
160
+ /** Digest of the blob to mount from another repository. */
161
+ mount?: string;
162
+ /** Source repository to mount the blob from. */
163
+ from?: string;
164
+ }
165
+ export const CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsRequest =
166
+ /*@__PURE__*/ S.suspend(() =>
167
+ S.Struct({
168
+ teamSlug: S.String.pipe(T.Label()),
169
+ projectSlug: S.String.pipe(T.Label()),
170
+ repositoryName: S.String.pipe(T.Label()),
171
+ mount: S.optional(S.String.pipe(T.Query())),
172
+ from: S.optional(S.String.pipe(T.Query())),
173
+ }).pipe(
174
+ T.Http({
175
+ method: "POST",
176
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/uploads/",
177
+ code: 200,
178
+ }),
179
+ ),
180
+ ).annotate({
181
+ identifier:
182
+ "CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsRequest",
183
+ }) as any as S.Schema<CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsRequest>;
184
+
185
+ export type CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsResponse =
186
+ unknown;
187
+ export const CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsResponse =
188
+ /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.RawResponseRoot())).annotate({
189
+ identifier:
190
+ "CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsResponse",
191
+ }) as any as S.Schema<CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsResponse>;
192
+
193
+ export interface CreateRepositoryRequest {
194
+ /** The Team identifier to perform the request on behalf of. */
195
+ teamId?: string;
196
+ /** The Team slug to perform the request on behalf of. */
197
+ slug?: string;
198
+ projectId: string;
199
+ /** Single Docker repository name component. */
200
+ name: string;
201
+ }
202
+ export const CreateRepositoryRequest = /*@__PURE__*/ S.suspend(() =>
203
+ S.Struct({
204
+ teamId: S.optional(S.String.pipe(T.Query())),
205
+ slug: S.optional(S.String.pipe(T.Query())),
206
+ projectId: S.String,
207
+ name: S.String,
208
+ }).pipe(T.Http({ method: "POST", uri: "/v1/vcr/repository", code: 200 })),
209
+ ).annotate({
210
+ identifier: "CreateRepositoryRequest",
211
+ }) as any as S.Schema<CreateRepositoryRequest>;
212
+
213
+ /** A Vercel Container Registry repository. */
214
+ export interface VcrRepository {
215
+ /** Unique identifier of the repository. */
216
+ id: string;
217
+ /** Identifier of the project the repository belongs to. */
218
+ projectId: string;
219
+ /** Name of the repository. */
220
+ name: string;
221
+ /** Whether the repository is public. Images in public repositories can be pulled by anyone. Defaults to `false` (private). */
222
+ public: boolean;
223
+ /** ISO 8601 timestamp of when the repository was created. */
224
+ createdAt: string;
225
+ /** ISO 8601 timestamp of when the repository was last updated. */
226
+ updatedAt: string;
227
+ }
228
+ export const VcrRepository = /*@__PURE__*/ S.suspend(() =>
229
+ S.Struct({
230
+ id: S.String,
231
+ projectId: S.String,
232
+ name: S.String,
233
+ public: S.Boolean,
234
+ createdAt: S.String,
235
+ updatedAt: S.String,
236
+ }),
237
+ ).annotate({ identifier: "VcrRepository" }) as any as S.Schema<VcrRepository>;
238
+
239
+ export interface CreateRepositoryResponse {
240
+ repository: VcrRepository;
241
+ }
242
+ export const CreateRepositoryResponse = /*@__PURE__*/ S.suspend(() =>
243
+ S.Struct({
244
+ repository: VcrRepository,
245
+ }),
246
+ ).annotate({
247
+ identifier: "CreateRepositoryResponse",
248
+ }) as any as S.Schema<CreateRepositoryResponse>;
249
+
250
+ export interface DeleteBlobRequest {
251
+ /** Single Docker repository team slug component. */
252
+ teamSlug: string;
253
+ /** Single Docker repository project slug component. */
254
+ projectSlug: string;
255
+ /** Single Docker repository name component. */
256
+ repositoryName: string;
257
+ /** Content-addressable digest (algorithm:hex). */
258
+ digest: string;
259
+ }
260
+ export const DeleteBlobRequest = /*@__PURE__*/ S.suspend(() =>
261
+ S.Struct({
262
+ teamSlug: S.String.pipe(T.Label()),
263
+ projectSlug: S.String.pipe(T.Label()),
264
+ repositoryName: S.String.pipe(T.Label()),
265
+ digest: S.String.pipe(T.Label()),
266
+ }).pipe(
267
+ T.Http({
268
+ method: "DELETE",
269
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/{digest}",
270
+ code: 200,
271
+ }),
272
+ ),
273
+ ).annotate({
274
+ identifier: "DeleteBlobRequest",
275
+ }) as any as S.Schema<DeleteBlobRequest>;
276
+
277
+ export interface DeleteBlobResponse {}
278
+ export const DeleteBlobResponse = /*@__PURE__*/ S.suspend(() =>
279
+ S.Struct({}),
280
+ ).annotate({
281
+ identifier: "DeleteBlobResponse",
282
+ }) as any as S.Schema<DeleteBlobResponse>;
283
+
284
+ export interface DeleteBlobsUploadRequest {
285
+ /** Single Docker repository team slug component. */
286
+ teamSlug: string;
287
+ /** Single Docker repository project slug component. */
288
+ projectSlug: string;
289
+ /** Single Docker repository name component. */
290
+ repositoryName: string;
291
+ /** Blob upload session identifier. */
292
+ uuid: string;
293
+ }
294
+ export const DeleteBlobsUploadRequest = /*@__PURE__*/ S.suspend(() =>
295
+ S.Struct({
296
+ teamSlug: S.String.pipe(T.Label()),
297
+ projectSlug: S.String.pipe(T.Label()),
298
+ repositoryName: S.String.pipe(T.Label()),
299
+ uuid: S.String.pipe(T.Label()),
300
+ }).pipe(
301
+ T.Http({
302
+ method: "DELETE",
303
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/uploads/{uuid}",
304
+ code: 200,
305
+ }),
306
+ ),
307
+ ).annotate({
308
+ identifier: "DeleteBlobsUploadRequest",
309
+ }) as any as S.Schema<DeleteBlobsUploadRequest>;
310
+
311
+ export type DeleteBlobsUploadResponse = unknown;
312
+ export const DeleteBlobsUploadResponse = /*@__PURE__*/ S.suspend(() =>
313
+ S.Unknown.pipe(T.RawResponseRoot()),
314
+ ).annotate({
315
+ identifier: "DeleteBlobsUploadResponse",
316
+ }) as any as S.Schema<DeleteBlobsUploadResponse>;
317
+
318
+ export interface DeleteManifestRequest {
319
+ /** Single Docker repository team slug component. */
320
+ teamSlug: string;
321
+ /** Single Docker repository project slug component. */
322
+ projectSlug: string;
323
+ /** Single Docker repository name component. */
324
+ repositoryName: string;
325
+ /** Content-addressable digest (algorithm:hex). */
326
+ reference: string;
327
+ }
328
+ export const DeleteManifestRequest = /*@__PURE__*/ S.suspend(() =>
329
+ S.Struct({
330
+ teamSlug: S.String.pipe(T.Label()),
331
+ projectSlug: S.String.pipe(T.Label()),
332
+ repositoryName: S.String.pipe(T.Label()),
333
+ reference: S.String.pipe(T.Label()),
334
+ }).pipe(
335
+ T.Http({
336
+ method: "DELETE",
337
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/manifests/{reference}",
338
+ code: 200,
339
+ }),
340
+ ),
341
+ ).annotate({
342
+ identifier: "DeleteManifestRequest",
343
+ }) as any as S.Schema<DeleteManifestRequest>;
344
+
345
+ export type DeleteManifestResponse = unknown;
346
+ export const DeleteManifestResponse = /*@__PURE__*/ S.suspend(() =>
347
+ S.Unknown.pipe(T.RawResponseRoot()),
348
+ ).annotate({
349
+ identifier: "DeleteManifestResponse",
350
+ }) as any as S.Schema<DeleteManifestResponse>;
351
+
352
+ export interface DeleteRepositoryRequest {
353
+ idOrName: string;
354
+ projectId: string;
355
+ /** The Team identifier to perform the request on behalf of. */
356
+ teamId?: string;
357
+ /** The Team slug to perform the request on behalf of. */
358
+ slug?: string;
359
+ }
360
+ export const DeleteRepositoryRequest = /*@__PURE__*/ S.suspend(() =>
361
+ S.Struct({
362
+ idOrName: S.String.pipe(T.Label()),
363
+ projectId: S.String.pipe(T.Query()),
364
+ teamId: S.optional(S.String.pipe(T.Query())),
365
+ slug: S.optional(S.String.pipe(T.Query())),
366
+ }).pipe(
367
+ T.Http({
368
+ method: "DELETE",
369
+ uri: "/v1/vcr/repository/{idOrName}",
370
+ code: 200,
371
+ }),
372
+ ),
373
+ ).annotate({
374
+ identifier: "DeleteRepositoryRequest",
375
+ }) as any as S.Schema<DeleteRepositoryRequest>;
376
+
377
+ export type DeleteRepositoryResponse = unknown;
378
+ export const DeleteRepositoryResponse = /*@__PURE__*/ S.suspend(() =>
379
+ S.Unknown.pipe(T.RawResponseRoot()),
380
+ ).annotate({
381
+ identifier: "DeleteRepositoryResponse",
382
+ }) as any as S.Schema<DeleteRepositoryResponse>;
383
+
384
+ export interface DeleteRepositoryImageRequest {
385
+ idOrName: string;
386
+ imageId: string;
387
+ projectId: string;
388
+ /** The Team identifier to perform the request on behalf of. */
389
+ teamId?: string;
390
+ /** The Team slug to perform the request on behalf of. */
391
+ slug?: string;
392
+ }
393
+ export const DeleteRepositoryImageRequest = /*@__PURE__*/ S.suspend(() =>
394
+ S.Struct({
395
+ idOrName: S.String.pipe(T.Label()),
396
+ imageId: S.String.pipe(T.Label()),
397
+ projectId: S.String.pipe(T.Query()),
398
+ teamId: S.optional(S.String.pipe(T.Query())),
399
+ slug: S.optional(S.String.pipe(T.Query())),
400
+ }).pipe(
401
+ T.Http({
402
+ method: "DELETE",
403
+ uri: "/v1/vcr/repository/{idOrName}/images/{imageId}",
404
+ code: 200,
405
+ }),
406
+ ),
407
+ ).annotate({
408
+ identifier: "DeleteRepositoryImageRequest",
409
+ }) as any as S.Schema<DeleteRepositoryImageRequest>;
410
+
411
+ export type DeleteRepositoryImageResponse = unknown;
412
+ export const DeleteRepositoryImageResponse = /*@__PURE__*/ S.suspend(() =>
413
+ S.Unknown.pipe(T.RawResponseRoot()),
414
+ ).annotate({
415
+ identifier: "DeleteRepositoryImageResponse",
416
+ }) as any as S.Schema<DeleteRepositoryImageResponse>;
417
+
418
+ export interface GetBlobRequest {
419
+ /** Single Docker repository team slug component. */
420
+ teamSlug: string;
421
+ /** Single Docker repository project slug component. */
422
+ projectSlug: string;
423
+ /** Single Docker repository name component. */
424
+ repositoryName: string;
425
+ /** Content-addressable digest (algorithm:hex). */
426
+ digest: string;
427
+ }
428
+ export const GetBlobRequest = /*@__PURE__*/ S.suspend(() =>
429
+ S.Struct({
430
+ teamSlug: S.String.pipe(T.Label()),
431
+ projectSlug: S.String.pipe(T.Label()),
432
+ repositoryName: S.String.pipe(T.Label()),
433
+ digest: S.String.pipe(T.Label()),
434
+ }).pipe(
435
+ T.Http({
436
+ method: "GET",
437
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/{digest}",
438
+ code: 200,
439
+ }),
440
+ ),
441
+ ).annotate({ identifier: "GetBlobRequest" }) as any as S.Schema<GetBlobRequest>;
442
+
443
+ export interface GetBlobResponse {}
444
+ export const GetBlobResponse = /*@__PURE__*/ S.suspend(() =>
445
+ S.Struct({}),
446
+ ).annotate({
447
+ identifier: "GetBlobResponse",
448
+ }) as any as S.Schema<GetBlobResponse>;
449
+
450
+ export interface GetBlobsUploadRequest {
451
+ /** Single Docker repository team slug component. */
452
+ teamSlug: string;
453
+ /** Single Docker repository project slug component. */
454
+ projectSlug: string;
455
+ /** Single Docker repository name component. */
456
+ repositoryName: string;
457
+ /** Blob upload session identifier. */
458
+ uuid: string;
459
+ }
460
+ export const GetBlobsUploadRequest = /*@__PURE__*/ S.suspend(() =>
461
+ S.Struct({
462
+ teamSlug: S.String.pipe(T.Label()),
463
+ projectSlug: S.String.pipe(T.Label()),
464
+ repositoryName: S.String.pipe(T.Label()),
465
+ uuid: S.String.pipe(T.Label()),
466
+ }).pipe(
467
+ T.Http({
468
+ method: "GET",
469
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/uploads/{uuid}",
470
+ code: 200,
471
+ }),
472
+ ),
473
+ ).annotate({
474
+ identifier: "GetBlobsUploadRequest",
475
+ }) as any as S.Schema<GetBlobsUploadRequest>;
476
+
477
+ export type GetBlobsUploadResponse = unknown;
478
+ export const GetBlobsUploadResponse = /*@__PURE__*/ S.suspend(() =>
479
+ S.Unknown.pipe(T.RawResponseRoot()),
480
+ ).annotate({
481
+ identifier: "GetBlobsUploadResponse",
482
+ }) as any as S.Schema<GetBlobsUploadResponse>;
483
+
484
+ export interface GetManifestRequest {
485
+ /** Single Docker repository team slug component. */
486
+ teamSlug: string;
487
+ /** Single Docker repository project slug component. */
488
+ projectSlug: string;
489
+ /** Single Docker repository name component. */
490
+ repositoryName: string;
491
+ /** Manifest reference: a tag or digest. */
492
+ reference: string;
493
+ }
494
+ export const GetManifestRequest = /*@__PURE__*/ S.suspend(() =>
495
+ S.Struct({
496
+ teamSlug: S.String.pipe(T.Label()),
497
+ projectSlug: S.String.pipe(T.Label()),
498
+ repositoryName: S.String.pipe(T.Label()),
499
+ reference: S.String.pipe(T.Label()),
500
+ }).pipe(
501
+ T.Http({
502
+ method: "GET",
503
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/manifests/{reference}",
504
+ code: 200,
505
+ }),
506
+ ),
507
+ ).annotate({
508
+ identifier: "GetManifestRequest",
509
+ }) as any as S.Schema<GetManifestRequest>;
510
+
511
+ export interface GetManifestResponse {}
512
+ export const GetManifestResponse = /*@__PURE__*/ S.suspend(() =>
513
+ S.Struct({}),
514
+ ).annotate({
515
+ identifier: "GetManifestResponse",
516
+ }) as any as S.Schema<GetManifestResponse>;
517
+
518
+ export interface GetRepositoryRequest {
519
+ idOrName: string;
520
+ projectId: string;
521
+ /** The Team identifier to perform the request on behalf of. */
522
+ teamId?: string;
523
+ /** The Team slug to perform the request on behalf of. */
524
+ slug?: string;
525
+ }
526
+ export const GetRepositoryRequest = /*@__PURE__*/ S.suspend(() =>
527
+ S.Struct({
528
+ idOrName: S.String.pipe(T.Label()),
529
+ projectId: S.String.pipe(T.Query()),
530
+ teamId: S.optional(S.String.pipe(T.Query())),
531
+ slug: S.optional(S.String.pipe(T.Query())),
532
+ }).pipe(
533
+ T.Http({ method: "GET", uri: "/v1/vcr/repository/{idOrName}", code: 200 }),
534
+ ),
535
+ ).annotate({
536
+ identifier: "GetRepositoryRequest",
537
+ }) as any as S.Schema<GetRepositoryRequest>;
538
+
539
+ export interface GetRepositoryResponse {
540
+ repository: VcrRepository;
541
+ }
542
+ export const GetRepositoryResponse = /*@__PURE__*/ S.suspend(() =>
543
+ S.Struct({
544
+ repository: VcrRepository,
545
+ }),
546
+ ).annotate({
547
+ identifier: "GetRepositoryResponse",
548
+ }) as any as S.Schema<GetRepositoryResponse>;
549
+
550
+ export interface GetRepositoryImageRequest {
551
+ idOrName: string;
552
+ /** The internal image id (`image_...`) or the image manifest digest (`sha256:...`). */
553
+ imageIdOrDigest: string;
554
+ projectId: string;
555
+ /** The Team identifier to perform the request on behalf of. */
556
+ teamId?: string;
557
+ /** The Team slug to perform the request on behalf of. */
558
+ slug?: string;
559
+ }
560
+ export const GetRepositoryImageRequest = /*@__PURE__*/ S.suspend(() =>
561
+ S.Struct({
562
+ idOrName: S.String.pipe(T.Label()),
563
+ imageIdOrDigest: S.String.pipe(T.Label()),
564
+ projectId: S.String.pipe(T.Query()),
565
+ teamId: S.optional(S.String.pipe(T.Query())),
566
+ slug: S.optional(S.String.pipe(T.Query())),
567
+ }).pipe(
568
+ T.Http({
569
+ method: "GET",
570
+ uri: "/v1/vcr/repository/{idOrName}/images/{imageIdOrDigest}",
571
+ code: 200,
572
+ }),
573
+ ),
574
+ ).annotate({
575
+ identifier: "GetRepositoryImageRequest",
576
+ }) as any as S.Schema<GetRepositoryImageRequest>;
577
+
578
+ /** Docker/OCI build instruction associated with an image layer. */
579
+ export type VcrImageLayerCase0Operation =
580
+ | "ADD"
581
+ | "ARG"
582
+ | "CMD"
583
+ | "COPY"
584
+ | "ENTRYPOINT"
585
+ | "ENV"
586
+ | "EXPOSE"
587
+ | "FROM"
588
+ | "HEALTHCHECK"
589
+ | "LABEL"
590
+ | "ONBUILD"
591
+ | "RUN"
592
+ | "SHELL"
593
+ | "STOPSIGNAL"
594
+ | "UNKNOWN"
595
+ | "USER"
596
+ | "VOLUME"
597
+ | "WORKDIR";
598
+ export const VcrImageLayerCase0Operation = S.String;
599
+
600
+ export type VcrImageLayerCase0Type = "FROM";
601
+ export const VcrImageLayerCase0Type = S.String;
602
+
603
+ export type VcrImageLayerCase0CollapsedDigestsList = Array<string>;
604
+ export const VcrImageLayerCase0CollapsedDigestsList = /*@__PURE__*/ S.Array(
605
+ S.String,
606
+ ) as any as S.Schema<VcrImageLayerCase0CollapsedDigestsList>;
607
+
608
+ export interface VcrImageLayerCase0 {
609
+ createdBy: string | null;
610
+ digest: string | null;
611
+ /** Docker/OCI build instruction associated with an image layer. */
612
+ operation: VcrImageLayerCase0Operation;
613
+ sizeBytes: number | null;
614
+ type: VcrImageLayerCase0Type;
615
+ baseImage: string | null;
616
+ collapsedDigests: VcrImageLayerCase0CollapsedDigestsList;
617
+ collapsedLayerCount: number;
618
+ }
619
+ export const VcrImageLayerCase0 = /*@__PURE__*/ S.suspend(() =>
620
+ S.Struct({
621
+ createdBy: S.NullOr(S.String),
622
+ digest: S.NullOr(S.String),
623
+ operation: VcrImageLayerCase0Operation,
624
+ sizeBytes: S.NullOr(S.Number),
625
+ type: VcrImageLayerCase0Type,
626
+ baseImage: S.NullOr(S.String),
627
+ collapsedDigests: VcrImageLayerCase0CollapsedDigestsList,
628
+ collapsedLayerCount: S.Number,
629
+ }),
630
+ ).annotate({
631
+ identifier: "VcrImageLayerCase0",
632
+ }) as any as S.Schema<VcrImageLayerCase0>;
633
+
634
+ /** Docker/OCI build instruction associated with an image layer. */
635
+ export type VcrImageLayerCase1Operation =
636
+ | "ADD"
637
+ | "ARG"
638
+ | "CMD"
639
+ | "COPY"
640
+ | "ENTRYPOINT"
641
+ | "ENV"
642
+ | "EXPOSE"
643
+ | "FROM"
644
+ | "HEALTHCHECK"
645
+ | "LABEL"
646
+ | "ONBUILD"
647
+ | "RUN"
648
+ | "SHELL"
649
+ | "STOPSIGNAL"
650
+ | "UNKNOWN"
651
+ | "USER"
652
+ | "VOLUME"
653
+ | "WORKDIR";
654
+ export const VcrImageLayerCase1Operation = S.String;
655
+
656
+ export type VcrImageLayerCase1Type = "RUN";
657
+ export const VcrImageLayerCase1Type = S.String;
658
+
659
+ export interface VcrImageLayerCase1 {
660
+ createdBy: string | null;
661
+ digest: string | null;
662
+ /** Docker/OCI build instruction associated with an image layer. */
663
+ operation: VcrImageLayerCase1Operation;
664
+ sizeBytes: number | null;
665
+ type: VcrImageLayerCase1Type;
666
+ command: string | null;
667
+ }
668
+ export const VcrImageLayerCase1 = /*@__PURE__*/ S.suspend(() =>
669
+ S.Struct({
670
+ createdBy: S.NullOr(S.String),
671
+ digest: S.NullOr(S.String),
672
+ operation: VcrImageLayerCase1Operation,
673
+ sizeBytes: S.NullOr(S.Number),
674
+ type: VcrImageLayerCase1Type,
675
+ command: S.NullOr(S.String),
676
+ }),
677
+ ).annotate({
678
+ identifier: "VcrImageLayerCase1",
679
+ }) as any as S.Schema<VcrImageLayerCase1>;
680
+
681
+ /** Docker/OCI build instruction associated with an image layer. */
682
+ export type VcrImageLayerCase2Operation =
683
+ | "ADD"
684
+ | "ARG"
685
+ | "CMD"
686
+ | "COPY"
687
+ | "ENTRYPOINT"
688
+ | "ENV"
689
+ | "EXPOSE"
690
+ | "FROM"
691
+ | "HEALTHCHECK"
692
+ | "LABEL"
693
+ | "ONBUILD"
694
+ | "RUN"
695
+ | "SHELL"
696
+ | "STOPSIGNAL"
697
+ | "UNKNOWN"
698
+ | "USER"
699
+ | "VOLUME"
700
+ | "WORKDIR";
701
+ export const VcrImageLayerCase2Operation = S.String;
702
+
703
+ export type VcrImageLayerCase2Type = "ENV";
704
+ export const VcrImageLayerCase2Type = S.String;
705
+
706
+ export interface VcrImageLayerCase2 {
707
+ createdBy: string | null;
708
+ digest: string | null;
709
+ /** Docker/OCI build instruction associated with an image layer. */
710
+ operation: VcrImageLayerCase2Operation;
711
+ sizeBytes: number | null;
712
+ type: VcrImageLayerCase2Type;
713
+ env: string | null;
714
+ }
715
+ export const VcrImageLayerCase2 = /*@__PURE__*/ S.suspend(() =>
716
+ S.Struct({
717
+ createdBy: S.NullOr(S.String),
718
+ digest: S.NullOr(S.String),
719
+ operation: VcrImageLayerCase2Operation,
720
+ sizeBytes: S.NullOr(S.Number),
721
+ type: VcrImageLayerCase2Type,
722
+ env: S.NullOr(S.String),
723
+ }),
724
+ ).annotate({
725
+ identifier: "VcrImageLayerCase2",
726
+ }) as any as S.Schema<VcrImageLayerCase2>;
727
+
728
+ /** Docker/OCI build instruction associated with an image layer. */
729
+ export type VcrImageLayerCase3Operation =
730
+ | "ADD"
731
+ | "ARG"
732
+ | "CMD"
733
+ | "COPY"
734
+ | "ENTRYPOINT"
735
+ | "ENV"
736
+ | "EXPOSE"
737
+ | "FROM"
738
+ | "HEALTHCHECK"
739
+ | "LABEL"
740
+ | "ONBUILD"
741
+ | "RUN"
742
+ | "SHELL"
743
+ | "STOPSIGNAL"
744
+ | "UNKNOWN"
745
+ | "USER"
746
+ | "VOLUME"
747
+ | "WORKDIR";
748
+ export const VcrImageLayerCase3Operation = S.String;
749
+
750
+ export type VcrImageLayerCase3Type =
751
+ | "ADD"
752
+ | "ARG"
753
+ | "CMD"
754
+ | "COPY"
755
+ | "ENTRYPOINT"
756
+ | "EXPOSE"
757
+ | "HEALTHCHECK"
758
+ | "LABEL"
759
+ | "ONBUILD"
760
+ | "SHELL"
761
+ | "STOPSIGNAL"
762
+ | "UNKNOWN"
763
+ | "USER"
764
+ | "VOLUME"
765
+ | "WORKDIR";
766
+ export const VcrImageLayerCase3Type = S.String;
767
+
768
+ export interface VcrImageLayerCase3 {
769
+ createdBy: string | null;
770
+ digest: string | null;
771
+ /** Docker/OCI build instruction associated with an image layer. */
772
+ operation: VcrImageLayerCase3Operation;
773
+ sizeBytes: number | null;
774
+ type: VcrImageLayerCase3Type;
775
+ value: string | null;
776
+ }
777
+ export const VcrImageLayerCase3 = /*@__PURE__*/ S.suspend(() =>
778
+ S.Struct({
779
+ createdBy: S.NullOr(S.String),
780
+ digest: S.NullOr(S.String),
781
+ operation: VcrImageLayerCase3Operation,
782
+ sizeBytes: S.NullOr(S.Number),
783
+ type: VcrImageLayerCase3Type,
784
+ value: S.NullOr(S.String),
785
+ }),
786
+ ).annotate({
787
+ identifier: "VcrImageLayerCase3",
788
+ }) as any as S.Schema<VcrImageLayerCase3>;
789
+
790
+ export type VcrImageLayer =
791
+ | VcrImageLayerCase0
792
+ | VcrImageLayerCase1
793
+ | VcrImageLayerCase2
794
+ | VcrImageLayerCase3;
795
+ export const VcrImageLayer = S.Unknown as any as S.Schema<VcrImageLayer>;
796
+
797
+ export type VcrImageDetailLayersList = Array<VcrImageLayer>;
798
+ export const VcrImageDetailLayersList = /*@__PURE__*/ S.Array(
799
+ VcrImageLayer,
800
+ ) as any as S.Schema<VcrImageDetailLayersList>;
801
+
802
+ /** Tags pointing at this image's manifest. */
803
+ export type VcrImageDetailTagsList = Array<string>;
804
+ export const VcrImageDetailTagsList = /*@__PURE__*/ S.Array(
805
+ S.String,
806
+ ) as any as S.Schema<VcrImageDetailTagsList>;
807
+
808
+ /** Whether the manifest is a multi-platform image index, a single-platform image manifest or an attestation. */
809
+ export type VcrImageDetailKind = "attestation" | "index" | "manifest";
810
+ export const VcrImageDetailKind = S.String;
811
+
812
+ /** VHS-readiness status, or `null` for a multi-platform index. */
813
+ export type VcrImageDetailStatus = "preparing" | "ready" | "unoptimized";
814
+ export const VcrImageDetailStatus = S.String;
815
+
816
+ /** A single image with its tags, status and resolved Dockerfile layer history. */
817
+ export interface VcrImageDetail {
818
+ layers: VcrImageDetailLayersList;
819
+ /** Tags pointing at this image's manifest. */
820
+ tags: VcrImageDetailTagsList;
821
+ /** Internal identifier of the image. */
822
+ id: string;
823
+ /** Identifier of the repository the image belongs to. */
824
+ repositoryId: string;
825
+ /** SHA-256 digest of the image manifest. */
826
+ manifestDigest: string;
827
+ /** Whether the manifest is a multi-platform image index, a single-platform image manifest or an attestation. */
828
+ kind: VcrImageDetailKind;
829
+ /** Operating system the manifest targets. Only present for single-platform manifests. */
830
+ platform?: string;
831
+ /** CPU architecture the manifest targets. Only present for single-platform manifests. */
832
+ arch?: string;
833
+ /** Identifier of the actor that pushed the image. */
834
+ pushedBy?: string;
835
+ /** Total size in bytes of the image's resources (manifest, config and layer blobs) stored by the registry. */
836
+ sizeInBytes: number;
837
+ /** VHS-readiness status, or `null` for a multi-platform index. */
838
+ status: VcrImageDetailStatus | null;
839
+ /** ISO 8601 timestamp of when the image was created. */
840
+ createdAt: string;
841
+ }
842
+ export const VcrImageDetail = /*@__PURE__*/ S.suspend(() =>
843
+ S.Struct({
844
+ layers: VcrImageDetailLayersList,
845
+ tags: VcrImageDetailTagsList,
846
+ id: S.String,
847
+ repositoryId: S.String,
848
+ manifestDigest: S.String,
849
+ kind: VcrImageDetailKind,
850
+ platform: S.optional(S.String),
851
+ arch: S.optional(S.String),
852
+ pushedBy: S.optional(S.String),
853
+ sizeInBytes: S.Number,
854
+ status: S.NullOr(VcrImageDetailStatus),
855
+ createdAt: S.String,
856
+ }),
857
+ ).annotate({ identifier: "VcrImageDetail" }) as any as S.Schema<VcrImageDetail>;
858
+
859
+ export interface GetRepositoryImageResponse {
860
+ image: VcrImageDetail;
861
+ }
862
+ export const GetRepositoryImageResponse = /*@__PURE__*/ S.suspend(() =>
863
+ S.Struct({
864
+ image: VcrImageDetail,
865
+ }),
866
+ ).annotate({
867
+ identifier: "GetRepositoryImageResponse",
868
+ }) as any as S.Schema<GetRepositoryImageResponse>;
869
+
870
+ export interface GetRepositoryTagRequest {
871
+ idOrName: string;
872
+ tag: string;
873
+ projectId: string;
874
+ /** The Team identifier to perform the request on behalf of. */
875
+ teamId?: string;
876
+ /** The Team slug to perform the request on behalf of. */
877
+ slug?: string;
878
+ }
879
+ export const GetRepositoryTagRequest = /*@__PURE__*/ S.suspend(() =>
880
+ S.Struct({
881
+ idOrName: S.String.pipe(T.Label()),
882
+ tag: S.String.pipe(T.Label()),
883
+ projectId: S.String.pipe(T.Query()),
884
+ teamId: S.optional(S.String.pipe(T.Query())),
885
+ slug: S.optional(S.String.pipe(T.Query())),
886
+ }).pipe(
887
+ T.Http({
888
+ method: "GET",
889
+ uri: "/v1/vcr/repository/{idOrName}/tags/{tag}",
890
+ code: 200,
891
+ }),
892
+ ),
893
+ ).annotate({
894
+ identifier: "GetRepositoryTagRequest",
895
+ }) as any as S.Schema<GetRepositoryTagRequest>;
896
+
897
+ /** Whether the manifest is a multi-platform image index, a single-platform image manifest or an attestation. */
898
+ export type VcrTagKind = "attestation" | "index" | "manifest";
899
+ export const VcrTagKind = S.String;
900
+
901
+ /** VHS-readiness status, or `null` for a multi-platform index. */
902
+ export type VcrTagStatus = "preparing" | "ready" | "unoptimized";
903
+ export const VcrTagStatus = S.String;
904
+
905
+ /** A tag pointing at an image in a Vercel Container Registry repository, enriched with the backing image's metadata and VHS-readiness status. */
906
+ export interface VcrTag {
907
+ /** The tag name. */
908
+ tag: string;
909
+ /** SHA-256 digest of the image manifest the tag points at. */
910
+ manifestDigest: string;
911
+ /** Internal identifier of the image the tag points at. */
912
+ imageId: string;
913
+ /** Whether the manifest is a multi-platform image index, a single-platform image manifest or an attestation. */
914
+ kind: VcrTagKind;
915
+ /** Operating system the manifest targets. Only present for single-platform manifests. */
916
+ platform?: string;
917
+ /** CPU architecture the manifest targets. Only present for single-platform manifests. */
918
+ arch?: string;
919
+ /** Identifier of the actor that pushed the image. */
920
+ pushedBy?: string;
921
+ /** VHS-readiness status, or `null` for a multi-platform index. */
922
+ status: VcrTagStatus | null;
923
+ /** Total size in bytes of the image's resources (manifest, config and layer blobs) stored by the registry. */
924
+ sizeInBytes: number;
925
+ /** ISO 8601 timestamp of when the tag was created. */
926
+ createdAt: string;
927
+ /** ISO 8601 timestamp of when the tag was last updated. */
928
+ updatedAt: string;
929
+ }
930
+ export const VcrTag = /*@__PURE__*/ S.suspend(() =>
931
+ S.Struct({
932
+ tag: S.String,
933
+ manifestDigest: S.String,
934
+ imageId: S.String,
935
+ kind: VcrTagKind,
936
+ platform: S.optional(S.String),
937
+ arch: S.optional(S.String),
938
+ pushedBy: S.optional(S.String),
939
+ status: S.NullOr(VcrTagStatus),
940
+ sizeInBytes: S.Number,
941
+ createdAt: S.String,
942
+ updatedAt: S.String,
943
+ }),
944
+ ).annotate({ identifier: "VcrTag" }) as any as S.Schema<VcrTag>;
945
+
946
+ export interface GetRepositoryTagResponse {
947
+ tag: VcrTag;
948
+ }
949
+ export const GetRepositoryTagResponse = /*@__PURE__*/ S.suspend(() =>
950
+ S.Struct({
951
+ tag: VcrTag,
952
+ }),
953
+ ).annotate({
954
+ identifier: "GetRepositoryTagResponse",
955
+ }) as any as S.Schema<GetRepositoryTagResponse>;
956
+
957
+ export interface GetRootRequest {}
958
+ export const GetRootRequest = /*@__PURE__*/ S.suspend(() =>
959
+ S.Struct({}).pipe(T.Http({ method: "GET", uri: "/v2/", code: 200 })),
960
+ ).annotate({ identifier: "GetRootRequest" }) as any as S.Schema<GetRootRequest>;
961
+
962
+ export type GetRootResponse = unknown;
963
+ export const GetRootResponse = /*@__PURE__*/ S.suspend(() =>
964
+ S.Unknown.pipe(T.RawResponseRoot()),
965
+ ).annotate({
966
+ identifier: "GetRootResponse",
967
+ }) as any as S.Schema<GetRootResponse>;
968
+
969
+ export interface GetTagsListRequest {
970
+ /** Single Docker repository team slug component. */
971
+ teamSlug: string;
972
+ /** Single Docker repository project slug component. */
973
+ projectSlug: string;
974
+ /** Single Docker repository name component. */
975
+ repositoryName: string;
976
+ n?: number;
977
+ /** Opaque pagination cursor returned by a previous list response. */
978
+ last?: string;
979
+ }
980
+ export const GetTagsListRequest = /*@__PURE__*/ S.suspend(() =>
981
+ S.Struct({
982
+ teamSlug: S.String.pipe(T.Label()),
983
+ projectSlug: S.String.pipe(T.Label()),
984
+ repositoryName: S.String.pipe(T.Label()),
985
+ n: S.optional(S.Number.pipe(T.Query())),
986
+ last: S.optional(S.String.pipe(T.Query())),
987
+ }).pipe(
988
+ T.Http({
989
+ method: "GET",
990
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/tags/list",
991
+ code: 200,
992
+ }),
993
+ ),
994
+ ).annotate({
995
+ identifier: "GetTagsListRequest",
996
+ }) as any as S.Schema<GetTagsListRequest>;
997
+
998
+ export type GetTagsListResponseTagsList = Array<string>;
999
+ export const GetTagsListResponseTagsList = /*@__PURE__*/ S.Array(
1000
+ S.String,
1001
+ ) as any as S.Schema<GetTagsListResponseTagsList>;
1002
+
1003
+ export interface GetTagsListResponse {
1004
+ name: string;
1005
+ tags: GetTagsListResponseTagsList;
1006
+ }
1007
+ export const GetTagsListResponse = /*@__PURE__*/ S.suspend(() =>
1008
+ S.Struct({
1009
+ name: S.String,
1010
+ tags: GetTagsListResponseTagsList,
1011
+ }),
1012
+ ).annotate({
1013
+ identifier: "GetTagsListResponse",
1014
+ }) as any as S.Schema<GetTagsListResponse>;
1015
+
1016
+ export interface HeadBlobRequest {
1017
+ /** Single Docker repository team slug component. */
1018
+ teamSlug: string;
1019
+ /** Single Docker repository project slug component. */
1020
+ projectSlug: string;
1021
+ /** Single Docker repository name component. */
1022
+ repositoryName: string;
1023
+ /** Content-addressable digest (algorithm:hex). */
1024
+ digest: string;
1025
+ }
1026
+ export const HeadBlobRequest = /*@__PURE__*/ S.suspend(() =>
1027
+ S.Struct({
1028
+ teamSlug: S.String.pipe(T.Label()),
1029
+ projectSlug: S.String.pipe(T.Label()),
1030
+ repositoryName: S.String.pipe(T.Label()),
1031
+ digest: S.String.pipe(T.Label()),
1032
+ }).pipe(
1033
+ T.Http({
1034
+ method: "HEAD",
1035
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/{digest}",
1036
+ code: 200,
1037
+ }),
1038
+ ),
1039
+ ).annotate({
1040
+ identifier: "HeadBlobRequest",
1041
+ }) as any as S.Schema<HeadBlobRequest>;
1042
+
1043
+ export interface HeadBlobResponse {}
1044
+ export const HeadBlobResponse = /*@__PURE__*/ S.suspend(() =>
1045
+ S.Struct({}),
1046
+ ).annotate({
1047
+ identifier: "HeadBlobResponse",
1048
+ }) as any as S.Schema<HeadBlobResponse>;
1049
+
1050
+ export interface HeadManifestRequest {
1051
+ /** Single Docker repository team slug component. */
1052
+ teamSlug: string;
1053
+ /** Single Docker repository project slug component. */
1054
+ projectSlug: string;
1055
+ /** Single Docker repository name component. */
1056
+ repositoryName: string;
1057
+ /** Manifest reference: a tag or digest. */
1058
+ reference: string;
1059
+ }
1060
+ export const HeadManifestRequest = /*@__PURE__*/ S.suspend(() =>
1061
+ S.Struct({
1062
+ teamSlug: S.String.pipe(T.Label()),
1063
+ projectSlug: S.String.pipe(T.Label()),
1064
+ repositoryName: S.String.pipe(T.Label()),
1065
+ reference: S.String.pipe(T.Label()),
1066
+ }).pipe(
1067
+ T.Http({
1068
+ method: "HEAD",
1069
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/manifests/{reference}",
1070
+ code: 200,
1071
+ }),
1072
+ ),
1073
+ ).annotate({
1074
+ identifier: "HeadManifestRequest",
1075
+ }) as any as S.Schema<HeadManifestRequest>;
1076
+
1077
+ export interface HeadManifestResponse {}
1078
+ export const HeadManifestResponse = /*@__PURE__*/ S.suspend(() =>
1079
+ S.Struct({}),
1080
+ ).annotate({
1081
+ identifier: "HeadManifestResponse",
1082
+ }) as any as S.Schema<HeadManifestResponse>;
1083
+
1084
+ export interface ListRepositoriesRequest {
1085
+ projectId: string;
1086
+ limit?: number;
1087
+ /** Opaque pagination cursor returned by a previous list response. */
1088
+ cursor?: string;
1089
+ /** The Team identifier to perform the request on behalf of. */
1090
+ teamId?: string;
1091
+ /** The Team slug to perform the request on behalf of. */
1092
+ slug?: string;
1093
+ }
1094
+ export const ListRepositoriesRequest = /*@__PURE__*/ S.suspend(() =>
1095
+ S.Struct({
1096
+ projectId: S.String.pipe(T.Query()),
1097
+ limit: S.optional(S.Number.pipe(T.Query())),
1098
+ cursor: S.optional(S.String.pipe(T.Query())),
1099
+ teamId: S.optional(S.String.pipe(T.Query())),
1100
+ slug: S.optional(S.String.pipe(T.Query())),
1101
+ }).pipe(T.Http({ method: "GET", uri: "/v1/vcr/repository", code: 200 })),
1102
+ ).annotate({
1103
+ identifier: "ListRepositoriesRequest",
1104
+ }) as any as S.Schema<ListRepositoriesRequest>;
1105
+
1106
+ export type VcrRepositoryListRepositoriesList = Array<VcrRepository>;
1107
+ export const VcrRepositoryListRepositoriesList = /*@__PURE__*/ S.Array(
1108
+ VcrRepository,
1109
+ ) as any as S.Schema<VcrRepositoryListRepositoriesList>;
1110
+
1111
+ /** A paginated list of Vercel Container Registry repositories. */
1112
+ export interface VcrRepositoryList {
1113
+ repositories: VcrRepositoryListRepositoriesList;
1114
+ /** Cursor to fetch the next page of results, when more are available. */
1115
+ nextCursor?: string;
1116
+ }
1117
+ export const VcrRepositoryList = /*@__PURE__*/ S.suspend(() =>
1118
+ S.Struct({
1119
+ repositories: VcrRepositoryListRepositoriesList,
1120
+ nextCursor: S.optional(S.String),
1121
+ }),
1122
+ ).annotate({
1123
+ identifier: "VcrRepositoryList",
1124
+ }) as any as S.Schema<VcrRepositoryList>;
1125
+
1126
+ export interface ListRepositoryImagesRequest {
1127
+ idOrName: string;
1128
+ projectId: string;
1129
+ limit?: number;
1130
+ /** Opaque pagination cursor returned by a previous list response. */
1131
+ cursor?: string;
1132
+ untagged?: boolean;
1133
+ /** The Team identifier to perform the request on behalf of. */
1134
+ teamId?: string;
1135
+ /** The Team slug to perform the request on behalf of. */
1136
+ slug?: string;
1137
+ }
1138
+ export const ListRepositoryImagesRequest = /*@__PURE__*/ S.suspend(() =>
1139
+ S.Struct({
1140
+ idOrName: S.String.pipe(T.Label()),
1141
+ projectId: S.String.pipe(T.Query()),
1142
+ limit: S.optional(S.Number.pipe(T.Query())),
1143
+ cursor: S.optional(S.String.pipe(T.Query())),
1144
+ untagged: S.optional(S.Boolean.pipe(T.Query())),
1145
+ teamId: S.optional(S.String.pipe(T.Query())),
1146
+ slug: S.optional(S.String.pipe(T.Query())),
1147
+ }).pipe(
1148
+ T.Http({
1149
+ method: "GET",
1150
+ uri: "/v1/vcr/repository/{idOrName}/images",
1151
+ code: 200,
1152
+ }),
1153
+ ),
1154
+ ).annotate({
1155
+ identifier: "ListRepositoryImagesRequest",
1156
+ }) as any as S.Schema<ListRepositoryImagesRequest>;
1157
+
1158
+ /** Tags pointing at this image's manifest. */
1159
+ export type VcrImageListItemTagsList = Array<string>;
1160
+ export const VcrImageListItemTagsList = /*@__PURE__*/ S.Array(
1161
+ S.String,
1162
+ ) as any as S.Schema<VcrImageListItemTagsList>;
1163
+
1164
+ /** Whether the manifest is a multi-platform image index, a single-platform image manifest or an attestation. */
1165
+ export type VcrImageListItemKind = "attestation" | "index" | "manifest";
1166
+ export const VcrImageListItemKind = S.String;
1167
+
1168
+ /** VHS-readiness status, or `null` for a multi-platform index. */
1169
+ export type VcrImageListItemStatus = "preparing" | "ready" | "unoptimized";
1170
+ export const VcrImageListItemStatus = S.String;
1171
+
1172
+ /** An image enriched with its tags and VHS-readiness status, as returned when listing a repository's images. */
1173
+ export interface VcrImageListItem {
1174
+ /** Tags pointing at this image's manifest. */
1175
+ tags: VcrImageListItemTagsList;
1176
+ /** Internal identifier of the image. */
1177
+ id: string;
1178
+ /** Identifier of the repository the image belongs to. */
1179
+ repositoryId: string;
1180
+ /** SHA-256 digest of the image manifest. */
1181
+ manifestDigest: string;
1182
+ /** Whether the manifest is a multi-platform image index, a single-platform image manifest or an attestation. */
1183
+ kind: VcrImageListItemKind;
1184
+ /** Operating system the manifest targets. Only present for single-platform manifests. */
1185
+ platform?: string;
1186
+ /** CPU architecture the manifest targets. Only present for single-platform manifests. */
1187
+ arch?: string;
1188
+ /** Identifier of the actor that pushed the image. */
1189
+ pushedBy?: string;
1190
+ /** Total size in bytes of the image's resources (manifest, config and layer blobs) stored by the registry. */
1191
+ sizeInBytes: number;
1192
+ /** VHS-readiness status, or `null` for a multi-platform index. */
1193
+ status: VcrImageListItemStatus | null;
1194
+ /** ISO 8601 timestamp of when the image was created. */
1195
+ createdAt: string;
1196
+ }
1197
+ export const VcrImageListItem = /*@__PURE__*/ S.suspend(() =>
1198
+ S.Struct({
1199
+ tags: VcrImageListItemTagsList,
1200
+ id: S.String,
1201
+ repositoryId: S.String,
1202
+ manifestDigest: S.String,
1203
+ kind: VcrImageListItemKind,
1204
+ platform: S.optional(S.String),
1205
+ arch: S.optional(S.String),
1206
+ pushedBy: S.optional(S.String),
1207
+ sizeInBytes: S.Number,
1208
+ status: S.NullOr(VcrImageListItemStatus),
1209
+ createdAt: S.String,
1210
+ }),
1211
+ ).annotate({
1212
+ identifier: "VcrImageListItem",
1213
+ }) as any as S.Schema<VcrImageListItem>;
1214
+
1215
+ export type VcrImageListImagesList = Array<VcrImageListItem>;
1216
+ export const VcrImageListImagesList = /*@__PURE__*/ S.Array(
1217
+ VcrImageListItem,
1218
+ ) as any as S.Schema<VcrImageListImagesList>;
1219
+
1220
+ /** A paginated list of images for a repository. */
1221
+ export interface VcrImageList {
1222
+ images: VcrImageListImagesList;
1223
+ /** Cursor to fetch the next page of results, when more are available. */
1224
+ nextCursor?: string;
1225
+ }
1226
+ export const VcrImageList = /*@__PURE__*/ S.suspend(() =>
1227
+ S.Struct({
1228
+ images: VcrImageListImagesList,
1229
+ nextCursor: S.optional(S.String),
1230
+ }),
1231
+ ).annotate({ identifier: "VcrImageList" }) as any as S.Schema<VcrImageList>;
1232
+
1233
+ export interface ListRepositoryPermissionsRequest {
1234
+ idOrName: string;
1235
+ projectId: string;
1236
+ limit?: number;
1237
+ /** Opaque pagination cursor returned by a previous list response. */
1238
+ cursor?: string;
1239
+ /** The Team identifier to perform the request on behalf of. */
1240
+ teamId?: string;
1241
+ /** The Team slug to perform the request on behalf of. */
1242
+ slug?: string;
1243
+ }
1244
+ export const ListRepositoryPermissionsRequest = /*@__PURE__*/ S.suspend(() =>
1245
+ S.Struct({
1246
+ idOrName: S.String.pipe(T.Label()),
1247
+ projectId: S.String.pipe(T.Query()),
1248
+ limit: S.optional(S.Number.pipe(T.Query())),
1249
+ cursor: S.optional(S.String.pipe(T.Query())),
1250
+ teamId: S.optional(S.String.pipe(T.Query())),
1251
+ slug: S.optional(S.String.pipe(T.Query())),
1252
+ }).pipe(
1253
+ T.Http({
1254
+ method: "GET",
1255
+ uri: "/v1/vcr/repository/{idOrName}/permissions",
1256
+ code: 200,
1257
+ }),
1258
+ ),
1259
+ ).annotate({
1260
+ identifier: "ListRepositoryPermissionsRequest",
1261
+ }) as any as S.Schema<ListRepositoryPermissionsRequest>;
1262
+
1263
+ export type VcrRepositoryPermissionListPermissionsList =
1264
+ Array<VcrRepositoryPermission>;
1265
+ export const VcrRepositoryPermissionListPermissionsList = /*@__PURE__*/ S.Array(
1266
+ VcrRepositoryPermission,
1267
+ ) as any as S.Schema<VcrRepositoryPermissionListPermissionsList>;
1268
+
1269
+ /** A paginated list of Vercel Container Registry repository permissions. */
1270
+ export interface VcrRepositoryPermissionList {
1271
+ permissions: VcrRepositoryPermissionListPermissionsList;
1272
+ /** Cursor to fetch the next page of results, when more are available. */
1273
+ nextCursor?: string;
1274
+ }
1275
+ export const VcrRepositoryPermissionList = /*@__PURE__*/ S.suspend(() =>
1276
+ S.Struct({
1277
+ permissions: VcrRepositoryPermissionListPermissionsList,
1278
+ nextCursor: S.optional(S.String),
1279
+ }),
1280
+ ).annotate({
1281
+ identifier: "VcrRepositoryPermissionList",
1282
+ }) as any as S.Schema<VcrRepositoryPermissionList>;
1283
+
1284
+ /** Field to sort the non-pinned tags by. */
1285
+ export type ListRepositoryTagsRequestSortBy = "updatedAt" | "tag";
1286
+ export const ListRepositoryTagsRequestSortBy = S.String;
1287
+
1288
+ /** Sort direction. Defaults to desc. */
1289
+ export type ListRepositoryTagsRequestSortOrder = "asc" | "desc";
1290
+ export const ListRepositoryTagsRequestSortOrder = S.String;
1291
+
1292
+ export interface ListRepositoryTagsRequest {
1293
+ idOrName: string;
1294
+ projectId: string;
1295
+ limit?: number;
1296
+ cursor?: string;
1297
+ /** Field to sort the non-pinned tags by. */
1298
+ sortBy?: ListRepositoryTagsRequestSortBy | (string & {});
1299
+ /** Sort direction. Defaults to desc. */
1300
+ sortOrder?: ListRepositoryTagsRequestSortOrder | (string & {});
1301
+ /** The Team identifier to perform the request on behalf of. */
1302
+ teamId?: string;
1303
+ /** The Team slug to perform the request on behalf of. */
1304
+ slug?: string;
1305
+ }
1306
+ export const ListRepositoryTagsRequest = /*@__PURE__*/ S.suspend(() =>
1307
+ S.Struct({
1308
+ idOrName: S.String.pipe(T.Label()),
1309
+ projectId: S.String.pipe(T.Query()),
1310
+ limit: S.optional(S.Number.pipe(T.Query())),
1311
+ cursor: S.optional(S.String.pipe(T.Query())),
1312
+ sortBy: S.optional(ListRepositoryTagsRequestSortBy.pipe(T.Query())),
1313
+ sortOrder: S.optional(ListRepositoryTagsRequestSortOrder.pipe(T.Query())),
1314
+ teamId: S.optional(S.String.pipe(T.Query())),
1315
+ slug: S.optional(S.String.pipe(T.Query())),
1316
+ }).pipe(
1317
+ T.Http({
1318
+ method: "GET",
1319
+ uri: "/v1/vcr/repository/{idOrName}/tags",
1320
+ code: 200,
1321
+ }),
1322
+ ),
1323
+ ).annotate({
1324
+ identifier: "ListRepositoryTagsRequest",
1325
+ }) as any as S.Schema<ListRepositoryTagsRequest>;
1326
+
1327
+ export type ListRepositoryTagsResponseTagsItemKind =
1328
+ | "attestation"
1329
+ | "index"
1330
+ | "manifest";
1331
+ export const ListRepositoryTagsResponseTagsItemKind = S.String;
1332
+
1333
+ export type ListRepositoryTagsResponseTagsItemStatus =
1334
+ | "preparing"
1335
+ | "ready"
1336
+ | "unoptimized";
1337
+ export const ListRepositoryTagsResponseTagsItemStatus = S.String;
1338
+
1339
+ export interface ListRepositoryTagsResponseTagsItem {
1340
+ tag: string;
1341
+ manifestDigest: string;
1342
+ imageId: string;
1343
+ kind: ListRepositoryTagsResponseTagsItemKind;
1344
+ platform?: string;
1345
+ arch?: string;
1346
+ pushedBy?: string;
1347
+ status: ListRepositoryTagsResponseTagsItemStatus | null;
1348
+ sizeInBytes: number;
1349
+ createdAt: string;
1350
+ updatedAt: string;
1351
+ }
1352
+ export const ListRepositoryTagsResponseTagsItem = /*@__PURE__*/ S.suspend(() =>
1353
+ S.Struct({
1354
+ tag: S.String,
1355
+ manifestDigest: S.String,
1356
+ imageId: S.String,
1357
+ kind: ListRepositoryTagsResponseTagsItemKind,
1358
+ platform: S.optional(S.String),
1359
+ arch: S.optional(S.String),
1360
+ pushedBy: S.optional(S.String),
1361
+ status: S.NullOr(ListRepositoryTagsResponseTagsItemStatus),
1362
+ sizeInBytes: S.Number,
1363
+ createdAt: S.String,
1364
+ updatedAt: S.String,
1365
+ }),
1366
+ ).annotate({
1367
+ identifier: "ListRepositoryTagsResponseTagsItem",
1368
+ }) as any as S.Schema<ListRepositoryTagsResponseTagsItem>;
1369
+
1370
+ export type ListRepositoryTagsResponseTagsList =
1371
+ Array<ListRepositoryTagsResponseTagsItem>;
1372
+ export const ListRepositoryTagsResponseTagsList = /*@__PURE__*/ S.Array(
1373
+ ListRepositoryTagsResponseTagsItem,
1374
+ ) as any as S.Schema<ListRepositoryTagsResponseTagsList>;
1375
+
1376
+ export interface ListRepositoryTagsResponse {
1377
+ tags: ListRepositoryTagsResponseTagsList;
1378
+ nextCursor?: string;
1379
+ }
1380
+ export const ListRepositoryTagsResponse = /*@__PURE__*/ S.suspend(() =>
1381
+ S.Struct({
1382
+ tags: ListRepositoryTagsResponseTagsList,
1383
+ nextCursor: S.optional(S.String),
1384
+ }),
1385
+ ).annotate({
1386
+ identifier: "ListRepositoryTagsResponse",
1387
+ }) as any as S.Schema<ListRepositoryTagsResponse>;
1388
+
1389
+ export interface RemoveRepositoryPermissionRequest {
1390
+ idOrName: string;
1391
+ projectId: string;
1392
+ /** The Team identifier to perform the request on behalf of. */
1393
+ teamId?: string;
1394
+ /** The Team slug to perform the request on behalf of. */
1395
+ slug?: string;
1396
+ /** Slug of a team that is granted access to a repository. */
1397
+ teamSlug?: string;
1398
+ }
1399
+ export const RemoveRepositoryPermissionRequest = /*@__PURE__*/ S.suspend(() =>
1400
+ S.Struct({
1401
+ idOrName: S.String.pipe(T.Label()),
1402
+ projectId: S.String.pipe(T.Query()),
1403
+ teamId: S.optional(S.String.pipe(T.Query())),
1404
+ slug: S.optional(S.String.pipe(T.Query())),
1405
+ teamSlug: S.optional(S.String),
1406
+ }).pipe(
1407
+ T.Http({
1408
+ method: "DELETE",
1409
+ uri: "/v1/vcr/repository/{idOrName}/permissions",
1410
+ code: 200,
1411
+ }),
1412
+ ),
1413
+ ).annotate({
1414
+ identifier: "RemoveRepositoryPermissionRequest",
1415
+ }) as any as S.Schema<RemoveRepositoryPermissionRequest>;
1416
+
1417
+ export type RemoveRepositoryPermissionResponse = unknown;
1418
+ export const RemoveRepositoryPermissionResponse = /*@__PURE__*/ S.suspend(() =>
1419
+ S.Unknown.pipe(T.RawResponseRoot()),
1420
+ ).annotate({
1421
+ identifier: "RemoveRepositoryPermissionResponse",
1422
+ }) as any as S.Schema<RemoveRepositoryPermissionResponse>;
1423
+
1424
+ export interface ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest {
1425
+ /** Single Docker repository team slug component. */
1426
+ teamSlug: string;
1427
+ /** Single Docker repository project slug component. */
1428
+ projectSlug: string;
1429
+ /** Single Docker repository name component. */
1430
+ repositoryName: string;
1431
+ /** Blob upload session identifier. */
1432
+ uuid: string;
1433
+ /** Content-addressable digest (algorithm:hex). */
1434
+ digest: string;
1435
+ }
1436
+ export const ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest =
1437
+ /*@__PURE__*/ S.suspend(() =>
1438
+ S.Struct({
1439
+ teamSlug: S.String.pipe(T.Label()),
1440
+ projectSlug: S.String.pipe(T.Label()),
1441
+ repositoryName: S.String.pipe(T.Label()),
1442
+ uuid: S.String.pipe(T.Label()),
1443
+ digest: S.String.pipe(T.Query()),
1444
+ }).pipe(
1445
+ T.Http({
1446
+ method: "PUT",
1447
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/uploads/{uuid}",
1448
+ code: 200,
1449
+ }),
1450
+ ),
1451
+ ).annotate({
1452
+ identifier:
1453
+ "ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest",
1454
+ }) as any as S.Schema<ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest>;
1455
+
1456
+ export type ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse =
1457
+ unknown;
1458
+ export const ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse =
1459
+ /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.RawResponseRoot())).annotate({
1460
+ identifier:
1461
+ "ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse",
1462
+ }) as any as S.Schema<ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse>;
1463
+
1464
+ export interface ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest {
1465
+ /** Single Docker repository team slug component. */
1466
+ teamSlug: string;
1467
+ /** Single Docker repository project slug component. */
1468
+ projectSlug: string;
1469
+ /** Single Docker repository name component. */
1470
+ repositoryName: string;
1471
+ /** Manifest reference: a tag or digest. */
1472
+ reference: string;
1473
+ }
1474
+ export const ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest =
1475
+ /*@__PURE__*/ S.suspend(() =>
1476
+ S.Struct({
1477
+ teamSlug: S.String.pipe(T.Label()),
1478
+ projectSlug: S.String.pipe(T.Label()),
1479
+ repositoryName: S.String.pipe(T.Label()),
1480
+ reference: S.String.pipe(T.Label()),
1481
+ }).pipe(
1482
+ T.Http({
1483
+ method: "PUT",
1484
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/manifests/{reference}",
1485
+ code: 200,
1486
+ }),
1487
+ ),
1488
+ ).annotate({
1489
+ identifier:
1490
+ "ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest",
1491
+ }) as any as S.Schema<ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest>;
1492
+
1493
+ export type ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceResponse =
1494
+ unknown;
1495
+ export const ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceResponse =
1496
+ /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.RawResponseRoot())).annotate({
1497
+ identifier:
1498
+ "ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceResponse",
1499
+ }) as any as S.Schema<ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceResponse>;
1500
+
1501
+ export interface UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest {
1502
+ /** Single Docker repository team slug component. */
1503
+ teamSlug: string;
1504
+ /** Single Docker repository project slug component. */
1505
+ projectSlug: string;
1506
+ /** Single Docker repository name component. */
1507
+ repositoryName: string;
1508
+ /** Blob upload session identifier. */
1509
+ uuid: string;
1510
+ }
1511
+ export const UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest =
1512
+ /*@__PURE__*/ S.suspend(() =>
1513
+ S.Struct({
1514
+ teamSlug: S.String.pipe(T.Label()),
1515
+ projectSlug: S.String.pipe(T.Label()),
1516
+ repositoryName: S.String.pipe(T.Label()),
1517
+ uuid: S.String.pipe(T.Label()),
1518
+ }).pipe(
1519
+ T.Http({
1520
+ method: "PATCH",
1521
+ uri: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/uploads/{uuid}",
1522
+ code: 200,
1523
+ }),
1524
+ ),
1525
+ ).annotate({
1526
+ identifier:
1527
+ "UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest",
1528
+ }) as any as S.Schema<UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest>;
1529
+
1530
+ export type UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse =
1531
+ unknown;
1532
+ export const UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse =
1533
+ /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.RawResponseRoot())).annotate({
1534
+ identifier:
1535
+ "UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse",
1536
+ }) as any as S.Schema<UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse>;
1537
+
1538
+ export type AddRepositoryPermissionError =
1539
+ | BadRequest
1540
+ | Forbidden
1541
+ | NotFound
1542
+ | VercelOpError;
1543
+ /** Add a repository permission Grant a team access to a VCR repository. Sharing applies to the whole repository. */
1544
+ export const addRepositoryPermission: API.OperationMethod<
1545
+ AddRepositoryPermissionRequest,
1546
+ AddRepositoryPermissionResponse,
1547
+ AddRepositoryPermissionError,
1548
+ VercelOpContext
1549
+ > = /*@__PURE__*/ API.make(() => ({
1550
+ input: AddRepositoryPermissionRequest,
1551
+ output: AddRepositoryPermissionResponse,
1552
+ errors: [BadRequest, Forbidden, NotFound],
1553
+ protocol: VercelProtocol,
1554
+ retry: Retry.Retry,
1555
+ }));
1556
+
1557
+ export type ClearRepositoryPermissionsError =
1558
+ | BadRequest
1559
+ | Forbidden
1560
+ | NotFound
1561
+ | VercelOpError;
1562
+ /** Clear all repository permissions Revoke every team's access to a VCR repository. Clearing an unshared repository is a no-op. */
1563
+ export const clearRepositoryPermissions: API.OperationMethod<
1564
+ ClearRepositoryPermissionsRequest,
1565
+ ClearRepositoryPermissionsResponse,
1566
+ ClearRepositoryPermissionsError,
1567
+ VercelOpContext
1568
+ > = /*@__PURE__*/ API.make(() => ({
1569
+ input: ClearRepositoryPermissionsRequest,
1570
+ output: ClearRepositoryPermissionsResponse,
1571
+ errors: [BadRequest, Forbidden, NotFound],
1572
+ protocol: VercelProtocol,
1573
+ retry: Retry.Retry,
1574
+ }));
1575
+
1576
+ export type CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsError =
1577
+ | BadRequest
1578
+ | PaymentRequired
1579
+ | Forbidden
1580
+ | NotFound
1581
+ | VercelOpError;
1582
+ /** Start a blob upload POST /v2/:teamSlug/:projectSlug/:repositoryName/blobs/uploads/[?mount=<digest>&from=<repo>] Initiate a blob upload. Returns a UUID in the Location header that the client uses for subsequent PATCH (chunk) and PUT (complete) requests. */
1583
+ export const createByTeamSlugByProjectSlugByRepositoryNameBlobsUploads: API.OperationMethod<
1584
+ CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsRequest,
1585
+ CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsResponse,
1586
+ CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsError,
1587
+ VercelOpContext
1588
+ > = /*@__PURE__*/ API.make(() => ({
1589
+ input: CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsRequest,
1590
+ output: CreateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsResponse,
1591
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1592
+ protocol: VercelProtocol,
1593
+ retry: Retry.Retry,
1594
+ }));
1595
+
1596
+ export type CreateRepositoryError =
1597
+ | BadRequest
1598
+ | PaymentRequired
1599
+ | Forbidden
1600
+ | NotFound
1601
+ | Conflict
1602
+ | VercelOpError;
1603
+ /** Create a repository Create a container registry repository for a project. */
1604
+ export const createRepository: API.OperationMethod<
1605
+ CreateRepositoryRequest,
1606
+ CreateRepositoryResponse,
1607
+ CreateRepositoryError,
1608
+ VercelOpContext
1609
+ > = /*@__PURE__*/ API.make(() => ({
1610
+ input: CreateRepositoryRequest,
1611
+ output: CreateRepositoryResponse,
1612
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound, Conflict],
1613
+ protocol: VercelProtocol,
1614
+ retry: Retry.Retry,
1615
+ }));
1616
+
1617
+ export type DeleteBlobError =
1618
+ | BadRequest
1619
+ | PaymentRequired
1620
+ | Forbidden
1621
+ | NotFound
1622
+ | VercelOpError;
1623
+ /** Delete a blob DELETE /v2/:teamSlug/:projectSlug/:repositoryName/blobs/:digest Blob deletion is intentionally not supported. Matches the behaviour of most public registries. */
1624
+ export const deleteBlob: API.OperationMethod<
1625
+ DeleteBlobRequest,
1626
+ DeleteBlobResponse,
1627
+ DeleteBlobError,
1628
+ VercelOpContext
1629
+ > = /*@__PURE__*/ API.make(() => ({
1630
+ input: DeleteBlobRequest,
1631
+ output: DeleteBlobResponse,
1632
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1633
+ protocol: VercelProtocol,
1634
+ retry: Retry.Retry,
1635
+ }));
1636
+
1637
+ export type DeleteBlobsUploadError =
1638
+ | BadRequest
1639
+ | PaymentRequired
1640
+ | Forbidden
1641
+ | NotFound
1642
+ | VercelOpError;
1643
+ /** Cancel a blob upload DELETE /v2/:teamSlug/:projectSlug/:repositoryName/blobs/uploads/:uuid Cancel an in-flight blob upload. Aborts the underlying S3 multipart upload (if one was started) and discards the session. */
1644
+ export const deleteBlobsUpload: API.OperationMethod<
1645
+ DeleteBlobsUploadRequest,
1646
+ DeleteBlobsUploadResponse,
1647
+ DeleteBlobsUploadError,
1648
+ VercelOpContext
1649
+ > = /*@__PURE__*/ API.make(() => ({
1650
+ input: DeleteBlobsUploadRequest,
1651
+ output: DeleteBlobsUploadResponse,
1652
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1653
+ protocol: VercelProtocol,
1654
+ retry: Retry.Retry,
1655
+ }));
1656
+
1657
+ export type DeleteManifestError =
1658
+ | BadRequest
1659
+ | PaymentRequired
1660
+ | Forbidden
1661
+ | NotFound
1662
+ | VercelOpError;
1663
+ /** Delete an image manifest DELETE /v2/:teamSlug/:projectSlug/:repositoryName/manifests/:reference Reference must be a digest. */
1664
+ export const deleteManifest: API.OperationMethod<
1665
+ DeleteManifestRequest,
1666
+ DeleteManifestResponse,
1667
+ DeleteManifestError,
1668
+ VercelOpContext
1669
+ > = /*@__PURE__*/ API.make(() => ({
1670
+ input: DeleteManifestRequest,
1671
+ output: DeleteManifestResponse,
1672
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1673
+ protocol: VercelProtocol,
1674
+ retry: Retry.Retry,
1675
+ }));
1676
+
1677
+ export type DeleteRepositoryError =
1678
+ | BadRequest
1679
+ | Forbidden
1680
+ | NotFound
1681
+ | VercelOpError;
1682
+ /** Delete a repository Schedule a repository for deletion. The repository is marked so it disappears from list/get immediately; subscriber-vcr reclaims every image (manifests, blobs, tags and rows) and finally deletes the repository row asynchronously via the VcrRepositoryRemoved event. */
1683
+ export const deleteRepository: API.OperationMethod<
1684
+ DeleteRepositoryRequest,
1685
+ DeleteRepositoryResponse,
1686
+ DeleteRepositoryError,
1687
+ VercelOpContext
1688
+ > = /*@__PURE__*/ API.make(() => ({
1689
+ input: DeleteRepositoryRequest,
1690
+ output: DeleteRepositoryResponse,
1691
+ errors: [BadRequest, Forbidden, NotFound],
1692
+ protocol: VercelProtocol,
1693
+ retry: Retry.Retry,
1694
+ }));
1695
+
1696
+ export type DeleteRepositoryImageError =
1697
+ | BadRequest
1698
+ | Forbidden
1699
+ | NotFound
1700
+ | VercelOpError;
1701
+ /** Delete a repository image Schedule an image for deletion. The image is marked so it disappears from list/get immediately; subscriber-vcr reclaims the manifest, blobs, tags and row asynchronously via the VcrManifestRemoved event. */
1702
+ export const deleteRepositoryImage: API.OperationMethod<
1703
+ DeleteRepositoryImageRequest,
1704
+ DeleteRepositoryImageResponse,
1705
+ DeleteRepositoryImageError,
1706
+ VercelOpContext
1707
+ > = /*@__PURE__*/ API.make(() => ({
1708
+ input: DeleteRepositoryImageRequest,
1709
+ output: DeleteRepositoryImageResponse,
1710
+ errors: [BadRequest, Forbidden, NotFound],
1711
+ protocol: VercelProtocol,
1712
+ retry: Retry.Retry,
1713
+ }));
1714
+
1715
+ export type GetBlobError =
1716
+ | BadRequest
1717
+ | PaymentRequired
1718
+ | Forbidden
1719
+ | NotFound
1720
+ | VercelOpError;
1721
+ /** Download a blob GET /v2/:teamSlug/:projectSlug/:repositoryName/blobs/:digest Fetch a blob by digest. */
1722
+ export const getBlob: API.OperationMethod<
1723
+ GetBlobRequest,
1724
+ GetBlobResponse,
1725
+ GetBlobError,
1726
+ VercelOpContext
1727
+ > = /*@__PURE__*/ API.make(() => ({
1728
+ input: GetBlobRequest,
1729
+ output: GetBlobResponse,
1730
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1731
+ protocol: VercelProtocol,
1732
+ retry: Retry.Retry,
1733
+ }));
1734
+
1735
+ export type GetBlobsUploadError =
1736
+ | BadRequest
1737
+ | PaymentRequired
1738
+ | Forbidden
1739
+ | NotFound
1740
+ | VercelOpError;
1741
+ /** Get blob upload status GET /v2/:teamSlug/:projectSlug/:repositoryName/blobs/uploads/:uuid Query the status of an in-progress blob upload. Used by clients to resume a partial upload after an interruption. */
1742
+ export const getBlobsUpload: API.OperationMethod<
1743
+ GetBlobsUploadRequest,
1744
+ GetBlobsUploadResponse,
1745
+ GetBlobsUploadError,
1746
+ VercelOpContext
1747
+ > = /*@__PURE__*/ API.make(() => ({
1748
+ input: GetBlobsUploadRequest,
1749
+ output: GetBlobsUploadResponse,
1750
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1751
+ protocol: VercelProtocol,
1752
+ retry: Retry.Retry,
1753
+ }));
1754
+
1755
+ export type GetManifestError =
1756
+ | BadRequest
1757
+ | PaymentRequired
1758
+ | Forbidden
1759
+ | NotFound
1760
+ | VercelOpError;
1761
+ /** Pull an image manifest GET /v2/:teamSlug/:projectSlug/:repositoryName/manifests/:reference Fetch a manifest by tag or digest. */
1762
+ export const getManifest: API.OperationMethod<
1763
+ GetManifestRequest,
1764
+ GetManifestResponse,
1765
+ GetManifestError,
1766
+ VercelOpContext
1767
+ > = /*@__PURE__*/ API.make(() => ({
1768
+ input: GetManifestRequest,
1769
+ output: GetManifestResponse,
1770
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1771
+ protocol: VercelProtocol,
1772
+ retry: Retry.Retry,
1773
+ }));
1774
+
1775
+ export type GetRepositoryError =
1776
+ | BadRequest
1777
+ | Forbidden
1778
+ | NotFound
1779
+ | VercelOpError;
1780
+ /** Get a repository Fetch a container registry repository for a project by ID or name. */
1781
+ export const getRepository: API.OperationMethod<
1782
+ GetRepositoryRequest,
1783
+ GetRepositoryResponse,
1784
+ GetRepositoryError,
1785
+ VercelOpContext
1786
+ > = /*@__PURE__*/ API.make(() => ({
1787
+ input: GetRepositoryRequest,
1788
+ output: GetRepositoryResponse,
1789
+ errors: [BadRequest, Forbidden, NotFound],
1790
+ protocol: VercelProtocol,
1791
+ retry: Retry.Retry,
1792
+ }));
1793
+
1794
+ export type GetRepositoryImageError =
1795
+ | BadRequest
1796
+ | Forbidden
1797
+ | NotFound
1798
+ | VercelOpError;
1799
+ /** Get a repository image Fetch an individual image from a repository, including its tags and Dockerfile history entries with discriminated layer details for UI rendering. The image may be addressed by its internal id (`image_...`) or by its manifest digest (`sha256:...`). */
1800
+ export const getRepositoryImage: API.OperationMethod<
1801
+ GetRepositoryImageRequest,
1802
+ GetRepositoryImageResponse,
1803
+ GetRepositoryImageError,
1804
+ VercelOpContext
1805
+ > = /*@__PURE__*/ API.make(() => ({
1806
+ input: GetRepositoryImageRequest,
1807
+ output: GetRepositoryImageResponse,
1808
+ errors: [BadRequest, Forbidden, NotFound],
1809
+ protocol: VercelProtocol,
1810
+ retry: Retry.Retry,
1811
+ }));
1812
+
1813
+ export type GetRepositoryTagError =
1814
+ | BadRequest
1815
+ | Forbidden
1816
+ | NotFound
1817
+ | VercelOpError;
1818
+ /** Get a repository tag Fetch a single tag from a repository, including the backing image's metadata and VHS-readiness status. */
1819
+ export const getRepositoryTag: API.OperationMethod<
1820
+ GetRepositoryTagRequest,
1821
+ GetRepositoryTagResponse,
1822
+ GetRepositoryTagError,
1823
+ VercelOpContext
1824
+ > = /*@__PURE__*/ API.make(() => ({
1825
+ input: GetRepositoryTagRequest,
1826
+ output: GetRepositoryTagResponse,
1827
+ errors: [BadRequest, Forbidden, NotFound],
1828
+ protocol: VercelProtocol,
1829
+ retry: Retry.Retry,
1830
+ }));
1831
+
1832
+ export type GetRootError =
1833
+ | BadRequest
1834
+ | PaymentRequired
1835
+ | Forbidden
1836
+ | NotFound
1837
+ | VercelOpError;
1838
+ /** Check registry API version support GET /v2/ Docker Registry v2 version check. Returns a 401 challenge when no credentials are provided, prompting the Docker client to send auth. With valid credentials, returns 200 so the client can proceed. */
1839
+ export const getRoot: API.OperationMethod<
1840
+ GetRootRequest,
1841
+ GetRootResponse,
1842
+ GetRootError,
1843
+ VercelOpContext
1844
+ > = /*@__PURE__*/ API.make(() => ({
1845
+ input: GetRootRequest,
1846
+ output: GetRootResponse,
1847
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1848
+ protocol: VercelProtocol,
1849
+ retry: Retry.Retry,
1850
+ }));
1851
+
1852
+ export type GetTagsListError =
1853
+ | BadRequest
1854
+ | PaymentRequired
1855
+ | Forbidden
1856
+ | NotFound
1857
+ | VercelOpError;
1858
+ /** List image tags GET /v2/:teamSlug/:projectSlug/:repositoryName/tags/list List the tags in a repository. */
1859
+ export const getTagsList: API.OperationMethod<
1860
+ GetTagsListRequest,
1861
+ GetTagsListResponse,
1862
+ GetTagsListError,
1863
+ VercelOpContext
1864
+ > = /*@__PURE__*/ API.make(() => ({
1865
+ input: GetTagsListRequest,
1866
+ output: GetTagsListResponse,
1867
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1868
+ protocol: VercelProtocol,
1869
+ retry: Retry.Retry,
1870
+ }));
1871
+
1872
+ export type HeadBlobError =
1873
+ | BadRequest
1874
+ | PaymentRequired
1875
+ | Forbidden
1876
+ | NotFound
1877
+ | VercelOpError;
1878
+ /** Check if a blob exists HEAD /v2/:teamSlug/:projectSlug/:repositoryName/blobs/:digest Check whether a blob exists. Used by the Docker client before pushing a layer to avoid re-uploading content that already exists. */
1879
+ export const headBlob: API.OperationMethod<
1880
+ HeadBlobRequest,
1881
+ HeadBlobResponse,
1882
+ HeadBlobError,
1883
+ VercelOpContext
1884
+ > = /*@__PURE__*/ API.make(() => ({
1885
+ input: HeadBlobRequest,
1886
+ output: HeadBlobResponse,
1887
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1888
+ protocol: VercelProtocol,
1889
+ retry: Retry.Retry,
1890
+ }));
1891
+
1892
+ export type HeadManifestError =
1893
+ | BadRequest
1894
+ | PaymentRequired
1895
+ | Forbidden
1896
+ | NotFound
1897
+ | VercelOpError;
1898
+ /** Check if a manifest exists HEAD /v2/:teamSlug/:projectSlug/:repositoryName/manifests/:reference Check whether a manifest exists. Used by Docker client during push to determine if a manifest (or config blob referenced by digest) is already present. */
1899
+ export const headManifest: API.OperationMethod<
1900
+ HeadManifestRequest,
1901
+ HeadManifestResponse,
1902
+ HeadManifestError,
1903
+ VercelOpContext
1904
+ > = /*@__PURE__*/ API.make(() => ({
1905
+ input: HeadManifestRequest,
1906
+ output: HeadManifestResponse,
1907
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
1908
+ protocol: VercelProtocol,
1909
+ retry: Retry.Retry,
1910
+ }));
1911
+
1912
+ export type ListRepositoriesError =
1913
+ | BadRequest
1914
+ | Forbidden
1915
+ | NotFound
1916
+ | VercelOpError;
1917
+ /** List repositories List container registry repositories for a project. */
1918
+ export const listRepositories: API.OperationMethod<
1919
+ ListRepositoriesRequest,
1920
+ VcrRepositoryList,
1921
+ ListRepositoriesError,
1922
+ VercelOpContext
1923
+ > = /*@__PURE__*/ API.make(() => ({
1924
+ input: ListRepositoriesRequest,
1925
+ output: VcrRepositoryList,
1926
+ errors: [BadRequest, Forbidden, NotFound],
1927
+ protocol: VercelProtocol,
1928
+ retry: Retry.Retry,
1929
+ }));
1930
+
1931
+ export type ListRepositoryImagesError =
1932
+ | BadRequest
1933
+ | Forbidden
1934
+ | NotFound
1935
+ | VercelOpError;
1936
+ /** List repository images List images for a container registry repository, including their tags. */
1937
+ export const listRepositoryImages: API.OperationMethod<
1938
+ ListRepositoryImagesRequest,
1939
+ VcrImageList,
1940
+ ListRepositoryImagesError,
1941
+ VercelOpContext
1942
+ > = /*@__PURE__*/ API.make(() => ({
1943
+ input: ListRepositoryImagesRequest,
1944
+ output: VcrImageList,
1945
+ errors: [BadRequest, Forbidden, NotFound],
1946
+ protocol: VercelProtocol,
1947
+ retry: Retry.Retry,
1948
+ }));
1949
+
1950
+ export type ListRepositoryPermissionsError =
1951
+ | BadRequest
1952
+ | Forbidden
1953
+ | NotFound
1954
+ | VercelOpError;
1955
+ /** List repository permissions List the teams a VCR repository is shared with. */
1956
+ export const listRepositoryPermissions: API.OperationMethod<
1957
+ ListRepositoryPermissionsRequest,
1958
+ VcrRepositoryPermissionList,
1959
+ ListRepositoryPermissionsError,
1960
+ VercelOpContext
1961
+ > = /*@__PURE__*/ API.make(() => ({
1962
+ input: ListRepositoryPermissionsRequest,
1963
+ output: VcrRepositoryPermissionList,
1964
+ errors: [BadRequest, Forbidden, NotFound],
1965
+ protocol: VercelProtocol,
1966
+ retry: Retry.Retry,
1967
+ }));
1968
+
1969
+ export type ListRepositoryTagsError =
1970
+ | BadRequest
1971
+ | Forbidden
1972
+ | NotFound
1973
+ | VercelOpError;
1974
+ /** List repository tags List a repository's tags. */
1975
+ export const listRepositoryTags: API.OperationMethod<
1976
+ ListRepositoryTagsRequest,
1977
+ ListRepositoryTagsResponse,
1978
+ ListRepositoryTagsError,
1979
+ VercelOpContext
1980
+ > = /*@__PURE__*/ API.make(() => ({
1981
+ input: ListRepositoryTagsRequest,
1982
+ output: ListRepositoryTagsResponse,
1983
+ errors: [BadRequest, Forbidden, NotFound],
1984
+ protocol: VercelProtocol,
1985
+ retry: Retry.Retry,
1986
+ }));
1987
+
1988
+ export type RemoveRepositoryPermissionError =
1989
+ | BadRequest
1990
+ | Forbidden
1991
+ | NotFound
1992
+ | VercelOpError;
1993
+ /** Remove a repository permission Revoke a team's access to a VCR repository. */
1994
+ export const removeRepositoryPermission: API.OperationMethod<
1995
+ RemoveRepositoryPermissionRequest,
1996
+ RemoveRepositoryPermissionResponse,
1997
+ RemoveRepositoryPermissionError,
1998
+ VercelOpContext
1999
+ > = /*@__PURE__*/ API.make(() => ({
2000
+ input: RemoveRepositoryPermissionRequest,
2001
+ output: RemoveRepositoryPermissionResponse,
2002
+ errors: [BadRequest, Forbidden, NotFound],
2003
+ protocol: VercelProtocol,
2004
+ retry: Retry.Retry,
2005
+ }));
2006
+
2007
+ export type ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidError =
2008
+ | BadRequest
2009
+ | PaymentRequired
2010
+ | Forbidden
2011
+ | NotFound
2012
+ | VercelOpError;
2013
+ /** Complete a blob upload PUT /v2/:teamSlug/:projectSlug/:repositoryName/blobs/uploads/:uuid?digest=<digest> Complete the blob upload. This may include a final chunk of data in the request body (monolithic upload) or just finalize a previous chunked upload. */
2014
+ export const replaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuid: API.OperationMethod<
2015
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest,
2016
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse,
2017
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidError,
2018
+ VercelOpContext
2019
+ > = /*@__PURE__*/ API.make(() => ({
2020
+ input:
2021
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest,
2022
+ output:
2023
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse,
2024
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
2025
+ protocol: VercelProtocol,
2026
+ retry: Retry.Retry,
2027
+ }));
2028
+
2029
+ export type ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceError =
2030
+ | BadRequest
2031
+ | PaymentRequired
2032
+ | Forbidden
2033
+ | NotFound
2034
+ | VercelOpError;
2035
+ /** Push an image manifest PUT /v2/:teamSlug/:projectSlug/:repositoryName/manifests/:reference Upload an image manifest. The digest is computed from the body and returned in the Docker-Content-Digest header. */
2036
+ export const replaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReference: API.OperationMethod<
2037
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest,
2038
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceResponse,
2039
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceError,
2040
+ VercelOpContext
2041
+ > = /*@__PURE__*/ API.make(() => ({
2042
+ input:
2043
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest,
2044
+ output:
2045
+ ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceResponse,
2046
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
2047
+ protocol: VercelProtocol,
2048
+ retry: Retry.Retry,
2049
+ }));
2050
+
2051
+ export type UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidError =
2052
+ | BadRequest
2053
+ | PaymentRequired
2054
+ | Forbidden
2055
+ | NotFound
2056
+ | VercelOpError;
2057
+ /** Upload a blob chunk PATCH /v2/:teamSlug/:projectSlug/:repositoryName/blobs/uploads/:uuid Upload a chunk of blob data. The request body is streamed directly to S3 as a multipart upload part while hashing incrementally. The client may call this multiple times for chunked uploads. */
2058
+ export const updateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuid: API.OperationMethod<
2059
+ UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest,
2060
+ UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse,
2061
+ UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidError,
2062
+ VercelOpContext
2063
+ > = /*@__PURE__*/ API.make(() => ({
2064
+ input: UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidRequest,
2065
+ output:
2066
+ UpdateByTeamSlugByProjectSlugByRepositoryNameBlobsUploadsByUuidResponse,
2067
+ errors: [BadRequest, PaymentRequired, Forbidden, NotFound],
2068
+ protocol: VercelProtocol,
2069
+ retry: Retry.Retry,
2070
+ }));