toolcraft 0.0.770 → 0.0.772

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 (61) hide show
  1. package/composition.json +13 -3
  2. package/dist/composition.json +13 -3
  3. package/node_modules/@poe-code/safe-fs/dist/contracts/filesystem.d.ts +8 -1
  4. package/node_modules/@poe-code/safe-fs/dist/core.d.ts +1 -1
  5. package/node_modules/@poe-code/safe-fs/dist/core.js +1 -1
  6. package/node_modules/@poe-code/safe-fs/dist/fs/capabilities.js +4 -2
  7. package/node_modules/@poe-code/safe-fs/dist/fs/devices/index.d.ts +2 -2
  8. package/node_modules/@poe-code/safe-fs/dist/fs/devices/index.js +9 -6
  9. package/node_modules/@poe-code/safe-fs/dist/fs/memory/index.d.ts +2 -2
  10. package/node_modules/@poe-code/safe-fs/dist/fs/memory/index.js +4 -3
  11. package/node_modules/@poe-code/safe-fs/dist/fs/mount/index.d.ts +2 -2
  12. package/node_modules/@poe-code/safe-fs/dist/fs/mount/index.js +12 -7
  13. package/node_modules/@poe-code/safe-fs/dist/fs/overlay/index.d.ts +1 -0
  14. package/node_modules/@poe-code/safe-fs/dist/fs/overlay/index.js +10 -0
  15. package/node_modules/@poe-code/safe-fs/dist/fs/overlay/memory-publication.js +18 -0
  16. package/node_modules/@poe-code/safe-fs/dist/fs/scoped.js +1 -1
  17. package/node_modules/@poe-code/safe-fs/dist/storage.d.ts +1 -1
  18. package/node_modules/@poe-code/safe-fs/dist/storage.js +21 -3
  19. package/node_modules/@poe-code/xml-ast/README.md +10 -1
  20. package/node_modules/@poe-code/xml-ast/dist/errors.d.ts +4 -0
  21. package/node_modules/@poe-code/xml-ast/dist/errors.js +7 -0
  22. package/node_modules/@poe-code/xml-ast/dist/index.d.ts +2 -4
  23. package/node_modules/@poe-code/xml-ast/dist/index.js +3 -7
  24. package/node_modules/@poe-code/xml-ast/dist/stream.d.ts +16 -0
  25. package/node_modules/@poe-code/xml-ast/dist/stream.js +163 -0
  26. package/node_modules/saxes/README.md +323 -0
  27. package/node_modules/saxes/package.json +71 -0
  28. package/node_modules/saxes/saxes.d.ts +635 -0
  29. package/node_modules/saxes/saxes.js +2053 -0
  30. package/node_modules/saxes/saxes.js.map +1 -0
  31. package/node_modules/tiny-http-mcp-server/dist/composition.json +11 -1
  32. package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/README.md +6 -2
  33. package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/register-client.d.ts +9 -3
  34. package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/register-client.js +22 -7
  35. package/node_modules/tiny-http-mcp-server/package.json +4 -4
  36. package/node_modules/tiny-mcp-client/README.md +11 -2
  37. package/node_modules/tiny-mcp-client/dist/index.browser.d.ts +17 -4
  38. package/node_modules/tiny-mcp-client/dist/index.browser.js +92 -40
  39. package/node_modules/tiny-mcp-client/dist/index.d.ts +17 -4
  40. package/node_modules/tiny-mcp-client/dist/index.js +114 -47
  41. package/node_modules/tiny-stdio-mcp-server/dist/composition.json +1 -1
  42. package/node_modules/toolcraft-schema/package.json +1 -1
  43. package/node_modules/xmlchars/LICENSE +18 -0
  44. package/node_modules/xmlchars/README.md +33 -0
  45. package/node_modules/xmlchars/package.json +51 -0
  46. package/node_modules/xmlchars/xml/1.0/ed4.d.ts +31 -0
  47. package/node_modules/xmlchars/xml/1.0/ed4.js +44 -0
  48. package/node_modules/xmlchars/xml/1.0/ed4.js.map +1 -0
  49. package/node_modules/xmlchars/xml/1.0/ed5.d.ts +51 -0
  50. package/node_modules/xmlchars/xml/1.0/ed5.js +105 -0
  51. package/node_modules/xmlchars/xml/1.0/ed5.js.map +1 -0
  52. package/node_modules/xmlchars/xml/1.1/ed2.d.ts +73 -0
  53. package/node_modules/xmlchars/xml/1.1/ed2.js +145 -0
  54. package/node_modules/xmlchars/xml/1.1/ed2.js.map +1 -0
  55. package/node_modules/xmlchars/xmlchars.d.ts +170 -0
  56. package/node_modules/xmlchars/xmlchars.js +191 -0
  57. package/node_modules/xmlchars/xmlchars.js.map +1 -0
  58. package/node_modules/xmlchars/xmlns/1.0/ed3.d.ts +28 -0
  59. package/node_modules/xmlchars/xmlns/1.0/ed3.js +65 -0
  60. package/node_modules/xmlchars/xmlns/1.0/ed3.js.map +1 -0
  61. package/package.json +8 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saxes.js","sourceRoot":"","sources":["../../src/saxes.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,14 @@
31
31
  "version": "0.0.1",
32
32
  "license": "MIT"
33
33
  },
34
+ {
35
+ "name": "saxes",
36
+ "version": "6.0.0",
37
+ "license": "ISC"
38
+ },
34
39
  {
35
40
  "name": "tiny-http-mcp-server",
36
- "version": "0.1.124",
41
+ "version": "0.1.129",
37
42
  "license": "MIT"
38
43
  },
39
44
  {
@@ -50,6 +55,11 @@
50
55
  "name": "toolcraft-schema",
51
56
  "version": "0.0.1",
52
57
  "license": "MIT"
58
+ },
59
+ {
60
+ "name": "xmlchars",
61
+ "version": "2.2.0",
62
+ "license": "MIT"
53
63
  }
54
64
  ]
55
65
  }
@@ -69,11 +69,15 @@ tokens and `OAuthError` diagnostics are private; redact them at user boundaries.
69
69
  Revocation uses RFC 7009 form authentication, accepts empty success bodies, and
70
70
  never clears host credentials or retries a request. It shares token-operation
71
71
  authentication and has a 30-second deadline and a 1 MiB response limit.
72
- Registration accepts a host-approved `registrationEndpoint`, `redirectUri`, optional
72
+ Registration accepts a host-approved `registrationEndpoint`, either `redirectUri` or `redirectUris`, optional
73
73
  `metadata` and `tokenEndpointAuthMethod`, plus the policy-checked fetch. It reuses
74
74
  the native client registration path without consent or persistence; it bounds the
75
75
  request to 64 KiB and response to 1 MiB with a 30-second deadline, and never
76
- retries. Bind and store the returned registration privately before starting consent.
76
+ retries. `redirectUris` accepts one to 32 distinct HTTPS or HTTP loopback callbacks,
77
+ preserving their exact spelling and order. Empty lists, duplicates, invalid redirects,
78
+ and supplying both forms fail before network access. Hosts serving multiple callback
79
+ origins should register all of them together and validate the exact returned set.
80
+ Bind and store the returned registration privately before starting consent.
77
81
 
78
82
  ## Configuration
79
83
 
@@ -1,13 +1,19 @@
1
1
  import type { OAuthClientMetadata, OAuthClientRegistration, OAuthMetadataFetch, OAuthTokenEndpointAuthMethod } from "./types.js";
2
- export interface RegisterOAuthClientOptions {
2
+ export type RegisterOAuthClientOptions = {
3
3
  /** Discovered endpoint approved by the host's network and issuer policy. */
4
4
  registrationEndpoint: string;
5
- redirectUri: string;
6
5
  metadata?: OAuthClientMetadata;
7
6
  tokenEndpointAuthMethod?: OAuthTokenEndpointAuthMethod;
8
7
  fetch: OAuthMetadataFetch;
9
8
  signal?: AbortSignal;
10
- }
9
+ } & ({
10
+ redirectUri: string;
11
+ redirectUris?: never;
12
+ } | {
13
+ redirectUri?: never;
14
+ /** One to 32 distinct redirects, transmitted exactly as supplied. */
15
+ redirectUris: readonly string[];
16
+ });
11
17
  /** RFC 7591 registration only: no consent, persistence, or automatic retries.
12
18
  * The host owns issuer/redirect binding and private persistence of the returned registration.
13
19
  */
@@ -7,11 +7,26 @@ import { normalizeOAuthTokenEndpointAuthMethod } from "./token-auth-method.js";
7
7
  * The host owns issuer/redirect binding and private persistence of the returned registration.
8
8
  */
9
9
  export async function registerOAuthClient(input) {
10
- if (new URL(input.redirectUri).protocol === "https:")
11
- validateHostedOAuthRedirect(input.redirectUri);
12
- else
13
- loopbackTarget({ redirectUri: input.redirectUri });
14
- const body = JSON.stringify(buildClientRegistrationBody(input.metadata, input.redirectUri, normalizeOAuthTokenEndpointAuthMethod(input.tokenEndpointAuthMethod) ?? "none"));
10
+ if (input.redirectUri !== undefined && input.redirectUris !== undefined)
11
+ throw new Error("Specify either redirectUri or redirectUris, not both");
12
+ const redirects = input.redirectUris === undefined ? [input.redirectUri] : input.redirectUris;
13
+ if (!Array.isArray(redirects) || redirects.length === 0 || redirects.length > 32)
14
+ throw new Error("OAuth registration requires one to 32 redirect URIs");
15
+ const redirectUris = [];
16
+ const seen = new Set();
17
+ for (const redirectUri of redirects) {
18
+ if (typeof redirectUri !== "string" || redirectUri.length === 0)
19
+ throw new Error("Invalid OAuth registration redirect URI");
20
+ if (seen.has(redirectUri))
21
+ throw new Error("Duplicate OAuth registration redirect URI");
22
+ if (new URL(redirectUri).protocol === "https:")
23
+ validateHostedOAuthRedirect(redirectUri);
24
+ else
25
+ loopbackTarget({ redirectUri });
26
+ seen.add(redirectUri);
27
+ redirectUris.push(redirectUri);
28
+ }
29
+ const body = JSON.stringify(buildClientRegistrationBody(input.metadata, redirectUris, normalizeOAuthTokenEndpointAuthMethod(input.tokenEndpointAuthMethod) ?? "none"));
15
30
  if (new TextEncoder().encode(body).byteLength > 65_536)
16
31
  throw new Error("OAuth registration request is too large");
17
32
  input.signal?.throwIfAborted();
@@ -26,9 +41,9 @@ function getOwnString(input, key) {
26
41
  const descriptor = Object.getOwnPropertyDescriptor(input, key);
27
42
  return descriptor !== undefined && "value" in descriptor && typeof descriptor.value === "string" ? descriptor.value : undefined;
28
43
  }
29
- function buildClientRegistrationBody(metadata, redirectUri, tokenEndpointAuthMethod) {
44
+ function buildClientRegistrationBody(metadata, redirectUris, tokenEndpointAuthMethod) {
30
45
  const body = {
31
- redirect_uris: [redirectUri],
46
+ redirect_uris: redirectUris,
32
47
  grant_types: ["authorization_code", "refresh_token"],
33
48
  response_types: ["code"],
34
49
  token_endpoint_auth_method: tokenEndpointAuthMethod
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tiny-http-mcp-server",
3
- "version": "0.1.124",
3
+ "version": "0.1.129",
4
4
  "description": "Minimal MCP server over HTTP built on tiny-stdio-mcp-server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -32,10 +32,10 @@
32
32
  },
33
33
  "scripts": {
34
34
  "build": "node ../../scripts/guard-package-dist.mjs && tsc",
35
- "prepack": "node ../../scripts/set-bin-executable.mjs && node ../../scripts/manage-bundled-workspace-deps.mjs prepare-local . mcp-oauth auth-store tiny-mcp-client jose @poe-code/safe-fs @poe-code/xml-ast @noble/hashes",
36
- "postpack": "node ../../scripts/manage-bundled-workspace-deps.mjs cleanup-after-pack . mcp-oauth auth-store tiny-mcp-client jose @poe-code/safe-fs @poe-code/xml-ast @noble/hashes",
35
+ "prepack": "node ../../scripts/set-bin-executable.mjs && node ../../scripts/manage-bundled-workspace-deps.mjs prepare-local . mcp-oauth auth-store tiny-mcp-client jose @poe-code/safe-fs @poe-code/xml-ast @noble/hashes saxes",
36
+ "postpack": "node ../../scripts/manage-bundled-workspace-deps.mjs cleanup-after-pack . mcp-oauth auth-store tiny-mcp-client jose @poe-code/safe-fs @poe-code/xml-ast @noble/hashes saxes",
37
37
  "prepublishOnly": "tsc",
38
- "postpublish": "node ../../scripts/manage-bundled-workspace-deps.mjs cleanup . mcp-oauth auth-store tiny-mcp-client jose @poe-code/safe-fs @poe-code/xml-ast @noble/hashes",
38
+ "postpublish": "node ../../scripts/manage-bundled-workspace-deps.mjs cleanup . mcp-oauth auth-store tiny-mcp-client jose @poe-code/safe-fs @poe-code/xml-ast @noble/hashes saxes",
39
39
  "test:unit": "cd ../.. && vitest run packages/tiny-http-mcp-server/src"
40
40
  },
41
41
  "files": [
@@ -128,10 +128,19 @@ const transport = new HttpTransport({
128
128
  });
129
129
  ```
130
130
 
131
- You can also call `discoverOAuthMetadata(resourceUrl, options)` directly, or instantiate `OAuthMetadataDiscovery` with a custom `fetch` implementation and shared cache. An explicit `resourceMetadataUrl` requires fresh network discovery without reading either cache; validated results still populate both caches. Lookup options accept `signal`; cancellation stops metadata fetches and body reads without trying another discovery candidate. It also settles while shared-cache reads, writes or eviction wait. Host cache work may finish afterward; its late rejection remains observed, and canceled discovery does not start another candidate.
131
+ You can also call `discoverOAuthMetadata(resourceUrl, options)` directly, or instantiate `OAuthMetadataDiscovery` with a custom `fetch` implementation and shared cache. An explicit `resourceMetadataUrl` requires fresh network discovery without reading either cache; validated results still populate both caches. Lookup options accept `expectedIssuer` to select only that exact advertised issuer before any authorization-server probes (duplicates are probed once; an absent issuer fails). Cached results must match the pin. Omit it to retain multi-server discovery. Lookup options accept `signal`; cancellation stops metadata fetches and body reads without trying another discovery candidate. It also settles while shared-cache reads, writes or eviction wait. Host cache work may finish afterward; its late rejection remains observed, and canceled discovery does not start another candidate.
132
132
  Resource/issuer binding mismatches and exhausted authorization-server discovery
133
133
  expose `OAuthMetadataError.phase` while retaining complete SDK messages.
134
- Protected-resource metadata HTTP failures also expose their numeric `status`.
134
+ Metadata HTTP failures also expose their numeric `status`. `category` distinguishes
135
+ `validation`, `json`, `http` and `network`; `reason` provides stable codes:
136
+ `issuer-mismatch`, `pkce-unsupported`, `response-type-unsupported`,
137
+ `invalid-endpoint`, `invalid-metadata`, `invalid-json`, `http-error`, `network-error`.
138
+ Exhausted fallback exposes ordered `failures` containing only phase, category,
139
+ reason and optional status. The first validation defect takes precedence over
140
+ transport failures; otherwise the first failure supplies the top-level fields.
141
+ Successful fallback still wins. Caller cancellation throws the original signal
142
+ reason; discovery deadlines are network failures. These fields contain no provider
143
+ response contents or URLs; SDK error messages remain private diagnostics.
135
144
  Advertised resource identities reject named and empty fragments before issuer
136
145
  discovery; malformed shared-cache identities are evicted. Resource queries and
137
146
  percent-escaped hash data remain part of the exact resource identity.
@@ -310,15 +310,28 @@ interface OAuthMetadataDiscoveryOptions {
310
310
  cache?: OAuthDiscoveryCache;
311
311
  }
312
312
  interface OAuthMetadataLookupOptions {
313
+ /** Exact advertised issuer to select before probing authorization-server metadata. */
314
+ expectedIssuer?: string;
313
315
  resourceMetadataUrl?: string | URL;
314
316
  signal?: AbortSignal;
315
317
  }
316
- /** Native metadata failure with complete SDK diagnostics and a safe phase. */
318
+ type OAuthMetadataFailureReason = "invalid-metadata" | "issuer-mismatch" | "pkce-unsupported" | "response-type-unsupported" | "invalid-endpoint" | "invalid-json" | "http-error" | "network-error";
319
+ type OAuthMetadataFailureCategory = "validation" | "json" | "http" | "network";
320
+ interface OAuthMetadataFailure {
321
+ readonly phase: "protected-resource" | "authorization-server";
322
+ readonly category: OAuthMetadataFailureCategory;
323
+ readonly reason: OAuthMetadataFailureReason;
324
+ readonly status?: number;
325
+ }
326
+ /** Typed metadata failure. Only phase/category/reason/status/failures are safe diagnostics. */
317
327
  declare class OAuthMetadataError extends Error {
318
328
  readonly phase: "protected-resource" | "authorization-server";
319
329
  readonly status?: number | undefined;
330
+ readonly reason: OAuthMetadataFailureReason;
331
+ readonly failures: readonly OAuthMetadataFailure[];
320
332
  static is(value: unknown): value is OAuthMetadataError;
321
- constructor(phase: "protected-resource" | "authorization-server", message: string, status?: number | undefined);
333
+ readonly category: OAuthMetadataFailureCategory;
334
+ constructor(phase: "protected-resource" | "authorization-server", message: string, status?: number | undefined, reason?: OAuthMetadataFailureReason, failures?: readonly OAuthMetadataFailure[]);
322
335
  }
323
336
  declare class OAuthMetadataDiscovery {
324
337
  private readonly fetchImpl;
@@ -326,7 +339,7 @@ declare class OAuthMetadataDiscovery {
326
339
  private readonly memoryCache;
327
340
  constructor({ fetch, cache }?: OAuthMetadataDiscoveryOptions);
328
341
  private discoverProtectedResource;
329
- discover(resourceUrl: string | URL, { resourceMetadataUrl, signal }?: OAuthMetadataLookupOptions): Promise<OAuthDiscoveryResult>;
342
+ discover(resourceUrl: string | URL, { resourceMetadataUrl, signal, expectedIssuer }?: OAuthMetadataLookupOptions): Promise<OAuthDiscoveryResult>;
330
343
  }
331
344
  declare function discoverOAuthMetadata(resourceUrl: string | URL, options?: OAuthMetadataDiscoveryOptions & OAuthMetadataLookupOptions): Promise<OAuthDiscoveryResult>;
332
345
 
@@ -893,4 +906,4 @@ declare class StdioTransport implements McpTransport {
893
906
  }
894
907
 
895
908
  export { ERROR_INTERNAL, ERROR_INVALID_PARAMS, ERROR_INVALID_REQUEST, ERROR_METHOD_NOT_FOUND, ERROR_PARSE, HttpTransport, HttpTransportError, JsonRpcMessageLayer, MCP_PROTOCOL_VERSIONS, McpClient, McpError, OAuthMetadataDiscovery, OAuthMetadataError, StdioTransport, createInMemoryTransportPair, createSdkTestPair, createTestPair, defaultStdioSpawn, discoverOAuthMetadata, fetchMcpResponse, snapshotHttpTransportHeaders };
896
- export type { AudioContent, BlobResourceContents, CacheableResultMetadata, CallToolOptions, CallToolParams, CallToolResult, ClientCapabilities, CompleteArgument, CompleteParams, CompleteResult, Completion, ConnectResult, ContentItem, CreateMessageParams, CreateMessageResult, ElicitationParams, ElicitationResult, EmbeddedResource, GetPromptParams, GetPromptResult, HttpTransportFetch, HttpTransportOptions, ImageContent, InMemoryTransportPair, IncludeContext, InitializeParams, InitializeResult, JsonRpcErrorObject, JsonRpcErrorResponse, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, JsonRpcRequestOptions, JsonRpcResponse, JsonRpcSuccessResponse, LogLevel, LogMessage, McpClientConnection, McpClientOptions, McpProtocolVersion, McpRequestContext, McpSubscription, McpTransport, McpTransportClosedEvent, ModelHint, ModelPreferences, NotificationFilter, OAuthAuthorizationServerMetadata, OAuthClientProvider, OAuthClientProviderOptions, OAuthDiscoveryCache, OAuthDiscoveryResult, OAuthMetadataFetch, OAuthProtectedResourceMetadata, OAuthSessionStore, OAuthUnauthorizedChallenge, PaginatedParams, PaginatedResult, ProgressParams, ProgressToken, PromptMessage, PromptReference, ReadResourceParams, RequestId, ResourceContents, ResourceReference, ResultMetadata, Root, SamplingContent, SamplingMessage, SdkTestPair, ServerCapabilities, StdioSpawn, StdioTransportOptions, StoredOAuthSession, SubscriptionOptions, TextContent, TextResourceContents, Tool, ToolResultContent, ToolUseContent };
909
+ export type { AudioContent, BlobResourceContents, CacheableResultMetadata, CallToolOptions, CallToolParams, CallToolResult, ClientCapabilities, CompleteArgument, CompleteParams, CompleteResult, Completion, ConnectResult, ContentItem, CreateMessageParams, CreateMessageResult, ElicitationParams, ElicitationResult, EmbeddedResource, GetPromptParams, GetPromptResult, HttpTransportFetch, HttpTransportOptions, ImageContent, InMemoryTransportPair, IncludeContext, InitializeParams, InitializeResult, JsonRpcErrorObject, JsonRpcErrorResponse, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, JsonRpcRequestOptions, JsonRpcResponse, JsonRpcSuccessResponse, LogLevel, LogMessage, McpClientConnection, McpClientOptions, McpProtocolVersion, McpRequestContext, McpSubscription, McpTransport, McpTransportClosedEvent, ModelHint, ModelPreferences, NotificationFilter, OAuthAuthorizationServerMetadata, OAuthClientProvider, OAuthClientProviderOptions, OAuthDiscoveryCache, OAuthDiscoveryResult, OAuthMetadataDiscoveryOptions, OAuthMetadataFailure, OAuthMetadataFailureCategory, OAuthMetadataFailureReason, OAuthMetadataFetch, OAuthMetadataLookupOptions, OAuthProtectedResourceMetadata, OAuthSessionStore, OAuthUnauthorizedChallenge, PaginatedParams, PaginatedResult, ProgressParams, ProgressToken, PromptMessage, PromptReference, ReadResourceParams, RequestId, ResourceContents, ResourceReference, ResultMetadata, Root, SamplingContent, SamplingMessage, SdkTestPair, ServerCapabilities, StdioSpawn, StdioTransportOptions, StoredOAuthSession, SubscriptionOptions, TextContent, TextResourceContents, Tool, ToolResultContent, ToolUseContent };
@@ -3736,19 +3736,38 @@ function createParameterHeaders(definitions, argumentsValue) {
3736
3736
  // src/oauth-discovery.ts
3737
3737
  var metadataErrorBrand = /* @__PURE__ */ Symbol.for("poe-platform.tiny-mcp-client.OAuthMetadataError");
3738
3738
  var OAuthMetadataError = class extends Error {
3739
- constructor(phase, message, status) {
3739
+ constructor(phase, message, status, reason = status === void 0 ? "invalid-metadata" : "http-error", failures = []) {
3740
3740
  super(message);
3741
3741
  this.phase = phase;
3742
3742
  this.status = status;
3743
+ this.reason = reason;
3744
+ this.failures = failures;
3743
3745
  this.name = "OAuthMetadataError";
3746
+ this.category = reason === "invalid-json" ? "json" : reason === "http-error" ? "http" : reason === "network-error" ? "network" : "validation";
3744
3747
  Object.defineProperty(this, metadataErrorBrand, { value: true });
3745
3748
  }
3746
3749
  phase;
3747
3750
  status;
3751
+ reason;
3752
+ failures;
3748
3753
  static is(value) {
3749
3754
  return value instanceof Error && Object.getOwnPropertyDescriptor(value, metadataErrorBrand)?.value === true;
3750
3755
  }
3756
+ category;
3751
3757
  };
3758
+ function metadataFailure(error, phase, reason) {
3759
+ return OAuthMetadataError.is(error) ? error : new OAuthMetadataError(
3760
+ phase,
3761
+ error instanceof Error ? error.message : String(error),
3762
+ void 0,
3763
+ reason
3764
+ );
3765
+ }
3766
+ function aggregateMetadataFailures(phase, errors, message) {
3767
+ const primary = errors.find((error) => error.category === "validation") ?? errors[0];
3768
+ const failures = errors.map(({ phase: phase2, category, reason, status }) => Object.freeze({ phase: phase2, category, reason, status }));
3769
+ return new OAuthMetadataError(phase, message, primary.status, primary.reason, Object.freeze(failures));
3770
+ }
3752
3771
  function defaultOAuthMetadataFetch(input, init) {
3753
3772
  return fetch(input, init);
3754
3773
  }
@@ -3814,14 +3833,16 @@ function validateAuthorizationServerMetadata(value, issuer) {
3814
3833
  if (value.issuer !== issuer) {
3815
3834
  throw new OAuthMetadataError(
3816
3835
  "authorization-server",
3817
- `Authorization server metadata issuer mismatch: expected ${issuer}, received ${value.issuer}`
3836
+ `Authorization server metadata issuer mismatch: expected ${issuer}, received ${value.issuer}`,
3837
+ void 0,
3838
+ "issuer-mismatch"
3818
3839
  );
3819
3840
  }
3820
3841
  if (typeof value.authorization_endpoint !== "string" || value.authorization_endpoint.length === 0) {
3821
- throw new Error("Authorization server metadata must include authorization_endpoint");
3842
+ throw new OAuthMetadataError("authorization-server", "Authorization server metadata must include authorization_endpoint", void 0, "invalid-endpoint");
3822
3843
  }
3823
3844
  if (typeof value.token_endpoint !== "string" || value.token_endpoint.length === 0) {
3824
- throw new Error("Authorization server metadata must include token_endpoint");
3845
+ throw new OAuthMetadataError("authorization-server", "Authorization server metadata must include token_endpoint", void 0, "invalid-endpoint");
3825
3846
  }
3826
3847
  for (const field of ["authorization_endpoint", "token_endpoint", "registration_endpoint"]) {
3827
3848
  if (field === "registration_endpoint" && value[field] === void 0) {
@@ -3833,19 +3854,25 @@ function validateAuthorizationServerMetadata(value, issuer) {
3833
3854
  throw new Error();
3834
3855
  }
3835
3856
  endpoint = new URL(value[field]);
3836
- } catch {
3837
- throw new Error(`Authorization server metadata ${field} must be an absolute URL`);
3857
+ assertSecureUrl(endpoint, `Authorization server metadata ${field}`);
3858
+ } catch (error) {
3859
+ throw new OAuthMetadataError("authorization-server", `Authorization server metadata ${field} must be an absolute URL: ${error instanceof Error ? error.message : "invalid URL"}`, void 0, "invalid-endpoint");
3838
3860
  }
3839
- assertSecureUrl(endpoint, `Authorization server metadata ${field}`);
3840
3861
  }
3841
3862
  if (!isStringArray(value.response_types_supported) || !value.response_types_supported.includes("code")) {
3842
- throw new Error(
3843
- "Authorization server metadata must include response_types_supported containing code"
3863
+ throw new OAuthMetadataError(
3864
+ "authorization-server",
3865
+ "Authorization server metadata must include response_types_supported containing code",
3866
+ void 0,
3867
+ "response-type-unsupported"
3844
3868
  );
3845
3869
  }
3846
3870
  if (!isStringArray(value.code_challenge_methods_supported) || !value.code_challenge_methods_supported.includes("S256")) {
3847
- throw new Error(
3848
- "Authorization server metadata must include code_challenge_methods_supported containing S256"
3871
+ throw new OAuthMetadataError(
3872
+ "authorization-server",
3873
+ "Authorization server metadata must include code_challenge_methods_supported containing S256",
3874
+ void 0,
3875
+ "pkce-unsupported"
3849
3876
  );
3850
3877
  }
3851
3878
  return value;
@@ -3861,19 +3888,24 @@ async function readJsonResponse(response, phase, signal) {
3861
3888
  try {
3862
3889
  return JSON.parse(text);
3863
3890
  } catch {
3864
- throw new Error(`${label} response must be valid JSON`);
3891
+ throw new OAuthMetadataError(phase, `${label} response must be valid JSON`, void 0, "invalid-json");
3865
3892
  }
3866
3893
  }
3867
3894
  async function fetchMetadata(fetch2, location, phase, parentSignal) {
3868
3895
  parentSignal?.throwIfAborted();
3869
3896
  const deadline = AbortSignal.timeout(1e4);
3870
3897
  const signal = parentSignal === void 0 ? deadline : AbortSignal.any([deadline, parentSignal]);
3871
- const response = await fetchMcpResponse(fetch2, location, {
3872
- method: "GET",
3873
- headers: { Accept: "application/json" },
3874
- signal
3875
- });
3876
- return readJsonResponse(response, phase, signal);
3898
+ try {
3899
+ const response = await fetchMcpResponse(fetch2, location, {
3900
+ method: "GET",
3901
+ headers: { Accept: "application/json" },
3902
+ signal
3903
+ });
3904
+ return await readJsonResponse(response, phase, signal);
3905
+ } catch (error) {
3906
+ parentSignal?.throwIfAborted();
3907
+ throw metadataFailure(error, phase, "network-error");
3908
+ }
3877
3909
  }
3878
3910
  function resolveWellKnownMetadataUrl(inputUrl, suffix) {
3879
3911
  const url = new URL(typeof inputUrl === "string" ? inputUrl : inputUrl.toString());
@@ -3983,7 +4015,7 @@ var OAuthMetadataDiscovery = class {
3983
4015
  if (resourceMetadataUrl === void 0) {
3984
4016
  locations.add(new URL("/.well-known/oauth-protected-resource", resource).toString());
3985
4017
  }
3986
- let lastError;
4018
+ const errors = [];
3987
4019
  for (const location of locations) {
3988
4020
  try {
3989
4021
  const metadata = validateProtectedResourceMetadata(
@@ -3993,17 +4025,18 @@ var OAuthMetadataDiscovery = class {
3993
4025
  return { location, metadata };
3994
4026
  } catch (error) {
3995
4027
  signal?.throwIfAborted();
3996
- lastError = error;
4028
+ errors.push(metadataFailure(error, "protected-resource", "invalid-metadata"));
3997
4029
  }
3998
4030
  }
3999
- throw lastError;
4031
+ throw aggregateMetadataFailures("protected-resource", errors, errors.at(-1).message);
4000
4032
  }
4001
- async discover(resourceUrl, { resourceMetadataUrl, signal } = {}) {
4033
+ async discover(resourceUrl, { resourceMetadataUrl, signal, expectedIssuer } = {}) {
4002
4034
  signal?.throwIfAborted();
4035
+ if (expectedIssuer !== void 0) validateAuthorizationServerIssuer(expectedIssuer);
4003
4036
  const cacheKey = canonicalizeResourceIndicator(resourceUrl);
4004
4037
  resolveProtectedResourceMetadataUrl(resourceUrl, resourceMetadataUrl);
4005
4038
  const memoryCachedResult = this.memoryCache.get(cacheKey);
4006
- if (memoryCachedResult !== void 0 && resourceMetadataUrl === void 0) {
4039
+ if (memoryCachedResult !== void 0 && resourceMetadataUrl === void 0 && (expectedIssuer === void 0 || memoryCachedResult.authorizationServer === expectedIssuer)) {
4007
4040
  return structuredClone(memoryCachedResult);
4008
4041
  }
4009
4042
  const sharedCachedResult = resourceMetadataUrl === void 0 ? await waitForCache(this.cache?.get(cacheKey), signal) : void 0;
@@ -4011,44 +4044,63 @@ var OAuthMetadataDiscovery = class {
4011
4044
  if (sharedCachedResult !== null && sharedCachedResult !== void 0 && resourceMetadataUrl === void 0) {
4012
4045
  try {
4013
4046
  const result = validateCachedDiscovery(sharedCachedResult, cacheKey);
4014
- this.memoryCache.set(cacheKey, structuredClone(result));
4015
- return result;
4047
+ if (expectedIssuer === void 0 || result.authorizationServer === expectedIssuer) {
4048
+ this.memoryCache.set(cacheKey, structuredClone(result));
4049
+ return result;
4050
+ }
4016
4051
  } catch {
4017
4052
  await waitForCache(this.cache?.delete?.(cacheKey), signal);
4018
4053
  }
4019
4054
  }
4020
4055
  const { location: resourceMetadataLocation, metadata: resourceMetadata } = await this.discoverProtectedResource(cacheKey, resourceMetadataUrl, signal);
4021
4056
  const authorizationServerErrors = [];
4022
- for (const authorizationServer of resourceMetadata.authorization_servers) {
4023
- const normalizedAuthorizationServer = validateAuthorizationServerIssuer(authorizationServer);
4057
+ const failures = [];
4058
+ if (expectedIssuer !== void 0 && !resourceMetadata.authorization_servers.includes(expectedIssuer)) {
4059
+ throw new OAuthMetadataError("authorization-server", "Expected issuer was not advertised by the protected resource", void 0, "issuer-mismatch");
4060
+ }
4061
+ const authorizationServers = expectedIssuer === void 0 ? resourceMetadata.authorization_servers : [expectedIssuer];
4062
+ for (const authorizationServer of authorizationServers) {
4063
+ let normalizedAuthorizationServer;
4064
+ try {
4065
+ normalizedAuthorizationServer = validateAuthorizationServerIssuer(authorizationServer);
4066
+ } catch (error) {
4067
+ const failure = metadataFailure(error, "authorization-server", "invalid-metadata");
4068
+ failures.push(failure);
4069
+ authorizationServerErrors.push(failure.message);
4070
+ continue;
4071
+ }
4024
4072
  const metadataLocations = authorizationServerMetadataLocations(normalizedAuthorizationServer);
4025
4073
  for (const authorizationServerMetadataUrl of metadataLocations) {
4074
+ let authorizationServerMetadata;
4026
4075
  try {
4027
- const authorizationServerMetadata = validateAuthorizationServerMetadata(
4076
+ authorizationServerMetadata = validateAuthorizationServerMetadata(
4028
4077
  await fetchMetadata(this.fetchImpl, authorizationServerMetadataUrl, "authorization-server", signal),
4029
4078
  normalizedAuthorizationServer
4030
4079
  );
4031
- const result = {
4032
- resource: resourceMetadata.resource,
4033
- resourceMetadataUrl: resourceMetadataLocation,
4034
- resourceMetadata,
4035
- authorizationServer: normalizedAuthorizationServer,
4036
- authorizationServerMetadataUrl,
4037
- authorizationServerMetadata
4038
- };
4039
- this.memoryCache.set(cacheKey, structuredClone(result));
4040
- await waitForCache(this.cache?.set(cacheKey, structuredClone(result)), signal);
4041
- return result;
4042
4080
  } catch (error) {
4043
4081
  signal?.throwIfAborted();
4082
+ failures.push(metadataFailure(error, "authorization-server", "invalid-metadata"));
4044
4083
  authorizationServerErrors.push(
4045
4084
  `${authorizationServerMetadataUrl}: ${error instanceof Error ? error.message : String(error)}`
4046
4085
  );
4086
+ continue;
4047
4087
  }
4088
+ const result = {
4089
+ resource: resourceMetadata.resource,
4090
+ resourceMetadataUrl: resourceMetadataLocation,
4091
+ resourceMetadata,
4092
+ authorizationServer: normalizedAuthorizationServer,
4093
+ authorizationServerMetadataUrl,
4094
+ authorizationServerMetadata
4095
+ };
4096
+ await waitForCache(this.cache?.set(cacheKey, structuredClone(result)), signal);
4097
+ this.memoryCache.set(cacheKey, structuredClone(result));
4098
+ return result;
4048
4099
  }
4049
4100
  }
4050
- throw new OAuthMetadataError(
4101
+ throw aggregateMetadataFailures(
4051
4102
  "authorization-server",
4103
+ failures,
4052
4104
  `Unable to load authorization server metadata for ${cacheKey}: ${authorizationServerErrors.join(
4053
4105
  "; "
4054
4106
  )}`
@@ -310,15 +310,28 @@ interface OAuthMetadataDiscoveryOptions {
310
310
  cache?: OAuthDiscoveryCache;
311
311
  }
312
312
  interface OAuthMetadataLookupOptions {
313
+ /** Exact advertised issuer to select before probing authorization-server metadata. */
314
+ expectedIssuer?: string;
313
315
  resourceMetadataUrl?: string | URL;
314
316
  signal?: AbortSignal;
315
317
  }
316
- /** Native metadata failure with complete SDK diagnostics and a safe phase. */
318
+ type OAuthMetadataFailureReason = "invalid-metadata" | "issuer-mismatch" | "pkce-unsupported" | "response-type-unsupported" | "invalid-endpoint" | "invalid-json" | "http-error" | "network-error";
319
+ type OAuthMetadataFailureCategory = "validation" | "json" | "http" | "network";
320
+ interface OAuthMetadataFailure {
321
+ readonly phase: "protected-resource" | "authorization-server";
322
+ readonly category: OAuthMetadataFailureCategory;
323
+ readonly reason: OAuthMetadataFailureReason;
324
+ readonly status?: number;
325
+ }
326
+ /** Typed metadata failure. Only phase/category/reason/status/failures are safe diagnostics. */
317
327
  declare class OAuthMetadataError extends Error {
318
328
  readonly phase: "protected-resource" | "authorization-server";
319
329
  readonly status?: number | undefined;
330
+ readonly reason: OAuthMetadataFailureReason;
331
+ readonly failures: readonly OAuthMetadataFailure[];
320
332
  static is(value: unknown): value is OAuthMetadataError;
321
- constructor(phase: "protected-resource" | "authorization-server", message: string, status?: number | undefined);
333
+ readonly category: OAuthMetadataFailureCategory;
334
+ constructor(phase: "protected-resource" | "authorization-server", message: string, status?: number | undefined, reason?: OAuthMetadataFailureReason, failures?: readonly OAuthMetadataFailure[]);
322
335
  }
323
336
  declare class OAuthMetadataDiscovery {
324
337
  private readonly fetchImpl;
@@ -326,7 +339,7 @@ declare class OAuthMetadataDiscovery {
326
339
  private readonly memoryCache;
327
340
  constructor({ fetch, cache }?: OAuthMetadataDiscoveryOptions);
328
341
  private discoverProtectedResource;
329
- discover(resourceUrl: string | URL, { resourceMetadataUrl, signal }?: OAuthMetadataLookupOptions): Promise<OAuthDiscoveryResult>;
342
+ discover(resourceUrl: string | URL, { resourceMetadataUrl, signal, expectedIssuer }?: OAuthMetadataLookupOptions): Promise<OAuthDiscoveryResult>;
330
343
  }
331
344
  declare function discoverOAuthMetadata(resourceUrl: string | URL, options?: OAuthMetadataDiscoveryOptions & OAuthMetadataLookupOptions): Promise<OAuthDiscoveryResult>;
332
345
 
@@ -893,4 +906,4 @@ declare class StdioTransport implements McpTransport {
893
906
  }
894
907
 
895
908
  export { ERROR_INTERNAL, ERROR_INVALID_PARAMS, ERROR_INVALID_REQUEST, ERROR_METHOD_NOT_FOUND, ERROR_PARSE, HttpTransport, HttpTransportError, JsonRpcMessageLayer, MCP_PROTOCOL_VERSIONS, McpClient, McpError, OAuthMetadataDiscovery, OAuthMetadataError, StdioTransport, createInMemoryTransportPair, createSdkTestPair, createTestPair, defaultStdioSpawn, discoverOAuthMetadata, fetchMcpResponse, snapshotHttpTransportHeaders };
896
- export type { AudioContent, BlobResourceContents, CacheableResultMetadata, CallToolOptions, CallToolParams, CallToolResult, ClientCapabilities, CompleteArgument, CompleteParams, CompleteResult, Completion, ConnectResult, ContentItem, CreateMessageParams, CreateMessageResult, ElicitationParams, ElicitationResult, EmbeddedResource, GetPromptParams, GetPromptResult, HttpTransportFetch, HttpTransportOptions, ImageContent, InMemoryTransportPair, IncludeContext, InitializeParams, InitializeResult, JsonRpcErrorObject, JsonRpcErrorResponse, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, JsonRpcRequestOptions, JsonRpcResponse, JsonRpcSuccessResponse, LogLevel, LogMessage, McpClientConnection, McpClientOptions, McpProtocolVersion, McpRequestContext, McpSubscription, McpTransport, McpTransportClosedEvent, ModelHint, ModelPreferences, NotificationFilter, OAuthAuthorizationServerMetadata, OAuthClientProvider, OAuthClientProviderOptions, OAuthDiscoveryCache, OAuthDiscoveryResult, OAuthMetadataFetch, OAuthProtectedResourceMetadata, OAuthSessionStore, OAuthUnauthorizedChallenge, PaginatedParams, PaginatedResult, ProgressParams, ProgressToken, PromptMessage, PromptReference, ReadResourceParams, RequestId, ResourceContents, ResourceReference, ResultMetadata, Root, SamplingContent, SamplingMessage, SdkTestPair, ServerCapabilities, StdioSpawn, StdioTransportOptions, StoredOAuthSession, SubscriptionOptions, TextContent, TextResourceContents, Tool, ToolResultContent, ToolUseContent };
909
+ export type { AudioContent, BlobResourceContents, CacheableResultMetadata, CallToolOptions, CallToolParams, CallToolResult, ClientCapabilities, CompleteArgument, CompleteParams, CompleteResult, Completion, ConnectResult, ContentItem, CreateMessageParams, CreateMessageResult, ElicitationParams, ElicitationResult, EmbeddedResource, GetPromptParams, GetPromptResult, HttpTransportFetch, HttpTransportOptions, ImageContent, InMemoryTransportPair, IncludeContext, InitializeParams, InitializeResult, JsonRpcErrorObject, JsonRpcErrorResponse, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, JsonRpcRequestOptions, JsonRpcResponse, JsonRpcSuccessResponse, LogLevel, LogMessage, McpClientConnection, McpClientOptions, McpProtocolVersion, McpRequestContext, McpSubscription, McpTransport, McpTransportClosedEvent, ModelHint, ModelPreferences, NotificationFilter, OAuthAuthorizationServerMetadata, OAuthClientProvider, OAuthClientProviderOptions, OAuthDiscoveryCache, OAuthDiscoveryResult, OAuthMetadataDiscoveryOptions, OAuthMetadataFailure, OAuthMetadataFailureCategory, OAuthMetadataFailureReason, OAuthMetadataFetch, OAuthMetadataLookupOptions, OAuthProtectedResourceMetadata, OAuthSessionStore, OAuthUnauthorizedChallenge, PaginatedParams, PaginatedResult, ProgressParams, ProgressToken, PromptMessage, PromptReference, ReadResourceParams, RequestId, ResourceContents, ResourceReference, ResultMetadata, Root, SamplingContent, SamplingMessage, SdkTestPair, ServerCapabilities, StdioSpawn, StdioTransportOptions, StoredOAuthSession, SubscriptionOptions, TextContent, TextResourceContents, Tool, ToolResultContent, ToolUseContent };