@typeship-ax/cli 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/api.json +5597 -3010
  2. package/api.md +433 -54
  3. package/dist/cli-agent.d.ts +9 -1
  4. package/dist/cli-agent.d.ts.map +1 -1
  5. package/dist/cli-agent.js +26 -9
  6. package/dist/cli.js +83 -232
  7. package/dist/core/http.d.ts +6 -92
  8. package/dist/core/http.d.ts.map +1 -1
  9. package/dist/core/http.js +70 -209
  10. package/dist/core/pagination.d.ts.map +1 -1
  11. package/dist/core/pagination.js +6 -34
  12. package/dist/dates.d.ts +0 -2
  13. package/dist/dates.d.ts.map +1 -1
  14. package/dist/dates.js +0 -1
  15. package/dist/docs.d.ts +11 -0
  16. package/dist/docs.d.ts.map +1 -0
  17. package/dist/docs.js +114 -0
  18. package/dist/errors.d.ts +27 -27
  19. package/dist/errors.d.ts.map +1 -1
  20. package/dist/errors.js +7 -7
  21. package/dist/index.d.ts +19 -11
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +23 -13
  24. package/dist/ops.d.ts +5 -0
  25. package/dist/ops.d.ts.map +1 -1
  26. package/dist/ops.js +31 -17
  27. package/dist/resources/account.d.ts +2 -2
  28. package/dist/resources/account.d.ts.map +1 -1
  29. package/dist/resources/api-keys.d.ts +10 -5
  30. package/dist/resources/api-keys.d.ts.map +1 -1
  31. package/dist/resources/api-keys.js +3 -1
  32. package/dist/resources/definition-revisions.d.ts +58 -0
  33. package/dist/resources/definition-revisions.d.ts.map +1 -0
  34. package/dist/resources/definition-revisions.js +110 -0
  35. package/dist/resources/definitions.d.ts +24 -0
  36. package/dist/resources/definitions.d.ts.map +1 -0
  37. package/dist/resources/definitions.js +51 -0
  38. package/dist/resources/generate.d.ts +5 -5
  39. package/dist/resources/generate.d.ts.map +1 -1
  40. package/dist/resources/generate.js +3 -3
  41. package/dist/resources/generations.d.ts +3 -3
  42. package/dist/resources/generations.d.ts.map +1 -1
  43. package/dist/resources/generations.js +1 -1
  44. package/dist/resources/projects.d.ts +66 -26
  45. package/dist/resources/projects.d.ts.map +1 -1
  46. package/dist/resources/projects.js +87 -13
  47. package/dist/resources/targets.d.ts +86 -0
  48. package/dist/resources/targets.d.ts.map +1 -0
  49. package/dist/resources/targets.js +184 -0
  50. package/dist/schemas.d.ts.map +1 -1
  51. package/dist/schemas.js +119 -62
  52. package/dist/types.d.ts +1761 -222
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js +9 -3
  55. package/package.json +1 -1
  56. package/src/cli-agent.ts +28 -11
  57. package/src/cli.ts +89 -233
  58. package/src/core/http.ts +75 -293
  59. package/src/core/pagination.ts +6 -30
  60. package/src/dates.ts +0 -1
  61. package/src/docs.ts +101 -0
  62. package/src/errors.ts +30 -30
  63. package/src/index.ts +23 -13
  64. package/src/ops.ts +43 -17
  65. package/src/resources/account.ts +3 -3
  66. package/src/resources/api-keys.ts +22 -7
  67. package/src/resources/definition-revisions.ts +198 -0
  68. package/src/resources/definitions.ts +97 -0
  69. package/src/resources/generate.ts +6 -6
  70. package/src/resources/generations.ts +4 -4
  71. package/src/resources/projects.ts +182 -37
  72. package/src/resources/targets.ts +346 -0
  73. package/src/schemas.ts +119 -62
  74. package/src/types.ts +1947 -281
  75. package/dist/resources/spec-revisions.d.ts +0 -47
  76. package/dist/resources/spec-revisions.d.ts.map +0 -1
  77. package/dist/resources/spec-revisions.js +0 -90
  78. package/src/resources/spec-revisions.ts +0 -150
@@ -0,0 +1,346 @@
1
+ // typeship — targets resource.
2
+ // Generated by typeship — https://typeship.dev — do not edit by hand.
3
+
4
+ import { HttpCore, type ApiResult, type RequestOptions } from "../core/http.js";
5
+ import { paginate, PagePromise } from "../core/pagination.js";
6
+ import {
7
+ TransportError,
8
+ UnexpectedApiError,
9
+ ValidationError,
10
+ BadRequestError,
11
+ ConflictError,
12
+ ForbiddenError,
13
+ NotFoundError,
14
+ RateLimitedError,
15
+ UnauthorizedError,
16
+ UnprocessableEntityError,
17
+ } from "../errors.js";
18
+ import type {
19
+ DeletedTarget,
20
+ DeletedTargetRead,
21
+ ProjectId,
22
+ Target,
23
+ TargetFields,
24
+ TargetId,
25
+ TargetList,
26
+ TargetListRead,
27
+ TargetRead,
28
+ TargetRelease,
29
+ TargetReleaseId,
30
+ TargetReleaseList,
31
+ TargetReleaseListRead,
32
+ TargetReleaseRead,
33
+ TargetReleaseResponse,
34
+ TargetReleaseResponseRead,
35
+ TargetResponse,
36
+ TargetResponseRead,
37
+ TargetUpdateRequest,
38
+ } from "../types.js";
39
+
40
+ export class TargetsResource {
41
+ constructor(private readonly _core: HttpCore) {}
42
+ /**
43
+ * List a project's Targets
44
+ *
45
+ * Auto-paginates: `for await (const item of …)` walks every page.
46
+ * `GET /projects/{project_id}/targets`
47
+ */
48
+ list(
49
+ projectId: ProjectId,
50
+ params?: TargetsListParams,
51
+ options?: RequestOptions,
52
+ ): PagePromise<TargetRead, TargetsListError> {
53
+ return paginate<TargetRead, TargetsListError>(this._core, {
54
+ method: "GET",
55
+ path: `/projects/${encodeURIComponent(String(projectId))}/targets`,
56
+ query: {
57
+ limit: params?.limit,
58
+ cursor: params?.cursor,
59
+ },
60
+ errors: {
61
+ "400": BadRequestError,
62
+ "401": UnauthorizedError,
63
+ "403": ForbiddenError,
64
+ "404": NotFoundError,
65
+ "429": RateLimitedError,
66
+ },
67
+ idempotent: true,
68
+ schemaKey: "targets.list",
69
+ options,
70
+ }, {
71
+ style: "cursor",
72
+ itemsField: "data",
73
+ cursorParam: "cursor",
74
+ nextCursorField: "next_cursor",
75
+ hasMoreField: "has_more",
76
+ limitParam: "limit",
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Create an independently configured Target
82
+ *
83
+ * Several Targets may use the same generator with distinct configuration, Deliveries, and release
84
+ * streams.
85
+ * `POST /projects/{project_id}/targets`
86
+ */
87
+ async create(
88
+ projectId: ProjectId,
89
+ body: TargetFields,
90
+ options?: RequestOptions,
91
+ ): Promise<ApiResult<TargetResponseRead, TargetsCreateError>> {
92
+ return this._core.request<TargetResponseRead, TargetsCreateError>({
93
+ method: "POST",
94
+ path: `/projects/${encodeURIComponent(String(projectId))}/targets`,
95
+ body,
96
+ errors: {
97
+ "400": BadRequestError,
98
+ "401": UnauthorizedError,
99
+ "403": ForbiddenError,
100
+ "404": NotFoundError,
101
+ "409": ConflictError,
102
+ "422": UnprocessableEntityError,
103
+ "429": RateLimitedError,
104
+ },
105
+ schemaKey: "targets.create",
106
+ options,
107
+ });
108
+ }
109
+
110
+ /**
111
+ * Retrieve a Target
112
+ * `GET /targets/{target_id}`
113
+ */
114
+ async retrieve(
115
+ targetId: TargetId,
116
+ options?: RequestOptions,
117
+ ): Promise<ApiResult<TargetResponseRead, TargetsRetrieveError>> {
118
+ return this._core.request<TargetResponseRead, TargetsRetrieveError>({
119
+ method: "GET",
120
+ path: `/targets/${encodeURIComponent(String(targetId))}`,
121
+ errors: {
122
+ "401": UnauthorizedError,
123
+ "403": ForbiddenError,
124
+ "404": NotFoundError,
125
+ "429": RateLimitedError,
126
+ },
127
+ idempotent: true,
128
+ schemaKey: "targets.retrieve",
129
+ options,
130
+ });
131
+ }
132
+
133
+ /**
134
+ * Delete an unused Target
135
+ *
136
+ * Targets with Generation or release history, or an active release candidate, must be disabled
137
+ * instead.
138
+ * `DELETE /targets/{target_id}`
139
+ */
140
+ async delete(
141
+ targetId: TargetId,
142
+ options?: RequestOptions,
143
+ ): Promise<ApiResult<DeletedTargetRead, TargetsDeleteError>> {
144
+ return this._core.request<DeletedTargetRead, TargetsDeleteError>({
145
+ method: "DELETE",
146
+ path: `/targets/${encodeURIComponent(String(targetId))}`,
147
+ errors: {
148
+ "401": UnauthorizedError,
149
+ "403": ForbiddenError,
150
+ "404": NotFoundError,
151
+ "409": ConflictError,
152
+ "429": RateLimitedError,
153
+ },
154
+ idempotent: true,
155
+ schemaKey: "targets.delete",
156
+ options,
157
+ });
158
+ }
159
+
160
+ /**
161
+ * Update a Target, its Deliveries, or its next reviewed version
162
+ * `PATCH /targets/{target_id}`
163
+ */
164
+ async update(
165
+ targetId: TargetId,
166
+ body: TargetUpdateRequest,
167
+ options?: RequestOptions,
168
+ ): Promise<ApiResult<TargetResponseRead, TargetsUpdateError>> {
169
+ return this._core.request<TargetResponseRead, TargetsUpdateError>({
170
+ method: "PATCH",
171
+ path: `/targets/${encodeURIComponent(String(targetId))}`,
172
+ body,
173
+ errors: {
174
+ "400": BadRequestError,
175
+ "401": UnauthorizedError,
176
+ "403": ForbiddenError,
177
+ "404": NotFoundError,
178
+ "409": ConflictError,
179
+ "422": UnprocessableEntityError,
180
+ "429": RateLimitedError,
181
+ },
182
+ schemaKey: "targets.update",
183
+ options,
184
+ });
185
+ }
186
+
187
+ /**
188
+ * List immutable releases for a Target
189
+ *
190
+ * Auto-paginates: `for await (const item of …)` walks every page.
191
+ * `GET /targets/{target_id}/releases`
192
+ */
193
+ listReleases(
194
+ targetId: TargetId,
195
+ params?: TargetsListReleasesParams,
196
+ options?: RequestOptions,
197
+ ): PagePromise<TargetReleaseRead, TargetsListReleasesError> {
198
+ return paginate<TargetReleaseRead, TargetsListReleasesError>(this._core, {
199
+ method: "GET",
200
+ path: `/targets/${encodeURIComponent(String(targetId))}/releases`,
201
+ query: {
202
+ limit: params?.limit,
203
+ cursor: params?.cursor,
204
+ },
205
+ errors: {
206
+ "400": BadRequestError,
207
+ "401": UnauthorizedError,
208
+ "403": ForbiddenError,
209
+ "404": NotFoundError,
210
+ "429": RateLimitedError,
211
+ },
212
+ idempotent: true,
213
+ schemaKey: "targets.listReleases",
214
+ options,
215
+ }, {
216
+ style: "cursor",
217
+ itemsField: "data",
218
+ cursorParam: "cursor",
219
+ nextCursorField: "next_cursor",
220
+ hasMoreField: "has_more",
221
+ limitParam: "limit",
222
+ });
223
+ }
224
+
225
+ /**
226
+ * Retrieve an immutable Target release
227
+ * `GET /target_releases/{target_release_id}`
228
+ */
229
+ async retrieveRelease(
230
+ targetReleaseId: TargetReleaseId,
231
+ options?: RequestOptions,
232
+ ): Promise<ApiResult<TargetReleaseResponseRead, TargetsRetrieveReleaseError>> {
233
+ return this._core.request<TargetReleaseResponseRead, TargetsRetrieveReleaseError>({
234
+ method: "GET",
235
+ path: `/target_releases/${encodeURIComponent(String(targetReleaseId))}`,
236
+ errors: {
237
+ "401": UnauthorizedError,
238
+ "403": ForbiddenError,
239
+ "404": NotFoundError,
240
+ "429": RateLimitedError,
241
+ },
242
+ idempotent: true,
243
+ schemaKey: "targets.retrieveRelease",
244
+ options,
245
+ });
246
+ }
247
+ }
248
+
249
+ export interface TargetsListParams {
250
+ /** Maximum number of resources to return. */
251
+ limit?: number;
252
+ /**
253
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same account,
254
+ * operation, filters, and ordering that issued it.
255
+ */
256
+ cursor?: string;
257
+ }
258
+
259
+ /** Every error `list` can produce, as a discriminated union. */
260
+ export type TargetsListError =
261
+ | BadRequestError
262
+ | UnauthorizedError
263
+ | ForbiddenError
264
+ | NotFoundError
265
+ | RateLimitedError
266
+ | UnexpectedApiError
267
+ | TransportError
268
+ | ValidationError;
269
+
270
+ /** Every error `create` can produce, as a discriminated union. */
271
+ export type TargetsCreateError =
272
+ | BadRequestError
273
+ | UnauthorizedError
274
+ | ForbiddenError
275
+ | NotFoundError
276
+ | ConflictError
277
+ | UnprocessableEntityError
278
+ | RateLimitedError
279
+ | UnexpectedApiError
280
+ | TransportError
281
+ | ValidationError;
282
+
283
+ /** Every error `retrieve` can produce, as a discriminated union. */
284
+ export type TargetsRetrieveError =
285
+ | UnauthorizedError
286
+ | ForbiddenError
287
+ | NotFoundError
288
+ | RateLimitedError
289
+ | UnexpectedApiError
290
+ | TransportError
291
+ | ValidationError;
292
+
293
+ /** Every error `delete` can produce, as a discriminated union. */
294
+ export type TargetsDeleteError =
295
+ | UnauthorizedError
296
+ | ForbiddenError
297
+ | NotFoundError
298
+ | ConflictError
299
+ | RateLimitedError
300
+ | UnexpectedApiError
301
+ | TransportError
302
+ | ValidationError;
303
+
304
+ /** Every error `update` can produce, as a discriminated union. */
305
+ export type TargetsUpdateError =
306
+ | BadRequestError
307
+ | UnauthorizedError
308
+ | ForbiddenError
309
+ | NotFoundError
310
+ | ConflictError
311
+ | UnprocessableEntityError
312
+ | RateLimitedError
313
+ | UnexpectedApiError
314
+ | TransportError
315
+ | ValidationError;
316
+
317
+ export interface TargetsListReleasesParams {
318
+ /** Maximum number of resources to return. */
319
+ limit?: number;
320
+ /**
321
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same account,
322
+ * operation, filters, and ordering that issued it.
323
+ */
324
+ cursor?: string;
325
+ }
326
+
327
+ /** Every error `listReleases` can produce, as a discriminated union. */
328
+ export type TargetsListReleasesError =
329
+ | BadRequestError
330
+ | UnauthorizedError
331
+ | ForbiddenError
332
+ | NotFoundError
333
+ | RateLimitedError
334
+ | UnexpectedApiError
335
+ | TransportError
336
+ | ValidationError;
337
+
338
+ /** Every error `retrieveRelease` can produce, as a discriminated union. */
339
+ export type TargetsRetrieveReleaseError =
340
+ | UnauthorizedError
341
+ | ForbiddenError
342
+ | NotFoundError
343
+ | RateLimitedError
344
+ | UnexpectedApiError
345
+ | TransportError
346
+ | ValidationError;