@typeship-ax/mcp 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 (79) hide show
  1. package/README.md +1 -1
  2. package/api.json +5597 -3010
  3. package/api.md +433 -54
  4. package/dist/core/http.d.ts +6 -92
  5. package/dist/core/http.d.ts.map +1 -1
  6. package/dist/core/http.js +70 -209
  7. package/dist/core/pagination.d.ts.map +1 -1
  8. package/dist/core/pagination.js +6 -34
  9. package/dist/dates.d.ts +0 -2
  10. package/dist/dates.d.ts.map +1 -1
  11. package/dist/dates.js +0 -1
  12. package/dist/docs.d.ts +11 -0
  13. package/dist/docs.d.ts.map +1 -0
  14. package/dist/docs.js +114 -0
  15. package/dist/errors.d.ts +27 -27
  16. package/dist/errors.d.ts.map +1 -1
  17. package/dist/errors.js +7 -7
  18. package/dist/index.d.ts +19 -11
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +23 -13
  21. package/dist/mcp-protocol.d.ts +19 -24
  22. package/dist/mcp-protocol.d.ts.map +1 -1
  23. package/dist/mcp-protocol.js +160 -124
  24. package/dist/mcp.js +16 -19
  25. package/dist/ops.d.ts +5 -0
  26. package/dist/ops.d.ts.map +1 -1
  27. package/dist/ops.js +31 -17
  28. package/dist/resources/account.d.ts +2 -2
  29. package/dist/resources/account.d.ts.map +1 -1
  30. package/dist/resources/api-keys.d.ts +10 -5
  31. package/dist/resources/api-keys.d.ts.map +1 -1
  32. package/dist/resources/api-keys.js +3 -1
  33. package/dist/resources/definition-revisions.d.ts +58 -0
  34. package/dist/resources/definition-revisions.d.ts.map +1 -0
  35. package/dist/resources/definition-revisions.js +110 -0
  36. package/dist/resources/definitions.d.ts +24 -0
  37. package/dist/resources/definitions.d.ts.map +1 -0
  38. package/dist/resources/definitions.js +51 -0
  39. package/dist/resources/generate.d.ts +5 -5
  40. package/dist/resources/generate.d.ts.map +1 -1
  41. package/dist/resources/generate.js +3 -3
  42. package/dist/resources/generations.d.ts +3 -3
  43. package/dist/resources/generations.d.ts.map +1 -1
  44. package/dist/resources/generations.js +1 -1
  45. package/dist/resources/projects.d.ts +66 -26
  46. package/dist/resources/projects.d.ts.map +1 -1
  47. package/dist/resources/projects.js +87 -13
  48. package/dist/resources/targets.d.ts +86 -0
  49. package/dist/resources/targets.d.ts.map +1 -0
  50. package/dist/resources/targets.js +184 -0
  51. package/dist/schemas.d.ts.map +1 -1
  52. package/dist/schemas.js +119 -62
  53. package/dist/types.d.ts +1761 -222
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/types.js +9 -3
  56. package/package.json +1 -1
  57. package/src/core/http.ts +75 -293
  58. package/src/core/pagination.ts +6 -30
  59. package/src/dates.ts +0 -1
  60. package/src/docs.ts +101 -0
  61. package/src/errors.ts +30 -30
  62. package/src/index.ts +23 -13
  63. package/src/mcp-protocol.ts +170 -120
  64. package/src/mcp.ts +22 -22
  65. package/src/ops.ts +43 -17
  66. package/src/resources/account.ts +3 -3
  67. package/src/resources/api-keys.ts +22 -7
  68. package/src/resources/definition-revisions.ts +198 -0
  69. package/src/resources/definitions.ts +97 -0
  70. package/src/resources/generate.ts +6 -6
  71. package/src/resources/generations.ts +4 -4
  72. package/src/resources/projects.ts +182 -37
  73. package/src/resources/targets.ts +346 -0
  74. package/src/schemas.ts +119 -62
  75. package/src/types.ts +1947 -281
  76. package/dist/resources/spec-revisions.d.ts +0 -47
  77. package/dist/resources/spec-revisions.d.ts.map +0 -1
  78. package/dist/resources/spec-revisions.js +0 -90
  79. package/src/resources/spec-revisions.ts +0 -150
package/src/errors.ts CHANGED
@@ -2,17 +2,17 @@
2
2
  // Generated by typeship — https://typeship.dev — do not edit by hand.
3
3
 
4
4
  import { ApiError, type ResponseMeta } from "./core/http.js";
5
- import type { ErrorModel } from "./types.js";
5
+ import type { ErrorModel, ErrorModelRead } from "./types.js";
6
6
 
7
- export { ApiError, GraphQLRequestError, TransportError, UnexpectedApiError, ValidationError, type Violation, unwrap } from "./core/http.js";
7
+ export { ApiError, TransportError, UnexpectedApiError, ValidationError, type Violation, unwrap } from "./core/http.js";
8
8
 
9
9
  /**
10
- * The request body, specification source, output selection, or package name is invalid.
10
+ * The request body, Definition source, target selection, or package name is invalid.
11
11
  * Raised for HTTP 400 responses.
12
12
  */
13
- export class BadRequestError extends ApiError<400, ErrorModel> {
14
- constructor(body: ErrorModel, response: ResponseMeta) {
15
- super("The request body, specification source, output selection, or package name is invalid.", 400, body, response);
13
+ export class BadRequestError extends ApiError<400, ErrorModelRead> {
14
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
15
+ super("The request body, Definition source, target selection, or package name is invalid.", 400, body, response);
16
16
  }
17
17
  }
18
18
 
@@ -20,8 +20,8 @@ export class BadRequestError extends ApiError<400, ErrorModel> {
20
20
  * Missing, invalid, expired, or revoked credentials.
21
21
  * Raised for HTTP 401 responses.
22
22
  */
23
- export class UnauthorizedError extends ApiError<401, ErrorModel> {
24
- constructor(body: ErrorModel, response: ResponseMeta) {
23
+ export class UnauthorizedError extends ApiError<401, ErrorModelRead> {
24
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
25
25
  super("Missing, invalid, expired, or revoked credentials.", 401, body, response);
26
26
  }
27
27
  }
@@ -30,8 +30,8 @@ export class UnauthorizedError extends ApiError<401, ErrorModel> {
30
30
  * The credentials are valid but cannot act on the requested organization.
31
31
  * Raised for HTTP 403 responses.
32
32
  */
33
- export class ForbiddenError extends ApiError<403, ErrorModel> {
34
- constructor(body: ErrorModel, response: ResponseMeta) {
33
+ export class ForbiddenError extends ApiError<403, ErrorModelRead> {
34
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
35
35
  super("The credentials are valid but cannot act on the requested organization.", 403, body, response);
36
36
  }
37
37
  }
@@ -40,19 +40,19 @@ export class ForbiddenError extends ApiError<403, ErrorModel> {
40
40
  * Spec exceeds the 10MB limit.
41
41
  * Raised for HTTP 413 responses.
42
42
  */
43
- export class PayloadTooLargeError extends ApiError<413, ErrorModel> {
44
- constructor(body: ErrorModel, response: ResponseMeta) {
43
+ export class PayloadTooLargeError extends ApiError<413, ErrorModelRead> {
44
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
45
45
  super("Spec exceeds the 10MB limit.", 413, body, response);
46
46
  }
47
47
  }
48
48
 
49
49
  /**
50
- * The spec could not be understood.
50
+ * The Definition could not be resolved or understood.
51
51
  * Raised for HTTP 422 responses.
52
52
  */
53
- export class UnprocessableEntityError extends ApiError<422, ErrorModel> {
54
- constructor(body: ErrorModel, response: ResponseMeta) {
55
- super("The spec could not be understood.", 422, body, response);
53
+ export class UnprocessableEntityError extends ApiError<422, ErrorModelRead> {
54
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
55
+ super("The Definition could not be resolved or understood.", 422, body, response);
56
56
  }
57
57
  }
58
58
 
@@ -60,8 +60,8 @@ export class UnprocessableEntityError extends ApiError<422, ErrorModel> {
60
60
  * Too many requests. Wait for Retry-After before retrying.
61
61
  * Raised for HTTP 429 responses.
62
62
  */
63
- export class RateLimitedError extends ApiError<429, ErrorModel> {
64
- constructor(body: ErrorModel, response: ResponseMeta) {
63
+ export class RateLimitedError extends ApiError<429, ErrorModelRead> {
64
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
65
65
  super("Too many requests. Wait for Retry-After before retrying.", 429, body, response);
66
66
  }
67
67
  }
@@ -70,19 +70,19 @@ export class RateLimitedError extends ApiError<429, ErrorModel> {
70
70
  * Unexpected error.
71
71
  * Raised for "default" responses.
72
72
  */
73
- export class ApiResponseError extends ApiError<number, ErrorModel> {
74
- constructor(body: ErrorModel, response: ResponseMeta) {
73
+ export class ApiResponseError extends ApiError<number, ErrorModelRead> {
74
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
75
75
  super("Unexpected error.", response.status, body, response);
76
76
  }
77
77
  }
78
78
 
79
79
  /**
80
- * The plan does not include another project or the requested output configuration.
80
+ * The plan does not include another project or the requested target configuration.
81
81
  * Raised for HTTP 402 responses.
82
82
  */
83
- export class PaymentRequiredError extends ApiError<402, ErrorModel> {
84
- constructor(body: ErrorModel, response: ResponseMeta) {
85
- super("The plan does not include another project or the requested output configuration.", 402, body, response);
83
+ export class PaymentRequiredError extends ApiError<402, ErrorModelRead> {
84
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
85
+ super("The plan does not include another project or the requested target configuration.", 402, body, response);
86
86
  }
87
87
  }
88
88
 
@@ -90,8 +90,8 @@ export class PaymentRequiredError extends ApiError<402, ErrorModel> {
90
90
  * The Idempotency-Key was already used with different request parameters.
91
91
  * Raised for HTTP 409 responses.
92
92
  */
93
- export class ConflictError extends ApiError<409, ErrorModel> {
94
- constructor(body: ErrorModel, response: ResponseMeta) {
93
+ export class ConflictError extends ApiError<409, ErrorModelRead> {
94
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
95
95
  super("The Idempotency-Key was already used with different request parameters.", 409, body, response);
96
96
  }
97
97
  }
@@ -100,8 +100,8 @@ export class ConflictError extends ApiError<409, ErrorModel> {
100
100
  * The original idempotent request is temporarily unavailable.
101
101
  * Raised for HTTP 500 responses.
102
102
  */
103
- export class InternalServerError extends ApiError<500, ErrorModel> {
104
- constructor(body: ErrorModel, response: ResponseMeta) {
103
+ export class InternalServerError extends ApiError<500, ErrorModelRead> {
104
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
105
105
  super("The original idempotent request is temporarily unavailable.", 500, body, response);
106
106
  }
107
107
  }
@@ -110,8 +110,8 @@ export class InternalServerError extends ApiError<500, ErrorModel> {
110
110
  * No such resource in this account.
111
111
  * Raised for HTTP 404 responses.
112
112
  */
113
- export class NotFoundError extends ApiError<404, ErrorModel> {
114
- constructor(body: ErrorModel, response: ResponseMeta) {
113
+ export class NotFoundError extends ApiError<404, ErrorModelRead> {
114
+ constructor(body: ErrorModelRead, response: ResponseMeta) {
115
115
  super("No such resource in this account.", 404, body, response);
116
116
  }
117
117
  }
package/src/index.ts CHANGED
@@ -13,14 +13,16 @@ import { DEFS, SCHEMAS } from "./schemas.js";
13
13
 
14
14
  import { GenerateResource } from "./resources/generate.js";
15
15
  import { ProjectsResource } from "./resources/projects.js";
16
+ import { DefinitionsResource } from "./resources/definitions.js";
17
+ import { TargetsResource } from "./resources/targets.js";
16
18
  import { GenerationsResource } from "./resources/generations.js";
17
- import { SpecRevisionsResource } from "./resources/spec-revisions.js";
19
+ import { DefinitionRevisionsResource } from "./resources/definition-revisions.js";
18
20
  import { AccountResource } from "./resources/account.js";
19
21
  import { ApiKeysResource } from "./resources/api-keys.js";
20
22
 
21
23
  /** This package's version, also sent as the `User-Agent`. */
22
- export const VERSION = "0.6.0";
23
- const USER_AGENT = "@typeship-ax/mcp/0.6.0 (typeship)";
24
+ export const VERSION = "0.8.0";
25
+ const USER_AGENT = "@typeship-ax/mcp/0.8.0 (typeship)";
24
26
 
25
27
  export interface ClientOptions {
26
28
  /** Override the server URL. Default: `https://typeship.dev/api/v1` */
@@ -69,21 +71,25 @@ export interface ClientOptions {
69
71
  }
70
72
 
71
73
  /**
72
- * typeship — v0.6.0
74
+ * typeship — v0.8.0
73
75
  *
74
- * Generate production SDKs, CLIs, and MCP servers from an OpenAPI or
75
- * GraphQL spec, and keep every selected output current.
76
+ * Resolve an OpenAPI or GraphQL Definition, diagnose it, and keep every
77
+ * selected SDK, CLI, and MCP Target current.
76
78
  *
77
- * Every operation but one requires an API key, created in the console and
78
- * sent as `Authorization: Bearer ak_...`. A browser session is not a
79
- * credential for this API. The exception is POST /generate, which works
80
- * anonymously with the free plan's limits.
79
+ * Every operation but one requires a bearer credential: an organization
80
+ * API key from the console, or an OAuth access token carrying the operation's
81
+ * read, generate, or write capability and the organization selected during
82
+ * consent. OAuth grants cannot switch organizations after consent. A browser
83
+ * session is not a credential for this API. The exception is POST /generate,
84
+ * which works anonymously with the free plan's limits.
81
85
  */
82
86
  export class TypeshipClient {
83
87
  readonly generate: GenerateResource;
84
88
  readonly projects: ProjectsResource;
89
+ readonly definitions: DefinitionsResource;
90
+ readonly targets: TargetsResource;
85
91
  readonly generations: GenerationsResource;
86
- readonly specRevisions: SpecRevisionsResource;
92
+ readonly definitionRevisions: DefinitionRevisionsResource;
87
93
  readonly account: AccountResource;
88
94
  readonly apiKeys: ApiKeysResource;
89
95
 
@@ -125,8 +131,10 @@ export class TypeshipClient {
125
131
  });
126
132
  this.generate = new GenerateResource(core);
127
133
  this.projects = new ProjectsResource(core);
134
+ this.definitions = new DefinitionsResource(core);
135
+ this.targets = new TargetsResource(core);
128
136
  this.generations = new GenerationsResource(core);
129
- this.specRevisions = new SpecRevisionsResource(core);
137
+ this.definitionRevisions = new DefinitionRevisionsResource(core);
130
138
  this.account = new AccountResource(core);
131
139
  this.apiKeys = new ApiKeysResource(core);
132
140
  }
@@ -147,7 +155,9 @@ export { Page, PagePromise } from "./core/pagination.js";
147
155
 
148
156
  export * from "./resources/generate.js";
149
157
  export * from "./resources/projects.js";
158
+ export * from "./resources/definitions.js";
159
+ export * from "./resources/targets.js";
150
160
  export * from "./resources/generations.js";
151
- export * from "./resources/spec-revisions.js";
161
+ export * from "./resources/definition-revisions.js";
152
162
  export * from "./resources/account.js";
153
163
  export * from "./resources/api-keys.js";