@mcp-use/client 2.0.0-beta.8 → 2.0.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 (91) hide show
  1. package/README.md +18 -19
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/auth/browser.d.ts +62 -6
  4. package/dist/auth/browser.d.ts.map +1 -1
  5. package/dist/auth/callback.d.ts.map +1 -1
  6. package/dist/auth/flow.d.ts.map +1 -1
  7. package/dist/auth/node.d.ts +115 -5
  8. package/dist/auth/node.d.ts.map +1 -1
  9. package/dist/auth/session-store.d.ts +7 -1
  10. package/dist/auth/session-store.d.ts.map +1 -1
  11. package/dist/auth/storage.d.ts +12 -3
  12. package/dist/auth/storage.d.ts.map +1 -1
  13. package/dist/code-mode/executor-e2b.d.ts.map +1 -1
  14. package/dist/core/base.d.ts +4 -8
  15. package/dist/core/base.d.ts.map +1 -1
  16. package/dist/core/browser.d.ts +14 -2
  17. package/dist/core/browser.d.ts.map +1 -1
  18. package/dist/core/config.d.ts +82 -20
  19. package/dist/core/config.d.ts.map +1 -1
  20. package/dist/core/node.d.ts +7 -10
  21. package/dist/core/node.d.ts.map +1 -1
  22. package/dist/core/session.d.ts +102 -25
  23. package/dist/core/session.d.ts.map +1 -1
  24. package/dist/index-browser.d.ts +1 -0
  25. package/dist/index-browser.d.ts.map +1 -1
  26. package/dist/index-browser.js +568 -163
  27. package/dist/index-browser.js.map +1 -1
  28. package/dist/index.d.ts +2 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +407 -92
  31. package/dist/index.js.map +1 -1
  32. package/dist/react/McpClientProvider.d.ts +22 -10
  33. package/dist/react/McpClientProvider.d.ts.map +1 -1
  34. package/dist/react/index.d.ts +5 -2
  35. package/dist/react/index.d.ts.map +1 -1
  36. package/dist/react/index.js +1104 -368
  37. package/dist/react/index.js.map +1 -1
  38. package/dist/react/rpc-logger.d.ts +5 -0
  39. package/dist/react/rpc-logger.d.ts.map +1 -1
  40. package/dist/react/storage.d.ts +57 -10
  41. package/dist/react/storage.d.ts.map +1 -1
  42. package/dist/react/token-expiry.d.ts +9 -0
  43. package/dist/react/token-expiry.d.ts.map +1 -0
  44. package/dist/react/types.d.ts +134 -22
  45. package/dist/react/types.d.ts.map +1 -1
  46. package/dist/react/useMcp-helpers.d.ts.map +1 -1
  47. package/dist/react/useMcp-operations.d.ts +24 -6
  48. package/dist/react/useMcp-operations.d.ts.map +1 -1
  49. package/dist/react/useMcp.d.ts.map +1 -1
  50. package/dist/react/useMcpServerQueues.d.ts +36 -9
  51. package/dist/react/useMcpServerQueues.d.ts.map +1 -1
  52. package/dist/react/view/ViewRenderer.d.ts +12 -4
  53. package/dist/react/view/ViewRenderer.d.ts.map +1 -1
  54. package/dist/react/view/ext-apps-bridge.d.ts +1 -1
  55. package/dist/react/view/ext-apps-bridge.d.ts.map +1 -1
  56. package/dist/react/view/inject-openai-file-apis.d.ts.map +1 -1
  57. package/dist/react/view/parse-custom-props.d.ts +8 -0
  58. package/dist/react/view/parse-custom-props.d.ts.map +1 -1
  59. package/dist/react/view/resolve-view-resource.d.ts +10 -0
  60. package/dist/react/view/resolve-view-resource.d.ts.map +1 -1
  61. package/dist/react/view/sandbox-blob-url.d.ts +2 -0
  62. package/dist/react/view/sandbox-blob-url.d.ts.map +1 -1
  63. package/dist/react/view/types.d.ts +111 -4
  64. package/dist/react/view/types.d.ts.map +1 -1
  65. package/dist/react/view/view-detection.d.ts +18 -0
  66. package/dist/react/view/view-detection.d.ts.map +1 -1
  67. package/dist/react/view/view-host-policy.d.ts +61 -0
  68. package/dist/react/view/view-host-policy.d.ts.map +1 -0
  69. package/dist/sandbox.d.ts +2 -0
  70. package/dist/sandbox.d.ts.map +1 -0
  71. package/dist/sandbox.js +283 -0
  72. package/dist/sandbox.js.map +1 -0
  73. package/dist/telemetry/events.d.ts.map +1 -1
  74. package/dist/telemetry/tel-fetch.d.ts.map +1 -1
  75. package/dist/telemetry/telemetry.d.ts +5 -1
  76. package/dist/telemetry/telemetry.d.ts.map +1 -1
  77. package/dist/transport/base.d.ts +169 -34
  78. package/dist/transport/base.d.ts.map +1 -1
  79. package/dist/transport/connection-manager.d.ts +5 -1
  80. package/dist/transport/connection-manager.d.ts.map +1 -1
  81. package/dist/transport/http.d.ts +51 -2
  82. package/dist/transport/http.d.ts.map +1 -1
  83. package/dist/transport/stdio.d.ts +29 -1
  84. package/dist/transport/stdio.d.ts.map +1 -1
  85. package/dist/utils/elicitation.d.ts +4 -2
  86. package/dist/utils/elicitation.d.ts.map +1 -1
  87. package/dist/utils/logging.d.ts +1 -0
  88. package/dist/utils/logging.d.ts.map +1 -1
  89. package/dist/utils/version.d.ts +6 -0
  90. package/dist/utils/version.d.ts.map +1 -1
  91. package/package.json +9 -3
@@ -1,13 +1,21 @@
1
1
  import type { OAuthClientInformation, OAuthClientInformationContext, OAuthClientMetadata, OAuthClientProvider, OAuthDiscoveryState, OAuthTokens } from "@modelcontextprotocol/client";
2
- /** Options for the browser implementation of {@link OAuthClientProvider}. */
2
+ /** Options for the browser implementation of the SDK `OAuthClientProvider`. */
3
3
  export interface BrowserOAuthOptions {
4
+ /** Prefix used for persisted OAuth keys. */
4
5
  storageKeyPrefix?: string;
6
+ /** Human-readable OAuth client name. */
5
7
  clientName?: string;
8
+ /** Public website describing the OAuth client. */
6
9
  clientUri?: string;
10
+ /** Public OAuth client logo URL. */
7
11
  logoUri?: string;
12
+ /** OAuth redirect URI. */
8
13
  callbackUrl?: string;
14
+ /** Whether initial connection waits for an explicit authentication action. */
9
15
  preventAutoAuth?: boolean;
16
+ /** Whether authorization uses a full-page redirect instead of a popup. */
10
17
  useRedirectFlow?: boolean;
18
+ /** Same-origin proxy endpoint for OAuth HTTP requests. */
11
19
  oauthProxyUrl?: string;
12
20
  /** MCP proxy URL the transport connected to, used to re-anchor discovery. */
13
21
  connectionUrl?: string;
@@ -32,31 +40,56 @@ export interface BrowserOAuthOptions {
32
40
  staticClientInfo?: OAuthClientInformation;
33
41
  /** OAuth scope string forwarded to the SDK via clientMetadata.scope. */
34
42
  scope?: string;
43
+ /** Called immediately before the provider opens an authorization popup. */
35
44
  onPopupWindow?: (url: string, features: string, window: globalThis.Window | null) => void;
36
45
  }
37
46
  /**
38
47
  * Browser-compatible OAuth client provider for MCP using localStorage.
39
48
  */
40
49
  export declare class BrowserOAuthClientProvider implements OAuthClientProvider {
50
+ /** Protected MCP server URL associated with this provider. */
41
51
  readonly serverUrl: string;
52
+ /** Pre-registered public client information, when configured. */
42
53
  readonly staticClientInfo?: OAuthClientInformation;
43
54
  private session;
55
+ private readonly storage;
56
+ /** Whether initial connection waits for explicit authentication. */
44
57
  readonly preventAutoAuth?: boolean;
45
58
  private useRedirectFlow?;
46
59
  private oauthProxyUrl?;
47
60
  private connectionUrl?;
48
61
  private proxyOAuthRequests;
62
+ private lastAttemptedAuthUrl;
63
+ private authorizationPending;
64
+ /** Callback invoked immediately before an authorization popup opens. */
49
65
  readonly onPopupWindow: ((url: string, features: string, window: globalThis.Window | null) => void) | undefined;
50
66
  constructor(serverUrl: string, options?: BrowserOAuthOptions);
67
+ /** Prefix used for persisted OAuth keys. */
51
68
  get storageKeyPrefix(): string;
69
+ /** Stable hash used to namespace storage for this server. */
52
70
  get serverUrlHash(): string;
71
+ /** Human-readable OAuth client name. */
53
72
  get clientName(): string;
73
+ /** Public website describing the OAuth client. */
54
74
  get clientUri(): string;
75
+ /** Public OAuth client logo URL. */
55
76
  get logoUri(): string;
77
+ /** OAuth redirect URI. */
56
78
  get callbackUrl(): string;
79
+ /** Space-delimited OAuth scopes requested by the client. */
57
80
  get scope(): string | undefined;
58
81
  get clientMetadataUrl(): string | undefined;
82
+ /**
83
+ * Returns a provider-scoped storage key.
84
+ *
85
+ * @param keySuffix - Suffix identifying the stored value.
86
+ * @returns Namespaced storage key.
87
+ */
59
88
  getKey(keySuffix: string): string;
89
+ /** Whether an authorization flow is awaiting completion. */
90
+ get hasPendingFlow(): boolean;
91
+ /** Marks the current authorization flow as complete. */
92
+ markFlowComplete(): void;
60
93
  /**
61
94
  * Re-anchor an SDK-derived OAuth discovery URL from the MCP connection
62
95
  * (proxy) origin onto the actual MCP server.
@@ -85,10 +118,12 @@ export declare class BrowserOAuthClientProvider implements OAuthClientProvider {
85
118
  * therefore never alters fetch behavior for other servers, other
86
119
  * connections, or the rest of the page.
87
120
  *
88
- * When this provider is not configured to proxy OAuth requests (no
89
- * `oauthProxyUrl`, or `proxyOAuthRequests` disabled), the provided
90
- * `baseFetch` is returned as-is (or `undefined` when none is given, letting
91
- * the SDK fall back to its default `fetch`).
121
+ * OAuth metadata is always fetched with `cache: "no-store"`, including in
122
+ * direct mode. Authorization servers commonly vary CORS headers by Origin;
123
+ * bypassing the browser HTTP cache prevents a revalidated response cached
124
+ * for another localhost origin from poisoning discovery. When OAuth proxying
125
+ * is disabled or no `oauthProxyUrl` is configured, all requests still go
126
+ * directly to their original URLs.
92
127
  *
93
128
  * @param baseFetch - The fetch used for non-OAuth requests and for the
94
129
  * underlying proxy calls. Defaults to the global `fetch`.
@@ -98,7 +133,22 @@ export declare class BrowserOAuthClientProvider implements OAuthClientProvider {
98
133
  get clientMetadata(): OAuthClientMetadata;
99
134
  tokens(ctx?: OAuthClientInformationContext): Promise<OAuthTokens | undefined>;
100
135
  saveTokens(tokens: OAuthTokens, ctx?: OAuthClientInformationContext): Promise<void>;
136
+ /**
137
+ * Returns the configured or dynamically registered OAuth client information.
138
+ *
139
+ * @param ctx - Optional registration context.
140
+ * @returns OAuth client information, or `undefined` when not registered.
141
+ */
101
142
  clientInformation(ctx?: OAuthClientInformationContext): Promise<OAuthClientInformation | undefined>;
143
+ /**
144
+ * Persists public OAuth client registration information.
145
+ *
146
+ * Static client configuration takes precedence, and browser providers discard
147
+ * any client secret returned for a public client.
148
+ *
149
+ * @param clientInformation - Registration information to save.
150
+ * @param ctx - Optional registration context.
151
+ */
102
152
  saveClientInformation(clientInformation: OAuthClientInformation, ctx?: OAuthClientInformationContext): Promise<void>;
103
153
  codeVerifier(): Promise<string>;
104
154
  saveCodeVerifier(codeVerifier: string): Promise<void>;
@@ -123,6 +173,7 @@ export declare class BrowserOAuthClientProvider implements OAuthClientProvider {
123
173
  * client secrets.
124
174
  */
125
175
  getClientCredentials(): Promise<{
176
+ /** Public OAuth client identifier. */
126
177
  client_id: string;
127
178
  } | null>;
128
179
  /**
@@ -134,13 +185,18 @@ export declare class BrowserOAuthClientProvider implements OAuthClientProvider {
134
185
  prepareAuthorizationUrl(authorizationUrl: URL): Promise<string>;
135
186
  /**
136
187
  * Redirects the user agent to the authorization URL, storing necessary state.
137
- * @param authorizationUrl The fully constructed authorization URL from the SDK.
188
+ * @param authorizationUrl - The fully constructed authorization URL from the SDK.
138
189
  */
139
190
  redirectToAuthorization(authorizationUrl: URL): Promise<void>;
140
191
  /**
141
192
  * Retrieves the last URL passed to `redirectToAuthorization`. Useful for manual fallback.
142
193
  */
143
194
  getLastAttemptedAuthUrl(): string | null;
195
+ /**
196
+ * Removes OAuth state stored for this server.
197
+ *
198
+ * @returns The number of storage entries removed.
199
+ */
144
200
  clearStorage(): number;
145
201
  }
146
202
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/auth/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/auth/browser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAwBtC,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CACd,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,KAC7B,IAAI,CAAC;CACX;AAED;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IACpE,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IACnD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAG9C,oEAAoE;IACpE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,OAAO,CAAC,eAAe,CAAC,CAAU;IAClC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,oBAAoB,CAAS;IACrC,wEAAwE;IACxE,QAAQ,CAAC,aAAa,EAClB,CAAC,CACC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,KAC7B,IAAI,CAAC,GACV,SAAS,CAAC;gBAEF,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;IAwBhE,4CAA4C;IAC5C,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,6DAA6D;IAC7D,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,wCAAwC;IACxC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,kDAAkD;IAClD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,oCAAoC;IACpC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,0BAA0B;IAC1B,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,4DAA4D;IAC5D,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIjC,4DAA4D;IAC5D,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,wDAAwD;IACxD,gBAAgB,IAAI,IAAI;IAIxB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,GAAG,OAAO,KAAK,GAAG,SAAS;IAyKjE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,mBAAmB,CAExC;IAED,MAAM,CACJ,GAAG,CAAC,EAAE,6BAA6B,GAClC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAInC,UAAU,CACR,MAAM,EAAE,WAAW,EACnB,GAAG,CAAC,EAAE,6BAA6B,GAClC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;OAKG;IACG,iBAAiB,CACrB,GAAG,CAAC,EAAE,6BAA6B,GAClC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAS9C;;;;;;;;OAQG;IACG,qBAAqB,CACzB,iBAAiB,EAAE,sBAAsB,EACzC,GAAG,CAAC,EAAE,6BAA6B,GAClC,OAAO,CAAC,IAAI,CAAC;IAyBhB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,qBAAqB,CACnB,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,GAC5D,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,qEAAqE;IACrE,cAAc,IAAI,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAI1D;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI1C,yEAAyE;IACzE,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIrC;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC;QACpC,sCAAsC;QACtC,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IAKT;;;;;OAKG;IACG,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBrE;;;OAGG;IACG,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDnE;;OAEG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC;;;;OAIG;IACH,YAAY,IAAI,MAAM;CAoBvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,YAAY,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/auth/callback.ts"],"names":[],"mappings":"AA4MA;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/auth/callback.ts"],"names":[],"mappings":"AAuMA;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/auth/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAgBtC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAgB/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC3D,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/auth/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAmBtC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAgB/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC3D,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -1,9 +1,11 @@
1
1
  import type { OAuthClientInformation, OAuthClientInformationContext, OAuthClientMetadata, OAuthClientProvider, OAuthDiscoveryState, OAuthTokens } from "@modelcontextprotocol/client";
2
2
  import type { KVStore } from "./storage.js";
3
3
  import { type OAuthSessionStoreOptions } from "./session-store.js";
4
+ /** Configures OAuth authorization for Node.js and CLI clients. */
4
5
  export interface NodeOAuthOptions extends OAuthSessionStoreOptions {
5
6
  /** Preferred loopback port. Default 33418. Walks up by `portRange` on EADDRINUSE. */
6
7
  preferredPort?: number;
8
+ /** Number of consecutive loopback ports to try. Defaults to `10`. */
7
9
  portRange?: number;
8
10
  /** Override the on-disk store directory (mostly for tests). */
9
11
  baseDir?: string;
@@ -14,11 +16,32 @@ export interface NodeOAuthOptions extends OAuthSessionStoreOptions {
14
16
  /** Suppress the default `open(url)` browser launch (test hook). */
15
17
  openBrowser?: (url: string) => Promise<void> | void;
16
18
  }
19
+ /**
20
+ * Error reported by the local OAuth callback flow.
21
+ *
22
+ * The {@link OAuthFlowError.code} value is a stable OAuth or local-flow error
23
+ * code such as `"timeout"` or `"cancelled"`.
24
+ */
17
25
  export declare class OAuthFlowError extends Error {
26
+ /** OAuth or local-flow error code. */
18
27
  readonly code: string;
28
+ /** Optional human-readable error description. */
19
29
  readonly description?: string;
30
+ /**
31
+ * Creates an OAuth flow error.
32
+ *
33
+ * @param code - OAuth or local-flow error code.
34
+ * @param description - Optional human-readable description.
35
+ */
20
36
  constructor(code: string, description?: string);
21
37
  }
38
+ /** Authorization response captured by the Node loopback callback. */
39
+ export interface NodeOAuthAuthorizationResponse {
40
+ /** Authorization code returned by the authorization server. */
41
+ code: string;
42
+ /** RFC 9207 authorization-server issuer, when present in the callback. */
43
+ iss?: string;
44
+ }
22
45
  /**
23
46
  * Node/CLI OAuth client provider for MCP. Owns a localhost loopback callback
24
47
  * server, opens the user's browser, and resolves the authorization code via
@@ -29,54 +52,137 @@ export declare class OAuthFlowError extends Error {
29
52
  * port reservation is async.
30
53
  */
31
54
  export declare class NodeOAuthClientProvider implements OAuthClientProvider {
55
+ /** Protected MCP server URL associated with this provider. */
32
56
  readonly serverUrl: string;
57
+ /** Reserved localhost callback port. */
33
58
  readonly port: number;
34
59
  private session;
35
60
  private kv;
36
61
  private authTimeoutMs;
37
62
  private openBrowserOverride?;
38
63
  private server;
64
+ /** Provider authorization URL, exposed only through the local redirect route. */
65
+ private authorizationUrl;
39
66
  /** Currently in-flight deferred — used to prevent overlapping flows. */
40
67
  private pending;
41
- /** Latest deferred (settled or in-flight) what `getAuthorizationCode()` returns. */
68
+ /** Latest deferred (settled or in-flight) for the loopback response. */
42
69
  private lastFlow;
43
70
  private pendingTimer;
44
71
  private constructor();
72
+ /**
73
+ * Creates a Node OAuth provider and reserves a localhost callback port.
74
+ *
75
+ * @param serverUrl - Protected MCP server URL.
76
+ * @param options - OAuth metadata, storage, loopback, and browser options.
77
+ * @returns A provider ready to participate in the SDK OAuth flow.
78
+ */
45
79
  static create(serverUrl: string, options?: NodeOAuthOptions): Promise<NodeOAuthClientProvider>;
80
+ /** Prefix used for persisted OAuth session keys. */
46
81
  get storageKeyPrefix(): string;
82
+ /** Stable hash of the protected server URL used to namespace storage. */
47
83
  get serverUrlHash(): string;
84
+ /** Loopback redirect URL registered for this provider. */
48
85
  get redirectUrl(): string;
86
+ /** OAuth client metadata presented during registration. */
49
87
  get clientMetadata(): OAuthClientMetadata;
88
+ /** OAuth Client ID Metadata Document URL, when configured. */
50
89
  get clientMetadataUrl(): string | undefined;
90
+ /**
91
+ * Loads saved OAuth tokens.
92
+ *
93
+ * @param ctx - Optional client registration context.
94
+ * @returns Saved tokens, or `undefined` when none exist.
95
+ */
51
96
  tokens(ctx?: OAuthClientInformationContext): Promise<OAuthTokens | undefined>;
97
+ /**
98
+ * Persists OAuth tokens.
99
+ *
100
+ * @param tokens - Tokens to save.
101
+ * @param ctx - Optional client registration context.
102
+ */
52
103
  saveTokens(tokens: OAuthTokens, ctx?: OAuthClientInformationContext): Promise<void>;
104
+ /**
105
+ * Loads saved OAuth client registration information.
106
+ *
107
+ * @param ctx - Optional registration context.
108
+ * @returns Saved registration information, or `undefined`.
109
+ */
53
110
  clientInformation(ctx?: OAuthClientInformationContext): Promise<OAuthClientInformation | undefined>;
111
+ /**
112
+ * Persists OAuth client registration information.
113
+ *
114
+ * @param info - Client information to save.
115
+ * @param ctx - Optional registration context.
116
+ */
54
117
  saveClientInformation(info: OAuthClientInformation, ctx?: OAuthClientInformationContext): Promise<void>;
118
+ /**
119
+ * Loads the saved PKCE code verifier.
120
+ *
121
+ * @returns The saved verifier.
122
+ */
55
123
  codeVerifier(): Promise<string>;
124
+ /**
125
+ * Persists a PKCE code verifier.
126
+ *
127
+ * @param codeVerifier - Verifier to save.
128
+ */
56
129
  saveCodeVerifier(codeVerifier: string): Promise<void>;
130
+ /**
131
+ * Invalidates selected persisted OAuth credentials.
132
+ *
133
+ * @param scope - Credential group to remove.
134
+ */
57
135
  invalidateCredentials(scope: "all" | "client" | "tokens" | "verifier" | "discovery"): Promise<void>;
58
- /** Persist OAuth discovery state (SEP-2352). Delegated to the session store. */
136
+ /**
137
+ * Persists OAuth discovery state.
138
+ *
139
+ * @param state - Discovery state to save.
140
+ */
59
141
  saveDiscoveryState(state: OAuthDiscoveryState): Promise<void>;
60
- /** Return previously saved OAuth discovery state, or `undefined`. */
142
+ /**
143
+ * Returns previously saved OAuth discovery state.
144
+ *
145
+ * @returns Saved discovery state, or `undefined`.
146
+ */
61
147
  discoveryState(): Promise<OAuthDiscoveryState | undefined>;
62
148
  /**
63
149
  * Bind the loopback server, set up the pending-code deferred, and ask the
64
150
  * platform to open the user's browser. Does NOT await the code; the
65
151
  * orchestrator awaits via `getAuthorizationCode()`.
152
+ *
153
+ * @param authorizationUrl - Authorization URL generated by the SDK.
154
+ * @returns A promise that resolves once the loopback listener is ready and
155
+ * the browser-open attempt completes.
66
156
  */
67
157
  redirectToAuthorization(authorizationUrl: URL): Promise<void>;
68
158
  /**
69
159
  * Resolves with the authorization code captured by the loopback callback.
160
+ *
161
+ * @remarks This compatibility method omits the RFC 9207 issuer. OAuth flow
162
+ * orchestrators should use {@link getAuthorizationResponse} when available.
70
163
  * Must be called after `redirectToAuthorization()`. Returns the same
71
164
  * promise whether the callback has fired or not — callers may subscribe
72
165
  * before or after.
166
+ *
167
+ * @returns The authorization code received by the loopback callback.
73
168
  */
74
169
  getAuthorizationCode(): Promise<string>;
170
+ /**
171
+ * Resolves with the authorization code and RFC 9207 issuer captured by the
172
+ * loopback callback.
173
+ *
174
+ * @returns The loopback authorization response.
175
+ * @throws When called before {@link NodeOAuthClientProvider.redirectToAuthorization}.
176
+ */
177
+ getAuthorizationResponse(): Promise<NodeOAuthAuthorizationResponse>;
75
178
  /**
76
179
  * Cancel an in-progress flow (timeout, SIGINT, etc.) and close the loopback.
180
+ *
181
+ * Pending calls to {@link NodeOAuthClientProvider.getAuthorizationResponse}
182
+ * reject with an {@link OAuthFlowError} whose code is `"cancelled"`.
77
183
  */
78
184
  dispose(): void;
79
- /** Best-effort port for tests / status output. */
185
+ /** Local callback port, useful for status output and tests. */
80
186
  get callbackPort(): number;
81
187
  /**
82
188
  * True if `redirectToAuthorization()` has been called and we're awaiting
@@ -93,7 +199,11 @@ export declare class NodeOAuthClientProvider implements OAuthClientProvider {
93
199
  private handleCallback;
94
200
  }
95
201
  /**
96
- * Creates the Node OAuth provider used by the root client entry.
202
+ * Creates a Node OAuth provider for an MCP server.
203
+ *
204
+ * @param serverUrl - Protected MCP server URL.
205
+ * @param options - OAuth metadata, storage, loopback, and browser options.
206
+ * @returns A provider compatible with the MCP SDK OAuth flow.
97
207
  */
98
208
  export declare function createOAuthProvider(serverUrl: string, options?: NodeOAuthOptions): Promise<OAuthClientProvider>;
99
209
  export type { NodeOAuthOptions as OAuthProviderOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/auth/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/auth/node.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,17 @@ export interface StoredState {
27
27
  * @internal
28
28
  */
29
29
  export interface OAuthSessionStoreOptions {
30
+ /** Prefix used for persisted OAuth keys. */
30
31
  storageKeyPrefix?: string;
32
+ /** Human-readable OAuth client name. */
31
33
  clientName?: string;
34
+ /** Public website describing the OAuth client. */
32
35
  clientUri?: string;
36
+ /** Public OAuth client logo URL. */
33
37
  logoUri?: string;
38
+ /** OAuth redirect URI. */
34
39
  callbackUrl?: string;
40
+ /** OAuth Client ID Metadata Document URL. */
35
41
  clientMetadataUrl?: string;
36
42
  /** Whether this platform may persist confidential-client credentials. */
37
43
  allowClientSecret?: boolean;
@@ -86,7 +92,7 @@ export declare class OAuthSessionStore {
86
92
  saveClientInformation(clientInformation: OAuthClientInformation, ctx?: OAuthClientInformationContext): Promise<void>;
87
93
  saveCodeVerifier(codeVerifier: string): Promise<void>;
88
94
  codeVerifier(): Promise<string>;
89
- invalidateCredentials(scope: "all" | "client" | "tokens" | "verifier" | "discovery"): Promise<void>;
95
+ invalidateCredentials(scope: "all" | "registration" | "client" | "tokens" | "verifier" | "discovery"): Promise<void>;
90
96
  /**
91
97
  * Persist the OAuth discovery state (authorization-server metadata resolved
92
98
  * during the auth flow). Stored with the same durability as the code
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,23 @@ export interface KVStore {
12
12
  keys(): Promise<string[]> | string[];
13
13
  }
14
14
  /**
15
- * `KVStore` implementation backed by `globalThis.localStorage`.
15
+ * Encrypted `KVStore` backed by `globalThis.localStorage`.
16
+ *
17
+ * Values use AES-256-GCM with a non-extractable origin key held by IndexedDB.
18
+ * Legacy plaintext values are encrypted on first read. When durable browser
19
+ * cryptography is unavailable, the store removes plaintext and falls back to
20
+ * memory for the lifetime of this instance.
16
21
  *
17
22
  * @internal
18
23
  */
19
24
  export declare class LocalStorageKVStore implements KVStore {
20
- get(key: string): string | null;
21
- set(key: string, value: string): void;
25
+ private readonly fallback;
26
+ private keyPromise;
27
+ private durable;
28
+ get(key: string): Promise<string | null>;
29
+ set(key: string, value: string): Promise<void>;
22
30
  remove(key: string): void;
23
31
  keys(): string[];
32
+ private getCryptoKey;
24
33
  }
25
34
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/auth/storage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACzD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,OAAO;IACjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,IAAI,IAAI,MAAM,EAAE;CAQjB"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/auth/storage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACzD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;CACtC;AAeD;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,OAAO;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,OAAO,CAAQ;IAEjB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoCxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCpD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IASzB,IAAI,IAAI,MAAM,EAAE;IAehB,OAAO,CAAC,YAAY;CAIrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor-e2b.d.ts","sourceRoot":"","sources":["../../src/code-mode/executor-e2b.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAKvE;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB;IAM1D;;;OAGG;YACW,kBAAkB;IAgBhC;;OAEG;YACW,0BAA0B;IAcxC;;;OAGG;IACH,OAAO,CAAC,YAAY;IA6FpB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAwKtE;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B"}
1
+ {"version":3,"file":"executor-e2b.d.ts","sourceRoot":"","sources":["../../src/code-mode/executor-e2b.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAKvE;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB;IAM1D;;;OAGG;YACW,kBAAkB;IAgBhC;;OAEG;YACW,0BAA0B;IAcxC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAoGpB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAwKtE;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B"}
@@ -10,7 +10,7 @@ import type { MCPConnection } from "./session.js";
10
10
  * sessions, and configurations. It works in both Node.js and browser environments
11
11
  * by delegating platform-specific operations to concrete implementations.
12
12
  *
13
- * Platform-specific implementations (like {@link MCPClient} for Node.js) should
13
+ * Platform-specific implementations such as the Node.js `MCPClient` should
14
14
  * extend this class and override the abstract {@link createConnectorFromConfig}
15
15
  * method to provide environment-specific connector creation.
16
16
  *
@@ -29,18 +29,15 @@ import type { MCPConnection } from "./session.js";
29
29
  * });
30
30
  * ```
31
31
  *
32
- * @see {@link MCPClient} for Node.js-specific implementation
33
32
  * @see {@link MCPSession} for session management
34
33
  */
35
34
  export declare abstract class BaseMCPClient {
36
35
  /**
37
36
  * Internal configuration object containing MCP server definitions.
38
- * @protected
39
37
  */
40
38
  protected config: MCPClientConfigShape;
41
39
  /**
42
40
  * Map of server names to their active sessions.
43
- * @protected
44
41
  */
45
42
  protected sessions: Record<string, MCPSession>;
46
43
  /**
@@ -80,7 +77,7 @@ export declare abstract class BaseMCPClient {
80
77
  *
81
78
  * @param _cfg - Configuration dictionary
82
79
  * @returns Client instance
83
- * @throws {Error} If called on the base class instead of a concrete implementation
80
+ * @throws If called on the base class instead of a concrete implementation
84
81
  *
85
82
  * @example
86
83
  * ```typescript
@@ -199,7 +196,6 @@ export declare abstract class BaseMCPClient {
199
196
  *
200
197
  * @param serverConfig - Server configuration object
201
198
  * @returns Platform-specific connector instance
202
- * @protected
203
199
  */
204
200
  protected abstract createConnectorFromConfig(serverConfig: ServerConfig): BaseConnector | Promise<BaseConnector>;
205
201
  /**
@@ -223,7 +219,7 @@ export declare abstract class BaseMCPClient {
223
219
  * @param serverName - The name of the server as defined in the client configuration
224
220
  * @param autoInitialize - Whether to automatically initialize the session (default: true)
225
221
  * @returns A promise that resolves to the created MCPSession instance
226
- * @throws {Error} If the server is not found in the configuration
222
+ * @throws If the server is not found in the configuration
227
223
  *
228
224
  * @example
229
225
  * ```typescript
@@ -319,7 +315,7 @@ export declare abstract class BaseMCPClient {
319
315
  *
320
316
  * @param serverName - Name of the server
321
317
  * @returns The session instance
322
- * @throws {Error} If the session is not found
318
+ * @throws If the session is not found
323
319
  *
324
320
  * @example
325
321
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,23 @@ import type { BaseConnector } from "../transport/base.js";
4
4
  import { BaseMCPClient } from "./base.js";
5
5
  export declare class BrowserMCPClient extends BaseMCPClient {
6
6
  /**
7
- * Get the mcp-use package version.
8
- * Works in all environments (Node.js, browser, Cloudflare Workers, Deno, etc.)
7
+ * Returns the installed `@mcp-use/client` package version.
8
+ *
9
+ * @returns The package version string.
9
10
  */
10
11
  static getPackageVersion(): string;
12
+ /**
13
+ * Creates a browser MCP client.
14
+ *
15
+ * @param config - Client configuration containing an optional `mcpServers` map.
16
+ */
11
17
  constructor(config?: Record<string, any>);
18
+ /**
19
+ * Creates a browser client from an inline configuration object.
20
+ *
21
+ * @param cfg - Client configuration containing an optional `mcpServers` map.
22
+ * @returns A browser client initialized with `cfg`.
23
+ */
12
24
  static fromDict(cfg: Record<string, any>): BrowserMCPClient;
13
25
  protected createDefaultOAuthProvider(serverUrl: string, options?: AutoOAuthOptions): Promise<OAuthClientProvider>;
14
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/core/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA4B1C,qBAAa,gBAAiB,SAAQ,aAAa;IACjD;;;OAGG;WACW,iBAAiB,IAAI,MAAM;gBAI7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAK1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB;cAIlD,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;OAGG;IACH,SAAS,CAAC,yBAAyB,CACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,aAAa;CAyDjB"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/core/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA0B1C,qBAAa,gBAAiB,SAAQ,aAAa;IACjD;;;;OAIG;WACW,iBAAiB,IAAI,MAAM;IAIzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKxC;;;;;OAKG;WACW,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB;cAIlD,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;OAGG;IACH,SAAS,CAAC,yBAAyB,CACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,aAAa;CAyDjB"}