@typeship-ax/mcp 0.6.0 → 0.9.1

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 (114) hide show
  1. package/AGENTS.md +31 -0
  2. package/README.md +67 -10
  3. package/api.json +6735 -3243
  4. package/api.md +8537 -248
  5. package/dist/api-identity.d.ts +40 -0
  6. package/dist/api-identity.d.ts.map +1 -0
  7. package/dist/api-identity.js +128 -0
  8. package/dist/auth-profiles.d.ts +30 -0
  9. package/dist/auth-profiles.d.ts.map +1 -0
  10. package/dist/auth-profiles.js +138 -0
  11. package/dist/core/http.d.ts +21 -92
  12. package/dist/core/http.d.ts.map +1 -1
  13. package/dist/core/http.js +143 -221
  14. package/dist/core/pagination.d.ts.map +1 -1
  15. package/dist/core/pagination.js +6 -34
  16. package/dist/credential-storage.d.ts +24 -0
  17. package/dist/credential-storage.d.ts.map +1 -0
  18. package/dist/credential-storage.js +207 -0
  19. package/dist/dates.d.ts +0 -2
  20. package/dist/dates.d.ts.map +1 -1
  21. package/dist/dates.js +0 -1
  22. package/dist/docs.d.ts +36 -0
  23. package/dist/docs.d.ts.map +1 -0
  24. package/dist/docs.js +258 -0
  25. package/dist/errors.d.ts +42 -34
  26. package/dist/errors.d.ts.map +1 -1
  27. package/dist/errors.js +30 -20
  28. package/dist/index.d.ts +27 -12
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +40 -14
  31. package/dist/mcp-authorization.d.ts +52 -0
  32. package/dist/mcp-authorization.d.ts.map +1 -0
  33. package/dist/mcp-authorization.js +232 -0
  34. package/dist/mcp-protocol.d.ts +69 -25
  35. package/dist/mcp-protocol.d.ts.map +1 -1
  36. package/dist/mcp-protocol.js +386 -138
  37. package/dist/mcp.d.ts +21 -3
  38. package/dist/mcp.d.ts.map +1 -1
  39. package/dist/mcp.js +199 -85
  40. package/dist/named-credentials.d.ts +21 -0
  41. package/dist/named-credentials.d.ts.map +1 -0
  42. package/dist/named-credentials.js +86 -0
  43. package/dist/oauth-request.d.ts +21 -0
  44. package/dist/oauth-request.d.ts.map +1 -0
  45. package/dist/oauth-request.js +119 -0
  46. package/dist/oauth-session.d.ts +106 -0
  47. package/dist/oauth-session.d.ts.map +1 -0
  48. package/dist/oauth-session.js +244 -0
  49. package/dist/ops.d.ts +18 -0
  50. package/dist/ops.d.ts.map +1 -1
  51. package/dist/ops.js +31 -17
  52. package/dist/resources/account.d.ts +4 -4
  53. package/dist/resources/account.d.ts.map +1 -1
  54. package/dist/resources/account.js +1 -0
  55. package/dist/resources/api-keys.d.ts +13 -8
  56. package/dist/resources/api-keys.d.ts.map +1 -1
  57. package/dist/resources/api-keys.js +5 -1
  58. package/dist/resources/definition-revisions.d.ts +58 -0
  59. package/dist/resources/definition-revisions.d.ts.map +1 -0
  60. package/dist/resources/definition-revisions.js +114 -0
  61. package/dist/resources/definitions.d.ts +35 -0
  62. package/dist/resources/definitions.d.ts.map +1 -0
  63. package/dist/resources/definitions.js +60 -0
  64. package/dist/resources/generate.d.ts +18 -7
  65. package/dist/resources/generate.d.ts.map +1 -1
  66. package/dist/resources/generate.js +13 -5
  67. package/dist/resources/generations.d.ts +6 -6
  68. package/dist/resources/generations.d.ts.map +1 -1
  69. package/dist/resources/generations.js +3 -1
  70. package/dist/resources/projects.d.ts +111 -35
  71. package/dist/resources/projects.d.ts.map +1 -1
  72. package/dist/resources/projects.js +125 -15
  73. package/dist/resources/targets.d.ts +97 -0
  74. package/dist/resources/targets.d.ts.map +1 -0
  75. package/dist/resources/targets.js +197 -0
  76. package/dist/schemas.d.ts.map +1 -1
  77. package/dist/schemas.js +135 -62
  78. package/dist/types.d.ts +2072 -267
  79. package/dist/types.d.ts.map +1 -1
  80. package/dist/types.js +20 -3
  81. package/dist/worker.js +4 -4
  82. package/package.json +11 -1
  83. package/server.json +42 -0
  84. package/src/api-identity.ts +98 -0
  85. package/src/auth-profiles.ts +114 -0
  86. package/src/core/http.ts +156 -305
  87. package/src/core/pagination.ts +6 -30
  88. package/src/credential-storage.ts +183 -0
  89. package/src/dates.ts +0 -1
  90. package/src/docs.ts +239 -0
  91. package/src/errors.ts +52 -41
  92. package/src/index.ts +49 -14
  93. package/src/mcp-authorization.ts +211 -0
  94. package/src/mcp-protocol.ts +432 -133
  95. package/src/mcp.ts +204 -90
  96. package/src/named-credentials.ts +74 -0
  97. package/src/oauth-request.ts +90 -0
  98. package/src/oauth-session.ts +258 -0
  99. package/src/ops.ts +56 -17
  100. package/src/resources/account.ts +6 -3
  101. package/src/resources/api-keys.ts +27 -7
  102. package/src/resources/definition-revisions.ts +207 -0
  103. package/src/resources/definitions.ts +122 -0
  104. package/src/resources/generate.ts +29 -6
  105. package/src/resources/generations.ts +9 -4
  106. package/src/resources/projects.ts +274 -41
  107. package/src/resources/targets.ts +378 -0
  108. package/src/schemas.ts +135 -62
  109. package/src/types.ts +2273 -322
  110. package/src/worker.ts +4 -4
  111. package/dist/resources/spec-revisions.d.ts +0 -47
  112. package/dist/resources/spec-revisions.d.ts.map +0 -1
  113. package/dist/resources/spec-revisions.js +0 -90
  114. package/src/resources/spec-revisions.ts +0 -150
@@ -0,0 +1,378 @@
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
+ ResponseParseError,
8
+ TransportError,
9
+ UnexpectedApiError,
10
+ ValidationError,
11
+ BadRequestError,
12
+ ConflictError,
13
+ ForbiddenError,
14
+ NotFoundError,
15
+ RateLimitedError,
16
+ UnauthorizedError,
17
+ UnprocessableEntityError,
18
+ } from "../errors.js";
19
+ import type {
20
+ DeletedTarget,
21
+ DeletedTargetRead,
22
+ ProjectId,
23
+ Target,
24
+ TargetFields,
25
+ TargetId,
26
+ TargetList,
27
+ TargetListRead,
28
+ TargetRead,
29
+ TargetRelease,
30
+ TargetReleaseId,
31
+ TargetReleaseList,
32
+ TargetReleaseListRead,
33
+ TargetReleaseRead,
34
+ TargetReleaseResponse,
35
+ TargetReleaseResponseRead,
36
+ TargetResponse,
37
+ TargetResponseRead,
38
+ TargetUpdateRequest,
39
+ } from "../types.js";
40
+
41
+ export class TargetsResource {
42
+ constructor(private readonly _core: HttpCore) {}
43
+ /**
44
+ * List a project's Targets
45
+ *
46
+ * Auto-paginates: `for await (const item of …)` walks every page.
47
+ * `GET /projects/{project_id}/targets`
48
+ */
49
+ list(
50
+ projectId: ProjectId,
51
+ params?: TargetsListParams,
52
+ options?: RequestOptions,
53
+ ): PagePromise<TargetRead, TargetsListError> {
54
+ return paginate<TargetRead, TargetsListError>(this._core, {
55
+ method: "GET",
56
+ path: `/projects/${encodeURIComponent(String(projectId))}/targets`,
57
+ security: [{"apiKey":[]}],
58
+ query: {
59
+ limit: params?.limit,
60
+ cursor: params?.cursor,
61
+ },
62
+ errors: {
63
+ "400": BadRequestError,
64
+ "401": UnauthorizedError,
65
+ "403": ForbiddenError,
66
+ "404": NotFoundError,
67
+ "429": RateLimitedError,
68
+ },
69
+ idempotent: true,
70
+ schemaKey: "targets.list",
71
+ options,
72
+ }, {
73
+ style: "cursor",
74
+ itemsField: "data",
75
+ cursorParam: "cursor",
76
+ nextCursorField: "next_cursor",
77
+ hasMoreField: "has_more",
78
+ limitParam: "limit",
79
+ });
80
+ }
81
+
82
+ /**
83
+ * Create an independently configured Target
84
+ *
85
+ * Several Targets may use the same generator with distinct configuration, Deliveries, and release
86
+ * streams.
87
+ *
88
+ * A `Idempotency-Key` UUID is generated per call (stable across retries) unless you pass one.
89
+ * `POST /projects/{project_id}/targets`
90
+ */
91
+ async create(
92
+ projectId: ProjectId,
93
+ body: TargetFields,
94
+ params?: TargetsCreateParams,
95
+ options?: RequestOptions,
96
+ ): Promise<ApiResult<TargetResponseRead, TargetsCreateError>> {
97
+ return this._core.request<TargetResponseRead, TargetsCreateError>({
98
+ method: "POST",
99
+ path: `/projects/${encodeURIComponent(String(projectId))}/targets`,
100
+ security: [{"apiKey":[]}],
101
+ headers: {
102
+ "Idempotency-Key": params?.idempotencyKey === undefined ? undefined : String(params?.idempotencyKey),
103
+ },
104
+ body,
105
+ errors: {
106
+ "400": BadRequestError,
107
+ "401": UnauthorizedError,
108
+ "403": ForbiddenError,
109
+ "404": NotFoundError,
110
+ "409": ConflictError,
111
+ "422": UnprocessableEntityError,
112
+ "429": RateLimitedError,
113
+ },
114
+ idempotencyKey: "Idempotency-Key",
115
+ schemaKey: "targets.create",
116
+ options,
117
+ });
118
+ }
119
+
120
+ /**
121
+ * Retrieve a Target
122
+ * `GET /targets/{target_id}`
123
+ */
124
+ async retrieve(
125
+ targetId: TargetId,
126
+ options?: RequestOptions,
127
+ ): Promise<ApiResult<TargetResponseRead, TargetsRetrieveError>> {
128
+ return this._core.request<TargetResponseRead, TargetsRetrieveError>({
129
+ method: "GET",
130
+ path: `/targets/${encodeURIComponent(String(targetId))}`,
131
+ security: [{"apiKey":[]}],
132
+ errors: {
133
+ "401": UnauthorizedError,
134
+ "403": ForbiddenError,
135
+ "404": NotFoundError,
136
+ "429": RateLimitedError,
137
+ },
138
+ idempotent: true,
139
+ schemaKey: "targets.retrieve",
140
+ options,
141
+ });
142
+ }
143
+
144
+ /**
145
+ * Delete an unused Target
146
+ *
147
+ * Targets with Generation or release history, or an active release candidate, must be disabled
148
+ * instead.
149
+ * `DELETE /targets/{target_id}`
150
+ */
151
+ async delete(
152
+ targetId: TargetId,
153
+ options?: RequestOptions,
154
+ ): Promise<ApiResult<DeletedTargetRead, TargetsDeleteError>> {
155
+ return this._core.request<DeletedTargetRead, TargetsDeleteError>({
156
+ method: "DELETE",
157
+ path: `/targets/${encodeURIComponent(String(targetId))}`,
158
+ security: [{"apiKey":[]}],
159
+ errors: {
160
+ "401": UnauthorizedError,
161
+ "403": ForbiddenError,
162
+ "404": NotFoundError,
163
+ "409": ConflictError,
164
+ "429": RateLimitedError,
165
+ },
166
+ idempotent: true,
167
+ schemaKey: "targets.delete",
168
+ options,
169
+ });
170
+ }
171
+
172
+ /**
173
+ * Update a Target, its Deliveries, or its next reviewed version
174
+ * `PATCH /targets/{target_id}`
175
+ */
176
+ async update(
177
+ targetId: TargetId,
178
+ body: TargetUpdateRequest,
179
+ options?: RequestOptions,
180
+ ): Promise<ApiResult<TargetResponseRead, TargetsUpdateError>> {
181
+ return this._core.request<TargetResponseRead, TargetsUpdateError>({
182
+ method: "PATCH",
183
+ path: `/targets/${encodeURIComponent(String(targetId))}`,
184
+ security: [{"apiKey":[]}],
185
+ body,
186
+ errors: {
187
+ "400": BadRequestError,
188
+ "401": UnauthorizedError,
189
+ "403": ForbiddenError,
190
+ "404": NotFoundError,
191
+ "409": ConflictError,
192
+ "422": UnprocessableEntityError,
193
+ "429": RateLimitedError,
194
+ },
195
+ schemaKey: "targets.update",
196
+ options,
197
+ });
198
+ }
199
+
200
+ /**
201
+ * List immutable releases for a Target
202
+ *
203
+ * Auto-paginates: `for await (const item of …)` walks every page.
204
+ * `GET /targets/{target_id}/releases`
205
+ */
206
+ listReleases(
207
+ targetId: TargetId,
208
+ params?: TargetsListReleasesParams,
209
+ options?: RequestOptions,
210
+ ): PagePromise<TargetReleaseRead, TargetsListReleasesError> {
211
+ return paginate<TargetReleaseRead, TargetsListReleasesError>(this._core, {
212
+ method: "GET",
213
+ path: `/targets/${encodeURIComponent(String(targetId))}/releases`,
214
+ security: [{"apiKey":[]}],
215
+ query: {
216
+ limit: params?.limit,
217
+ cursor: params?.cursor,
218
+ },
219
+ errors: {
220
+ "400": BadRequestError,
221
+ "401": UnauthorizedError,
222
+ "403": ForbiddenError,
223
+ "404": NotFoundError,
224
+ "429": RateLimitedError,
225
+ },
226
+ idempotent: true,
227
+ schemaKey: "targets.listReleases",
228
+ options,
229
+ }, {
230
+ style: "cursor",
231
+ itemsField: "data",
232
+ cursorParam: "cursor",
233
+ nextCursorField: "next_cursor",
234
+ hasMoreField: "has_more",
235
+ limitParam: "limit",
236
+ });
237
+ }
238
+
239
+ /**
240
+ * Retrieve an immutable Target release
241
+ * `GET /target_releases/{target_release_id}`
242
+ */
243
+ async retrieveRelease(
244
+ targetReleaseId: TargetReleaseId,
245
+ options?: RequestOptions,
246
+ ): Promise<ApiResult<TargetReleaseResponseRead, TargetsRetrieveReleaseError>> {
247
+ return this._core.request<TargetReleaseResponseRead, TargetsRetrieveReleaseError>({
248
+ method: "GET",
249
+ path: `/target_releases/${encodeURIComponent(String(targetReleaseId))}`,
250
+ security: [{"apiKey":[]}],
251
+ errors: {
252
+ "401": UnauthorizedError,
253
+ "403": ForbiddenError,
254
+ "404": NotFoundError,
255
+ "429": RateLimitedError,
256
+ },
257
+ idempotent: true,
258
+ schemaKey: "targets.retrieveRelease",
259
+ options,
260
+ });
261
+ }
262
+ }
263
+
264
+ export interface TargetsListParams {
265
+ /** Maximum number of resources to return. */
266
+ limit?: number;
267
+ /**
268
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same account,
269
+ * operation, filters, and ordering that issued it.
270
+ */
271
+ cursor?: string;
272
+ }
273
+
274
+ /** Every error `list` can produce, as a discriminated union. */
275
+ export type TargetsListError =
276
+ | BadRequestError
277
+ | UnauthorizedError
278
+ | ForbiddenError
279
+ | NotFoundError
280
+ | RateLimitedError
281
+ | UnexpectedApiError
282
+ | ResponseParseError
283
+ | TransportError
284
+ | ValidationError;
285
+
286
+ export interface TargetsCreateParams {
287
+ /**
288
+ * Identifies one logical write for 24 hours. The key is scoped to the authenticated account and
289
+ * operation; account-less generation uses a hashed network identity. Retrying the same method,
290
+ * path, query, and JSON body replays the original response. Reusing the key with changed intent
291
+ * returns 409. After expiry the key starts a new write.
292
+ */
293
+ idempotencyKey?: string;
294
+ }
295
+
296
+ /** Every error `create` can produce, as a discriminated union. */
297
+ export type TargetsCreateError =
298
+ | BadRequestError
299
+ | UnauthorizedError
300
+ | ForbiddenError
301
+ | NotFoundError
302
+ | ConflictError
303
+ | UnprocessableEntityError
304
+ | RateLimitedError
305
+ | UnexpectedApiError
306
+ | ResponseParseError
307
+ | TransportError
308
+ | ValidationError;
309
+
310
+ /** Every error `retrieve` can produce, as a discriminated union. */
311
+ export type TargetsRetrieveError =
312
+ | UnauthorizedError
313
+ | ForbiddenError
314
+ | NotFoundError
315
+ | RateLimitedError
316
+ | UnexpectedApiError
317
+ | ResponseParseError
318
+ | TransportError
319
+ | ValidationError;
320
+
321
+ /** Every error `delete` can produce, as a discriminated union. */
322
+ export type TargetsDeleteError =
323
+ | UnauthorizedError
324
+ | ForbiddenError
325
+ | NotFoundError
326
+ | ConflictError
327
+ | RateLimitedError
328
+ | UnexpectedApiError
329
+ | ResponseParseError
330
+ | TransportError
331
+ | ValidationError;
332
+
333
+ /** Every error `update` can produce, as a discriminated union. */
334
+ export type TargetsUpdateError =
335
+ | BadRequestError
336
+ | UnauthorizedError
337
+ | ForbiddenError
338
+ | NotFoundError
339
+ | ConflictError
340
+ | UnprocessableEntityError
341
+ | RateLimitedError
342
+ | UnexpectedApiError
343
+ | ResponseParseError
344
+ | TransportError
345
+ | ValidationError;
346
+
347
+ export interface TargetsListReleasesParams {
348
+ /** Maximum number of resources to return. */
349
+ limit?: number;
350
+ /**
351
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same account,
352
+ * operation, filters, and ordering that issued it.
353
+ */
354
+ cursor?: string;
355
+ }
356
+
357
+ /** Every error `listReleases` can produce, as a discriminated union. */
358
+ export type TargetsListReleasesError =
359
+ | BadRequestError
360
+ | UnauthorizedError
361
+ | ForbiddenError
362
+ | NotFoundError
363
+ | RateLimitedError
364
+ | UnexpectedApiError
365
+ | ResponseParseError
366
+ | TransportError
367
+ | ValidationError;
368
+
369
+ /** Every error `retrieveRelease` can produce, as a discriminated union. */
370
+ export type TargetsRetrieveReleaseError =
371
+ | UnauthorizedError
372
+ | ForbiddenError
373
+ | NotFoundError
374
+ | RateLimitedError
375
+ | UnexpectedApiError
376
+ | ResponseParseError
377
+ | TransportError
378
+ | ValidationError;