@typeship-ax/cli 0.10.0 → 0.21.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 (109) hide show
  1. package/AGENTS.md +10 -5
  2. package/README.md +5 -5
  3. package/api.json +9773 -4501
  4. package/api.md +501 -271
  5. package/dist/api-identity.d.ts.map +1 -1
  6. package/dist/api-identity.js +6 -1
  7. package/dist/cli-agent.d.ts +5 -5
  8. package/dist/cli-agent.d.ts.map +1 -1
  9. package/dist/cli-agent.js +14 -10
  10. package/dist/cli.js +158 -82
  11. package/dist/core/http.d.ts +29 -16
  12. package/dist/core/http.d.ts.map +1 -1
  13. package/dist/core/http.js +108 -25
  14. package/dist/core/pagination.d.ts +8 -8
  15. package/dist/core/pagination.d.ts.map +1 -1
  16. package/dist/core/pagination.js +7 -16
  17. package/dist/errors.d.ts +20 -13
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js +29 -20
  20. package/dist/index.d.ts +37 -19
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +42 -18
  23. package/dist/ops.d.ts +5 -1
  24. package/dist/ops.d.ts.map +1 -1
  25. package/dist/ops.js +42 -35
  26. package/dist/polling-login.d.ts.map +1 -1
  27. package/dist/polling-login.js +11 -1
  28. package/dist/resources/api-keys.d.ts +44 -18
  29. package/dist/resources/api-keys.d.ts.map +1 -1
  30. package/dist/resources/api-keys.js +46 -14
  31. package/dist/resources/deliveries.d.ts +46 -0
  32. package/dist/resources/deliveries.d.ts.map +1 -0
  33. package/dist/resources/deliveries.js +70 -0
  34. package/dist/resources/drafts.d.ts +155 -0
  35. package/dist/resources/drafts.d.ts.map +1 -0
  36. package/dist/resources/drafts.js +230 -0
  37. package/dist/resources/files.d.ts +23 -0
  38. package/dist/resources/files.d.ts.map +1 -0
  39. package/dist/resources/files.js +38 -0
  40. package/dist/resources/generate.d.ts +49 -20
  41. package/dist/resources/generate.d.ts.map +1 -1
  42. package/dist/resources/generate.js +56 -14
  43. package/dist/resources/generations.d.ts +70 -18
  44. package/dist/resources/generations.d.ts.map +1 -1
  45. package/dist/resources/generations.js +84 -16
  46. package/dist/resources/organization.d.ts +18 -0
  47. package/dist/resources/organization.d.ts.map +1 -0
  48. package/dist/resources/organization.js +32 -0
  49. package/dist/resources/projects.d.ts +87 -124
  50. package/dist/resources/projects.d.ts.map +1 -1
  51. package/dist/resources/projects.js +70 -173
  52. package/dist/resources/publications.d.ts +46 -0
  53. package/dist/resources/publications.d.ts.map +1 -0
  54. package/dist/resources/publications.js +70 -0
  55. package/dist/resources/releases.d.ts +66 -0
  56. package/dist/resources/releases.d.ts.map +1 -0
  57. package/dist/resources/releases.js +101 -0
  58. package/dist/resources/spec-revisions.d.ts +85 -0
  59. package/dist/resources/spec-revisions.d.ts.map +1 -0
  60. package/dist/resources/spec-revisions.js +116 -0
  61. package/dist/resources/specs.d.ts +72 -0
  62. package/dist/resources/specs.d.ts.map +1 -0
  63. package/dist/resources/specs.js +107 -0
  64. package/dist/resources/targets.d.ts +85 -105
  65. package/dist/resources/targets.d.ts.map +1 -1
  66. package/dist/resources/targets.js +70 -163
  67. package/dist/schemas.d.ts +1 -0
  68. package/dist/schemas.d.ts.map +1 -1
  69. package/dist/schemas.js +194 -139
  70. package/dist/types.d.ts +2626 -1141
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/types.js +90 -11
  73. package/package.json +3 -3
  74. package/src/api-identity.ts +6 -2
  75. package/src/cli-agent.ts +17 -13
  76. package/src/cli.ts +145 -77
  77. package/src/core/http.ts +106 -30
  78. package/src/core/pagination.ts +13 -23
  79. package/src/errors.ts +30 -20
  80. package/src/index.ts +46 -24
  81. package/src/ops.ts +47 -36
  82. package/src/polling-login.ts +10 -1
  83. package/src/resources/api-keys.ts +87 -19
  84. package/src/resources/deliveries.ts +139 -0
  85. package/src/resources/drafts.ts +422 -0
  86. package/src/resources/files.ts +68 -0
  87. package/src/resources/generate.ts +81 -19
  88. package/src/resources/generations.ts +167 -29
  89. package/src/resources/organization.ts +53 -0
  90. package/src/resources/projects.ts +129 -322
  91. package/src/resources/publications.ts +139 -0
  92. package/src/resources/releases.ts +199 -0
  93. package/src/resources/spec-revisions.ts +237 -0
  94. package/src/resources/specs.ts +200 -0
  95. package/src/resources/targets.ts +135 -304
  96. package/src/schemas.ts +195 -140
  97. package/src/types.ts +2793 -1177
  98. package/dist/resources/account.d.ts +0 -18
  99. package/dist/resources/account.d.ts.map +0 -1
  100. package/dist/resources/account.js +0 -27
  101. package/dist/resources/definition-revisions.d.ts +0 -58
  102. package/dist/resources/definition-revisions.d.ts.map +0 -1
  103. package/dist/resources/definition-revisions.js +0 -114
  104. package/dist/resources/definitions.d.ts +0 -35
  105. package/dist/resources/definitions.d.ts.map +0 -1
  106. package/dist/resources/definitions.js +0 -60
  107. package/src/resources/account.ts +0 -46
  108. package/src/resources/definition-revisions.ts +0 -207
  109. package/src/resources/definitions.ts +0 -122
@@ -1 +1 @@
1
- {"version":3,"file":"polling-login.d.ts","sourceRoot":"","sources":["../src/polling-login.ts"],"names":[],"mappings":"AAGA,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB;gBAAhF,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB;CAItG;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAQhD;AAkCD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACxD;AACD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC/D,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAChG;AAED;gFACgF;AAChF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE;IAC7E,SAAS,CAAC,KAAK,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzF,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC1C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsD9B;AAED,MAAM,WAAW,kBAAkB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE;AAEjH;kFACkF;AAClF,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,EAAE,WAAW,EAAE;IAC3H,SAAS,CAAC,KAAK,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC1C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkC9B"}
1
+ {"version":3,"file":"polling-login.d.ts","sourceRoot":"","sources":["../src/polling-login.ts"],"names":[],"mappings":"AAGA,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB;gBAAhF,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB;CAItG;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAQhD;AAkCD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACxD;AACD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC/D,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAChG;AAED;gFACgF;AAChF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE;IAC7E,SAAS,CAAC,KAAK,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzF,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC1C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsD9B;AAED,MAAM,WAAW,kBAAkB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE;AAEjH;kFACkF;AAClF,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,EAAE,WAAW,EAAE;IAC3H,SAAS,CAAC,KAAK,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC1C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2C9B"}
@@ -176,7 +176,17 @@ export async function customBrowserApproval(config, interaction) {
176
176
  flow.check();
177
177
  if (Date.now() >= deadline)
178
178
  throw new LoginPollingError("expired");
179
- const result = await oauthJsonRequest(url + "/status", post({ session: start.session, code_verifier: verifier }), Math.min(15_000, deadline - Date.now()));
179
+ let result;
180
+ try {
181
+ result = await oauthJsonRequest(url + "/status", post({ session: start.session, code_verifier: verifier }), Math.min(15_000, deadline - Date.now()));
182
+ }
183
+ catch (error) {
184
+ flow.check();
185
+ if (error instanceof OAuthResponseError && error.code === "timed_out" && Date.now() >= deadline) {
186
+ throw new LoginPollingError("expired");
187
+ }
188
+ throw error;
189
+ }
180
190
  flow.check();
181
191
  if (Date.now() >= deadline)
182
192
  throw new LoginPollingError("expired");
@@ -1,6 +1,6 @@
1
- import { HttpCore, type ApiResult, type RequestOptions } from "../core/http.js";
1
+ import { HttpCore, type RequestOptions } from "../core/http.js";
2
2
  import { PagePromise } from "../core/pagination.js";
3
- import { ResponseParseError, TransportError, UnexpectedApiError, ValidationError, BadRequestError, ForbiddenError, NotFoundError, RateLimitedError, UnauthorizedError } from "../errors.js";
3
+ import { ResponseParseError, TransportError, UnexpectedApiError, ValidationError, BadRequestError, ForbiddenError, InternalServerError, NotFoundError, PreconditionFailedError, RateLimitedError, UnauthorizedError } from "../errors.js";
4
4
  import type { ApiKeyRead, ApiKeyResponseRead } from "../types.js";
5
5
  export declare class ApiKeysResource {
6
6
  private readonly _core;
@@ -8,35 +8,61 @@ export declare class ApiKeysResource {
8
8
  /**
9
9
  * List API keys
10
10
  *
11
- * Keys are never returned in full — only their identity and last four. Creation stays in the
12
- * console deliberately: a leaked key that can mint more keys is a leaked account.
11
+ * Lists key metadata and the last four characters of each key. Full keys are not returned. Create
12
+ * keys in the Console.
13
13
  *
14
14
  * Auto-paginates: `for await (const item of …)` walks every page.
15
- * `GET /api_keys`
15
+ * `GET /api-keys`
16
16
  */
17
17
  list(params?: ApiKeysListParams, options?: RequestOptions): PagePromise<ApiKeyRead, ApiKeysListError>;
18
+ /**
19
+ * Get an API key
20
+ *
21
+ * Returns the key summary and its ETag for conditional revocation.
22
+ * `GET /api-keys/{api_key_id}`
23
+ */
24
+ get(apiKeyId: string, options?: RequestOptions): Promise<ApiKeyResponseRead>;
18
25
  /**
19
26
  * Revoke an API key
20
27
  *
21
- * Idempotent: revoking an already-revoked key returns the same body, so a rotation script that
22
- * re-runs does not have to special-case having already succeeded. An OAuth member may revoke a
23
- * key they created; an organization admin may revoke any key. Organization API keys retain
24
- * account-wide authority.
25
- * `DELETE /api_keys/{api_key_id}`
28
+ * Revokes a key. Repeating the request returns the same result.
29
+ *
30
+ * With OAuth, members can revoke their own keys; organization admins can revoke any key.
31
+ * Organization API keys can revoke any key in their organization.
32
+ * See [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag
33
+ * and If-Match.
34
+ * `DELETE /api-keys/{api_key_id}`
26
35
  */
27
- revoke(apiKeyId: string, options?: RequestOptions): Promise<ApiResult<ApiKeyResponseRead, ApiKeysRevokeError>>;
36
+ revoke(apiKeyId: string, params?: ApiKeysRevokeParams, options?: RequestOptions): Promise<ApiKeyResponseRead>;
28
37
  }
29
38
  export interface ApiKeysListParams {
30
- /** Maximum number of resources to return. */
39
+ /**
40
+ * Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits
41
+ * representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400
42
+ * invalid_request. List query parameters must appear only once; unrecognized parameters also
43
+ * return 400.
44
+ */
31
45
  limit?: number;
32
46
  /**
33
- * Opaque cursor from the preceding page's next_cursor. Valid only for the same account,
34
- * operation, filters, and ordering that issued it.
47
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same organization,
48
+ * operation, filters, and ordering that issued it. Omit to start at the first page. Empty,
49
+ * malformed, or repeated cursors return 400 invalid_request. The page limit may change between
50
+ * requests.
35
51
  */
36
52
  cursor?: string;
37
53
  }
38
- /** Every error `list` can produce, as a discriminated union. */
39
- export type ApiKeysListError = BadRequestError | UnauthorizedError | ForbiddenError | RateLimitedError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
40
- /** Every error `revoke` can produce, as a discriminated union. */
41
- export type ApiKeysRevokeError = UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
54
+ /** Typed errors `list` can throw. */
55
+ export type ApiKeysListError = BadRequestError | UnauthorizedError | ForbiddenError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
56
+ /** Typed errors `get` can throw. */
57
+ export type ApiKeysGetError = UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
58
+ export interface ApiKeysRevokeParams {
59
+ /**
60
+ * ETag from a preceding response. The write applies only if the resource still has that version;
61
+ * otherwise it returns 412 precondition_failed without changes. Omit to write the current
62
+ * version. See https://typeship.dev/docs/typeship-api#conditional-writes.
63
+ */
64
+ ifMatch?: string;
65
+ }
66
+ /** Typed errors `revoke` can throw. */
67
+ export type ApiKeysRevokeError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | PreconditionFailedError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
42
68
  //# sourceMappingURL=api-keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/resources/api-keys.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAIV,UAAU,EAEV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAC5C;;;;;;;;OAQG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,UAAU,EAAE,gBAAgB,CAAC;IA4BrG;;;;;;;;OAQG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;CAgB9D;AAED,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC;AAEpB,kEAAkE;AAClE,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC"}
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/resources/api-keys.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAIV,UAAU,EAEV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAC5C;;;;;;;;OAQG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,UAAU,EAAE,gBAAgB,CAAC;IA6BrG;;;;;OAKG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkBlF;;;;;;;;;;OAUG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,CAAC;CAsB/B;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC;AAEpB,oCAAoC;AACpC,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,uBAAuB,GACvB,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // typeship — apiKeys resource.
2
- // Generated by typeship — https://typeship.dev — do not edit by hand.
2
+ // Generated by typeship — https://typeship.dev
3
3
  import { paginate } from "../core/pagination.js";
4
- import { BadRequestError, ForbiddenError, NotFoundError, RateLimitedError, UnauthorizedError, } from "../errors.js";
4
+ import { BadRequestError, ForbiddenError, InternalServerError, NotFoundError, PreconditionFailedError, RateLimitedError, UnauthorizedError, } from "../errors.js";
5
5
  export class ApiKeysResource {
6
6
  _core;
7
7
  constructor(_core) {
@@ -10,16 +10,16 @@ export class ApiKeysResource {
10
10
  /**
11
11
  * List API keys
12
12
  *
13
- * Keys are never returned in full — only their identity and last four. Creation stays in the
14
- * console deliberately: a leaked key that can mint more keys is a leaked account.
13
+ * Lists key metadata and the last four characters of each key. Full keys are not returned. Create
14
+ * keys in the Console.
15
15
  *
16
16
  * Auto-paginates: `for await (const item of …)` walks every page.
17
- * `GET /api_keys`
17
+ * `GET /api-keys`
18
18
  */
19
19
  list(params, options) {
20
20
  return paginate(this._core, {
21
21
  method: "GET",
22
- path: "/api_keys",
22
+ path: "/api-keys",
23
23
  security: [{ "apiKey": [] }],
24
24
  query: {
25
25
  limit: params?.limit,
@@ -30,6 +30,7 @@ export class ApiKeysResource {
30
30
  "401": UnauthorizedError,
31
31
  "403": ForbiddenError,
32
32
  "429": RateLimitedError,
33
+ "500": InternalServerError,
33
34
  },
34
35
  idempotent: true,
35
36
  schemaKey: "apiKeys.list",
@@ -43,25 +44,56 @@ export class ApiKeysResource {
43
44
  limitParam: "limit",
44
45
  });
45
46
  }
47
+ /**
48
+ * Get an API key
49
+ *
50
+ * Returns the key summary and its ETag for conditional revocation.
51
+ * `GET /api-keys/{api_key_id}`
52
+ */
53
+ async get(apiKeyId, options) {
54
+ return this._core.requestData({
55
+ method: "GET",
56
+ path: `/api-keys/${encodeURIComponent(String(apiKeyId))}`,
57
+ security: [{ "apiKey": [] }],
58
+ errors: {
59
+ "401": UnauthorizedError,
60
+ "403": ForbiddenError,
61
+ "404": NotFoundError,
62
+ "429": RateLimitedError,
63
+ "500": InternalServerError,
64
+ },
65
+ idempotent: true,
66
+ schemaKey: "apiKeys.get",
67
+ options,
68
+ });
69
+ }
46
70
  /**
47
71
  * Revoke an API key
48
72
  *
49
- * Idempotent: revoking an already-revoked key returns the same body, so a rotation script that
50
- * re-runs does not have to special-case having already succeeded. An OAuth member may revoke a
51
- * key they created; an organization admin may revoke any key. Organization API keys retain
52
- * account-wide authority.
53
- * `DELETE /api_keys/{api_key_id}`
73
+ * Revokes a key. Repeating the request returns the same result.
74
+ *
75
+ * With OAuth, members can revoke their own keys; organization admins can revoke any key.
76
+ * Organization API keys can revoke any key in their organization.
77
+ * See [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag
78
+ * and If-Match.
79
+ * `DELETE /api-keys/{api_key_id}`
54
80
  */
55
- async revoke(apiKeyId, options) {
56
- return this._core.request({
81
+ async revoke(apiKeyId, params, options) {
82
+ return this._core.requestData({
57
83
  method: "DELETE",
58
- path: `/api_keys/${encodeURIComponent(String(apiKeyId))}`,
84
+ path: `/api-keys/${encodeURIComponent(String(apiKeyId))}`,
59
85
  security: [{ "apiKey": [] }],
86
+ headers: {
87
+ "If-Match": params?.ifMatch === undefined ? undefined : String(params?.ifMatch),
88
+ },
60
89
  errors: {
90
+ "400": BadRequestError,
61
91
  "401": UnauthorizedError,
62
92
  "403": ForbiddenError,
63
93
  "404": NotFoundError,
94
+ "412": PreconditionFailedError,
64
95
  "429": RateLimitedError,
96
+ "500": InternalServerError,
65
97
  },
66
98
  idempotent: true,
67
99
  schemaKey: "apiKeys.revoke",
@@ -0,0 +1,46 @@
1
+ import { HttpCore, type RequestOptions } from "../core/http.js";
2
+ import { PagePromise } from "../core/pagination.js";
3
+ import { ResponseParseError, TransportError, UnexpectedApiError, ValidationError, BadRequestError, ForbiddenError, InternalServerError, NotFoundError, RateLimitedError, UnauthorizedError } from "../errors.js";
4
+ import type { DeliveryId, DeliveryRead, DeliveryResponseRead, TargetId } from "../types.js";
5
+ export declare class DeliveriesResource {
6
+ private readonly _core;
7
+ constructor(_core: HttpCore);
8
+ /**
9
+ * List Deliveries
10
+ *
11
+ * Auto-paginates: `for await (const item of …)` walks every page.
12
+ * `GET /deliveries`
13
+ */
14
+ list(params?: DeliveriesListParams, options?: RequestOptions): PagePromise<DeliveryRead, DeliveriesListError>;
15
+ /**
16
+ * Get a Delivery
17
+ *
18
+ * Returns the configured repository or hosted MCP Delivery for a Target. A Delivery in another
19
+ * organization returns 404 not_found.
20
+ * `GET /deliveries/{delivery_id}`
21
+ */
22
+ get(deliveryId: DeliveryId, options?: RequestOptions): Promise<DeliveryResponseRead>;
23
+ }
24
+ export interface DeliveriesListParams {
25
+ /**
26
+ * Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits
27
+ * representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400
28
+ * invalid_request. List query parameters must appear only once; unrecognized parameters also
29
+ * return 400.
30
+ */
31
+ limit?: number;
32
+ /**
33
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same organization,
34
+ * operation, filters, and ordering that issued it. Omit to start at the first page. Empty,
35
+ * malformed, or repeated cursors return 400 invalid_request. The page limit may change between
36
+ * requests.
37
+ */
38
+ cursor?: string;
39
+ /** Only Deliveries of this Target. */
40
+ targetId?: TargetId;
41
+ }
42
+ /** Typed errors `list` can throw. */
43
+ export type DeliveriesListError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
44
+ /** Typed errors `get` can throw. */
45
+ export type DeliveriesGetError = UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
46
+ //# sourceMappingURL=deliveries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliveries.d.ts","sourceRoot":"","sources":["../../src/resources/deliveries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAEV,UAAU,EAGV,YAAY,EAEZ,oBAAoB,EACpB,QAAQ,EACT,MAAM,aAAa,CAAC;AAErB,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAC5C;;;;;OAKG;IACH,IAAI,CACF,MAAM,CAAC,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC;IA+BjD;;;;;;OAMG;IACG,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAiB3F;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,qCAAqC;AACrC,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC;AAEpB,oCAAoC;AACpC,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC"}
@@ -0,0 +1,70 @@
1
+ // typeship — deliveries resource.
2
+ // Generated by typeship — https://typeship.dev
3
+ import { paginate } from "../core/pagination.js";
4
+ import { BadRequestError, ForbiddenError, InternalServerError, NotFoundError, RateLimitedError, UnauthorizedError, } from "../errors.js";
5
+ export class DeliveriesResource {
6
+ _core;
7
+ constructor(_core) {
8
+ this._core = _core;
9
+ }
10
+ /**
11
+ * List Deliveries
12
+ *
13
+ * Auto-paginates: `for await (const item of …)` walks every page.
14
+ * `GET /deliveries`
15
+ */
16
+ list(params, options) {
17
+ return paginate(this._core, {
18
+ method: "GET",
19
+ path: "/deliveries",
20
+ security: [{ "apiKey": [] }],
21
+ query: {
22
+ limit: params?.limit,
23
+ cursor: params?.cursor,
24
+ target_id: params?.targetId,
25
+ },
26
+ errors: {
27
+ "400": BadRequestError,
28
+ "401": UnauthorizedError,
29
+ "403": ForbiddenError,
30
+ "404": NotFoundError,
31
+ "429": RateLimitedError,
32
+ "500": InternalServerError,
33
+ },
34
+ idempotent: true,
35
+ schemaKey: "deliveries.list",
36
+ options,
37
+ }, {
38
+ style: "cursor",
39
+ itemsField: "data",
40
+ cursorParam: "cursor",
41
+ nextCursorField: "next_cursor",
42
+ hasMoreField: "has_more",
43
+ limitParam: "limit",
44
+ });
45
+ }
46
+ /**
47
+ * Get a Delivery
48
+ *
49
+ * Returns the configured repository or hosted MCP Delivery for a Target. A Delivery in another
50
+ * organization returns 404 not_found.
51
+ * `GET /deliveries/{delivery_id}`
52
+ */
53
+ async get(deliveryId, options) {
54
+ return this._core.requestData({
55
+ method: "GET",
56
+ path: `/deliveries/${encodeURIComponent(String(deliveryId))}`,
57
+ security: [{ "apiKey": [] }],
58
+ errors: {
59
+ "401": UnauthorizedError,
60
+ "403": ForbiddenError,
61
+ "404": NotFoundError,
62
+ "429": RateLimitedError,
63
+ "500": InternalServerError,
64
+ },
65
+ idempotent: true,
66
+ schemaKey: "deliveries.get",
67
+ options,
68
+ });
69
+ }
70
+ }
@@ -0,0 +1,155 @@
1
+ import { HttpCore, type RequestOptions } from "../core/http.js";
2
+ import { PagePromise } from "../core/pagination.js";
3
+ import { ResponseParseError, TransportError, UnexpectedApiError, ValidationError, BadGatewayError, BadRequestError, ConflictError, ForbiddenError, InternalServerError, NotFoundError, PreconditionFailedError, RateLimitedError, UnauthorizedError, UnprocessableEntityError } from "../errors.js";
4
+ import type { DraftFileRead, DraftId, DraftRead, DraftRecoverRequest, DraftResolveRequest, DraftResponseRead, DraftStatus, DraftUpdateRequest, TargetId } from "../types.js";
5
+ export declare class DraftsResource {
6
+ private readonly _core;
7
+ constructor(_core: HttpCore);
8
+ /**
9
+ * List Drafts
10
+ *
11
+ * Lists open and merged Drafts, newest first. Each Target has one open Draft; each merge adds a
12
+ * merged Draft.
13
+ *
14
+ * Auto-paginates: `for await (const item of …)` walks every page.
15
+ * `GET /drafts`
16
+ */
17
+ list(params?: DraftsListParams, options?: RequestOptions): PagePromise<DraftRead, DraftsListError>;
18
+ /**
19
+ * Get a Draft
20
+ *
21
+ * Returns the Draft's status. An open Draft also reports its typed reason when action is
22
+ * required, next version and its source, readiness, checks, and conflict counts. The response
23
+ * carries an `ETag`; send it in `If-Match` when updating the Draft to avoid changing a newer
24
+ * version selection.
25
+ * `GET /drafts/{draft_id}`
26
+ */
27
+ get(draftId: DraftId, options?: RequestOptions): Promise<DraftResponseRead>;
28
+ /**
29
+ * Select an exact Draft version or return to automatic versioning
30
+ *
31
+ * Checks your version choice against the required version bump, then regenerates the existing
32
+ * Draft pull request.
33
+ *
34
+ * Send the Draft's `ETag` in `If-Match` to reject an intervening change with 412
35
+ * precondition_failed before saving or regenerating. Omitting `If-Match` applies the selection to
36
+ * the current Draft. version_next is required; null restores automatic selection.
37
+ *
38
+ * A `502` response means the selected version was saved, but regeneration failed. Follow the
39
+ * error's retryable and suggested_action fields. Repeating an unfinished selection resumes
40
+ * generation; repeating a completed selection starts no new work. If using If-Match, retrieve the
41
+ * Draft and confirm the saved selection before retrying with its current ETag.
42
+ * A `409 draft_merged` means the Draft merged; retrieve the Target and select a version on its
43
+ * `draft_id`. A `409 target_busy` means the Target is publishing; wait and retry. A `409
44
+ * version_occupied` means the version is already released; retrieve the Draft and releases,
45
+ * choose a new version, and retry.
46
+ * See [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag
47
+ * and If-Match.
48
+ * `PATCH /drafts/{draft_id}`
49
+ */
50
+ update(draftId: DraftId, body: DraftUpdateRequest, params?: DraftsUpdateParams, options?: RequestOptions): Promise<DraftResponseRead>;
51
+ /**
52
+ * List customized and conflicted files on a Draft
53
+ *
54
+ * Lists the Draft's files that differ from the last merged package or need a conflict decision,
55
+ * ordered by path, without file content. Each conflict names its kind, the saved decision, and
56
+ * the sides you can read with getFile. With `filter=history`, lists files affected by a
57
+ * default-branch history rewrite; the list is empty when none is pending.
58
+ *
59
+ * Returns `409 resource_changed` while Typeship is carrying the Draft's latest commit forward
60
+ * (status working), or when the Draft changes between pages.
61
+ *
62
+ * Auto-paginates: `for await (const item of …)` walks every page.
63
+ * `GET /drafts/{draft_id}/files`
64
+ */
65
+ listFiles(draftId: DraftId, params?: DraftsListFilesParams, options?: RequestOptions): PagePromise<DraftFileRead, DraftsListFilesError>;
66
+ /**
67
+ * Resolve selected Draft files
68
+ *
69
+ * Resolves conflicts on the Draft's head_sha: keep yours or generated, or supply final content as
70
+ * text or, for binary files, base64. Choosing generated for a customized path replaces it with
71
+ * the generated file, or deletes a Draft-only file.
72
+ *
73
+ * Conflict decisions are saved together and can be replaced until applied. Choosing generated for
74
+ * customized paths commits those changes together on the Draft branch. Returns the Draft. When
75
+ * every conflict has a decision, `conflicts.decided` equals `conflicts.total` and Typeship
76
+ * continues the Draft and runs checks. Paths that already match the Draft change nothing.
77
+ * `POST /drafts/{draft_id}/resolve`
78
+ */
79
+ resolve(draftId: DraftId, body: DraftResolveRequest, options?: RequestOptions): Promise<DraftResponseRead>;
80
+ /**
81
+ * Approve recovery from rewritten default-branch history
82
+ *
83
+ * When the Draft has status `action_required` and reason `history_rewritten`, review affected
84
+ * files with `listDraftFiles` and `filter=history`, then approve with the Draft's
85
+ * `history_recovery` revisions. Approval saves the recovery without changing Git and returns the
86
+ * Draft; the next generation rebuilds it from the rewritten default branch. The previous Draft
87
+ * branch stays available, and overlapping code comes back as conflicts to resolve. A rewritten
88
+ * Draft branch alone needs no approval.
89
+ * `POST /drafts/{draft_id}/recover`
90
+ */
91
+ recover(draftId: DraftId, body: DraftRecoverRequest, options?: RequestOptions): Promise<DraftResponseRead>;
92
+ }
93
+ export interface DraftsListParams {
94
+ /**
95
+ * Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits
96
+ * representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400
97
+ * invalid_request. List query parameters must appear only once; unrecognized parameters also
98
+ * return 400.
99
+ */
100
+ limit?: number;
101
+ /**
102
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same organization,
103
+ * operation, filters, and ordering that issued it. Omit to start at the first page. Empty,
104
+ * malformed, or repeated cursors return 400 invalid_request. The page limit may change between
105
+ * requests.
106
+ */
107
+ cursor?: string;
108
+ /** Only Drafts of this Target. */
109
+ targetId?: TargetId;
110
+ /** Only Drafts with this status. */
111
+ status?: DraftStatus;
112
+ }
113
+ /** Typed errors `list` can throw. */
114
+ export type DraftsListError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
115
+ /** Typed errors `get` can throw. */
116
+ export type DraftsGetError = UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
117
+ export interface DraftsUpdateParams {
118
+ /**
119
+ * ETag from a preceding response. The write applies only if the resource still has that version;
120
+ * otherwise it returns 412 precondition_failed without changes. Omit to write the current
121
+ * version. See https://typeship.dev/docs/typeship-api#conditional-writes.
122
+ */
123
+ ifMatch?: string;
124
+ }
125
+ /** Typed errors `update` can throw. */
126
+ export type DraftsUpdateError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | ConflictError | PreconditionFailedError | UnprocessableEntityError | RateLimitedError | InternalServerError | BadGatewayError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
127
+ export interface DraftsListFilesParams {
128
+ /**
129
+ * conflicted: conflicts only. customized: files that differ from the last merged package.
130
+ * history: files affected by a default-branch history rewrite. Omit for conflicted and customized
131
+ * files.
132
+ */
133
+ filter?: "conflicted" | "customized" | "history";
134
+ /**
135
+ * Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits
136
+ * representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400
137
+ * invalid_request. List query parameters must appear only once; unrecognized parameters also
138
+ * return 400.
139
+ */
140
+ limit?: number;
141
+ /**
142
+ * Opaque cursor from the preceding page's next_cursor. Valid only for the same organization,
143
+ * operation, filters, and ordering that issued it. Omit to start at the first page. Empty,
144
+ * malformed, or repeated cursors return 400 invalid_request. The page limit may change between
145
+ * requests.
146
+ */
147
+ cursor?: string;
148
+ }
149
+ /** Typed errors `listFiles` can throw. */
150
+ export type DraftsListFilesError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | ConflictError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
151
+ /** Typed errors `resolve` can throw. */
152
+ export type DraftsResolveError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | ConflictError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
153
+ /** Typed errors `recover` can throw. */
154
+ export type DraftsRecoverError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | ConflictError | RateLimitedError | InternalServerError | UnexpectedApiError | ResponseParseError | TransportError | ValidationError;
155
+ //# sourceMappingURL=drafts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../src/resources/drafts.ts"],"names":[],"mappings":"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"}