@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
package/src/worker.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  // typeship — host this MCP server on Cloudflare.
2
2
  // Generated by typeship — https://typeship.dev
3
- // Deploy: npx wrangler deploy (wrangler.toml is preconfigured)
4
- // Callers' Authorization headers pass through to the API; hold no
5
- // secrets here unless the server itself should authenticate
6
- // (wrangler secret put TYPESHIP_TOKEN).
3
+ // Before deployment, create an application-owned Worker entry using
4
+ // createMcpHandler from this package with credentialsFor for each verified
5
+ // MCP identity. Set wrangler.toml main to that entry. The generated default
6
+ // stays closed; ambient API credentials cannot authorize remote callers.
7
7
  import { handleHttp } from "./mcp.js";
8
8
 
9
9
  export default {
@@ -1,47 +0,0 @@
1
- import { HttpCore, type ApiResult, type RequestOptions } from "../core/http.js";
2
- import { PagePromise } from "../core/pagination.js";
3
- import { TransportError, UnexpectedApiError, ValidationError, BadRequestError, ForbiddenError, NotFoundError, RateLimitedError, UnauthorizedError } from "../errors.js";
4
- import type { ProjectId, SpecRevision, SpecRevisionId } from "../types.js";
5
- export declare class SpecRevisionsResource {
6
- private readonly _core;
7
- constructor(_core: HttpCore);
8
- /**
9
- * List specification revisions
10
- *
11
- * Immutable snapshots of the exact source text this project consumed, newest first. Raw content
12
- * is available from each revision's content endpoint and is never embedded in a list response.
13
- *
14
- * Auto-paginates: `for await (const item of …)` walks every page.
15
- * `GET /projects/{project_id}/spec_revisions`
16
- */
17
- list(projectId: ProjectId, params?: SpecRevisionsListParams, options?: RequestOptions): PagePromise<SpecRevision, SpecRevisionsListError>;
18
- /**
19
- * Retrieve a specification revision
20
- *
21
- * Metadata for one immutable source snapshot. Fetch raw source text from the content endpoint so
22
- * metadata responses stay small and predictable.
23
- * `GET /spec_revisions/{spec_revision_id}`
24
- */
25
- retrieve(specRevisionId: SpecRevisionId, options?: RequestOptions): Promise<ApiResult<SpecRevision, SpecRevisionsRetrieveError>>;
26
- /**
27
- * Retrieve a specification revision's raw text
28
- *
29
- * Returns the exact source text identified by the revision's SHA-256 digest, suitable for saving
30
- * or piping directly into a diff.
31
- * `GET /spec_revisions/{spec_revision_id}/content`
32
- */
33
- retrieveContent(specRevisionId: SpecRevisionId, options?: RequestOptions): Promise<ApiResult<string, SpecRevisionsRetrieveContentError>>;
34
- }
35
- export interface SpecRevisionsListParams {
36
- /** Maximum number of resources to return. */
37
- limit?: number;
38
- /** Opaque cursor from the preceding page's next_cursor. */
39
- cursor?: string;
40
- }
41
- /** Every error `list` can produce, as a discriminated union. */
42
- export type SpecRevisionsListError = BadRequestError | UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | UnexpectedApiError | TransportError | ValidationError;
43
- /** Every error `retrieve` can produce, as a discriminated union. */
44
- export type SpecRevisionsRetrieveError = UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | UnexpectedApiError | TransportError | ValidationError;
45
- /** Every error `retrieveContent` can produce, as a discriminated union. */
46
- export type SpecRevisionsRetrieveContentError = UnauthorizedError | ForbiddenError | NotFoundError | RateLimitedError | UnexpectedApiError | TransportError | ValidationError;
47
- //# sourceMappingURL=spec-revisions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec-revisions.d.ts","sourceRoot":"","sources":["../../src/resources/spec-revisions.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,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAE7F,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAC5C;;;;;;;;OAQG;IACH,IAAI,CACF,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,YAAY,EAAE,sBAAsB,CAAC;IA4BpD;;;;;;OAMG;IACG,QAAQ,CACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAgB/D;;;;;;OAMG;IACG,eAAe,CACnB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;CAejE;AAED,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gEAAgE;AAChE,MAAM,MAAM,sBAAsB,GAC9B,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC;AAEpB,oEAAoE;AACpE,MAAM,MAAM,0BAA0B,GAClC,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC;AAEpB,2EAA2E;AAC3E,MAAM,MAAM,iCAAiC,GACzC,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,eAAe,CAAC"}
@@ -1,90 +0,0 @@
1
- // typeship — specRevisions resource.
2
- // Generated by typeship — https://typeship.dev — do not edit by hand.
3
- import { paginate } from "../core/pagination.js";
4
- import { BadRequestError, ForbiddenError, NotFoundError, RateLimitedError, UnauthorizedError, } from "../errors.js";
5
- export class SpecRevisionsResource {
6
- _core;
7
- constructor(_core) {
8
- this._core = _core;
9
- }
10
- /**
11
- * List specification revisions
12
- *
13
- * Immutable snapshots of the exact source text this project consumed, newest first. Raw content
14
- * is available from each revision's content endpoint and is never embedded in a list response.
15
- *
16
- * Auto-paginates: `for await (const item of …)` walks every page.
17
- * `GET /projects/{project_id}/spec_revisions`
18
- */
19
- list(projectId, params, options) {
20
- return paginate(this._core, {
21
- method: "GET",
22
- path: `/projects/${encodeURIComponent(String(projectId))}/spec_revisions`,
23
- query: {
24
- limit: params?.limit,
25
- cursor: params?.cursor,
26
- },
27
- errors: {
28
- "400": BadRequestError,
29
- "401": UnauthorizedError,
30
- "403": ForbiddenError,
31
- "404": NotFoundError,
32
- "429": RateLimitedError,
33
- },
34
- idempotent: true,
35
- schemaKey: "specRevisions.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
- * Retrieve a specification revision
48
- *
49
- * Metadata for one immutable source snapshot. Fetch raw source text from the content endpoint so
50
- * metadata responses stay small and predictable.
51
- * `GET /spec_revisions/{spec_revision_id}`
52
- */
53
- async retrieve(specRevisionId, options) {
54
- return this._core.request({
55
- method: "GET",
56
- path: `/spec_revisions/${encodeURIComponent(String(specRevisionId))}`,
57
- errors: {
58
- "401": UnauthorizedError,
59
- "403": ForbiddenError,
60
- "404": NotFoundError,
61
- "429": RateLimitedError,
62
- },
63
- idempotent: true,
64
- schemaKey: "specRevisions.retrieve",
65
- options,
66
- });
67
- }
68
- /**
69
- * Retrieve a specification revision's raw text
70
- *
71
- * Returns the exact source text identified by the revision's SHA-256 digest, suitable for saving
72
- * or piping directly into a diff.
73
- * `GET /spec_revisions/{spec_revision_id}/content`
74
- */
75
- async retrieveContent(specRevisionId, options) {
76
- return this._core.request({
77
- method: "GET",
78
- path: `/spec_revisions/${encodeURIComponent(String(specRevisionId))}/content`,
79
- errors: {
80
- "401": UnauthorizedError,
81
- "403": ForbiddenError,
82
- "404": NotFoundError,
83
- "429": RateLimitedError,
84
- },
85
- idempotent: true,
86
- schemaKey: "specRevisions.retrieveContent",
87
- options,
88
- });
89
- }
90
- }
@@ -1,150 +0,0 @@
1
- // typeship — specRevisions 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
- ForbiddenError,
12
- NotFoundError,
13
- RateLimitedError,
14
- UnauthorizedError,
15
- } from "../errors.js";
16
- import type { ProjectId, SpecRevision, SpecRevisionId, SpecRevisionList } from "../types.js";
17
-
18
- export class SpecRevisionsResource {
19
- constructor(private readonly _core: HttpCore) {}
20
- /**
21
- * List specification revisions
22
- *
23
- * Immutable snapshots of the exact source text this project consumed, newest first. Raw content
24
- * is available from each revision's content endpoint and is never embedded in a list response.
25
- *
26
- * Auto-paginates: `for await (const item of …)` walks every page.
27
- * `GET /projects/{project_id}/spec_revisions`
28
- */
29
- list(
30
- projectId: ProjectId,
31
- params?: SpecRevisionsListParams,
32
- options?: RequestOptions,
33
- ): PagePromise<SpecRevision, SpecRevisionsListError> {
34
- return paginate<SpecRevision, SpecRevisionsListError>(this._core, {
35
- method: "GET",
36
- path: `/projects/${encodeURIComponent(String(projectId))}/spec_revisions`,
37
- query: {
38
- limit: params?.limit,
39
- cursor: params?.cursor,
40
- },
41
- errors: {
42
- "400": BadRequestError,
43
- "401": UnauthorizedError,
44
- "403": ForbiddenError,
45
- "404": NotFoundError,
46
- "429": RateLimitedError,
47
- },
48
- idempotent: true,
49
- schemaKey: "specRevisions.list",
50
- options,
51
- }, {
52
- style: "cursor",
53
- itemsField: "data",
54
- cursorParam: "cursor",
55
- nextCursorField: "next_cursor",
56
- hasMoreField: "has_more",
57
- limitParam: "limit",
58
- });
59
- }
60
-
61
- /**
62
- * Retrieve a specification revision
63
- *
64
- * Metadata for one immutable source snapshot. Fetch raw source text from the content endpoint so
65
- * metadata responses stay small and predictable.
66
- * `GET /spec_revisions/{spec_revision_id}`
67
- */
68
- async retrieve(
69
- specRevisionId: SpecRevisionId,
70
- options?: RequestOptions,
71
- ): Promise<ApiResult<SpecRevision, SpecRevisionsRetrieveError>> {
72
- return this._core.request<SpecRevision, SpecRevisionsRetrieveError>({
73
- method: "GET",
74
- path: `/spec_revisions/${encodeURIComponent(String(specRevisionId))}`,
75
- errors: {
76
- "401": UnauthorizedError,
77
- "403": ForbiddenError,
78
- "404": NotFoundError,
79
- "429": RateLimitedError,
80
- },
81
- idempotent: true,
82
- schemaKey: "specRevisions.retrieve",
83
- options,
84
- });
85
- }
86
-
87
- /**
88
- * Retrieve a specification revision's raw text
89
- *
90
- * Returns the exact source text identified by the revision's SHA-256 digest, suitable for saving
91
- * or piping directly into a diff.
92
- * `GET /spec_revisions/{spec_revision_id}/content`
93
- */
94
- async retrieveContent(
95
- specRevisionId: SpecRevisionId,
96
- options?: RequestOptions,
97
- ): Promise<ApiResult<string, SpecRevisionsRetrieveContentError>> {
98
- return this._core.request<string, SpecRevisionsRetrieveContentError>({
99
- method: "GET",
100
- path: `/spec_revisions/${encodeURIComponent(String(specRevisionId))}/content`,
101
- errors: {
102
- "401": UnauthorizedError,
103
- "403": ForbiddenError,
104
- "404": NotFoundError,
105
- "429": RateLimitedError,
106
- },
107
- idempotent: true,
108
- schemaKey: "specRevisions.retrieveContent",
109
- options,
110
- });
111
- }
112
- }
113
-
114
- export interface SpecRevisionsListParams {
115
- /** Maximum number of resources to return. */
116
- limit?: number;
117
- /** Opaque cursor from the preceding page's next_cursor. */
118
- cursor?: string;
119
- }
120
-
121
- /** Every error `list` can produce, as a discriminated union. */
122
- export type SpecRevisionsListError =
123
- | BadRequestError
124
- | UnauthorizedError
125
- | ForbiddenError
126
- | NotFoundError
127
- | RateLimitedError
128
- | UnexpectedApiError
129
- | TransportError
130
- | ValidationError;
131
-
132
- /** Every error `retrieve` can produce, as a discriminated union. */
133
- export type SpecRevisionsRetrieveError =
134
- | UnauthorizedError
135
- | ForbiddenError
136
- | NotFoundError
137
- | RateLimitedError
138
- | UnexpectedApiError
139
- | TransportError
140
- | ValidationError;
141
-
142
- /** Every error `retrieveContent` can produce, as a discriminated union. */
143
- export type SpecRevisionsRetrieveContentError =
144
- | UnauthorizedError
145
- | ForbiddenError
146
- | NotFoundError
147
- | RateLimitedError
148
- | UnexpectedApiError
149
- | TransportError
150
- | ValidationError;