@typeship-ax/mcp 0.21.0 → 0.22.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 (129) hide show
  1. package/AGENTS.md +15 -11
  2. package/README.md +22 -53
  3. package/api.json +9998 -10118
  4. package/api.md +8983 -9120
  5. package/dist/arguments.d.ts +47 -0
  6. package/dist/arguments.d.ts.map +1 -0
  7. package/dist/arguments.js +254 -0
  8. package/dist/core/http.d.ts +162 -19
  9. package/dist/core/http.d.ts.map +1 -1
  10. package/dist/core/http.js +381 -48
  11. package/dist/core/pagination.d.ts +42 -6
  12. package/dist/core/pagination.d.ts.map +1 -1
  13. package/dist/core/pagination.js +111 -17
  14. package/dist/credential-storage.d.ts +10 -3
  15. package/dist/credential-storage.d.ts.map +1 -1
  16. package/dist/credential-storage.js +15 -6
  17. package/dist/dates.d.ts +1 -1
  18. package/dist/dates.js +1 -1
  19. package/dist/errors.d.ts +20 -84
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +20 -108
  22. package/dist/fields.d.ts +29 -0
  23. package/dist/fields.d.ts.map +1 -0
  24. package/dist/fields.js +101 -0
  25. package/dist/index.d.ts +28 -18
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +35 -25
  28. package/dist/mcp-authorization.d.ts.map +1 -1
  29. package/dist/mcp-authorization.js +34 -10
  30. package/dist/mcp-protocol.d.ts +87 -44
  31. package/dist/mcp-protocol.d.ts.map +1 -1
  32. package/dist/mcp-protocol.js +552 -478
  33. package/dist/mcp.d.ts.map +1 -1
  34. package/dist/mcp.js +127 -28
  35. package/dist/named-credentials.d.ts +19 -0
  36. package/dist/named-credentials.d.ts.map +1 -1
  37. package/dist/named-credentials.js +81 -1
  38. package/dist/oauth-request.d.ts +7 -1
  39. package/dist/oauth-request.d.ts.map +1 -1
  40. package/dist/oauth-request.js +26 -4
  41. package/dist/oauth-session.d.ts +13 -1
  42. package/dist/oauth-session.d.ts.map +1 -1
  43. package/dist/oauth-session.js +34 -18
  44. package/dist/ops.d.ts +53 -5
  45. package/dist/ops.d.ts.map +1 -1
  46. package/dist/ops.js +49 -40
  47. package/dist/resources/api-keys.d.ts +10 -7
  48. package/dist/resources/api-keys.d.ts.map +1 -1
  49. package/dist/resources/api-keys.js +10 -31
  50. package/dist/resources/deliveries.d.ts +88 -4
  51. package/dist/resources/deliveries.d.ts.map +1 -1
  52. package/dist/resources/deliveries.js +95 -18
  53. package/dist/resources/drafts.d.ts +15 -15
  54. package/dist/resources/drafts.d.ts.map +1 -1
  55. package/dist/resources/drafts.js +11 -64
  56. package/dist/resources/files.d.ts +4 -4
  57. package/dist/resources/files.d.ts.map +1 -1
  58. package/dist/resources/files.js +3 -12
  59. package/dist/resources/generations.d.ts +14 -14
  60. package/dist/resources/generations.d.ts.map +1 -1
  61. package/dist/resources/generations.js +21 -45
  62. package/dist/resources/organization.d.ts +4 -4
  63. package/dist/resources/organization.d.ts.map +1 -1
  64. package/dist/resources/organization.js +3 -10
  65. package/dist/resources/{generate.d.ts → packages.d.ts} +16 -16
  66. package/dist/resources/packages.d.ts.map +1 -0
  67. package/dist/resources/{generate.js → packages.js} +13 -29
  68. package/dist/resources/projects.d.ts +50 -50
  69. package/dist/resources/projects.d.ts.map +1 -1
  70. package/dist/resources/projects.js +60 -116
  71. package/dist/resources/releases.d.ts +21 -16
  72. package/dist/resources/releases.d.ts.map +1 -1
  73. package/dist/resources/releases.js +18 -39
  74. package/dist/resources/spec-revisions.d.ts +15 -6
  75. package/dist/resources/spec-revisions.d.ts.map +1 -1
  76. package/dist/resources/spec-revisions.js +6 -28
  77. package/dist/resources/specs.d.ts +7 -7
  78. package/dist/resources/specs.d.ts.map +1 -1
  79. package/dist/resources/specs.js +6 -34
  80. package/dist/resources/targets.d.ts +48 -48
  81. package/dist/resources/targets.d.ts.map +1 -1
  82. package/dist/resources/targets.js +58 -114
  83. package/dist/schemas.d.ts.map +1 -1
  84. package/dist/schemas.js +78 -76
  85. package/dist/search.d.ts +54 -0
  86. package/dist/search.d.ts.map +1 -0
  87. package/dist/search.js +421 -0
  88. package/dist/types.d.ts +499 -339
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js +18 -18
  91. package/dist/worker.js +2 -2
  92. package/package.json +5 -2
  93. package/server.json +5 -5
  94. package/src/arguments.ts +242 -0
  95. package/src/core/http.ts +457 -58
  96. package/src/core/pagination.ts +129 -18
  97. package/src/credential-storage.ts +16 -6
  98. package/src/dates.ts +1 -1
  99. package/src/errors.ts +46 -115
  100. package/src/fields.ts +91 -0
  101. package/src/index.ts +45 -28
  102. package/src/mcp-authorization.ts +29 -9
  103. package/src/mcp-protocol.ts +580 -428
  104. package/src/mcp.ts +113 -26
  105. package/src/named-credentials.ts +66 -1
  106. package/src/oauth-request.ts +32 -6
  107. package/src/oauth-session.ts +37 -19
  108. package/src/ops.ts +82 -44
  109. package/src/resources/api-keys.ts +34 -48
  110. package/src/resources/deliveries.ts +211 -30
  111. package/src/resources/drafts.ts +60 -107
  112. package/src/resources/files.ts +19 -20
  113. package/src/resources/generations.ts +57 -75
  114. package/src/resources/organization.ts +11 -16
  115. package/src/resources/{generate.ts → packages.ts} +43 -51
  116. package/src/resources/projects.ts +145 -200
  117. package/src/resources/releases.ts +48 -65
  118. package/src/resources/spec-revisions.ts +38 -47
  119. package/src/resources/specs.ts +39 -59
  120. package/src/resources/targets.ts +143 -193
  121. package/src/schemas.ts +78 -76
  122. package/src/search.ts +434 -0
  123. package/src/types.ts +538 -357
  124. package/src/worker.ts +2 -2
  125. package/dist/resources/generate.d.ts.map +0 -1
  126. package/dist/resources/publications.d.ts +0 -47
  127. package/dist/resources/publications.d.ts.map +0 -1
  128. package/dist/resources/publications.js +0 -70
  129. package/src/resources/publications.ts +0 -140
@@ -6,11 +6,11 @@ import { oauthJsonRequest } from "./oauth-request.js";
6
6
  export function assertCredentialDestination(credentials, destination) {
7
7
  const saved = credentials.destination;
8
8
  if (!saved)
9
- throw new Error("Saved credentials have no API and profile binding. Log in again before using them.");
9
+ throw new OAuthSessionError("Saved credentials have no API and profile binding. Log in again before using them.");
10
10
  if (new URL(saved.apiBaseUrl).href !== new URL(destination.apiBaseUrl).href)
11
- throw new Error("The API destination changed. Log in again before using saved credentials.");
11
+ throw new OAuthSessionError("The API destination changed. Log in again before using saved credentials.");
12
12
  if ((saved.environment ?? null) !== (destination.environment ?? null) || (saved.profile ?? null) !== (destination.profile ?? null))
13
- throw new Error("The credential environment or profile changed. Log in again before using saved credentials.");
13
+ throw new OAuthSessionError("The credential environment or profile changed. Log in again before using saved credentials.");
14
14
  }
15
15
  /** Bind minimal identity evidence to this credential set and its configured read. */
16
16
  export function credentialIdentityBinding(credentials, identity) {
@@ -24,7 +24,7 @@ export function assertStoredIdentity(credentials, identity) {
24
24
  if (!identity)
25
25
  return;
26
26
  if (!credentials.identity?.values || credentials.identity.binding !== credentialIdentityBinding(credentials, identity) || Object.keys(identity.fields).some((kind) => !Object.hasOwn(credentials.identity.values, kind))) {
27
- throw new Error("The saved login has no matching API identity verification. Sign in again to verify the current account and organization.");
27
+ throw new OAuthSessionError("The saved login has no matching API identity verification. Sign in again to verify the current account and organization.");
28
28
  }
29
29
  }
30
30
  /** Bind the login to effective nonsecret settings. Scope ordering is irrelevant. */
@@ -49,7 +49,13 @@ function alive(pid) {
49
49
  return code(error) !== "ESRCH";
50
50
  }
51
51
  }
52
+ /** The OS credential store or the saved credential file cannot be used. */
52
53
  export class CredentialStorageError extends Error {
54
+ constructor(message) { super(message); this.name = "CredentialStorageError"; }
55
+ }
56
+ /** A saved login cannot be used as is; the remedy is to sign in again. */
57
+ export class OAuthSessionError extends Error {
58
+ constructor(message) { super(message); this.name = "OAuthSessionError"; }
53
59
  }
54
60
  /** Private file adapter. All writers (login, refresh and logout) use the same
55
61
  * cross-process lock. Credential storage can be replaced independently of OAuth. */
@@ -78,7 +84,7 @@ export class FileCredentialStore {
78
84
  return null;
79
85
  if (error instanceof CredentialStorageError)
80
86
  throw error;
81
- throw new Error("Cannot read saved credentials. Check the credential store before logging in again.");
87
+ throw new CredentialStorageError("Cannot read saved credentials. Check the credential store before logging in again.");
82
88
  }
83
89
  }
84
90
  write(credentials) {
@@ -113,10 +119,10 @@ export class FileCredentialStore {
113
119
  }
114
120
  catch (error) {
115
121
  if (code(error) !== "EEXIST")
116
- throw new Error("Cannot lock the credential store.");
122
+ throw new CredentialStorageError("Cannot lock the credential store.");
117
123
  this.recoverDeadOwner(lock);
118
124
  if (Date.now() >= deadline)
119
- throw new Error("The credential store is busy. Wait for the other login or refresh to finish and retry. If its process stopped, inspect " + lock + ".");
125
+ throw new CredentialStorageError("The credential store is busy. Wait for the other login or refresh to finish and retry. If its process stopped, inspect " + lock + ".");
120
126
  await new Promise((resolve) => setTimeout(resolve, 25));
121
127
  }
122
128
  }
@@ -170,27 +176,29 @@ export class FileCredentialStore {
170
176
  function validSession(credentials, config, sessionId, allowPending = false) {
171
177
  const session = credentials?.oauth;
172
178
  if (!session || !session.sessionId || session.sessionId !== sessionId)
173
- throw new Error("The saved OAuth session changed or was logged out. Run login again and retry the request.");
179
+ throw new OAuthSessionError("The saved OAuth session changed or was logged out. Run login again and retry the request.");
174
180
  if (session.apiBaseUrl && new URL(session.apiBaseUrl).href !== new URL(config.apiBaseUrl).href)
175
- throw new Error("The API destination changed. Log in again.");
181
+ throw new OAuthSessionError("The API destination changed. Log in again.");
176
182
  if (session.issuer && config.issuer && session.issuer !== config.issuer)
177
- throw new Error("The configured issuer changed. Log in again.");
183
+ throw new OAuthSessionError("The configured issuer changed. Log in again.");
178
184
  if (session.configuredClientId !== (config.clientId ?? null))
179
- throw new Error("The OAuth client changed. Log in again.");
185
+ throw new OAuthSessionError("The OAuth client changed. Log in again.");
180
186
  if (!session.binding || session.binding !== sessionBinding(config))
181
- throw new Error("The API or OAuth configuration changed. Log in again before using saved credentials.");
187
+ throw new OAuthSessionError("The API or OAuth configuration changed. Log in again before using saved credentials.");
182
188
  if (session.refreshPending && !allowPending)
183
- throw new Error("The previous OAuth refresh did not finish safely. Log in again; its refresh token will not be reused.");
189
+ throw new OAuthSessionError("The previous OAuth refresh did not finish safely. Log in again; its refresh token will not be reused.");
184
190
  if (typeof session.accessToken !== "string" || !session.accessToken)
185
- throw new Error("The saved OAuth session is invalid. Log in again.");
191
+ throw new OAuthSessionError("The saved OAuth session is invalid. Log in again.");
186
192
  assertStoredIdentity(credentials, config.identity);
187
193
  return session;
188
194
  }
189
195
  /** Re-read on every request attempt; only one process may rotate the token.
190
196
  * A failed or interrupted exchange requires login, since the server may have
191
197
  * consumed its refresh token even when no response reached this process. */
192
- export async function oauthSessionToken(store, config, sessionId, tokenParams = {}) {
193
- const fresh = (session) => session.expiresAt === undefined || (Number.isFinite(session.expiresAt) && session.expiresAt > Date.now() + 60_000);
198
+ export async function oauthSessionToken(store, config, sessionId, tokenParams = {}, rejected) {
199
+ // A token the API just rejected (401) is refreshed once even if unexpired;
200
+ // another process may already have replaced it, which is fine.
201
+ const fresh = (session) => session.accessToken !== rejected && (session.expiresAt === undefined || (Number.isFinite(session.expiresAt) && session.expiresAt > Date.now() + 60_000));
194
202
  const first = validSession(store.read(), config, sessionId, true);
195
203
  if (!first.refreshPending && fresh(first))
196
204
  return first.accessToken;
@@ -200,7 +208,7 @@ export async function oauthSessionToken(store, config, sessionId, tokenParams =
200
208
  if (fresh(session))
201
209
  return session.accessToken;
202
210
  if (!session.refreshToken || !session.tokenUrl || !session.clientId)
203
- throw new Error("The OAuth session expired and cannot be refreshed. Log in again.");
211
+ throw new OAuthSessionError(session.accessToken === rejected ? "The API rejected the saved OAuth session and it has no refresh token. Log in again." : "The OAuth session expired and cannot be refreshed. Log in again.");
204
212
  const endpoint = new URL(session.tokenUrl);
205
213
  if ((endpoint.protocol !== "https:" && !(endpoint.protocol === "http:" && ["localhost", "127.0.0.1", "[::1]"].includes(endpoint.hostname))) || endpoint.username || endpoint.password || endpoint.hash)
206
214
  throw new Error("The OAuth token endpoint requires HTTPS; loopback HTTP is allowed for development.");
@@ -238,7 +246,15 @@ export async function oauthSessionToken(store, config, sessionId, tokenParams =
238
246
  }
239
247
  catch {
240
248
  // Never expose an error body, a refresh token, or fetch's nested cause.
241
- throw new Error("The OAuth session could not be refreshed safely. Log in again.");
249
+ throw new OAuthSessionError("The OAuth session could not be refreshed safely. Log in again.");
242
250
  }
243
251
  });
244
252
  }
253
+ /** A saved-session token for the request runtime: resolved before every
254
+ * attempt, and after a 401 (invalidate) the next resolve forces one refresh
255
+ * of the token the API rejected. */
256
+ export function sessionCredential(resolve) {
257
+ let last, rejected;
258
+ const token = async () => { const previous = rejected; rejected = undefined; last = await resolve(previous); return last; };
259
+ return Object.assign(token, { invalidate() { rejected = last; } });
260
+ }
package/dist/ops.d.ts CHANGED
@@ -6,11 +6,16 @@ export interface ParamSpec {
6
6
  /** property name the SDK params object uses */
7
7
  ts: string;
8
8
  kind: "path" | "query" | "header" | "body";
9
+ /** The next-page URL argument of a Link or next-URL list: it is passed to
10
+ * the SDK as RequestOptions.pageUrl, never sent as a query parameter. */
11
+ continuation?: true;
9
12
  /** "file": a binary multipart field; the CLI takes a path and uploads it.
10
13
  * "array"/"object": the schema says so (a lone scalar flag value becomes a
11
14
  * one-item array; an object must be JSON). "json": a union or untyped
12
15
  * value — JSON if it parses, else the raw text. */
13
16
  type: "string" | "number" | "boolean" | "array" | "object" | "json" | "file";
17
+ /** A "file" field that takes several files: one part per path. */
18
+ multiple?: boolean;
14
19
  required: boolean;
15
20
  /** A JSON body flag accepts the literal null as JSON null. */
16
21
  nullable?: boolean;
@@ -35,6 +40,15 @@ export interface ParamSpec {
35
40
  filterParam?: string;
36
41
  inferred?: boolean;
37
42
  };
43
+ /** An `explode: false` query array is joined into one value with this. */
44
+ delimiter?: "," | " " | "|";
45
+ /** A path parameter that is the Basic-auth username: optional, and
46
+ * defaulted from the configured credential (named scheme, or env). */
47
+ credential?: {
48
+ from: "username";
49
+ scheme: string;
50
+ env: string;
51
+ };
38
52
  }
39
53
  export interface OpSpec {
40
54
  resource: string;
@@ -59,9 +73,20 @@ export interface OpSpec {
59
73
  /** Success body is a text/event-stream: the CLI streams events as NDJSON;
60
74
  * not an MCP tool. */
61
75
  sse: boolean;
76
+ /** The streaming twin of this JSON operation: the SDK method the CLI
77
+ * calls for --stream true, and the argument name MCP refuses as true. */
78
+ streamMethod?: {
79
+ method: string;
80
+ flag: string;
81
+ value: boolean | string;
82
+ };
83
+ /** The success body is not JSON: "binary" (a file, audio) or "text". The
84
+ * CLI writes it raw to stdout or to --output instead of printing JSON. */
85
+ rawResponse?: "binary" | "text";
62
86
  hasParams: boolean;
63
87
  /** GraphQL ops whose field returns an object accept a selection-set
64
- * override (a leaf-returning field has nothing to select). */
88
+ * override (a leaf-returning field has nothing to select). On a
89
+ * connection the selection is per item. */
65
90
  select: boolean;
66
91
  /** present for GraphQL ops: enough to build the request document */
67
92
  graphql?: {
@@ -74,7 +99,7 @@ export interface OpSpec {
74
99
  idempotent: boolean;
75
100
  /** Header the SDK fills with one UUID per call (Idempotency-Key). */
76
101
  idempotencyHeader?: string;
77
- /** Operation-level retry policy (x-typeship-retries). */
102
+ /** Operation-level retry policy from the API definition. */
78
103
  retry?: {
79
104
  maxRetries?: number;
80
105
  statuses?: number[];
@@ -84,7 +109,7 @@ export interface OpSpec {
84
109
  };
85
110
  /** Page-walking config for generic executors, same shape as the SDK's PageConfig. */
86
111
  pagination?: {
87
- style: "cursor" | "cursorFromLastId" | "page" | "offset";
112
+ style: "cursor" | "cursorFromLastId" | "page" | "offset" | "nextUrl" | "link";
88
113
  itemsField: string;
89
114
  cursorParam?: string;
90
115
  nextCursorField?: string;
@@ -93,10 +118,24 @@ export interface OpSpec {
93
118
  pageParam?: string;
94
119
  offsetParam?: string;
95
120
  limitParam?: string;
121
+ nextUrlField?: string;
122
+ firstPage?: number;
123
+ totalField?: string;
124
+ totalPagesField?: string;
125
+ /** GraphQL edges: each item is this field of an edge. */
126
+ itemPath?: string;
127
+ backward?: {
128
+ limitParam: string;
129
+ cursorParam: string;
130
+ cursorField: string;
131
+ hasMoreField: string;
132
+ };
96
133
  };
97
134
  /** The spec's security requirement: "required" fails fast without a
98
135
  * credential; "none" works anonymously; "optional" is either. */
99
136
  auth: "required" | "optional" | "none";
137
+ /** The API Spec declares no security; the generic token is optional. */
138
+ authNotDeclared?: boolean;
100
139
  security?: Record<string, string[]>[];
101
140
  /** Complete credential-option combinations for this operation. */
102
141
  credentialOptions?: string[][];
@@ -106,17 +145,26 @@ export interface OpSpec {
106
145
  inputSchema: Record<string, unknown>;
107
146
  /** Deterministic arguments derived from inputSchema for runnable examples. */
108
147
  exampleArguments: Record<string, unknown>;
148
+ /** The operation the package's examples lead with. */
149
+ showcase?: true;
109
150
  /** What the tool returns (JSON Schema 2020-12), when the spec documents
110
151
  * a success body; paginated tools describe { items, hasMore, nextPage }. */
111
152
  outputSchema?: Record<string, unknown>;
112
153
  /** File array used by CLI --out, independent of the agent schema budget. */
113
154
  fileBundleProperty?: string;
155
+ /** The spec marks the operation deprecated: docs search ranks it last. */
156
+ deprecated?: boolean;
114
157
  }
115
158
  export declare const OPS: OpSpec[];
116
159
  /** Operations present in the API Spec but omitted by this
117
160
  * generation's operation cap. Kept deliberately small: enough for honest
118
161
  * discovery and PLAN_LIMIT errors, never enough to call an absent method. */
119
- export type OmittedOpSpec = Pick<OpSpec, "resource" | "method" | "command" | "commandAlias" | "tool" | "httpMethod" | "path" | "summary" | "description" | "toolDescription" | "paginated" | "select" | "safety" | "auth" | "security" | "params" | "inputSchema">;
162
+ export type OmittedOpSpec = Pick<OpSpec, "resource" | "method" | "command" | "commandAlias" | "tool" | "httpMethod" | "path" | "summary" | "description" | "toolDescription" | "paginated" | "select" | "safety" | "auth" | "security" | "params" | "inputSchema" | "deprecated"> & {
163
+ graphql?: {
164
+ kind: "query" | "mutation";
165
+ field: string;
166
+ };
167
+ };
120
168
  export declare const OMITTED_OPS: OmittedOpSpec[];
121
169
  /** Parameters settable once on the client (globals option): CLI/MCP fill
122
170
  * them from flags or environment; the SDK falls back per request. */
@@ -133,5 +181,5 @@ export declare function missingRequired(op: OpSpec, values: Record<string, unkno
133
181
  * keyed by wire name (plus an optional raw body for bodyStyle "data" or a
134
182
  * --data base object).
135
183
  */
136
- export declare function buildArgs(op: OpSpec, values: Record<string, unknown>, dataBody?: unknown, select?: string): unknown[];
184
+ export declare function buildArgs(op: OpSpec, values: Record<string, unknown>, dataBody?: unknown, select?: string, options?: Record<string, unknown>): unknown[];
137
185
  //# sourceMappingURL=ops.d.ts.map
package/dist/ops.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../src/ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../src/ops.ts"],"names":[],"mappings":"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"}