@opentiny/next-sdk 0.2.8 → 0.2.10

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.
package/dist/index.js CHANGED
@@ -1,29 +1,29 @@
1
- import { default as Gn } from "ajv";
2
- import { z as te } from "zod";
3
- import { z as Yn } from "zod";
4
- import { MessageChannelServerTransport as Te, createTransportPair as Nt, MessageChannelClientTransport as Me, sseOptions as jt, streamOptions as Zt, createSseProxy as qt, createSocketProxy as zt, createStreamProxy as Dt, MessageChannelTransport as Ht } from "@opentiny/next";
5
- import { AuthClientProvider as Xn } from "@opentiny/next";
6
- import { McpServer as ct } from "@modelcontextprotocol/sdk/server/mcp.js";
7
- import { ResourceTemplate as to } from "@modelcontextprotocol/sdk/server/mcp.js";
8
- import { UriTemplate as no } from "@modelcontextprotocol/sdk/shared/uriTemplate.js";
9
- import { completable as so } from "@modelcontextprotocol/sdk/server/completable.js";
10
- import { getDisplayName as ao } from "@modelcontextprotocol/sdk/shared/metadataUtils.js";
11
- import { InMemoryTransport as Ft } from "@modelcontextprotocol/sdk/inMemory.js";
12
- import { InMemoryTransport as lo } from "@modelcontextprotocol/sdk/inMemory.js";
13
- import { SetLevelRequestSchema as qe, SubscribeRequestSchema as Bt, UnsubscribeRequestSchema as Vt, ListResourcesRequestSchema as Jt, RootsListChangedNotificationSchema as Wt, CallToolResultSchema as Gt, ElicitRequestSchema as Kt, CreateMessageRequestSchema as Yt, ListRootsRequestSchema as Qt, ToolListChangedNotificationSchema as Xt, PromptListChangedNotificationSchema as e2, ResourceListChangedNotificationSchema as t2, ResourceUpdatedNotificationSchema as r2, LoggingMessageNotificationSchema as n2, JSONRPCMessageSchema as Ee } from "@modelcontextprotocol/sdk/types.js";
14
- import { Client as lt } from "@modelcontextprotocol/sdk/client/index.js";
15
- import { SSEClientTransport as Re } from "@modelcontextprotocol/sdk/client/sse.js";
16
- import { StreamableHTTPClientTransport as ue } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
17
- import { WebSocketClientTransport as o2 } from "@modelcontextprotocol/sdk/client/websocket.js";
18
- import ze from "qrcode";
19
- import { dynamicTool as s2, jsonSchema as i2, generateText as De, streamText as me, stepCountIs as a2, tool as c2 } from "ai";
20
- import { TypeValidationError as Ce, JSONParseError as He, InvalidArgumentError as l2, AISDKError as ne } from "@ai-sdk/provider";
21
- import * as Fe from "zod/v4";
1
+ import { default as Qn } from "ajv";
2
+ import { z as G } from "zod";
3
+ import { z as eo } from "zod";
4
+ import { MessageChannelServerTransport as Ee, createTransportPair as zt, MessageChannelClientTransport as Re, sseOptions as Dt, streamOptions as Ht, createSseProxy as Ft, createSocketProxy as Bt, createStreamProxy as Vt, MessageChannelTransport as Wt } from "@opentiny/next";
5
+ import { AuthClientProvider as ro } from "@opentiny/next";
6
+ import { McpServer as lt } from "@modelcontextprotocol/sdk/server/mcp.js";
7
+ import { ResourceTemplate as oo } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ import { UriTemplate as io } from "@modelcontextprotocol/sdk/shared/uriTemplate.js";
9
+ import { completable as co } from "@modelcontextprotocol/sdk/server/completable.js";
10
+ import { getDisplayName as uo } from "@modelcontextprotocol/sdk/shared/metadataUtils.js";
11
+ import { InMemoryTransport as Jt } from "@modelcontextprotocol/sdk/inMemory.js";
12
+ import { InMemoryTransport as ho } from "@modelcontextprotocol/sdk/inMemory.js";
13
+ import { SetLevelRequestSchema as De, SubscribeRequestSchema as Gt, UnsubscribeRequestSchema as Kt, ListResourcesRequestSchema as Yt, RootsListChangedNotificationSchema as Qt, CallToolResultSchema as Xt, ElicitRequestSchema as e2, CreateMessageRequestSchema as t2, ListRootsRequestSchema as r2, ToolListChangedNotificationSchema as n2, PromptListChangedNotificationSchema as o2, ResourceListChangedNotificationSchema as s2, ResourceUpdatedNotificationSchema as i2, LoggingMessageNotificationSchema as a2, JSONRPCMessageSchema as Ie } from "@modelcontextprotocol/sdk/types.js";
14
+ import { Client as dt } from "@modelcontextprotocol/sdk/client/index.js";
15
+ import { SSEClientTransport as he } from "@modelcontextprotocol/sdk/client/sse.js";
16
+ import { StreamableHTTPClientTransport as me } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
17
+ import { WebSocketClientTransport as c2 } from "@modelcontextprotocol/sdk/client/websocket.js";
18
+ import He from "qrcode";
19
+ import { dynamicTool as l2, jsonSchema as d2, generateText as Fe, streamText as ye, stepCountIs as u2, tool as p2 } from "ai";
20
+ import { TypeValidationError as xe, JSONParseError as Be, InvalidArgumentError as h2, AISDKError as oe } from "@ai-sdk/provider";
21
+ import * as Ve from "zod/v4";
22
22
  import { z as i } from "zod/v4";
23
23
  import { ZodFirstPartyTypeKind as w } from "zod/v3";
24
- import { createOpenAI as d2 } from "@ai-sdk/openai";
25
- import { createDeepSeek as u2 } from "@ai-sdk/deepseek";
26
- class xn {
24
+ import { createOpenAI as m2 } from "@ai-sdk/openai";
25
+ import { createDeepSeek as f2 } from "@ai-sdk/deepseek";
26
+ class kn {
27
27
  constructor(e, r) {
28
28
  const n = {
29
29
  name: "web-mcp-server",
@@ -35,19 +35,19 @@ class xn {
35
35
  completions: {},
36
36
  logging: {}
37
37
  };
38
- this.server = new ct(e || n, r || { capabilities: o }), this.server.server.oninitialized = () => {
38
+ this.server = new lt(e || n, r || { capabilities: o }), this.server.server.oninitialized = () => {
39
39
  this.oninitialized?.();
40
40
  }, this.server.server.onclose = () => {
41
41
  this.onclose?.();
42
42
  }, this.server.server.onerror = (s) => {
43
43
  this.onerror?.(s);
44
- }, this.server.server.setRequestHandler(qe, async () => ({}));
44
+ }, this.server.server.setRequestHandler(De, async () => ({}));
45
45
  }
46
46
  /**
47
47
  * Connects the server to a transport via the specified option.
48
48
  */
49
49
  async connect(e) {
50
- return typeof e.start == "function" ? (this.transport = e, this.transport.onclose = void 0, this.transport.onerror = void 0, this.transport.onmessage = void 0) : (this.transport = new Te(e), await this.transport.listen()), await this.server.connect(this.transport), this.transport;
50
+ return typeof e.start == "function" ? (this.transport = e, this.transport.onclose = void 0, this.transport.onerror = void 0, this.transport.onmessage = void 0) : (this.transport = new Ee(e), await this.transport.listen()), await this.server.connect(this.transport), this.transport;
51
51
  }
52
52
  /**
53
53
  * Closes the connection.
@@ -189,31 +189,31 @@ class xn {
189
189
  * Registers a handler for the subscribe request.
190
190
  */
191
191
  onSubscribe(e) {
192
- this.server.server.setRequestHandler(Bt, e);
192
+ this.server.server.setRequestHandler(Gt, e);
193
193
  }
194
194
  /**
195
195
  * Registers a handler for the unsubscribe request.
196
196
  */
197
197
  onUnsubscribe(e) {
198
- this.server.server.setRequestHandler(Vt, e);
198
+ this.server.server.setRequestHandler(Kt, e);
199
199
  }
200
200
  /**
201
201
  * Registers a handler for the set log level request.
202
202
  */
203
203
  onSetLogLevel(e) {
204
- this.server.server.setRequestHandler(qe, e);
204
+ this.server.server.setRequestHandler(De, e);
205
205
  }
206
206
  /**
207
207
  * Registers a handler for the list tools request.
208
208
  */
209
209
  onListResources(e) {
210
- this.server.server.setRequestHandler(Jt, e);
210
+ this.server.server.setRequestHandler(Yt, e);
211
211
  }
212
212
  /**
213
213
  * Registers a handler for the roots list changed notification.
214
214
  */
215
215
  onRootsListChanged(e) {
216
- this.server.server.setNotificationHandler(Wt, e);
216
+ this.server.server.setNotificationHandler(Qt, e);
217
217
  }
218
218
  /**
219
219
  * Close the transport for window.addEventListener('pagehide')
@@ -222,8 +222,8 @@ class xn {
222
222
  e.persisted || this.transport && typeof this.transport.close == "function" && await this.transport.close();
223
223
  }
224
224
  }
225
- const Ln = (t, e) => new Te(t, e), kn = () => Nt(), Sn = (t) => t instanceof Te, Pn = (t) => t instanceof ct;
226
- class p2 {
225
+ const Sn = (t, e) => new Ee(t, e), Pn = () => zt(), Tn = (t) => t instanceof Ee, Mn = (t) => t instanceof lt;
226
+ class g2 {
227
227
  constructor(e, r) {
228
228
  const n = {
229
229
  name: "web-mcp-client",
@@ -233,7 +233,7 @@ class p2 {
233
233
  sampling: {},
234
234
  elicitation: {}
235
235
  };
236
- this.client = new lt(e || n, r || { capabilities: o }), this.client.onclose = () => {
236
+ this.client = new dt(e || n, r || { capabilities: o }), this.client.onclose = () => {
237
237
  this.onclose?.();
238
238
  }, this.client.onerror = (s) => {
239
239
  this.onerror?.(s);
@@ -245,28 +245,28 @@ class p2 {
245
245
  async connect(e) {
246
246
  if (typeof e.start == "function")
247
247
  return this.transport = e, this.transport.onclose = void 0, this.transport.onerror = void 0, this.transport.onmessage = void 0, await this.client.connect(this.transport), { transport: this.transport, sessionId: this.transport.sessionId };
248
- const { url: r, token: n, sessionId: o, type: s, agent: a, onError: l } = e;
248
+ const { url: r, token: n, sessionId: o, type: s, agent: a, onError: c } = e;
249
249
  if (a === !0) {
250
250
  const u = { client: this.client, url: r, token: n, sessionId: o };
251
251
  let g;
252
252
  return await (async () => {
253
- const { transport: f, sessionId: y } = s === "sse" ? await qt(u) : s === "socket" ? await zt(u) : await Dt(u);
253
+ const { transport: f, sessionId: y } = s === "sse" ? await Ft(u) : s === "socket" ? await Bt(u) : await Vt(u);
254
254
  f.onerror = async (h) => {
255
- l?.(h);
255
+ c?.(h);
256
256
  }, g = { transport: f, sessionId: y };
257
257
  })(), g;
258
258
  }
259
259
  const d = new URL(r);
260
- let c;
261
- if (s === "channel" && (c = new Me(r), await this.client.connect(c)), s === "sse") {
262
- const u = jt(n, o);
263
- c = new Re(d, u), await this.client.connect(c);
260
+ let l;
261
+ if (s === "channel" && (l = new Re(r), await this.client.connect(l)), s === "sse") {
262
+ const u = Dt(n, o);
263
+ l = new he(d, u), await this.client.connect(l);
264
264
  }
265
- if (s === "socket" && (c = new o2(new URL(`${r}?sessionId=${o}&token=${n}`)), c.sessionId = o, await this.client.connect(c)), typeof c > "u") {
266
- const u = Zt(n, o);
267
- c = new ue(d, u), await this.client.connect(c);
265
+ if (s === "socket" && (l = new c2(new URL(`${r}?sessionId=${o}&token=${n}`)), l.sessionId = o, await this.client.connect(l)), typeof l > "u") {
266
+ const u = Ht(n, o);
267
+ l = new me(d, u), await this.client.connect(l);
268
268
  }
269
- return this.transport = c, { transport: this.transport, sessionId: this.transport.sessionId };
269
+ return this.transport = l, { transport: this.transport, sessionId: this.transport.sessionId };
270
270
  }
271
271
  /**
272
272
  * Closes the connection.
@@ -356,7 +356,7 @@ class p2 {
356
356
  * Calls a tool on the server with the given parameters.
357
357
  */
358
358
  async callTool(e, r) {
359
- return await this.client.callTool(e, Gt, r);
359
+ return await this.client.callTool(e, Xt, r);
360
360
  }
361
361
  /**
362
362
  * Lists all tools available on the server.
@@ -416,65 +416,65 @@ class p2 {
416
416
  * Registers a handler for the elicitation request.
417
417
  */
418
418
  onElicit(e) {
419
- this.client.setRequestHandler(Kt, e);
419
+ this.client.setRequestHandler(e2, e);
420
420
  }
421
421
  /**
422
422
  * Registers a handler for the create LLM message request.
423
423
  */
424
424
  onCreateMessage(e) {
425
- this.client.setRequestHandler(Yt, e);
425
+ this.client.setRequestHandler(t2, e);
426
426
  }
427
427
  /**
428
428
  * Registers a handler for the list roots request.
429
429
  */
430
430
  onListRoots(e) {
431
- this.client.setRequestHandler(Qt, e);
431
+ this.client.setRequestHandler(r2, e);
432
432
  }
433
433
  /**
434
434
  * Registers a handler for the tool list changed notification.
435
435
  */
436
436
  onToolListChanged(e) {
437
- this.client.setNotificationHandler(Xt, e);
437
+ this.client.setNotificationHandler(n2, e);
438
438
  }
439
439
  /**
440
440
  * Registers a handler for the prompt list changed notification.
441
441
  */
442
442
  onPromptListChanged(e) {
443
- this.client.setNotificationHandler(e2, e);
443
+ this.client.setNotificationHandler(o2, e);
444
444
  }
445
445
  /**
446
446
  * Registers a handler for the resource list changed notification.
447
447
  */
448
448
  onResourceListChanged(e) {
449
- this.client.setNotificationHandler(t2, e);
449
+ this.client.setNotificationHandler(s2, e);
450
450
  }
451
451
  /**
452
452
  * Registers a handler for the resource updated notification.
453
453
  */
454
454
  onResourceUpdated(e) {
455
- this.client.setNotificationHandler(r2, e);
455
+ this.client.setNotificationHandler(i2, e);
456
456
  }
457
457
  /**
458
458
  * Registers a handler for the logging message notification.
459
459
  */
460
460
  onLoggingMessage(e) {
461
- this.client.setNotificationHandler(n2, e);
461
+ this.client.setNotificationHandler(a2, e);
462
462
  }
463
463
  /**
464
464
  * Close the transport for window.addEventListener('pagehide')
465
465
  */
466
466
  async onPagehide(e) {
467
- e.persisted || (h2(this.transport) ? await this.transport.terminateSession() : this.transport && typeof this.transport.close == "function" && await this.transport.close());
467
+ e.persisted || (y2(this.transport) ? await this.transport.terminateSession() : this.transport && typeof this.transport.close == "function" && await this.transport.close());
468
468
  }
469
469
  }
470
- const Tn = (t, e) => new Re(t, e), Mn = (t, e) => new ue(t, e), En = (t, e) => new Me(t, e), Rn = (t) => t instanceof Re, h2 = (t) => t instanceof ue, In = (t) => t instanceof Me, An = (t) => t instanceof lt, D = (t, e, r) => {
470
+ const En = (t, e) => new he(t, e), Rn = (t, e) => new me(t, e), In = (t, e) => new Re(t, e), An = (t) => t instanceof he, y2 = (t) => t instanceof me, On = (t) => t instanceof Re, $n = (t) => t instanceof dt, D = (t, e, r) => {
471
471
  window.postMessage({ type: t, direction: r, data: e }, "*");
472
- }, Be = (t, e, r) => {
472
+ }, We = (t, e, r) => {
473
473
  const n = async function(o) {
474
474
  o.source === window && o.data.type === t && o.data.direction === r && await e(o.data.data);
475
475
  };
476
476
  return window.addEventListener("message", n), () => window.removeEventListener("message", n);
477
- }, _e = (t, e, r) => {
477
+ }, Le = (t, e, r) => {
478
478
  if (r.endsWith("content"))
479
479
  chrome.tabs.query({}, (n) => {
480
480
  n.forEach((o) => {
@@ -483,23 +483,23 @@ const Tn = (t, e) => new Re(t, e), Mn = (t, e) => new ue(t, e), En = (t, e) => n
483
483
  });
484
484
  else
485
485
  return chrome.runtime.sendMessage({ direction: r, type: t, data: e });
486
- }, be = (t, e, r, n) => {
487
- const o = (s, a, l) => {
486
+ }, ke = (t, e, r, n) => {
487
+ const o = (s, a, c) => {
488
488
  if (s.type === t && s.direction === r && (!n || n && s.tabId === n)) {
489
489
  const { data: d } = s;
490
- e(d, a, l), l(a);
490
+ e(d, a, c), c(a);
491
491
  }
492
492
  };
493
493
  return chrome.runtime.onMessage.addListener(o), () => chrome.runtime.onMessage.removeListener(o);
494
494
  };
495
- class m2 {
495
+ class w2 {
496
496
  constructor(e) {
497
- this._isStarted = !1, this._isClosed = !1, this.targetSessionId = e, this._messageListener = be(
497
+ this._isStarted = !1, this._isClosed = !1, this.targetSessionId = e, this._messageListener = ke(
498
498
  "mcp-server-to-client",
499
499
  (r) => {
500
500
  try {
501
501
  if (r.sessionId !== this.targetSessionId) return;
502
- const n = Ee.parse(r.mcpMessage);
502
+ const n = Ie.parse(r.mcpMessage);
503
503
  this.onmessage?.(n);
504
504
  } catch (n) {
505
505
  console.log("【Client Transport】处理server消息错误:", n);
@@ -525,7 +525,7 @@ class m2 {
525
525
  const n = chrome.sessionRegistry.get(this.targetSessionId);
526
526
  this._throwError(() => !n, `【Client Transport】sessionRegistry中未找到${this.targetSessionId}`);
527
527
  const o = n.tabIds[n.tabIds.length - 1];
528
- _e(
528
+ Le(
529
529
  "mcp-client-to-server",
530
530
  { sessionId: this.targetSessionId, tabId: o, mcpMessage: e },
531
531
  "side->content"
@@ -541,13 +541,13 @@ class m2 {
541
541
  }
542
542
  }
543
543
  }
544
- const Ie = () => typeof crypto < "u" && crypto.randomUUID ? crypto.randomUUID() : "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (t) => {
544
+ const Ae = () => typeof crypto < "u" && crypto.randomUUID ? crypto.randomUUID() : "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (t) => {
545
545
  const e = Math.random() * 16 | 0;
546
546
  return (t === "x" ? e : e & 3 | 8).toString(16);
547
547
  });
548
- class On {
548
+ class Un {
549
549
  constructor(e = null) {
550
- this._isStarted = !1, this._isClosed = !1, this._lastRegistration = null, this.sessionId = e || Ie(), this._messageListener1 = Be(
550
+ this._isStarted = !1, this._isClosed = !1, this._lastRegistration = null, this.sessionId = e || Ae(), this._messageListener1 = We(
551
551
  "sidepanel-ready-to-page",
552
552
  () => {
553
553
  this._lastRegistration && this._isStarted && this.notifyRegistration(this._lastRegistration).catch((r) => {
@@ -555,12 +555,12 @@ class On {
555
555
  });
556
556
  },
557
557
  "content->page"
558
- ), this._messageListener2 = Be(
558
+ ), this._messageListener2 = We(
559
559
  "mcp-client-to-server-to-page",
560
560
  (r) => {
561
561
  if (r.sessionId !== this.sessionId) return;
562
562
  console.log("【Page Svr Transport】 即将处理 mcpMessage", r.mcpMessage);
563
- const n = Ee.parse(r.mcpMessage);
563
+ const n = Ie.parse(r.mcpMessage);
564
564
  this.onmessage?.(n), r.mcpMessage.params?.name && D(
565
565
  "update-page-app-message",
566
566
  { status: "run", message: r.mcpMessage.params?.name },
@@ -630,9 +630,9 @@ class On {
630
630
  }
631
631
  }
632
632
  }
633
- class $n {
633
+ class Nn {
634
634
  constructor(e = null, r) {
635
- this._isStarted = !1, this._isClosed = !1, this._lastRegistration = null, this.sessionId = e || Ie(), this.tabId = r, be(
635
+ this._isStarted = !1, this._isClosed = !1, this._lastRegistration = null, this.sessionId = e || Ae(), this.tabId = r, ke(
636
636
  "sidepanel-ready",
637
637
  () => {
638
638
  this._lastRegistration && this._isStarted && this.notifyRegistration(this._lastRegistration).catch((n) => {
@@ -654,13 +654,13 @@ class $n {
654
654
  async start() {
655
655
  if (console.log("【Content Svr Transport】 启动 start", this.sessionId), !this._isStarted) {
656
656
  if (this._isClosed) throw new Error("【Content Svr Transport】 已关闭,无法重新启动");
657
- be(
657
+ ke(
658
658
  "mcp-client-to-server",
659
659
  (e) => {
660
660
  if (!(e.sessionId !== this.sessionId || e.tabId !== this.tabId))
661
661
  try {
662
662
  console.log("【Content Svr Transport】 即将处理 mcpMessage", e.mcpMessage);
663
- const r = Ee.parse(e.mcpMessage);
663
+ const r = Ie.parse(e.mcpMessage);
664
664
  this.onmessage?.(r), e.mcpMessage.params?.name && D(
665
665
  "update-page-app-message",
666
666
  { status: "run", message: e.mcpMessage.params?.name },
@@ -680,7 +680,7 @@ class $n {
680
680
  async send(e, r) {
681
681
  this._throwError(() => !this._isStarted, "【Content Svr Transport】 未启动,无法发送消息"), this._throwError(() => this._isClosed, "【Content Svr Transport】 已关闭,无法发送消息");
682
682
  try {
683
- console.log("【Content Svr Transport】 发送消息到 MCP Client", e), _e(
683
+ console.log("【Content Svr Transport】 发送消息到 MCP Client", e), Le(
684
684
  "mcp-server-to-client",
685
685
  {
686
686
  sessionId: this.sessionId,
@@ -699,7 +699,7 @@ class $n {
699
699
  }
700
700
  /** 通知 Sidepanel 此 Server 已启动并准备接受连接 */
701
701
  async notifyRegistration(e) {
702
- this._isStarted && (this._lastRegistration = e, _e(
702
+ this._isStarted && (this._lastRegistration = e, Le(
703
703
  "mcp-server-register",
704
704
  {
705
705
  sessionId: this.sessionId,
@@ -721,7 +721,7 @@ class $n {
721
721
  }
722
722
  }
723
723
  }
724
- class f2 {
724
+ class v2 {
725
725
  constructor(e, { size: r = 200, margin: n = 4, color: o = "#000", bgColor: s = "#fff" }) {
726
726
  this.value = e, this.size = r, this.margin = n, this.color = o, this.bgColor = s;
727
727
  }
@@ -739,18 +739,18 @@ class f2 {
739
739
  }
740
740
  /** 生成二维码的 Data URL(base64 图片) */
741
741
  async toDataURL() {
742
- return ze.toDataURL(this.value, this.qrCodeOption);
742
+ return He.toDataURL(this.value, this.qrCodeOption);
743
743
  }
744
744
  /** 渲染二维码到指定的 canvas 元素 */
745
745
  async toCanvas(e) {
746
- return ze.toCanvas(e, this.value, this.qrCodeOption);
746
+ return He.toCanvas(e, this.value, this.qrCodeOption);
747
747
  }
748
748
  /** 渲染二维码到指定的 img 元素 */
749
749
  async toImage(e) {
750
750
  e.src = await this.toDataURL();
751
751
  }
752
752
  }
753
- const g2 = {
753
+ const C2 = {
754
754
  content: "",
755
755
  placement: "top",
756
756
  trigger: "hover",
@@ -759,10 +759,10 @@ const g2 = {
759
759
  container: document.body,
760
760
  className: "tiny-remoter-native-tooltip"
761
761
  };
762
- class y2 {
762
+ class _2 {
763
763
  constructor(e, r = {}) {
764
764
  if (this.tip = null, this.showTimer = 0, this.hideTimer = 0, this.clickOutside = null, this.el = typeof e == "string" ? document.querySelector(e) : e, !this.el) throw new Error("Tooltip: invalid element");
765
- this.opts = { ...g2, ...r }, this.bindEvents();
765
+ this.opts = { ...C2, ...r }, this.bindEvents();
766
766
  }
767
767
  /* 公开 API */
768
768
  open() {
@@ -808,9 +808,9 @@ class y2 {
808
808
  this.applyStyle(this.calcStyle("top"));
809
809
  }
810
810
  calcStyle(e) {
811
- const r = this.el.getBoundingClientRect(), n = this.tip.getBoundingClientRect(), o = window.pageYOffset || document.documentElement.scrollTop, s = window.pageXOffset || document.documentElement.scrollLeft, a = 6, [l, d = "center"] = e.split("-");
812
- let c = 0, u = 0;
813
- return l === "top" ? c = r.top + o - n.height - a : l === "bottom" ? c = r.bottom + o + a : l === "left" ? u = r.left + s - n.width - a : l === "right" && (u = r.right + s + a), (l === "top" || l === "bottom") && (d === "start" ? u = r.left + s : d === "end" ? u = r.right + s - n.width : u = (r.left + r.right) / 2 + s - n.width / 2), (l === "left" || l === "right") && (d === "start" ? c = r.top + o : d === "end" ? c = r.bottom + o - n.height : c = (r.top + r.bottom) / 2 + o - n.height / 2), { top: Math.round(c), left: Math.round(u) };
811
+ const r = this.el.getBoundingClientRect(), n = this.tip.getBoundingClientRect(), o = window.pageYOffset || document.documentElement.scrollTop, s = window.pageXOffset || document.documentElement.scrollLeft, a = 6, [c, d = "center"] = e.split("-");
812
+ let l = 0, u = 0;
813
+ return c === "top" ? l = r.top + o - n.height - a : c === "bottom" ? l = r.bottom + o + a : c === "left" ? u = r.left + s - n.width - a : c === "right" && (u = r.right + s + a), (c === "top" || c === "bottom") && (d === "start" ? u = r.left + s : d === "end" ? u = r.right + s - n.width : u = (r.left + r.right) / 2 + s - n.width / 2), (c === "left" || c === "right") && (d === "start" ? l = r.top + o : d === "end" ? l = r.bottom + o - n.height : l = (r.top + r.bottom) / 2 + o - n.height / 2), { top: Math.round(l), left: Math.round(u) };
814
814
  }
815
815
  applyStyle({ top: e, left: r }) {
816
816
  Object.assign(this.tip.style, {
@@ -848,11 +848,11 @@ class y2 {
848
848
  return !!this.tip?.parentNode;
849
849
  }
850
850
  }
851
- const Ve = "tiny-remoter-native-tooltip-style";
851
+ const Je = "tiny-remoter-native-tooltip-style";
852
852
  (() => {
853
- if (document.getElementById(Ve)) return;
853
+ if (document.getElementById(Je)) return;
854
854
  const t = document.createElement("style");
855
- t.id = Ve, t.textContent = `
855
+ t.id = Je, t.textContent = `
856
856
  .tiny-remoter-native-tooltip {
857
857
  position: absolute;
858
858
  z-index: 9999;
@@ -901,7 +901,7 @@ const Ve = "tiny-remoter-native-tooltip-style";
901
901
  }
902
902
  `, document.head.appendChild(t);
903
903
  })();
904
- const w2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2039.9692'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='39.969238'%20fill='none'%20customFrame='url(%23clipPath_3)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_3'%3e%3crect%20width='40.000000'%20height='39.969238'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_4'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='7.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_5'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_6'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_7'%3e%3crect%20width='21.666666'%20height='13.333333'%20x='20.000000'%20y='9.984619'%20rx='6.666667'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_8'%3e%3crect%20width='6.666667'%20height='6.666667'%20x='23.333496'%20y='9.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='2'%20width='40.000000'%20height='39.969238'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(239,246,255)'%20/%3e%3cg%20id='物业'%20clip-path='url(%23clipPath_4)'%20customFrame='url(%23clipPath_4)'%3e%3crect%20id='物业'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='7.984619'%20/%3e%3cg%20id='物业服务'%3e%3cg%20id='00公共/红点/图标+红点'%20customFrame='url(%23clipPath_5)'%3e%3crect%20id='00公共/红点/图标+红点'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20/%3e%3cg%20id='common_chats_line'%20customFrame='url(%23clipPath_6)'%3e%3crect%20id='common_chats_line'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20/%3e%3cpath%20id='形状'%20d='M28.3332%2019.9847C28.3332%2015.3823%2024.6022%2011.6514%2019.9998%2011.6514C15.3975%2011.6514%2011.6665%2015.3823%2011.6665%2019.9847C11.6665%2024.5871%2015.3975%2028.318%2019.9998%2028.318C21.0018%2028.318%2021.9624%2028.1412%2022.8522%2027.8171L26.581%2028.1578C26.7205%2028.1706%2026.8611%2028.1598%2026.9971%2028.1259C27.6669%2027.959%2028.0746%2027.2806%2027.9077%2026.6108L27.2716%2024.0578C27.9477%2022.8535%2028.3332%2021.4641%2028.3332%2019.9847ZM19.9998%2013.1514C16.2259%2013.1514%2013.1665%2016.2108%2013.1665%2019.9847C13.1665%2023.7586%2016.2259%2026.818%2019.9998%2026.818C20.8089%2026.818%2021.5967%2026.678%2022.3388%2026.4077C22.505%2026.3471%2022.6803%2026.3166%2022.8565%2026.3171L22.9887%2026.3233L26.3665%2026.6322L25.8161%2024.4205C25.7352%2024.0958%2025.7655%2023.7548%2025.8997%2023.4512L25.9636%2023.3236C26.5311%2022.3126%2026.8332%2021.1723%2026.8332%2019.9847C26.8332%2016.2108%2023.7738%2013.1514%2019.9998%2013.1514ZM23.1152%2021.2468C23.352%2020.9069%2023.2684%2020.4394%2022.9286%2020.2026C22.5887%2019.9659%2022.1212%2020.0494%2021.8845%2020.3893C21.2894%2021.2433%2020.4268%2021.7347%2019.5102%2021.7347C18.9513%2021.7347%2018.4132%2021.554%2017.9375%2021.2122C17.6011%2020.9705%2017.1325%2021.0472%2016.8908%2021.3836C16.6491%2021.7199%2016.7258%2022.1886%2017.0622%2022.4303C17.7879%2022.9518%2018.6305%2023.2347%2019.5102%2023.2347C20.9394%2023.2347%2022.2505%2022.4878%2023.1152%2021.2468Z'%20fill='rgb(65,142,255)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3cg%20id='00公共/3位数红点'%20opacity='0'%20customFrame='url(%23clipPath_7)'%3e%3crect%20id='00公共/3位数红点'%20width='21.666666'%20height='13.333333'%20x='20.000000'%20y='9.984619'%20rx='6.666667'%20opacity='0'%20fill='rgb(243,111,100)'%20/%3e%3cpath%20id='文本'%20d='M26.0421%2013.4421C26.4259%2013.4421%2026.7677%2013.5255%2027.0675%2013.6923C27.3672%2013.8591%2027.6005%2014.0931%2027.7673%2014.3942C27.9342%2014.694%2028.0176%2015.0351%2028.0176%2015.4176C28.0176%2015.7173%2027.9633%2015.994%2027.8548%2016.2476C27.7463%2016.4999%2027.5673%2016.8315%2027.3177%2017.2425L25.859%2019.6432L25.0167%2019.6432L26.276%2017.5924C26.3534%2017.4704%2026.4307%2017.3564%2026.508%2017.2507C26.3357%2017.3063%2026.1445%2017.3341%2025.9342%2017.3341C25.5721%2017.3341%2025.2493%2017.2479%2024.9658%2017.0757C24.6837%2016.9034%2024.4633%2016.6701%2024.3046%2016.3758C24.1459%2016.0815%2024.0666%2015.7566%2024.0666%2015.4013C24.0666%2015.0351%2024.1513%2014.7021%2024.3209%2014.4023C24.4904%2014.1012%2024.7264%2013.8659%2025.0289%2013.6964C25.3314%2013.5268%2025.6691%2013.4421%2026.0421%2013.4421ZM26.0421%2016.6505C26.4029%2016.6505%2026.6904%2016.5325%2026.9047%2016.2965C27.119%2016.0605%2027.2262%2015.7539%2027.2262%2015.3769C27.2262%2014.9985%2027.119%2014.694%2026.9047%2014.4634C26.6904%2014.2328%2026.4029%2014.1175%2026.0421%2014.1175C25.6867%2014.1175%2025.4019%2014.2342%2025.1876%2014.4674C24.9733%2014.7007%2024.8661%2015.0039%2024.8661%2015.3769C24.8661%2015.7539%2024.9719%2016.0605%2025.1835%2016.2965C25.3951%2016.5325%2025.6813%2016.6505%2026.0421%2016.6505ZM30.7921%2013.4421C31.1759%2013.4421%2031.5177%2013.5255%2031.8175%2013.6923C32.1172%2013.8591%2032.3505%2014.0931%2032.5173%2014.3942C32.6842%2014.694%2032.7676%2015.0351%2032.7676%2015.4176C32.7676%2015.7173%2032.7133%2015.994%2032.6048%2016.2476C32.4963%2016.4999%2032.3173%2016.8315%2032.0677%2017.2425L30.609%2019.6432L29.7667%2019.6432L31.026%2017.5924C31.1034%2017.4704%2031.1807%2017.3564%2031.258%2017.2507C31.0857%2017.3063%2030.8945%2017.3341%2030.6842%2017.3341C30.3221%2017.3341%2029.9993%2017.2479%2029.7158%2017.0757C29.4337%2016.9034%2029.2133%2016.6701%2029.0546%2016.3758C28.8959%2016.0815%2028.8166%2015.7566%2028.8166%2015.4013C28.8166%2015.0351%2028.9013%2014.7021%2029.0709%2014.4023C29.2404%2014.1012%2029.4764%2013.8659%2029.7789%2013.6964C30.0814%2013.5268%2030.4191%2013.4421%2030.7921%2013.4421ZM30.7921%2016.6505C31.1529%2016.6505%2031.4404%2016.5325%2031.6547%2016.2965C31.869%2016.0605%2031.9762%2015.7539%2031.9762%2015.3769C31.9762%2014.9985%2031.869%2014.694%2031.6547%2014.4634C31.4404%2014.2328%2031.1529%2014.1175%2030.7921%2014.1175C30.4367%2014.1175%2030.1519%2014.2342%2029.9376%2014.4674C29.7233%2014.7007%2029.6161%2015.0039%2029.6161%2015.3769C29.6161%2015.7539%2029.7219%2016.0605%2029.9335%2016.2965C30.1451%2016.5325%2030.4313%2016.6505%2030.7921%2016.6505ZM35.2674%2014.6851L35.9001%2014.6851L35.9001%2016.3188L37.5339%2016.3188L37.5339%2016.9516L35.9001%2016.9516L35.9001%2018.5853L35.2674%2018.5853L35.2674%2016.9516L33.6337%2016.9516L33.6337%2016.3188L35.2674%2016.3188L35.2674%2014.6851Z'%20fill='rgb(255,255,255)'%20fill-rule='nonzero'%20/%3e%3c/g%3e%3cg%20id='00公共/单红点'%20opacity='0'%20customFrame='url(%23clipPath_8)'%3e%3crect%20id='00公共/单红点'%20width='6.666667'%20height='6.666667'%20x='23.333496'%20y='9.984619'%20opacity='0'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3ccircle%20id='红点'%20cx='26.6668301'%20cy='13.3179522'%20r='3.33333325'%20fill='rgb(243,111,100)'%20/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", v2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='40.000000'%20fill='none'%20customFrame='url(%23clipPath_12)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_12'%3e%3crect%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_13'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_14'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='4'%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(234,255,244)'%20/%3e%3cg%20id='我的信息'%20clip-path='url(%23clipPath_13)'%20customFrame='url(%23clipPath_13)'%3e%3crect%20id='我的信息'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20/%3e%3cg%20id='组合%208'%20customFrame='url(%23clipPath_14)'%3e%3crect%20id='组合%208'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20/%3e%3cpath%20id='合并'%20d='M28.4994%2012.3142C28.4994%2012.2578%2028.4937%2012.2018%2028.4825%2012.1465C28.4713%2012.0911%2028.4547%2012.0373%2028.4327%2011.9851C28.4107%2011.933%2028.3836%2011.8835%2028.3516%2011.8365C28.3197%2011.7896%2028.2834%2011.7461%2028.2427%2011.7062C28.202%2011.6663%2028.1579%2011.6307%2028.1101%2011.5993C28.0622%2011.568%2028.0117%2011.5415%2027.9585%2011.5199C27.9054%2011.4983%2027.8506%2011.4819%2027.7942%2011.4709C27.7378%2011.4599%2027.6806%2011.4544%2027.6231%2011.4544L24.1832%2011.5199L24.1832%2010L29.0796%2010C29.1472%2010%2029.2143%2010.0065%2029.2806%2010.0194C29.347%2010.0324%2029.4114%2010.0516%2029.4739%2010.077C29.5364%2010.1024%2029.5961%2010.1336%2029.6523%2010.1705C29.7086%2010.2074%2029.7605%2010.2493%2029.8084%2010.2963C29.8562%2010.3433%2029.8991%2010.3944%2029.9367%2010.4496C29.9743%2010.5048%2030.006%2010.5631%2030.0319%2010.6244C30.0578%2010.6858%2030.0773%2010.7491%2030.0905%2010.8142C30.1037%2010.8794%2030.1104%2010.9451%2030.1104%2011.0115L30.1832%2014.4522L28.4992%2014.5L28.4994%2012.3142ZM11.6995%2012.3143C11.6995%2012.2579%2011.7051%2012.2019%2011.7163%2012.1466C11.7275%2012.0912%2011.7441%2012.0374%2011.7661%2011.9852C11.7882%2011.9331%2011.8152%2011.8836%2011.8472%2011.8366C11.8791%2011.7897%2011.9155%2011.7462%2011.9562%2011.7063C11.9968%2011.6664%2012.0409%2011.6308%2012.0888%2011.5994C12.1366%2011.5681%2012.1871%2011.5416%2012.2403%2011.52C12.2934%2011.4984%2012.3482%2011.482%2012.4046%2011.471C12.4611%2011.46%2012.5182%2011.4545%2012.5758%2011.4545L16.0157%2011.52L16.0157%2010.0001L11.1193%2010.0001C11.0516%2010.0001%2010.9846%2010.0066%2010.9182%2010.0196C10.8518%2010.0325%2010.7874%2010.0517%2010.7249%2010.0771C10.6624%2010.1025%2010.6028%2010.1337%2010.5465%2010.1706C10.4902%2010.2075%2010.4383%2010.2494%2010.3904%2010.2964C10.3426%2010.3434%2010.2997%2010.3945%2010.2621%2010.4497C10.2245%2010.5049%2010.1929%2010.5632%2010.167%2010.6245C10.1411%2010.6859%2010.1215%2010.7492%2010.1083%2010.8143C10.0951%2010.8795%2010.0885%2010.9452%2010.0884%2011.0116L10.0157%2014.4523L11.6997%2014.5L11.6995%2012.3143ZM25.3135%2021.8051L25.3135%2022.8167C25.7656%2022.8929%2026.2209%2022.9249%2026.6792%2022.9127C28.3381%2022.9127%2029.1675%2022.326%2029.1675%2021.1527C29.1733%2020.9869%2029.151%2020.825%2029.1006%2020.667C29.0503%2020.509%2028.9747%2020.3641%2028.8742%2020.2322C28.767%2020.1025%2028.6403%2019.9963%2028.4938%2019.9134C28.3474%2019.8306%2028.191%2019.7767%2028.0246%2019.7517L28.0246%2019.7011C28.0971%2019.6839%2028.1676%2019.6606%2028.236%2019.6311C28.3044%2019.6016%2028.3698%2019.5665%2028.4321%2019.5257C28.4944%2019.4848%2028.5526%2019.4389%2028.6069%2019.3879C28.6613%2019.3369%2028.7109%2019.2816%2028.7556%2019.222C28.8003%2019.1624%2028.8394%2019.0994%2028.8732%2019.033C28.9069%2018.9665%2028.9346%2018.8977%2028.9564%2018.8265C28.9782%2018.7552%2028.9937%2018.6826%2029.0028%2018.6086C29.0119%2018.5347%2029.0145%2018.4605%2029.0107%2018.3861C29.0217%2018.2675%2029.0176%2018.1495%2028.9984%2018.0319C28.9791%2017.9144%2028.9454%2017.8012%2028.8971%2017.6923C28.8489%2017.5834%2028.7875%2017.4823%2028.7134%2017.3891C28.6393%2017.2959%2028.5547%2017.2135%2028.4595%2017.1419C28.219%2017.0003%2027.963%2016.8972%2027.6915%2016.8326C27.4199%2016.7679%2027.1449%2016.7446%2026.8664%2016.7626C26.6258%2016.7621%2026.3864%2016.7791%2026.1482%2016.8132C25.9479%2016.8386%2025.7504%2016.8791%2025.5563%2016.9346L25.5563%2017.8854C25.743%2017.8264%2025.9337%2017.7842%2026.128%2017.759C26.3276%2017.73%2026.5282%2017.7148%2026.7298%2017.7134C27.0252%2017.6949%2027.3049%2017.7523%2027.5692%2017.8854C27.6168%2017.9161%2027.6595%2017.9525%2027.6972%2017.9947C27.7348%2018.037%2027.766%2018.0835%2027.791%2018.1343C27.816%2018.1851%2027.8337%2018.2383%2027.8441%2018.294C27.8545%2018.3496%2027.8573%2018.4056%2027.8525%2018.462C27.8566%2018.5278%2027.8514%2018.5927%2027.8367%2018.657C27.822%2018.7212%2027.7986%2018.7821%2027.7663%2018.8395C27.734%2018.897%2027.694%2018.9487%2027.6468%2018.9946C27.5995%2019.0405%2027.5468%2019.0787%2027.4885%2019.1093C27.1544%2019.2631%2026.8037%2019.3306%2026.4364%2019.3117L25.9862%2019.3117L25.9862%2020.1917L26.4466%2020.1917C26.8409%2020.1669%2027.2202%2020.2309%2027.5845%2020.3839C27.6459%2020.4167%2027.7011%2020.4576%2027.7505%2020.5066C27.7999%2020.5556%2027.8412%2020.6107%2027.8745%2020.6718C27.9077%2020.733%2027.9315%2020.7976%2027.9458%2020.8656C27.9602%2020.9337%2027.9644%2021.0024%2027.9587%2021.0717C27.9648%2021.1402%2027.9612%2021.2083%2027.9478%2021.2757C27.9344%2021.3432%2027.912%2021.4074%2027.8801%2021.4683C27.8483%2021.5293%2027.8086%2021.5846%2027.7609%2021.6341C27.7132%2021.6837%2027.6593%2021.7254%2027.5996%2021.7596C27.2884%2021.9045%2026.9613%2021.9685%2026.6184%2021.9518C26.1786%2021.9465%2025.7436%2021.8977%2025.3135%2021.8051ZM21.3382%2018.6238C21.3445%2018.5593%2021.343%2018.495%2021.3335%2018.4308C21.3241%2018.3667%2021.3069%2018.3046%2021.2822%2018.2447C21.2575%2018.1847%2021.226%2018.1287%2021.1876%2018.0765C21.1492%2018.0242%2021.1049%2017.9774%2021.055%2017.936C20.9359%2017.8608%2020.808%2017.806%2020.6714%2017.7714C20.5349%2017.7368%2020.3964%2017.7242%2020.2558%2017.7337C19.8009%2017.7395%2019.356%2017.8087%2018.9208%2017.9411L18.9208%2016.9598C19.4252%2016.8181%2019.9393%2016.7524%2020.4633%2016.7626C20.7322%2016.7484%2020.9964%2016.7773%2021.256%2016.8491C21.5156%2016.9209%2021.7571%2017.032%2021.9806%2017.1824C22.0729%2017.2601%2022.1548%2017.3474%2022.2263%2017.4446C22.2978%2017.5418%2022.3567%2017.646%2022.4034%2017.7573C22.45%2017.8686%2022.483%2017.9838%2022.5021%2018.1029C22.5213%2018.222%2022.5261%2018.3417%2022.5167%2018.462C22.5245%2018.7882%2022.4655%2019.1017%2022.3396%2019.4027C22.1879%2019.7384%2021.984%2020.0384%2021.7277%2020.3029C21.3021%2020.7337%2020.8502%2021.135%2020.3721%2021.5067L19.9928%2021.8051L19.9928%2021.8759L22.6938%2021.8759L22.6938%2022.8419L18.5464%2022.8419L18.5464%2021.7697C19.2882%2021.1796%2019.8579%2020.6975%2020.2558%2020.3232C20.574%2020.0432%2020.8523%2019.728%2021.0905%2019.3774C21.1675%2019.2665%2021.2269%2019.1469%2021.2691%2019.0187C21.3113%2018.8904%2021.3344%2018.7588%2021.3382%2018.6238ZM12.3102%2017.2127L12.3102%2018.1939L13.7769%2017.9107L13.7769%2022.8419L14.9605%2022.8419L14.9605%2016.8486L14.0957%2016.8486L12.3102%2017.2127ZM28.5524%2028.0475C28.5524%2028.104%2028.5467%2028.1599%2028.5353%2028.2152C28.5239%2028.2706%2028.5071%2028.3244%2028.4849%2028.3766C28.4626%2028.4287%2028.4352%2028.4782%2028.4028%2028.5252C28.3705%2028.5721%2028.3337%2028.6156%2028.2925%2028.6555C28.2513%2028.6954%2028.2067%2028.731%2028.1583%2028.7624C28.1098%2028.7937%2028.0587%2028.8202%2028.0049%2028.8418C27.9511%2028.8634%2027.8957%2028.8798%2027.8385%2028.8908C27.7814%2028.9018%2027.7235%2028.9073%2027.6653%2028.9073L24.1832%2028.8418L24.1832%2030.3617L29.1397%2030.3617C29.2082%2030.3617%2029.276%2030.3552%2029.3432%2030.3423C29.4104%2030.3293%2029.4756%2030.3101%2029.5389%2030.2847C29.6022%2030.2593%2029.6625%2030.2281%2029.7195%2030.1912C29.7765%2030.1543%2029.829%2030.1124%2029.8774%2030.0654C29.9259%2030.0184%2029.9693%2029.9673%2030.0074%2029.9121C30.0454%2029.8569%2030.0774%2029.7986%2030.1037%2029.7373C30.1299%2029.6759%2030.1497%2029.6126%2030.163%2029.5475C30.1764%2029.4823%2030.1831%2029.4166%2030.1832%2029.3502L30.1832%2026.0478L28.4785%2026L28.5524%2028.0475ZM11.6308%2028.0099C11.6308%2028.0664%2011.6365%2028.1223%2011.6479%2028.1777C11.6592%2028.233%2011.676%2028.2868%2011.6983%2028.339C11.7206%2028.3911%2011.748%2028.4406%2011.7803%2028.4876C11.8127%2028.5345%2011.8495%2028.578%2011.8906%2028.6179C11.9318%2028.6578%2011.9765%2028.6934%2012.0249%2028.7248C12.0733%2028.7562%2012.1244%2028.7826%2012.1783%2028.8042C12.2321%2028.8259%2012.2875%2028.8422%2012.3446%2028.8532C12.4017%2028.8642%2012.4596%2028.8697%2012.5178%2028.8698L16%2028.8042L16%2030.3241L11.0435%2030.3241C10.975%2030.3241%2010.9071%2030.3176%2010.8399%2030.3047C10.7727%2030.2917%2010.7076%2030.2725%2010.6443%2030.2471C10.581%2030.2217%2010.5206%2030.1906%2010.4637%2030.1537C10.4067%2030.1168%2010.3542%2030.0748%2010.3057%2030.0278C10.2573%2029.9809%2010.2138%2029.9298%2010.1758%2029.8745C10.1377%2029.8193%2010.1057%2029.7611%2010.0795%2029.6997C10.0533%2029.6383%2010.0335%2029.575%2010.0201%2029.5099C10.0068%2029.4448%2010%2029.379%2010%2029.3126L10%2026.0478L11.7047%2026L11.6308%2028.0099Z'%20fill='rgb(14,191,241)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e", C2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='40.000000'%20fill='none'%20customFrame='url(%23clipPath_9)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_9'%3e%3crect%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_10'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_11'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='3'%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(236,250,254)'%20/%3e%3cg%20id='画板%202310'%20customFrame='url(%23clipPath_10)'%3e%3crect%20id='画板%202310'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='人事服务'%3e%3cg%20id='ic_public_link'%20clip-path='url(%23clipPath_11)'%20customFrame='url(%23clipPath_11)'%3e%3crect%20id='ic_public_link'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20/%3e%3cpath%20id='path1'%20d='M9.9999%2019.9917C9.9999%2018.4292%209.99573%2016.8667%209.9999%2015.3042C9.99573%2014.5459%2010.0916%2013.7917%2010.2749%2013.0626C10.6874%2011.5126%2011.6957%2010.5917%2013.2457%2010.2334C14.0207%2010.0667%2014.8166%209.98756%2015.6082%2010.0001C18.6041%2010.0001%2021.5999%2010.0001%2024.5999%2010.0001C25.3541%209.99589%2026.1082%2010.0792%2026.8457%2010.2584C28.4416%2010.6459%2029.3999%2011.6584%2029.7624%2013.2501C29.9291%2014.0001%2030.0041%2014.7667%2029.9957%2015.5376C29.9957%2018.5667%2029.9957%2021.5959%2029.9957%2024.6209C29.9999%2025.3709%2029.9166%2026.1209%2029.7416%2026.8459C29.3499%2028.4459%2028.3332%2029.3959%2026.7457%2029.7626C25.9666%2029.9292%2025.1749%2030.0084%2024.3791%2029.9959C21.3957%2029.9959%2018.4124%2029.9959%2015.4291%2029.9959C14.6666%2030.0042%2013.9082%2029.9167%2013.1666%2029.7417C11.5624%2029.3542%2010.5999%2028.3376%2010.2374%2026.7376C10.0499%2025.9251%209.9999%2025.1126%209.9999%2024.2917C9.9999%2022.8584%209.9999%2021.4251%209.9999%2019.9917Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3ccircle%20id='path2'%20cx='20'%20cy='20'%20r='10'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='path3'%20d='M25.0333%2021.8666L26.9%2020C28.8083%2018.0916%2028.8083%2015%2026.9%2013.0958C24.9958%2011.1875%2021.9041%2011.1875%2020%2013.0958L18.1291%2014.9625M21.8666%2025.0333L20%2026.9C18.0916%2028.8083%2015%2028.8083%2013.0958%2026.9C11.1875%2024.9958%2011.1875%2021.9041%2013.0958%2020L14.9625%2018.1291'%20fill-rule='nonzero'%20stroke='rgb(14,191,241)'%20stroke-linecap='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='pah4'%20d='M18.125%2021.875L21.875%2018.125'%20stroke='rgb(14,191,241)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='path5'%20d='M25.8207%2019.2626L24.0457%2021.0376C23.7998%2021.2834%2023.6748%2021.5292%2023.6748%2021.7751C23.6748%2022.0209%2023.7998%2022.2667%2024.0457%2022.5126C24.1498%2022.6167%2024.2665%2022.6959%2024.3915%2022.7459C24.5123%2022.7917%2024.6415%2022.8167%2024.779%2022.8167C24.9207%2022.8167%2025.0498%2022.7917%2025.1665%2022.7459C25.2957%2022.6959%2025.4123%2022.6167%2025.5165%2022.5126L27.2915%2020.7334C27.8165%2020.2126%2028.2165%2019.6334%2028.4957%2019.0001C28.5082%2018.9667%2028.5248%2018.9334%2028.5373%2018.8959C28.554%2018.8626%2028.5665%2018.8292%2028.579%2018.7917C28.8332%2018.1501%2028.9582%2017.4584%2028.9582%2016.7209C28.9582%2015.9792%2028.8332%2015.2876%2028.579%2014.6459C28.5665%2014.6084%2028.554%2014.5751%2028.5373%2014.5417C28.5248%2014.5042%2028.5082%2014.4709%2028.4957%2014.4376C28.2165%2013.8042%2027.8165%2013.2292%2027.2915%2012.7042C26.7707%2012.1792%2026.1915%2011.7792%2025.5582%2011.5001C25.5248%2011.4876%2025.4915%2011.4709%2025.454%2011.4584C25.4207%2011.4417%2025.3873%2011.4292%2025.354%2011.4167C24.7082%2011.1667%2024.0165%2011.0417%2023.279%2011.0417C22.5373%2011.0417%2021.8457%2011.1667%2021.204%2011.4167C21.1665%2011.4292%2021.1332%2011.4417%2021.0998%2011.4584C21.0623%2011.4709%2021.029%2011.4876%2020.9957%2011.5001C20.3623%2011.7792%2019.7832%2012.1792%2019.2623%2012.7042L17.4832%2014.4792C17.379%2014.5834%2017.2998%2014.7001%2017.2498%2014.8292C17.204%2014.9501%2017.179%2015.0751%2017.179%2015.2167C17.179%2015.3542%2017.204%2015.4834%2017.2498%2015.6042C17.2998%2015.7292%2017.379%2015.8459%2017.4832%2015.9542C17.5915%2016.0584%2017.7082%2016.1376%2017.8332%2016.1876C17.954%2016.2334%2018.0832%2016.2584%2018.2207%2016.2584C18.3623%2016.2584%2018.4915%2016.2334%2018.6082%2016.1876C18.7373%2016.1376%2018.854%2016.0584%2018.9582%2015.9542L20.7332%2014.1751C21.0873%2013.8209%2021.4748%2013.5584%2021.8957%2013.3834C22.3165%2013.2084%2022.779%2013.1251%2023.279%2013.1251C23.7748%2013.1251%2024.2373%2013.2084%2024.6582%2013.3834C25.079%2013.5584%2025.4665%2013.8209%2025.8207%2014.1751C26.1748%2014.5292%2026.4373%2014.9167%2026.6123%2015.3376C26.7873%2015.7584%2026.8748%2016.2167%2026.8748%2016.7209C26.8748%2017.2209%2026.7873%2017.6792%2026.6123%2018.1001C26.4373%2018.5209%2026.1748%2018.9084%2025.8207%2019.2626ZM13.3832%2021.8959C13.5582%2021.4751%2013.8207%2021.0876%2014.1748%2020.7334L15.954%2018.9584C16.0582%2018.8542%2016.1373%2018.7376%2016.1873%2018.6084C16.2332%2018.4876%2016.2582%2018.3626%2016.2582%2018.2209C16.2582%2018.0834%2016.2332%2017.9542%2016.1873%2017.8334C16.1373%2017.7084%2016.0582%2017.5917%2015.954%2017.4834C15.7082%2017.2417%2015.4623%2017.1167%2015.2165%2017.1167C14.9707%2017.1167%2014.7248%2017.2417%2014.479%2017.4834L12.704%2019.2626C12.179%2019.7876%2011.779%2020.3626%2011.4998%2020.9959C11.4873%2021.0292%2011.4707%2021.0626%2011.4582%2021.1001C11.4415%2021.1334%2011.429%2021.1667%2011.4165%2021.2042C11.1665%2021.8459%2011.0415%2022.5376%2011.0415%2023.2792C11.0415%2024.0167%2011.1665%2024.7084%2011.4165%2025.3542C11.429%2025.3876%2011.4415%2025.4209%2011.4582%2025.4584C11.4707%2025.4917%2011.4873%2025.5251%2011.4998%2025.5584C11.779%2026.1917%2012.179%2026.7709%2012.704%2027.2917C13.2248%2027.8167%2013.804%2028.2167%2014.4373%2028.4959C14.4707%2028.5084%2014.504%2028.5251%2014.5415%2028.5376C14.5748%2028.5542%2014.6082%2028.5667%2014.6457%2028.5792C15.2873%2028.8292%2015.979%2028.9584%2016.7207%2028.9584C17.4582%2028.9584%2018.1498%2028.8292%2018.7915%2028.5792C18.829%2028.5667%2018.8623%2028.5542%2018.8957%2028.5376C18.9332%2028.5251%2018.9665%2028.5084%2018.9998%2028.4959C19.6332%2028.2167%2020.2123%2027.8167%2020.7332%2027.2917L22.5123%2025.5167C22.6165%2025.4126%2022.6957%2025.2959%2022.7457%2025.1667C22.7915%2025.0459%2022.8165%2024.9209%2022.8165%2024.7792C22.8165%2024.6417%2022.7915%2024.5126%2022.7457%2024.3917C22.6957%2024.2667%2022.6165%2024.1501%2022.5123%2024.0417C22.2665%2023.8001%2022.0207%2023.6751%2021.7748%2023.6751C21.529%2023.6751%2021.2832%2023.8001%2021.0373%2024.0417L19.2623%2025.8209C18.9082%2026.1751%2018.5207%2026.4376%2018.0998%2026.6126C17.679%2026.7876%2017.2165%2026.8751%2016.7207%2026.8751C16.2207%2026.8751%2015.7582%2026.7876%2015.3373%2026.6126C14.9165%2026.4376%2014.529%2026.1751%2014.1748%2025.8209C13.8207%2025.4667%2013.5582%2025.0792%2013.3832%2024.6584C13.2082%2024.2376%2013.1248%2023.7792%2013.1248%2023.2792C13.1248%2022.7751%2013.2082%2022.3167%2013.3832%2021.8959Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3cpath%20id='path6'%20d='M21.8127%2016.7458C21.746%2016.7874%2021.6877%2016.8374%2021.6293%2016.8916L16.8918%2021.6291C16.8377%2021.6874%2016.7877%2021.7499%2016.746%2021.8124C16.7127%2021.8624%2016.6877%2021.9166%2016.6627%2021.9749C16.6377%2022.0374%2016.6168%2022.1041%2016.6043%2022.1708C16.5918%2022.2333%2016.5835%2022.2999%2016.5835%2022.3666C16.5835%2022.4333%2016.5918%2022.4999%2016.6043%2022.5666C16.6168%2022.6333%2016.6377%2022.6999%2016.6627%2022.7624C16.6877%2022.8166%2016.7127%2022.8708%2016.746%2022.9208C16.7877%2022.9874%2016.8377%2023.0499%2016.8918%2023.1041C16.946%2023.1583%2017.0085%2023.2083%2017.0752%2023.2499C17.1252%2023.2833%2017.1793%2023.3083%2017.2335%2023.3333C17.3002%2023.3583%2017.3627%2023.3791%2017.4293%2023.3916C17.496%2023.4041%2017.5627%2023.4124%2017.6293%2023.4124C17.696%2023.4124%2017.7627%2023.4041%2017.8252%2023.3916C17.8918%2023.3791%2017.9585%2023.3583%2018.021%2023.3333C18.0793%2023.3083%2018.1335%2023.2833%2018.1835%2023.2499C18.246%2023.2083%2018.3085%2023.1583%2018.3668%2023.1041L23.1043%2018.3666C23.1585%2018.3083%2023.2085%2018.2499%2023.2502%2018.1833C23.2835%2018.1333%2023.3085%2018.0791%2023.3335%2018.0208C23.3585%2017.9583%2023.3793%2017.8916%2023.3918%2017.8249C23.4043%2017.7624%2023.4127%2017.6958%2023.4127%2017.6291C23.4127%2017.5624%2023.4043%2017.4958%2023.3918%2017.4291C23.3793%2017.3624%2023.3585%2017.2999%2023.3335%2017.2333C23.3085%2017.1791%2023.2835%2017.1249%2023.2502%2017.0749C23.2085%2017.0083%2023.1585%2016.9458%2023.1043%2016.8916C23.046%2016.8374%2022.9877%2016.7874%2022.921%2016.7458C22.871%2016.7124%2022.8168%2016.6874%2022.7627%2016.6624C22.696%2016.6374%2022.6335%2016.6166%2022.5668%2016.6041C22.5002%2016.5916%2022.4335%2016.5833%2022.3668%2016.5833C22.3002%2016.5833%2022.2335%2016.5916%2022.171%2016.6041C22.1043%2016.6166%2022.0377%2016.6374%2021.9752%2016.6624C21.9168%2016.6874%2021.8627%2016.7124%2021.8127%2016.7458Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", _2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='40.000000'%20fill='none'%20customFrame='url(%23clipPath_0)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_0'%3e%3crect%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_1'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_2'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='1'%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(236,250,254)'%20/%3e%3cg%20id='车辆'%20clip-path='url(%23clipPath_1)'%20customFrame='url(%23clipPath_1)'%3e%3crect%20id='车辆'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20/%3e%3cg%20id='编组'%3e%3cg%20id='ic_public_qrcode'%20clip-path='url(%23clipPath_2)'%20customFrame='url(%23clipPath_2)'%3e%3crect%20id='ic_public_qrcode'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20/%3e%3cg%20id='ic_public_qrcode_1_1'%3e%3cpath%20id='ic_public_qrcode_2_0'%20d='M10.6273%2019.9924C10.6273%2018.5277%2010.6222%2017.0631%2010.6273%2015.5985C10.6243%2014.8898%2010.7114%2014.1836%2010.8865%2013.4968C11.2702%2012.0432%2012.2171%2011.1805%2013.6693%2010.8458C14.3974%2010.6885%2015.1411%2010.6148%2015.886%2010.6261C18.6946%2010.6261%2021.5035%2010.6261%2024.3127%2010.6261C25.0221%2010.6217%2025.7295%2010.7029%2026.4195%2010.8678C27.9156%2011.2339%2028.8134%2012.1816%2029.1554%2013.6725C29.3092%2014.3772%2029.3826%2015.097%2029.3744%2015.8182C29.3744%2018.6571%2029.3744%2021.4963%2029.3744%2024.3357C29.3782%2025.0383%2029.2973%2025.7388%2029.1334%2026.422C28.7673%2027.9189%2027.8153%2028.8123%2026.3243%2029.1543C25.5961%2029.311%2024.8524%2029.3847%2024.1076%2029.374C21.3107%2029.374%2018.514%2029.374%2015.7176%2029.374C15.0027%2029.3798%2014.2897%2029.2999%2013.5939%2029.136C12.0912%2028.7698%2011.189%2027.8178%2010.8477%2026.3195C10.6734%2025.5579%2010.6273%2024.7941%2010.6273%2024.0237C10.6273%2022.6802%2010.6273%2021.3364%2010.6273%2019.9924Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_0'%20d='M10.6273%2015.5985C10.6243%2014.8898%2010.7114%2014.1836%2010.8865%2013.4968C11.2702%2012.0432%2012.2171%2011.1805%2013.6693%2010.8458C14.3974%2010.6885%2015.1411%2010.6148%2015.886%2010.6261C18.6946%2010.6261%2021.5035%2010.6261%2024.3127%2010.6261C25.0221%2010.6217%2025.7295%2010.7029%2026.4195%2010.8678C27.9156%2011.2339%2028.8134%2012.1816%2029.1554%2013.6725C29.3092%2014.3772%2029.3826%2015.097%2029.3744%2015.8182C29.3744%2018.6571%2029.3744%2021.4963%2029.3744%2024.3357C29.3782%2025.0383%2029.2973%2025.7388%2029.1334%2026.422C28.7673%2027.9189%2027.8153%2028.8123%2026.3243%2029.1543C25.5961%2029.311%2024.8524%2029.3847%2024.1076%2029.374C21.3107%2029.374%2018.514%2029.374%2015.7176%2029.374C15.0027%2029.3798%2014.2897%2029.2999%2013.5939%2029.136C12.0912%2028.7698%2011.189%2027.8178%2010.8477%2026.3195C10.6734%2025.5579%2010.6273%2024.7941%2010.6273%2024.0237C10.6273%2022.6802%2010.6273%2021.3364%2010.6273%2019.9924C10.6273%2018.5277%2010.6222%2017.0631%2010.6273%2015.5985Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-opacity='0'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_1'%20d='M10.6273%2015.5985C10.6243%2014.8898%2010.7114%2014.1836%2010.8865%2013.4968C11.2702%2012.0432%2012.2171%2011.1805%2013.6693%2010.8458C14.3974%2010.6885%2015.1411%2010.6148%2015.886%2010.6261C18.6946%2010.6261%2021.5035%2010.6261%2024.3127%2010.6261C25.0221%2010.6217%2025.7295%2010.7029%2026.4195%2010.8678C27.9156%2011.2339%2028.8134%2012.1816%2029.1554%2013.6725C29.3092%2014.3772%2029.3826%2015.097%2029.3744%2015.8182C29.3744%2018.6571%2029.3744%2021.4963%2029.3744%2024.3357C29.3782%2025.0383%2029.2973%2025.7388%2029.1334%2026.422C28.7673%2027.9189%2027.8153%2028.8123%2026.3243%2029.1543C25.5961%2029.311%2024.8524%2029.3847%2024.1076%2029.374C21.3107%2029.374%2018.514%2029.374%2015.7176%2029.374C15.0027%2029.3798%2014.2897%2029.2999%2013.5939%2029.136C12.0912%2028.7698%2011.189%2027.8178%2010.8477%2026.3195C10.6734%2025.5579%2010.6273%2024.7941%2010.6273%2024.0237C10.6273%2022.6802%2010.6273%2021.3364%2010.6273%2019.9924C10.6273%2018.5277%2010.6222%2017.0631%2010.6273%2015.5985Z'%20opacity='0.200000003'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-opacity='0'%20stroke-width='1.25'%20/%3e%3ccircle%20id='ic_public_qrcode_2_2'%20cx='20'%20cy='20'%20r='10'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='ic_public_qrcode_2_3'%20d='M17.5%2011.25C17.9602%2011.25%2018.3333%2011.6231%2018.3333%2012.0833L18.3333%2017.5C18.3333%2017.9602%2017.9602%2018.3333%2017.5%2018.3333L12.0833%2018.3333C11.6231%2018.3333%2011.25%2017.9602%2011.25%2017.5L11.25%2012.0833C11.25%2011.6231%2011.6231%2011.25%2012.0833%2011.25L17.5%2011.25ZM17.5%2021.6667C17.9602%2021.6667%2018.3333%2022.0398%2018.3333%2022.5L18.3333%2027.9167C18.3333%2028.3769%2017.9602%2028.75%2017.5%2028.75L12.0833%2028.75C11.6231%2028.75%2011.25%2028.3769%2011.25%2027.9167L11.25%2022.5C11.25%2022.0398%2011.6231%2021.6667%2012.0833%2021.6667L17.5%2021.6667ZM27.9167%2011.25C28.3769%2011.25%2028.75%2011.6231%2028.75%2012.0833L28.75%2017.5C28.75%2017.9602%2028.3769%2018.3333%2027.9167%2018.3333L22.5%2018.3333C22.0398%2018.3333%2021.6667%2017.9602%2021.6667%2017.5L21.6667%2012.0833C21.6667%2011.6231%2022.0398%2011.25%2022.5%2011.25L27.9167%2011.25Z'%20fill-rule='evenodd'%20stroke='rgb(14,191,241)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_4'%20d='M17.5002%2010.8333C18.1905%2010.8333%2018.7502%2011.3929%2018.7502%2012.0833L18.7502%2017.4999C18.7502%2018.1903%2018.1905%2018.7499%2017.5002%2018.7499L12.0835%2018.7499C11.3931%2018.7499%2010.8335%2018.1903%2010.8335%2017.4999L10.8335%2012.0833C10.8335%2011.3929%2011.3931%2010.8333%2012.0835%2010.8333L17.5002%2010.8333ZM17.5002%2011.6666L12.0835%2011.6666C11.8534%2011.6666%2011.6668%2011.8531%2011.6668%2012.0833L11.6668%2017.4999C11.6668%2017.73%2011.8534%2017.9166%2012.0835%2017.9166L17.5002%2017.9166C17.7303%2017.9166%2017.9168%2017.73%2017.9168%2017.4999L17.9168%2012.0833C17.9168%2011.8531%2017.7303%2011.6666%2017.5002%2011.6666ZM17.5002%2021.2499C18.1905%2021.2499%2018.7502%2021.8096%2018.7502%2022.4999L18.7502%2027.9166C18.7502%2028.6069%2018.1905%2029.1666%2017.5002%2029.1666L12.0835%2029.1666C11.3931%2029.1666%2010.8335%2028.6069%2010.8335%2027.9166L10.8335%2022.4999C10.8335%2021.8096%2011.3931%2021.2499%2012.0835%2021.2499L17.5002%2021.2499ZM17.5002%2022.0833L12.0835%2022.0833C11.8534%2022.0833%2011.6668%2022.2698%2011.6668%2022.4999L11.6668%2027.9166C11.6668%2028.1467%2011.8534%2028.3333%2012.0835%2028.3333L17.5002%2028.3333C17.7303%2028.3333%2017.9168%2028.1467%2017.9168%2027.9166L17.9168%2022.4999C17.9168%2022.2698%2017.7303%2022.0833%2017.5002%2022.0833ZM27.9168%2010.8333C28.6072%2010.8333%2029.1668%2011.3929%2029.1668%2012.0833L29.1668%2017.4999C29.1668%2018.1903%2028.6072%2018.7499%2027.9168%2018.7499L22.5002%2018.7499C21.8098%2018.7499%2021.2502%2018.1903%2021.2502%2017.4999L21.2502%2012.0833C21.2502%2011.3929%2021.8098%2010.8333%2022.5002%2010.8333L27.9168%2010.8333ZM27.9168%2011.6666L22.5002%2011.6666C22.27%2011.6666%2022.0835%2011.8531%2022.0835%2012.0833L22.0835%2017.4999C22.0835%2017.73%2022.27%2017.9166%2022.5002%2017.9166L27.9168%2017.9166C28.1469%2017.9166%2028.3335%2017.73%2028.3335%2017.4999L28.3335%2012.0833C28.3335%2011.8531%2028.1469%2011.6666%2027.9168%2011.6666Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_4'%20d='M18.7502%2012.0833L18.7502%2017.4999C18.7502%2018.1903%2018.1905%2018.7499%2017.5002%2018.7499L12.0835%2018.7499C11.3931%2018.7499%2010.8335%2018.1903%2010.8335%2017.4999L10.8335%2012.0833C10.8335%2011.3929%2011.3931%2010.8333%2012.0835%2010.8333L17.5002%2010.8333C18.1905%2010.8333%2018.7502%2011.3929%2018.7502%2012.0833ZM12.0835%2011.6666C11.8534%2011.6666%2011.6668%2011.8531%2011.6668%2012.0833L11.6668%2017.4999C11.6668%2017.73%2011.8534%2017.9166%2012.0835%2017.9166L17.5002%2017.9166C17.7303%2017.9166%2017.9168%2017.73%2017.9168%2017.4999L17.9168%2012.0833C17.9168%2011.8531%2017.7303%2011.6666%2017.5002%2011.6666L12.0835%2011.6666ZM18.7502%2022.4999L18.7502%2027.9166C18.7502%2028.6069%2018.1905%2029.1666%2017.5002%2029.1666L12.0835%2029.1666C11.3931%2029.1666%2010.8335%2028.6069%2010.8335%2027.9166L10.8335%2022.4999C10.8335%2021.8096%2011.3931%2021.2499%2012.0835%2021.2499L17.5002%2021.2499C18.1905%2021.2499%2018.7502%2021.8096%2018.7502%2022.4999ZM12.0835%2022.0833C11.8534%2022.0833%2011.6668%2022.2698%2011.6668%2022.4999L11.6668%2027.9166C11.6668%2028.1467%2011.8534%2028.3333%2012.0835%2028.3333L17.5002%2028.3333C17.7303%2028.3333%2017.9168%2028.1467%2017.9168%2027.9166L17.9168%2022.4999C17.9168%2022.2698%2017.7303%2022.0833%2017.5002%2022.0833L12.0835%2022.0833ZM29.1668%2012.0833L29.1668%2017.4999C29.1668%2018.1903%2028.6072%2018.7499%2027.9168%2018.7499L22.5002%2018.7499C21.8098%2018.7499%2021.2502%2018.1903%2021.2502%2017.4999L21.2502%2012.0833C21.2502%2011.3929%2021.8098%2010.8333%2022.5002%2010.8333L27.9168%2010.8333C28.6072%2010.8333%2029.1668%2011.3929%2029.1668%2012.0833ZM22.5002%2011.6666C22.27%2011.6666%2022.0835%2011.8531%2022.0835%2012.0833L22.0835%2017.4999C22.0835%2017.73%2022.27%2017.9166%2022.5002%2017.9166L27.9168%2017.9166C28.1469%2017.9166%2028.3335%2017.73%2028.3335%2017.4999L28.3335%2012.0833C28.3335%2011.8531%2028.1469%2011.6666%2027.9168%2011.6666L22.5002%2011.6666Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-opacity='0'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_5'%20d='M27.9165%2021.6667L27.9165%2024.5834L28.7498%2024.5834L28.7498%2021.6667L27.9165%2021.6667ZM24.5832%2021.6667L24.5832%2022.639L24.5828%2022.6388L24.5832%2024.5834L23.6109%2024.5834L23.6107%2022.6388L21.6665%2022.639L21.6665%2021.6667L24.5832%2021.6667ZM21.6665%2025.8334L21.6665%2028.7501L22.4998%2028.7501L22.4998%2025.8334L21.6665%2025.8334ZM27.9165%2027.9167L27.9165%2028.7501L28.7498%2028.7501L28.7498%2027.9167L27.9165%2027.9167ZM25.8332%2025.8334L25.8332%2026.6667L26.6665%2026.6667L26.6665%2025.8334L25.8332%2025.8334Z'%20fill='rgb(14,191,241)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_5'%20d='M27.9165%2024.5834L28.7498%2024.5834L28.7498%2021.6667L27.9165%2021.6667L27.9165%2024.5834ZM24.5832%2022.639L24.5828%2022.6388L24.5832%2024.5834L23.6109%2024.5834L23.6107%2022.6388L21.6665%2022.639L21.6665%2021.6667L24.5832%2021.6667L24.5832%2022.639ZM21.6665%2028.7501L22.4998%2028.7501L22.4998%2025.8334L21.6665%2025.8334L21.6665%2028.7501ZM27.9165%2028.7501L28.7498%2028.7501L28.7498%2027.9167L27.9165%2027.9167L27.9165%2028.7501ZM25.8332%2026.6667L26.6665%2026.6667L26.6665%2025.8334L25.8332%2025.8334L25.8332%2026.6667Z'%20fill-rule='nonzero'%20stroke='rgb(14,191,241)'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_6'%20d='M14.375%2014.375L14.375%2015.2083L15.2083%2015.2083L15.2083%2014.375L14.375%2014.375ZM14.375%2024.7917L14.375%2025.625L15.2083%2025.625L15.2083%2024.7917L14.375%2024.7917ZM24.7917%2014.375L24.7917%2015.2083L25.625%2015.2083L25.625%2014.375L24.7917%2014.375Z'%20fill='rgb(14,191,241)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_6'%20d='M14.375%2015.2083L15.2083%2015.2083L15.2083%2014.375L14.375%2014.375L14.375%2015.2083ZM14.375%2025.625L15.2083%2025.625L15.2083%2024.7917L14.375%2024.7917L14.375%2025.625ZM24.7917%2015.2083L25.625%2015.2083L25.625%2014.375L24.7917%2014.375L24.7917%2015.2083Z'%20fill-rule='nonzero'%20stroke='rgb(14,191,241)'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", b2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2012%2012'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.000000'%20height='12.000000'%20fill='none'%3e%3cdefs%3e%3cfilter%20id='pixso_custom_mask_type_luminance'%3e%3cfeColorMatrix%20type='matrix'%20values='1%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200%200%200%201%200%20'%20/%3e%3c/filter%3e%3c/defs%3e%3cmask%20id='mask_0'%20width='11.999876'%20height='11.999876'%20x='0.000000'%20y='0.000000'%20maskUnits='userSpaceOnUse'%3e%3cg%20filter='url(%23pixso_custom_mask_type_luminance)'%3e%3cg%20id='mask401_19830'%3e%3cpath%20id='蒙版'%20d='M0%200L11.9999%200L11.9999%2011.9999L0%2011.9999L0%200ZM2.69992%201.34999L8.09977%201.34999C9.5082%201.34999%2010.6498%202.49167%2010.6498%203.89998L10.6498%209.2999C10.6498%2010.7082%209.5082%2011.8499%208.09977%2011.8499L2.69992%2011.8499C1.29149%2011.8499%200.149901%2010.7082%200.149901%209.2999L0.149901%203.89998C0.149901%202.49167%201.29149%201.34999%202.69992%201.34999Z'%20fill='rgb(196,196,196)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/g%3e%3c/mask%3e%3crect%20id='ic_public_copy'%20width='12.000000'%20height='12.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3crect%20id='ic_public_copy-复制/base/ic_public_copy'%20width='11.999876'%20height='11.999876'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='path1'%20d='M0.000134537%205.99497C0.000134537%205.05748%20-0.00236544%204.11999%200.000134537%203.1825C-0.00236544%202.72751%200.055134%202.27501%200.165133%201.83752C0.41263%200.907526%201.01762%200.355032%201.94761%200.140034C2.41261%200.040035%202.8901%20-0.00746449%203.3651%203.54269e-05C5.16258%203.54269e-05%206.96006%203.54269e-05%208.76004%203.54269e-05C9.21254%20-0.00246455%209.66503%200.0475349%2010.1075%200.155034C11.065%200.387531%2011.64%200.995025%2011.8575%201.95002C11.9575%202.40001%2012.005%202.86001%2011.9975%203.3225C11.9975%205.13998%2011.9975%206.95746%2011.9975%208.77244C12%209.22244%2011.95%209.67243%2011.845%2010.1099C11.61%2011.0674%2011%2011.6374%2010.0475%2011.8574C9.58003%2011.9574%209.10504%2012.0049%208.62754%2011.9974C6.83756%2011.9974%205.04758%2011.9974%203.2576%2011.9974C2.80011%2012.0024%202.34511%2011.9499%201.90011%2011.8449C0.937625%2011.6124%200.360131%2011.0024%200.142633%2010.0424C0.0301342%209.55494%200.000134537%209.06744%200.000134537%208.57495C0.000134537%207.71495%200.000134537%206.85496%200.000134537%205.99497Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3ccircle%20id='path2'%20cx='5.99993801'%20cy='5.99993801'%20r='5.99993801'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='mask'%20mask='url(%23mask_0)'%3e%3cg%20id='组合%208'%3e%3cpath%20id='path'%20d='M11.1%203.89993L11.1%206.8999C11.1%208.55488%209.75502%209.89737%208.10004%209.89737L5.10007%209.89737C3.44258%209.89737%202.1001%208.55488%202.1001%206.8999L2.1001%203.89993C2.1001%202.24245%203.44258%200.897461%205.10007%200.897461L8.10004%200.897461C9.75502%200.897461%2011.1%202.24245%2011.1%203.89993Z'%20fill-rule='nonzero'%20stroke='rgb(25,25,25)'%20stroke-linejoin='round'%20stroke-width='0.749992251'%20/%3e%3c/g%3e%3c/g%3e%3cpath%20id='path4'%20d='M2.10008%202.39746L8.10002%202.39746C8.92751%202.39746%209.6%203.06995%209.6%203.89995L9.6%209.89738C9.6%2010.7274%208.92751%2011.3999%208.10002%2011.3999L2.10008%2011.3999C1.27009%2011.3999%200.600098%2010.7274%200.600098%209.89738L0.600098%203.89995C0.600098%203.06995%201.27009%202.39746%202.10008%202.39746Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3cpath%20id='path4'%20d='M9.6%203.89995L9.6%209.89738C9.6%2010.7274%208.92751%2011.3999%208.10002%2011.3999L2.10008%2011.3999C1.27009%2011.3999%200.600098%2010.7274%200.600098%209.89738L0.600098%203.89995C0.600098%203.06995%201.27009%202.39746%202.10008%202.39746L8.10002%202.39746C8.92751%202.39746%209.6%203.06995%209.6%203.89995Z'%20fill-rule='nonzero'%20stroke='rgb(25,25,25)'%20stroke-linejoin='round'%20stroke-width='0.749992251'%20/%3e%3c/svg%3e", x2 = "https://chat.opentiny.design", L2 = "https://ai.opentiny.design/next-remoter", k2 = "https://ai.opentiny.design/next-remoter/svgs/logo-next-no-bg-left.svg", Je = (t) => {
904
+ const ut = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2039.9692'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='39.969238'%20fill='none'%20customFrame='url(%23clipPath_3)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_3'%3e%3crect%20width='40.000000'%20height='39.969238'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_4'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='7.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_5'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_6'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_7'%3e%3crect%20width='21.666666'%20height='13.333333'%20x='20.000000'%20y='9.984619'%20rx='6.666667'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_8'%3e%3crect%20width='6.666667'%20height='6.666667'%20x='23.333496'%20y='9.984619'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='2'%20width='40.000000'%20height='39.969238'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(239,246,255)'%20/%3e%3cg%20id='物业'%20clip-path='url(%23clipPath_4)'%20customFrame='url(%23clipPath_4)'%3e%3crect%20id='物业'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='7.984619'%20/%3e%3cg%20id='物业服务'%3e%3cg%20id='00公共/红点/图标+红点'%20customFrame='url(%23clipPath_5)'%3e%3crect%20id='00公共/红点/图标+红点'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20/%3e%3cg%20id='common_chats_line'%20customFrame='url(%23clipPath_6)'%3e%3crect%20id='common_chats_line'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='9.984619'%20/%3e%3cpath%20id='形状'%20d='M28.3332%2019.9847C28.3332%2015.3823%2024.6022%2011.6514%2019.9998%2011.6514C15.3975%2011.6514%2011.6665%2015.3823%2011.6665%2019.9847C11.6665%2024.5871%2015.3975%2028.318%2019.9998%2028.318C21.0018%2028.318%2021.9624%2028.1412%2022.8522%2027.8171L26.581%2028.1578C26.7205%2028.1706%2026.8611%2028.1598%2026.9971%2028.1259C27.6669%2027.959%2028.0746%2027.2806%2027.9077%2026.6108L27.2716%2024.0578C27.9477%2022.8535%2028.3332%2021.4641%2028.3332%2019.9847ZM19.9998%2013.1514C16.2259%2013.1514%2013.1665%2016.2108%2013.1665%2019.9847C13.1665%2023.7586%2016.2259%2026.818%2019.9998%2026.818C20.8089%2026.818%2021.5967%2026.678%2022.3388%2026.4077C22.505%2026.3471%2022.6803%2026.3166%2022.8565%2026.3171L22.9887%2026.3233L26.3665%2026.6322L25.8161%2024.4205C25.7352%2024.0958%2025.7655%2023.7548%2025.8997%2023.4512L25.9636%2023.3236C26.5311%2022.3126%2026.8332%2021.1723%2026.8332%2019.9847C26.8332%2016.2108%2023.7738%2013.1514%2019.9998%2013.1514ZM23.1152%2021.2468C23.352%2020.9069%2023.2684%2020.4394%2022.9286%2020.2026C22.5887%2019.9659%2022.1212%2020.0494%2021.8845%2020.3893C21.2894%2021.2433%2020.4268%2021.7347%2019.5102%2021.7347C18.9513%2021.7347%2018.4132%2021.554%2017.9375%2021.2122C17.6011%2020.9705%2017.1325%2021.0472%2016.8908%2021.3836C16.6491%2021.7199%2016.7258%2022.1886%2017.0622%2022.4303C17.7879%2022.9518%2018.6305%2023.2347%2019.5102%2023.2347C20.9394%2023.2347%2022.2505%2022.4878%2023.1152%2021.2468Z'%20fill='rgb(65,142,255)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3cg%20id='00公共/3位数红点'%20opacity='0'%20customFrame='url(%23clipPath_7)'%3e%3crect%20id='00公共/3位数红点'%20width='21.666666'%20height='13.333333'%20x='20.000000'%20y='9.984619'%20rx='6.666667'%20opacity='0'%20fill='rgb(243,111,100)'%20/%3e%3cpath%20id='文本'%20d='M26.0421%2013.4421C26.4259%2013.4421%2026.7677%2013.5255%2027.0675%2013.6923C27.3672%2013.8591%2027.6005%2014.0931%2027.7673%2014.3942C27.9342%2014.694%2028.0176%2015.0351%2028.0176%2015.4176C28.0176%2015.7173%2027.9633%2015.994%2027.8548%2016.2476C27.7463%2016.4999%2027.5673%2016.8315%2027.3177%2017.2425L25.859%2019.6432L25.0167%2019.6432L26.276%2017.5924C26.3534%2017.4704%2026.4307%2017.3564%2026.508%2017.2507C26.3357%2017.3063%2026.1445%2017.3341%2025.9342%2017.3341C25.5721%2017.3341%2025.2493%2017.2479%2024.9658%2017.0757C24.6837%2016.9034%2024.4633%2016.6701%2024.3046%2016.3758C24.1459%2016.0815%2024.0666%2015.7566%2024.0666%2015.4013C24.0666%2015.0351%2024.1513%2014.7021%2024.3209%2014.4023C24.4904%2014.1012%2024.7264%2013.8659%2025.0289%2013.6964C25.3314%2013.5268%2025.6691%2013.4421%2026.0421%2013.4421ZM26.0421%2016.6505C26.4029%2016.6505%2026.6904%2016.5325%2026.9047%2016.2965C27.119%2016.0605%2027.2262%2015.7539%2027.2262%2015.3769C27.2262%2014.9985%2027.119%2014.694%2026.9047%2014.4634C26.6904%2014.2328%2026.4029%2014.1175%2026.0421%2014.1175C25.6867%2014.1175%2025.4019%2014.2342%2025.1876%2014.4674C24.9733%2014.7007%2024.8661%2015.0039%2024.8661%2015.3769C24.8661%2015.7539%2024.9719%2016.0605%2025.1835%2016.2965C25.3951%2016.5325%2025.6813%2016.6505%2026.0421%2016.6505ZM30.7921%2013.4421C31.1759%2013.4421%2031.5177%2013.5255%2031.8175%2013.6923C32.1172%2013.8591%2032.3505%2014.0931%2032.5173%2014.3942C32.6842%2014.694%2032.7676%2015.0351%2032.7676%2015.4176C32.7676%2015.7173%2032.7133%2015.994%2032.6048%2016.2476C32.4963%2016.4999%2032.3173%2016.8315%2032.0677%2017.2425L30.609%2019.6432L29.7667%2019.6432L31.026%2017.5924C31.1034%2017.4704%2031.1807%2017.3564%2031.258%2017.2507C31.0857%2017.3063%2030.8945%2017.3341%2030.6842%2017.3341C30.3221%2017.3341%2029.9993%2017.2479%2029.7158%2017.0757C29.4337%2016.9034%2029.2133%2016.6701%2029.0546%2016.3758C28.8959%2016.0815%2028.8166%2015.7566%2028.8166%2015.4013C28.8166%2015.0351%2028.9013%2014.7021%2029.0709%2014.4023C29.2404%2014.1012%2029.4764%2013.8659%2029.7789%2013.6964C30.0814%2013.5268%2030.4191%2013.4421%2030.7921%2013.4421ZM30.7921%2016.6505C31.1529%2016.6505%2031.4404%2016.5325%2031.6547%2016.2965C31.869%2016.0605%2031.9762%2015.7539%2031.9762%2015.3769C31.9762%2014.9985%2031.869%2014.694%2031.6547%2014.4634C31.4404%2014.2328%2031.1529%2014.1175%2030.7921%2014.1175C30.4367%2014.1175%2030.1519%2014.2342%2029.9376%2014.4674C29.7233%2014.7007%2029.6161%2015.0039%2029.6161%2015.3769C29.6161%2015.7539%2029.7219%2016.0605%2029.9335%2016.2965C30.1451%2016.5325%2030.4313%2016.6505%2030.7921%2016.6505ZM35.2674%2014.6851L35.9001%2014.6851L35.9001%2016.3188L37.5339%2016.3188L37.5339%2016.9516L35.9001%2016.9516L35.9001%2018.5853L35.2674%2018.5853L35.2674%2016.9516L33.6337%2016.9516L33.6337%2016.3188L35.2674%2016.3188L35.2674%2014.6851Z'%20fill='rgb(255,255,255)'%20fill-rule='nonzero'%20/%3e%3c/g%3e%3cg%20id='00公共/单红点'%20opacity='0'%20customFrame='url(%23clipPath_8)'%3e%3crect%20id='00公共/单红点'%20width='6.666667'%20height='6.666667'%20x='23.333496'%20y='9.984619'%20opacity='0'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3ccircle%20id='红点'%20cx='26.6668301'%20cy='13.3179522'%20r='3.33333325'%20fill='rgb(243,111,100)'%20/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", pt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='40.000000'%20fill='none'%20customFrame='url(%23clipPath_12)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_12'%3e%3crect%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_13'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_14'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='4'%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(234,255,244)'%20/%3e%3cg%20id='我的信息'%20clip-path='url(%23clipPath_13)'%20customFrame='url(%23clipPath_13)'%3e%3crect%20id='我的信息'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20/%3e%3cg%20id='组合%208'%20customFrame='url(%23clipPath_14)'%3e%3crect%20id='组合%208'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20/%3e%3cpath%20id='合并'%20d='M28.4994%2012.3142C28.4994%2012.2578%2028.4937%2012.2018%2028.4825%2012.1465C28.4713%2012.0911%2028.4547%2012.0373%2028.4327%2011.9851C28.4107%2011.933%2028.3836%2011.8835%2028.3516%2011.8365C28.3197%2011.7896%2028.2834%2011.7461%2028.2427%2011.7062C28.202%2011.6663%2028.1579%2011.6307%2028.1101%2011.5993C28.0622%2011.568%2028.0117%2011.5415%2027.9585%2011.5199C27.9054%2011.4983%2027.8506%2011.4819%2027.7942%2011.4709C27.7378%2011.4599%2027.6806%2011.4544%2027.6231%2011.4544L24.1832%2011.5199L24.1832%2010L29.0796%2010C29.1472%2010%2029.2143%2010.0065%2029.2806%2010.0194C29.347%2010.0324%2029.4114%2010.0516%2029.4739%2010.077C29.5364%2010.1024%2029.5961%2010.1336%2029.6523%2010.1705C29.7086%2010.2074%2029.7605%2010.2493%2029.8084%2010.2963C29.8562%2010.3433%2029.8991%2010.3944%2029.9367%2010.4496C29.9743%2010.5048%2030.006%2010.5631%2030.0319%2010.6244C30.0578%2010.6858%2030.0773%2010.7491%2030.0905%2010.8142C30.1037%2010.8794%2030.1104%2010.9451%2030.1104%2011.0115L30.1832%2014.4522L28.4992%2014.5L28.4994%2012.3142ZM11.6995%2012.3143C11.6995%2012.2579%2011.7051%2012.2019%2011.7163%2012.1466C11.7275%2012.0912%2011.7441%2012.0374%2011.7661%2011.9852C11.7882%2011.9331%2011.8152%2011.8836%2011.8472%2011.8366C11.8791%2011.7897%2011.9155%2011.7462%2011.9562%2011.7063C11.9968%2011.6664%2012.0409%2011.6308%2012.0888%2011.5994C12.1366%2011.5681%2012.1871%2011.5416%2012.2403%2011.52C12.2934%2011.4984%2012.3482%2011.482%2012.4046%2011.471C12.4611%2011.46%2012.5182%2011.4545%2012.5758%2011.4545L16.0157%2011.52L16.0157%2010.0001L11.1193%2010.0001C11.0516%2010.0001%2010.9846%2010.0066%2010.9182%2010.0196C10.8518%2010.0325%2010.7874%2010.0517%2010.7249%2010.0771C10.6624%2010.1025%2010.6028%2010.1337%2010.5465%2010.1706C10.4902%2010.2075%2010.4383%2010.2494%2010.3904%2010.2964C10.3426%2010.3434%2010.2997%2010.3945%2010.2621%2010.4497C10.2245%2010.5049%2010.1929%2010.5632%2010.167%2010.6245C10.1411%2010.6859%2010.1215%2010.7492%2010.1083%2010.8143C10.0951%2010.8795%2010.0885%2010.9452%2010.0884%2011.0116L10.0157%2014.4523L11.6997%2014.5L11.6995%2012.3143ZM25.3135%2021.8051L25.3135%2022.8167C25.7656%2022.8929%2026.2209%2022.9249%2026.6792%2022.9127C28.3381%2022.9127%2029.1675%2022.326%2029.1675%2021.1527C29.1733%2020.9869%2029.151%2020.825%2029.1006%2020.667C29.0503%2020.509%2028.9747%2020.3641%2028.8742%2020.2322C28.767%2020.1025%2028.6403%2019.9963%2028.4938%2019.9134C28.3474%2019.8306%2028.191%2019.7767%2028.0246%2019.7517L28.0246%2019.7011C28.0971%2019.6839%2028.1676%2019.6606%2028.236%2019.6311C28.3044%2019.6016%2028.3698%2019.5665%2028.4321%2019.5257C28.4944%2019.4848%2028.5526%2019.4389%2028.6069%2019.3879C28.6613%2019.3369%2028.7109%2019.2816%2028.7556%2019.222C28.8003%2019.1624%2028.8394%2019.0994%2028.8732%2019.033C28.9069%2018.9665%2028.9346%2018.8977%2028.9564%2018.8265C28.9782%2018.7552%2028.9937%2018.6826%2029.0028%2018.6086C29.0119%2018.5347%2029.0145%2018.4605%2029.0107%2018.3861C29.0217%2018.2675%2029.0176%2018.1495%2028.9984%2018.0319C28.9791%2017.9144%2028.9454%2017.8012%2028.8971%2017.6923C28.8489%2017.5834%2028.7875%2017.4823%2028.7134%2017.3891C28.6393%2017.2959%2028.5547%2017.2135%2028.4595%2017.1419C28.219%2017.0003%2027.963%2016.8972%2027.6915%2016.8326C27.4199%2016.7679%2027.1449%2016.7446%2026.8664%2016.7626C26.6258%2016.7621%2026.3864%2016.7791%2026.1482%2016.8132C25.9479%2016.8386%2025.7504%2016.8791%2025.5563%2016.9346L25.5563%2017.8854C25.743%2017.8264%2025.9337%2017.7842%2026.128%2017.759C26.3276%2017.73%2026.5282%2017.7148%2026.7298%2017.7134C27.0252%2017.6949%2027.3049%2017.7523%2027.5692%2017.8854C27.6168%2017.9161%2027.6595%2017.9525%2027.6972%2017.9947C27.7348%2018.037%2027.766%2018.0835%2027.791%2018.1343C27.816%2018.1851%2027.8337%2018.2383%2027.8441%2018.294C27.8545%2018.3496%2027.8573%2018.4056%2027.8525%2018.462C27.8566%2018.5278%2027.8514%2018.5927%2027.8367%2018.657C27.822%2018.7212%2027.7986%2018.7821%2027.7663%2018.8395C27.734%2018.897%2027.694%2018.9487%2027.6468%2018.9946C27.5995%2019.0405%2027.5468%2019.0787%2027.4885%2019.1093C27.1544%2019.2631%2026.8037%2019.3306%2026.4364%2019.3117L25.9862%2019.3117L25.9862%2020.1917L26.4466%2020.1917C26.8409%2020.1669%2027.2202%2020.2309%2027.5845%2020.3839C27.6459%2020.4167%2027.7011%2020.4576%2027.7505%2020.5066C27.7999%2020.5556%2027.8412%2020.6107%2027.8745%2020.6718C27.9077%2020.733%2027.9315%2020.7976%2027.9458%2020.8656C27.9602%2020.9337%2027.9644%2021.0024%2027.9587%2021.0717C27.9648%2021.1402%2027.9612%2021.2083%2027.9478%2021.2757C27.9344%2021.3432%2027.912%2021.4074%2027.8801%2021.4683C27.8483%2021.5293%2027.8086%2021.5846%2027.7609%2021.6341C27.7132%2021.6837%2027.6593%2021.7254%2027.5996%2021.7596C27.2884%2021.9045%2026.9613%2021.9685%2026.6184%2021.9518C26.1786%2021.9465%2025.7436%2021.8977%2025.3135%2021.8051ZM21.3382%2018.6238C21.3445%2018.5593%2021.343%2018.495%2021.3335%2018.4308C21.3241%2018.3667%2021.3069%2018.3046%2021.2822%2018.2447C21.2575%2018.1847%2021.226%2018.1287%2021.1876%2018.0765C21.1492%2018.0242%2021.1049%2017.9774%2021.055%2017.936C20.9359%2017.8608%2020.808%2017.806%2020.6714%2017.7714C20.5349%2017.7368%2020.3964%2017.7242%2020.2558%2017.7337C19.8009%2017.7395%2019.356%2017.8087%2018.9208%2017.9411L18.9208%2016.9598C19.4252%2016.8181%2019.9393%2016.7524%2020.4633%2016.7626C20.7322%2016.7484%2020.9964%2016.7773%2021.256%2016.8491C21.5156%2016.9209%2021.7571%2017.032%2021.9806%2017.1824C22.0729%2017.2601%2022.1548%2017.3474%2022.2263%2017.4446C22.2978%2017.5418%2022.3567%2017.646%2022.4034%2017.7573C22.45%2017.8686%2022.483%2017.9838%2022.5021%2018.1029C22.5213%2018.222%2022.5261%2018.3417%2022.5167%2018.462C22.5245%2018.7882%2022.4655%2019.1017%2022.3396%2019.4027C22.1879%2019.7384%2021.984%2020.0384%2021.7277%2020.3029C21.3021%2020.7337%2020.8502%2021.135%2020.3721%2021.5067L19.9928%2021.8051L19.9928%2021.8759L22.6938%2021.8759L22.6938%2022.8419L18.5464%2022.8419L18.5464%2021.7697C19.2882%2021.1796%2019.8579%2020.6975%2020.2558%2020.3232C20.574%2020.0432%2020.8523%2019.728%2021.0905%2019.3774C21.1675%2019.2665%2021.2269%2019.1469%2021.2691%2019.0187C21.3113%2018.8904%2021.3344%2018.7588%2021.3382%2018.6238ZM12.3102%2017.2127L12.3102%2018.1939L13.7769%2017.9107L13.7769%2022.8419L14.9605%2022.8419L14.9605%2016.8486L14.0957%2016.8486L12.3102%2017.2127ZM28.5524%2028.0475C28.5524%2028.104%2028.5467%2028.1599%2028.5353%2028.2152C28.5239%2028.2706%2028.5071%2028.3244%2028.4849%2028.3766C28.4626%2028.4287%2028.4352%2028.4782%2028.4028%2028.5252C28.3705%2028.5721%2028.3337%2028.6156%2028.2925%2028.6555C28.2513%2028.6954%2028.2067%2028.731%2028.1583%2028.7624C28.1098%2028.7937%2028.0587%2028.8202%2028.0049%2028.8418C27.9511%2028.8634%2027.8957%2028.8798%2027.8385%2028.8908C27.7814%2028.9018%2027.7235%2028.9073%2027.6653%2028.9073L24.1832%2028.8418L24.1832%2030.3617L29.1397%2030.3617C29.2082%2030.3617%2029.276%2030.3552%2029.3432%2030.3423C29.4104%2030.3293%2029.4756%2030.3101%2029.5389%2030.2847C29.6022%2030.2593%2029.6625%2030.2281%2029.7195%2030.1912C29.7765%2030.1543%2029.829%2030.1124%2029.8774%2030.0654C29.9259%2030.0184%2029.9693%2029.9673%2030.0074%2029.9121C30.0454%2029.8569%2030.0774%2029.7986%2030.1037%2029.7373C30.1299%2029.6759%2030.1497%2029.6126%2030.163%2029.5475C30.1764%2029.4823%2030.1831%2029.4166%2030.1832%2029.3502L30.1832%2026.0478L28.4785%2026L28.5524%2028.0475ZM11.6308%2028.0099C11.6308%2028.0664%2011.6365%2028.1223%2011.6479%2028.1777C11.6592%2028.233%2011.676%2028.2868%2011.6983%2028.339C11.7206%2028.3911%2011.748%2028.4406%2011.7803%2028.4876C11.8127%2028.5345%2011.8495%2028.578%2011.8906%2028.6179C11.9318%2028.6578%2011.9765%2028.6934%2012.0249%2028.7248C12.0733%2028.7562%2012.1244%2028.7826%2012.1783%2028.8042C12.2321%2028.8259%2012.2875%2028.8422%2012.3446%2028.8532C12.4017%2028.8642%2012.4596%2028.8697%2012.5178%2028.8698L16%2028.8042L16%2030.3241L11.0435%2030.3241C10.975%2030.3241%2010.9071%2030.3176%2010.8399%2030.3047C10.7727%2030.2917%2010.7076%2030.2725%2010.6443%2030.2471C10.581%2030.2217%2010.5206%2030.1906%2010.4637%2030.1537C10.4067%2030.1168%2010.3542%2030.0748%2010.3057%2030.0278C10.2573%2029.9809%2010.2138%2029.9298%2010.1758%2029.8745C10.1377%2029.8193%2010.1057%2029.7611%2010.0795%2029.6997C10.0533%2029.6383%2010.0335%2029.575%2010.0201%2029.5099C10.0068%2029.4448%2010%2029.379%2010%2029.3126L10%2026.0478L11.7047%2026L11.6308%2028.0099Z'%20fill='rgb(14,191,241)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e", ht = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='40.000000'%20fill='none'%20customFrame='url(%23clipPath_9)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_9'%3e%3crect%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_10'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_11'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='3'%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(236,250,254)'%20/%3e%3cg%20id='画板%202310'%20customFrame='url(%23clipPath_10)'%3e%3crect%20id='画板%202310'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='人事服务'%3e%3cg%20id='ic_public_link'%20clip-path='url(%23clipPath_11)'%20customFrame='url(%23clipPath_11)'%3e%3crect%20id='ic_public_link'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20/%3e%3cpath%20id='path1'%20d='M9.9999%2019.9917C9.9999%2018.4292%209.99573%2016.8667%209.9999%2015.3042C9.99573%2014.5459%2010.0916%2013.7917%2010.2749%2013.0626C10.6874%2011.5126%2011.6957%2010.5917%2013.2457%2010.2334C14.0207%2010.0667%2014.8166%209.98756%2015.6082%2010.0001C18.6041%2010.0001%2021.5999%2010.0001%2024.5999%2010.0001C25.3541%209.99589%2026.1082%2010.0792%2026.8457%2010.2584C28.4416%2010.6459%2029.3999%2011.6584%2029.7624%2013.2501C29.9291%2014.0001%2030.0041%2014.7667%2029.9957%2015.5376C29.9957%2018.5667%2029.9957%2021.5959%2029.9957%2024.6209C29.9999%2025.3709%2029.9166%2026.1209%2029.7416%2026.8459C29.3499%2028.4459%2028.3332%2029.3959%2026.7457%2029.7626C25.9666%2029.9292%2025.1749%2030.0084%2024.3791%2029.9959C21.3957%2029.9959%2018.4124%2029.9959%2015.4291%2029.9959C14.6666%2030.0042%2013.9082%2029.9167%2013.1666%2029.7417C11.5624%2029.3542%2010.5999%2028.3376%2010.2374%2026.7376C10.0499%2025.9251%209.9999%2025.1126%209.9999%2024.2917C9.9999%2022.8584%209.9999%2021.4251%209.9999%2019.9917Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3ccircle%20id='path2'%20cx='20'%20cy='20'%20r='10'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='path3'%20d='M25.0333%2021.8666L26.9%2020C28.8083%2018.0916%2028.8083%2015%2026.9%2013.0958C24.9958%2011.1875%2021.9041%2011.1875%2020%2013.0958L18.1291%2014.9625M21.8666%2025.0333L20%2026.9C18.0916%2028.8083%2015%2028.8083%2013.0958%2026.9C11.1875%2024.9958%2011.1875%2021.9041%2013.0958%2020L14.9625%2018.1291'%20fill-rule='nonzero'%20stroke='rgb(14,191,241)'%20stroke-linecap='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='pah4'%20d='M18.125%2021.875L21.875%2018.125'%20stroke='rgb(14,191,241)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='path5'%20d='M25.8207%2019.2626L24.0457%2021.0376C23.7998%2021.2834%2023.6748%2021.5292%2023.6748%2021.7751C23.6748%2022.0209%2023.7998%2022.2667%2024.0457%2022.5126C24.1498%2022.6167%2024.2665%2022.6959%2024.3915%2022.7459C24.5123%2022.7917%2024.6415%2022.8167%2024.779%2022.8167C24.9207%2022.8167%2025.0498%2022.7917%2025.1665%2022.7459C25.2957%2022.6959%2025.4123%2022.6167%2025.5165%2022.5126L27.2915%2020.7334C27.8165%2020.2126%2028.2165%2019.6334%2028.4957%2019.0001C28.5082%2018.9667%2028.5248%2018.9334%2028.5373%2018.8959C28.554%2018.8626%2028.5665%2018.8292%2028.579%2018.7917C28.8332%2018.1501%2028.9582%2017.4584%2028.9582%2016.7209C28.9582%2015.9792%2028.8332%2015.2876%2028.579%2014.6459C28.5665%2014.6084%2028.554%2014.5751%2028.5373%2014.5417C28.5248%2014.5042%2028.5082%2014.4709%2028.4957%2014.4376C28.2165%2013.8042%2027.8165%2013.2292%2027.2915%2012.7042C26.7707%2012.1792%2026.1915%2011.7792%2025.5582%2011.5001C25.5248%2011.4876%2025.4915%2011.4709%2025.454%2011.4584C25.4207%2011.4417%2025.3873%2011.4292%2025.354%2011.4167C24.7082%2011.1667%2024.0165%2011.0417%2023.279%2011.0417C22.5373%2011.0417%2021.8457%2011.1667%2021.204%2011.4167C21.1665%2011.4292%2021.1332%2011.4417%2021.0998%2011.4584C21.0623%2011.4709%2021.029%2011.4876%2020.9957%2011.5001C20.3623%2011.7792%2019.7832%2012.1792%2019.2623%2012.7042L17.4832%2014.4792C17.379%2014.5834%2017.2998%2014.7001%2017.2498%2014.8292C17.204%2014.9501%2017.179%2015.0751%2017.179%2015.2167C17.179%2015.3542%2017.204%2015.4834%2017.2498%2015.6042C17.2998%2015.7292%2017.379%2015.8459%2017.4832%2015.9542C17.5915%2016.0584%2017.7082%2016.1376%2017.8332%2016.1876C17.954%2016.2334%2018.0832%2016.2584%2018.2207%2016.2584C18.3623%2016.2584%2018.4915%2016.2334%2018.6082%2016.1876C18.7373%2016.1376%2018.854%2016.0584%2018.9582%2015.9542L20.7332%2014.1751C21.0873%2013.8209%2021.4748%2013.5584%2021.8957%2013.3834C22.3165%2013.2084%2022.779%2013.1251%2023.279%2013.1251C23.7748%2013.1251%2024.2373%2013.2084%2024.6582%2013.3834C25.079%2013.5584%2025.4665%2013.8209%2025.8207%2014.1751C26.1748%2014.5292%2026.4373%2014.9167%2026.6123%2015.3376C26.7873%2015.7584%2026.8748%2016.2167%2026.8748%2016.7209C26.8748%2017.2209%2026.7873%2017.6792%2026.6123%2018.1001C26.4373%2018.5209%2026.1748%2018.9084%2025.8207%2019.2626ZM13.3832%2021.8959C13.5582%2021.4751%2013.8207%2021.0876%2014.1748%2020.7334L15.954%2018.9584C16.0582%2018.8542%2016.1373%2018.7376%2016.1873%2018.6084C16.2332%2018.4876%2016.2582%2018.3626%2016.2582%2018.2209C16.2582%2018.0834%2016.2332%2017.9542%2016.1873%2017.8334C16.1373%2017.7084%2016.0582%2017.5917%2015.954%2017.4834C15.7082%2017.2417%2015.4623%2017.1167%2015.2165%2017.1167C14.9707%2017.1167%2014.7248%2017.2417%2014.479%2017.4834L12.704%2019.2626C12.179%2019.7876%2011.779%2020.3626%2011.4998%2020.9959C11.4873%2021.0292%2011.4707%2021.0626%2011.4582%2021.1001C11.4415%2021.1334%2011.429%2021.1667%2011.4165%2021.2042C11.1665%2021.8459%2011.0415%2022.5376%2011.0415%2023.2792C11.0415%2024.0167%2011.1665%2024.7084%2011.4165%2025.3542C11.429%2025.3876%2011.4415%2025.4209%2011.4582%2025.4584C11.4707%2025.4917%2011.4873%2025.5251%2011.4998%2025.5584C11.779%2026.1917%2012.179%2026.7709%2012.704%2027.2917C13.2248%2027.8167%2013.804%2028.2167%2014.4373%2028.4959C14.4707%2028.5084%2014.504%2028.5251%2014.5415%2028.5376C14.5748%2028.5542%2014.6082%2028.5667%2014.6457%2028.5792C15.2873%2028.8292%2015.979%2028.9584%2016.7207%2028.9584C17.4582%2028.9584%2018.1498%2028.8292%2018.7915%2028.5792C18.829%2028.5667%2018.8623%2028.5542%2018.8957%2028.5376C18.9332%2028.5251%2018.9665%2028.5084%2018.9998%2028.4959C19.6332%2028.2167%2020.2123%2027.8167%2020.7332%2027.2917L22.5123%2025.5167C22.6165%2025.4126%2022.6957%2025.2959%2022.7457%2025.1667C22.7915%2025.0459%2022.8165%2024.9209%2022.8165%2024.7792C22.8165%2024.6417%2022.7915%2024.5126%2022.7457%2024.3917C22.6957%2024.2667%2022.6165%2024.1501%2022.5123%2024.0417C22.2665%2023.8001%2022.0207%2023.6751%2021.7748%2023.6751C21.529%2023.6751%2021.2832%2023.8001%2021.0373%2024.0417L19.2623%2025.8209C18.9082%2026.1751%2018.5207%2026.4376%2018.0998%2026.6126C17.679%2026.7876%2017.2165%2026.8751%2016.7207%2026.8751C16.2207%2026.8751%2015.7582%2026.7876%2015.3373%2026.6126C14.9165%2026.4376%2014.529%2026.1751%2014.1748%2025.8209C13.8207%2025.4667%2013.5582%2025.0792%2013.3832%2024.6584C13.2082%2024.2376%2013.1248%2023.7792%2013.1248%2023.2792C13.1248%2022.7751%2013.2082%2022.3167%2013.3832%2021.8959Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3cpath%20id='path6'%20d='M21.8127%2016.7458C21.746%2016.7874%2021.6877%2016.8374%2021.6293%2016.8916L16.8918%2021.6291C16.8377%2021.6874%2016.7877%2021.7499%2016.746%2021.8124C16.7127%2021.8624%2016.6877%2021.9166%2016.6627%2021.9749C16.6377%2022.0374%2016.6168%2022.1041%2016.6043%2022.1708C16.5918%2022.2333%2016.5835%2022.2999%2016.5835%2022.3666C16.5835%2022.4333%2016.5918%2022.4999%2016.6043%2022.5666C16.6168%2022.6333%2016.6377%2022.6999%2016.6627%2022.7624C16.6877%2022.8166%2016.7127%2022.8708%2016.746%2022.9208C16.7877%2022.9874%2016.8377%2023.0499%2016.8918%2023.1041C16.946%2023.1583%2017.0085%2023.2083%2017.0752%2023.2499C17.1252%2023.2833%2017.1793%2023.3083%2017.2335%2023.3333C17.3002%2023.3583%2017.3627%2023.3791%2017.4293%2023.3916C17.496%2023.4041%2017.5627%2023.4124%2017.6293%2023.4124C17.696%2023.4124%2017.7627%2023.4041%2017.8252%2023.3916C17.8918%2023.3791%2017.9585%2023.3583%2018.021%2023.3333C18.0793%2023.3083%2018.1335%2023.2833%2018.1835%2023.2499C18.246%2023.2083%2018.3085%2023.1583%2018.3668%2023.1041L23.1043%2018.3666C23.1585%2018.3083%2023.2085%2018.2499%2023.2502%2018.1833C23.2835%2018.1333%2023.3085%2018.0791%2023.3335%2018.0208C23.3585%2017.9583%2023.3793%2017.8916%2023.3918%2017.8249C23.4043%2017.7624%2023.4127%2017.6958%2023.4127%2017.6291C23.4127%2017.5624%2023.4043%2017.4958%2023.3918%2017.4291C23.3793%2017.3624%2023.3585%2017.2999%2023.3335%2017.2333C23.3085%2017.1791%2023.2835%2017.1249%2023.2502%2017.0749C23.2085%2017.0083%2023.1585%2016.9458%2023.1043%2016.8916C23.046%2016.8374%2022.9877%2016.7874%2022.921%2016.7458C22.871%2016.7124%2022.8168%2016.6874%2022.7627%2016.6624C22.696%2016.6374%2022.6335%2016.6166%2022.5668%2016.6041C22.5002%2016.5916%2022.4335%2016.5833%2022.3668%2016.5833C22.3002%2016.5833%2022.2335%2016.5916%2022.171%2016.6041C22.1043%2016.6166%2022.0377%2016.6374%2021.9752%2016.6624C21.9168%2016.6874%2021.8627%2016.7124%2021.8127%2016.7458Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", mt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='40.000000'%20height='40.000000'%20fill='none'%20customFrame='url(%23clipPath_0)'%3e%3cdefs%3e%3cclipPath%20id='clipPath_0'%3e%3crect%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_1'%3e%3crect%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3cclipPath%20id='clipPath_2'%3e%3crect%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20fill='rgb(255,255,255)'%20/%3e%3c/clipPath%3e%3c/defs%3e%3crect%20id='1'%20width='40.000000'%20height='40.000000'%20x='0.000000'%20y='0.000000'%20rx='12.000000'%20fill='rgb(236,250,254)'%20/%3e%3cg%20id='车辆'%20clip-path='url(%23clipPath_1)'%20customFrame='url(%23clipPath_1)'%3e%3crect%20id='车辆'%20width='24.000000'%20height='24.000000'%20x='8.000000'%20y='8.000000'%20/%3e%3cg%20id='编组'%3e%3cg%20id='ic_public_qrcode'%20clip-path='url(%23clipPath_2)'%20customFrame='url(%23clipPath_2)'%3e%3crect%20id='ic_public_qrcode'%20width='20.000000'%20height='20.000000'%20x='10.000000'%20y='10.000000'%20/%3e%3cg%20id='ic_public_qrcode_1_1'%3e%3cpath%20id='ic_public_qrcode_2_0'%20d='M10.6273%2019.9924C10.6273%2018.5277%2010.6222%2017.0631%2010.6273%2015.5985C10.6243%2014.8898%2010.7114%2014.1836%2010.8865%2013.4968C11.2702%2012.0432%2012.2171%2011.1805%2013.6693%2010.8458C14.3974%2010.6885%2015.1411%2010.6148%2015.886%2010.6261C18.6946%2010.6261%2021.5035%2010.6261%2024.3127%2010.6261C25.0221%2010.6217%2025.7295%2010.7029%2026.4195%2010.8678C27.9156%2011.2339%2028.8134%2012.1816%2029.1554%2013.6725C29.3092%2014.3772%2029.3826%2015.097%2029.3744%2015.8182C29.3744%2018.6571%2029.3744%2021.4963%2029.3744%2024.3357C29.3782%2025.0383%2029.2973%2025.7388%2029.1334%2026.422C28.7673%2027.9189%2027.8153%2028.8123%2026.3243%2029.1543C25.5961%2029.311%2024.8524%2029.3847%2024.1076%2029.374C21.3107%2029.374%2018.514%2029.374%2015.7176%2029.374C15.0027%2029.3798%2014.2897%2029.2999%2013.5939%2029.136C12.0912%2028.7698%2011.189%2027.8178%2010.8477%2026.3195C10.6734%2025.5579%2010.6273%2024.7941%2010.6273%2024.0237C10.6273%2022.6802%2010.6273%2021.3364%2010.6273%2019.9924Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_0'%20d='M10.6273%2015.5985C10.6243%2014.8898%2010.7114%2014.1836%2010.8865%2013.4968C11.2702%2012.0432%2012.2171%2011.1805%2013.6693%2010.8458C14.3974%2010.6885%2015.1411%2010.6148%2015.886%2010.6261C18.6946%2010.6261%2021.5035%2010.6261%2024.3127%2010.6261C25.0221%2010.6217%2025.7295%2010.7029%2026.4195%2010.8678C27.9156%2011.2339%2028.8134%2012.1816%2029.1554%2013.6725C29.3092%2014.3772%2029.3826%2015.097%2029.3744%2015.8182C29.3744%2018.6571%2029.3744%2021.4963%2029.3744%2024.3357C29.3782%2025.0383%2029.2973%2025.7388%2029.1334%2026.422C28.7673%2027.9189%2027.8153%2028.8123%2026.3243%2029.1543C25.5961%2029.311%2024.8524%2029.3847%2024.1076%2029.374C21.3107%2029.374%2018.514%2029.374%2015.7176%2029.374C15.0027%2029.3798%2014.2897%2029.2999%2013.5939%2029.136C12.0912%2028.7698%2011.189%2027.8178%2010.8477%2026.3195C10.6734%2025.5579%2010.6273%2024.7941%2010.6273%2024.0237C10.6273%2022.6802%2010.6273%2021.3364%2010.6273%2019.9924C10.6273%2018.5277%2010.6222%2017.0631%2010.6273%2015.5985Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-opacity='0'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_1'%20d='M10.6273%2015.5985C10.6243%2014.8898%2010.7114%2014.1836%2010.8865%2013.4968C11.2702%2012.0432%2012.2171%2011.1805%2013.6693%2010.8458C14.3974%2010.6885%2015.1411%2010.6148%2015.886%2010.6261C18.6946%2010.6261%2021.5035%2010.6261%2024.3127%2010.6261C25.0221%2010.6217%2025.7295%2010.7029%2026.4195%2010.8678C27.9156%2011.2339%2028.8134%2012.1816%2029.1554%2013.6725C29.3092%2014.3772%2029.3826%2015.097%2029.3744%2015.8182C29.3744%2018.6571%2029.3744%2021.4963%2029.3744%2024.3357C29.3782%2025.0383%2029.2973%2025.7388%2029.1334%2026.422C28.7673%2027.9189%2027.8153%2028.8123%2026.3243%2029.1543C25.5961%2029.311%2024.8524%2029.3847%2024.1076%2029.374C21.3107%2029.374%2018.514%2029.374%2015.7176%2029.374C15.0027%2029.3798%2014.2897%2029.2999%2013.5939%2029.136C12.0912%2028.7698%2011.189%2027.8178%2010.8477%2026.3195C10.6734%2025.5579%2010.6273%2024.7941%2010.6273%2024.0237C10.6273%2022.6802%2010.6273%2021.3364%2010.6273%2019.9924C10.6273%2018.5277%2010.6222%2017.0631%2010.6273%2015.5985Z'%20opacity='0.200000003'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-opacity='0'%20stroke-width='1.25'%20/%3e%3ccircle%20id='ic_public_qrcode_2_2'%20cx='20'%20cy='20'%20r='10'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='ic_public_qrcode_2_3'%20d='M17.5%2011.25C17.9602%2011.25%2018.3333%2011.6231%2018.3333%2012.0833L18.3333%2017.5C18.3333%2017.9602%2017.9602%2018.3333%2017.5%2018.3333L12.0833%2018.3333C11.6231%2018.3333%2011.25%2017.9602%2011.25%2017.5L11.25%2012.0833C11.25%2011.6231%2011.6231%2011.25%2012.0833%2011.25L17.5%2011.25ZM17.5%2021.6667C17.9602%2021.6667%2018.3333%2022.0398%2018.3333%2022.5L18.3333%2027.9167C18.3333%2028.3769%2017.9602%2028.75%2017.5%2028.75L12.0833%2028.75C11.6231%2028.75%2011.25%2028.3769%2011.25%2027.9167L11.25%2022.5C11.25%2022.0398%2011.6231%2021.6667%2012.0833%2021.6667L17.5%2021.6667ZM27.9167%2011.25C28.3769%2011.25%2028.75%2011.6231%2028.75%2012.0833L28.75%2017.5C28.75%2017.9602%2028.3769%2018.3333%2027.9167%2018.3333L22.5%2018.3333C22.0398%2018.3333%2021.6667%2017.9602%2021.6667%2017.5L21.6667%2012.0833C21.6667%2011.6231%2022.0398%2011.25%2022.5%2011.25L27.9167%2011.25Z'%20fill-rule='evenodd'%20stroke='rgb(14,191,241)'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_4'%20d='M17.5002%2010.8333C18.1905%2010.8333%2018.7502%2011.3929%2018.7502%2012.0833L18.7502%2017.4999C18.7502%2018.1903%2018.1905%2018.7499%2017.5002%2018.7499L12.0835%2018.7499C11.3931%2018.7499%2010.8335%2018.1903%2010.8335%2017.4999L10.8335%2012.0833C10.8335%2011.3929%2011.3931%2010.8333%2012.0835%2010.8333L17.5002%2010.8333ZM17.5002%2011.6666L12.0835%2011.6666C11.8534%2011.6666%2011.6668%2011.8531%2011.6668%2012.0833L11.6668%2017.4999C11.6668%2017.73%2011.8534%2017.9166%2012.0835%2017.9166L17.5002%2017.9166C17.7303%2017.9166%2017.9168%2017.73%2017.9168%2017.4999L17.9168%2012.0833C17.9168%2011.8531%2017.7303%2011.6666%2017.5002%2011.6666ZM17.5002%2021.2499C18.1905%2021.2499%2018.7502%2021.8096%2018.7502%2022.4999L18.7502%2027.9166C18.7502%2028.6069%2018.1905%2029.1666%2017.5002%2029.1666L12.0835%2029.1666C11.3931%2029.1666%2010.8335%2028.6069%2010.8335%2027.9166L10.8335%2022.4999C10.8335%2021.8096%2011.3931%2021.2499%2012.0835%2021.2499L17.5002%2021.2499ZM17.5002%2022.0833L12.0835%2022.0833C11.8534%2022.0833%2011.6668%2022.2698%2011.6668%2022.4999L11.6668%2027.9166C11.6668%2028.1467%2011.8534%2028.3333%2012.0835%2028.3333L17.5002%2028.3333C17.7303%2028.3333%2017.9168%2028.1467%2017.9168%2027.9166L17.9168%2022.4999C17.9168%2022.2698%2017.7303%2022.0833%2017.5002%2022.0833ZM27.9168%2010.8333C28.6072%2010.8333%2029.1668%2011.3929%2029.1668%2012.0833L29.1668%2017.4999C29.1668%2018.1903%2028.6072%2018.7499%2027.9168%2018.7499L22.5002%2018.7499C21.8098%2018.7499%2021.2502%2018.1903%2021.2502%2017.4999L21.2502%2012.0833C21.2502%2011.3929%2021.8098%2010.8333%2022.5002%2010.8333L27.9168%2010.8333ZM27.9168%2011.6666L22.5002%2011.6666C22.27%2011.6666%2022.0835%2011.8531%2022.0835%2012.0833L22.0835%2017.4999C22.0835%2017.73%2022.27%2017.9166%2022.5002%2017.9166L27.9168%2017.9166C28.1469%2017.9166%2028.3335%2017.73%2028.3335%2017.4999L28.3335%2012.0833C28.3335%2011.8531%2028.1469%2011.6666%2027.9168%2011.6666Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_4'%20d='M18.7502%2012.0833L18.7502%2017.4999C18.7502%2018.1903%2018.1905%2018.7499%2017.5002%2018.7499L12.0835%2018.7499C11.3931%2018.7499%2010.8335%2018.1903%2010.8335%2017.4999L10.8335%2012.0833C10.8335%2011.3929%2011.3931%2010.8333%2012.0835%2010.8333L17.5002%2010.8333C18.1905%2010.8333%2018.7502%2011.3929%2018.7502%2012.0833ZM12.0835%2011.6666C11.8534%2011.6666%2011.6668%2011.8531%2011.6668%2012.0833L11.6668%2017.4999C11.6668%2017.73%2011.8534%2017.9166%2012.0835%2017.9166L17.5002%2017.9166C17.7303%2017.9166%2017.9168%2017.73%2017.9168%2017.4999L17.9168%2012.0833C17.9168%2011.8531%2017.7303%2011.6666%2017.5002%2011.6666L12.0835%2011.6666ZM18.7502%2022.4999L18.7502%2027.9166C18.7502%2028.6069%2018.1905%2029.1666%2017.5002%2029.1666L12.0835%2029.1666C11.3931%2029.1666%2010.8335%2028.6069%2010.8335%2027.9166L10.8335%2022.4999C10.8335%2021.8096%2011.3931%2021.2499%2012.0835%2021.2499L17.5002%2021.2499C18.1905%2021.2499%2018.7502%2021.8096%2018.7502%2022.4999ZM12.0835%2022.0833C11.8534%2022.0833%2011.6668%2022.2698%2011.6668%2022.4999L11.6668%2027.9166C11.6668%2028.1467%2011.8534%2028.3333%2012.0835%2028.3333L17.5002%2028.3333C17.7303%2028.3333%2017.9168%2028.1467%2017.9168%2027.9166L17.9168%2022.4999C17.9168%2022.2698%2017.7303%2022.0833%2017.5002%2022.0833L12.0835%2022.0833ZM29.1668%2012.0833L29.1668%2017.4999C29.1668%2018.1903%2028.6072%2018.7499%2027.9168%2018.7499L22.5002%2018.7499C21.8098%2018.7499%2021.2502%2018.1903%2021.2502%2017.4999L21.2502%2012.0833C21.2502%2011.3929%2021.8098%2010.8333%2022.5002%2010.8333L27.9168%2010.8333C28.6072%2010.8333%2029.1668%2011.3929%2029.1668%2012.0833ZM22.5002%2011.6666C22.27%2011.6666%2022.0835%2011.8531%2022.0835%2012.0833L22.0835%2017.4999C22.0835%2017.73%2022.27%2017.9166%2022.5002%2017.9166L27.9168%2017.9166C28.1469%2017.9166%2028.3335%2017.73%2028.3335%2017.4999L28.3335%2012.0833C28.3335%2011.8531%2028.1469%2011.6666%2027.9168%2011.6666L22.5002%2011.6666Z'%20fill-rule='nonzero'%20stroke='rgb(255,255,255)'%20stroke-opacity='0'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_5'%20d='M27.9165%2021.6667L27.9165%2024.5834L28.7498%2024.5834L28.7498%2021.6667L27.9165%2021.6667ZM24.5832%2021.6667L24.5832%2022.639L24.5828%2022.6388L24.5832%2024.5834L23.6109%2024.5834L23.6107%2022.6388L21.6665%2022.639L21.6665%2021.6667L24.5832%2021.6667ZM21.6665%2025.8334L21.6665%2028.7501L22.4998%2028.7501L22.4998%2025.8334L21.6665%2025.8334ZM27.9165%2027.9167L27.9165%2028.7501L28.7498%2028.7501L28.7498%2027.9167L27.9165%2027.9167ZM25.8332%2025.8334L25.8332%2026.6667L26.6665%2026.6667L26.6665%2025.8334L25.8332%2025.8334Z'%20fill='rgb(14,191,241)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_5'%20d='M27.9165%2024.5834L28.7498%2024.5834L28.7498%2021.6667L27.9165%2021.6667L27.9165%2024.5834ZM24.5832%2022.639L24.5828%2022.6388L24.5832%2024.5834L23.6109%2024.5834L23.6107%2022.6388L21.6665%2022.639L21.6665%2021.6667L24.5832%2021.6667L24.5832%2022.639ZM21.6665%2028.7501L22.4998%2028.7501L22.4998%2025.8334L21.6665%2025.8334L21.6665%2028.7501ZM27.9165%2028.7501L28.7498%2028.7501L28.7498%2027.9167L27.9165%2027.9167L27.9165%2028.7501ZM25.8332%2026.6667L26.6665%2026.6667L26.6665%2025.8334L25.8332%2025.8334L25.8332%2026.6667Z'%20fill-rule='nonzero'%20stroke='rgb(14,191,241)'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3cpath%20id='ic_public_qrcode_2_6'%20d='M14.375%2014.375L14.375%2015.2083L15.2083%2015.2083L15.2083%2014.375L14.375%2014.375ZM14.375%2024.7917L14.375%2025.625L15.2083%2025.625L15.2083%2024.7917L14.375%2024.7917ZM24.7917%2014.375L24.7917%2015.2083L25.625%2015.2083L25.625%2014.375L24.7917%2014.375Z'%20fill='rgb(14,191,241)'%20fill-rule='nonzero'%20/%3e%3cpath%20id='ic_public_qrcode_2_6'%20d='M14.375%2015.2083L15.2083%2015.2083L15.2083%2014.375L14.375%2014.375L14.375%2015.2083ZM14.375%2025.625L15.2083%2025.625L15.2083%2024.7917L14.375%2024.7917L14.375%2025.625ZM24.7917%2015.2083L25.625%2015.2083L25.625%2014.375L24.7917%2014.375L24.7917%2015.2083Z'%20fill-rule='nonzero'%20stroke='rgb(14,191,241)'%20stroke-linejoin='round'%20stroke-width='1.25'%20/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", b2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2012%2012'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12.000000'%20height='12.000000'%20fill='none'%3e%3cdefs%3e%3cfilter%20id='pixso_custom_mask_type_luminance'%3e%3cfeColorMatrix%20type='matrix'%20values='1%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200%200%200%201%200%20'%20/%3e%3c/filter%3e%3c/defs%3e%3cmask%20id='mask_0'%20width='11.999876'%20height='11.999876'%20x='0.000000'%20y='0.000000'%20maskUnits='userSpaceOnUse'%3e%3cg%20filter='url(%23pixso_custom_mask_type_luminance)'%3e%3cg%20id='mask401_19830'%3e%3cpath%20id='蒙版'%20d='M0%200L11.9999%200L11.9999%2011.9999L0%2011.9999L0%200ZM2.69992%201.34999L8.09977%201.34999C9.5082%201.34999%2010.6498%202.49167%2010.6498%203.89998L10.6498%209.2999C10.6498%2010.7082%209.5082%2011.8499%208.09977%2011.8499L2.69992%2011.8499C1.29149%2011.8499%200.149901%2010.7082%200.149901%209.2999L0.149901%203.89998C0.149901%202.49167%201.29149%201.34999%202.69992%201.34999Z'%20fill='rgb(196,196,196)'%20fill-rule='evenodd'%20/%3e%3c/g%3e%3c/g%3e%3c/mask%3e%3crect%20id='ic_public_copy'%20width='12.000000'%20height='12.000000'%20x='0.000000'%20y='0.000000'%20/%3e%3crect%20id='ic_public_copy-复制/base/ic_public_copy'%20width='11.999876'%20height='11.999876'%20x='0.000000'%20y='0.000000'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cpath%20id='path1'%20d='M0.000134537%205.99497C0.000134537%205.05748%20-0.00236544%204.11999%200.000134537%203.1825C-0.00236544%202.72751%200.055134%202.27501%200.165133%201.83752C0.41263%200.907526%201.01762%200.355032%201.94761%200.140034C2.41261%200.040035%202.8901%20-0.00746449%203.3651%203.54269e-05C5.16258%203.54269e-05%206.96006%203.54269e-05%208.76004%203.54269e-05C9.21254%20-0.00246455%209.66503%200.0475349%2010.1075%200.155034C11.065%200.387531%2011.64%200.995025%2011.8575%201.95002C11.9575%202.40001%2012.005%202.86001%2011.9975%203.3225C11.9975%205.13998%2011.9975%206.95746%2011.9975%208.77244C12%209.22244%2011.95%209.67243%2011.845%2010.1099C11.61%2011.0674%2011%2011.6374%2010.0475%2011.8574C9.58003%2011.9574%209.10504%2012.0049%208.62754%2011.9974C6.83756%2011.9974%205.04758%2011.9974%203.2576%2011.9974C2.80011%2012.0024%202.34511%2011.9499%201.90011%2011.8449C0.937625%2011.6124%200.360131%2011.0024%200.142633%2010.0424C0.0301342%209.55494%200.000134537%209.06744%200.000134537%208.57495C0.000134537%207.71495%200.000134537%206.85496%200.000134537%205.99497Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3ccircle%20id='path2'%20cx='5.99993801'%20cy='5.99993801'%20r='5.99993801'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20/%3e%3cg%20id='mask'%20mask='url(%23mask_0)'%3e%3cg%20id='组合%208'%3e%3cpath%20id='path'%20d='M11.1%203.89993L11.1%206.8999C11.1%208.55488%209.75502%209.89737%208.10004%209.89737L5.10007%209.89737C3.44258%209.89737%202.1001%208.55488%202.1001%206.8999L2.1001%203.89993C2.1001%202.24245%203.44258%200.897461%205.10007%200.897461L8.10004%200.897461C9.75502%200.897461%2011.1%202.24245%2011.1%203.89993Z'%20fill-rule='nonzero'%20stroke='rgb(25,25,25)'%20stroke-linejoin='round'%20stroke-width='0.749992251'%20/%3e%3c/g%3e%3c/g%3e%3cpath%20id='path4'%20d='M2.10008%202.39746L8.10002%202.39746C8.92751%202.39746%209.6%203.06995%209.6%203.89995L9.6%209.89738C9.6%2010.7274%208.92751%2011.3999%208.10002%2011.3999L2.10008%2011.3999C1.27009%2011.3999%200.600098%2010.7274%200.600098%209.89738L0.600098%203.89995C0.600098%203.06995%201.27009%202.39746%202.10008%202.39746Z'%20fill='rgb(255,255,255)'%20fill-opacity='0'%20fill-rule='evenodd'%20/%3e%3cpath%20id='path4'%20d='M9.6%203.89995L9.6%209.89738C9.6%2010.7274%208.92751%2011.3999%208.10002%2011.3999L2.10008%2011.3999C1.27009%2011.3999%200.600098%2010.7274%200.600098%209.89738L0.600098%203.89995C0.600098%203.06995%201.27009%202.39746%202.10008%202.39746L8.10002%202.39746C8.92751%202.39746%209.6%203.06995%209.6%203.89995Z'%20fill-rule='nonzero'%20stroke='rgb(25,25,25)'%20stroke-linejoin='round'%20stroke-width='0.749992251'%20/%3e%3c/svg%3e", x2 = "https://chat.opentiny.design", L2 = "https://ai.opentiny.design/next-remoter", k2 = "https://ai.opentiny.design/next-remoter/svgs/logo-next-no-bg-left.svg", S2 = (t) => {
905
905
  const e = !!t.sessionId;
906
906
  return [
907
907
  {
@@ -909,14 +909,14 @@ const w2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2039.9692'%20xmlns='
909
909
  show: e,
910
910
  text: "扫码登录",
911
911
  desc: "使用手机遥控页面",
912
- icon: _2
912
+ icon: mt
913
913
  },
914
914
  {
915
915
  action: "ai-chat",
916
916
  show: !0,
917
917
  text: "打开对话框",
918
918
  desc: "支持在网页端操作AI",
919
- icon: w2
919
+ icon: ut
920
920
  },
921
921
  {
922
922
  action: "remote-url",
@@ -926,7 +926,7 @@ const w2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2039.9692'%20xmlns='
926
926
  active: !0,
927
927
  tip: t.remoteUrl,
928
928
  showCopyIcon: !0,
929
- icon: C2
929
+ icon: ht
930
930
  },
931
931
  {
932
932
  action: "remote-control",
@@ -935,11 +935,11 @@ const w2 = "data:image/svg+xml,%3csvg%20viewBox='0%200%2040%2039.9692'%20xmlns='
935
935
  desc: e ? `${t.sessionId.slice(-6)}` : "",
936
936
  know: !0,
937
937
  showCopyIcon: !0,
938
- icon: v2
938
+ icon: pt
939
939
  }
940
940
  ];
941
941
  };
942
- class S2 {
942
+ class P2 {
943
943
  constructor(e) {
944
944
  this.isExpanded = !1, this.closingTimer = 0, this.getImageUrl = (r) => {
945
945
  if (!r) return;
@@ -955,7 +955,7 @@ class S2 {
955
955
  });
956
956
  }, this.readyTips = (r) => {
957
957
  const n = document.getElementById(r);
958
- n && new y2(n, {
958
+ n && new _2(n, {
959
959
  content: "复制",
960
960
  placement: "top",
961
961
  trigger: "hover"
@@ -973,18 +973,21 @@ class S2 {
973
973
  }
974
974
  /**
975
975
  * 合并菜单项配置。
976
- * - sessionId:使用默认菜单 + 用户配置(可定制每一项的 show/text/icon 等)
977
- * - sessionId:不渲染任何下拉菜单,仅保留点击浮标打开对话框的能力
976
+ * - 用户明确传入 menuItems:直接使用用户配置,不受 sessionId 限制;未传 icon 时自动补充默认图标
977
+ * - sessionId 且未传 menuItems:使用默认菜单
978
+ * - 无 sessionId 且未传 menuItems:不渲染任何下拉菜单,仅保留点击浮标打开对话框的能力
978
979
  */
979
980
  mergeMenuItems(e) {
980
- return this.options.sessionId ? e ? Je(this.options).map((r) => {
981
- const n = e.find((o) => o.action === r.action);
982
- return n ? {
983
- ...r,
984
- ...n,
985
- show: n.show !== void 0 ? n.show : r.show
986
- } : r;
987
- }) : Je(this.options) : [];
981
+ const r = {
982
+ "qr-code": mt,
983
+ "ai-chat": ut,
984
+ "remote-url": ht,
985
+ "remote-control": pt
986
+ };
987
+ return e ? e.map((n) => ({
988
+ ...n,
989
+ icon: n.icon ?? r[n.action]
990
+ })) : this.options.sessionId ? S2(this.options) : [];
988
991
  }
989
992
  init() {
990
993
  this.createFloatingBlock(), this.createDropdownMenu(), this.bindEvents(), this.addStyles();
@@ -1008,7 +1011,7 @@ class S2 {
1008
1011
  <div class="tiny-remoter-dropdown-item__content">
1009
1012
  <div title="${r.tip}">${r.text}</div>
1010
1013
  <div class="tiny-remoter-dropdown-item__desc-wrapper">
1011
- <div class="tiny-remoter-dropdown-item__desc ${r.active ? "tiny-remoter-dropdown-item__desc--active" : ""} ${r.know ? "tiny-remoter-dropdown-item__desc--know" : ""}">${r.desc}</div>
1014
+ <div class="tiny-remoter-dropdown-item__desc ${r.active ? "tiny-remoter-dropdown-item__desc--active" : ""} ${r.know ? "tiny-remoter-dropdown-item__desc--know" : ""}">${r.desc ?? ""}</div>
1012
1015
  <div>
1013
1016
  ${r.showCopyIcon ? `
1014
1017
  <div class="tiny-remoter-copy-icon" id="${r.action}" data-action="${r.action}">
@@ -1081,10 +1084,12 @@ class S2 {
1081
1084
  this.closeDropdown();
1082
1085
  }
1083
1086
  copyRemoteControl() {
1084
- this.options.sessionId && this.copyToClipboard(this.options.sessionId.slice(-6));
1087
+ const e = this.menuItems.find((n) => n.action === "remote-control"), r = e?.desc || e?.text || (this.options.sessionId ? this.options.sessionId.slice(-6) : "");
1088
+ r && this.copyToClipboard(r);
1085
1089
  }
1086
1090
  copyRemoteURL() {
1087
- this.options.sessionId && this.copyToClipboard(this.options.remoteUrl + this.sessionPrefix + this.options.sessionId);
1091
+ const e = this.menuItems.find((s) => s.action === "remote-url"), r = this.options.sessionId ? this.options.remoteUrl + this.sessionPrefix + this.options.sessionId : "", o = (e?.desc && e.desc !== this.options.remoteUrl ? e.desc : void 0) || r || e?.text || "";
1092
+ o && this.copyToClipboard(o);
1088
1093
  }
1089
1094
  // 实现复制到剪贴板功能
1090
1095
  async copyToClipboard(e) {
@@ -1113,7 +1118,7 @@ class S2 {
1113
1118
  // 创建二维码弹窗(无 sessionId 时不展示)
1114
1119
  async showQRCode() {
1115
1120
  if (!this.options.sessionId) return;
1116
- const r = await new f2((this.options.qrCodeUrl || "") + this.sessionPrefix + this.options.sessionId, {}).toDataURL(), n = this.createModal(
1121
+ const r = await new v2((this.options.qrCodeUrl || "") + this.sessionPrefix + this.options.sessionId, {}).toDataURL(), n = this.createModal(
1117
1122
  "扫码前往智能遥控器",
1118
1123
  `
1119
1124
  <div style="text-align: center; padding: 32px;">
@@ -1581,23 +1586,23 @@ class S2 {
1581
1586
  this.floatingBlock && (this.floatingBlock.style.display = "flex");
1582
1587
  }
1583
1588
  }
1584
- const Un = (t = {}) => new S2(t);
1585
- class We extends Error {
1589
+ const jn = (t = {}) => new P2(t);
1590
+ class Ge extends Error {
1586
1591
  constructor(e, r) {
1587
1592
  super(e), this.name = "ParseError", this.type = r.type, this.field = r.field, this.value = r.value, this.line = r.line;
1588
1593
  }
1589
1594
  }
1590
- function fe(t) {
1595
+ function we(t) {
1591
1596
  }
1592
- function P2(t) {
1597
+ function T2(t) {
1593
1598
  if (typeof t == "function")
1594
1599
  throw new TypeError(
1595
1600
  "`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?"
1596
1601
  );
1597
- const { onEvent: e = fe, onError: r = fe, onRetry: n = fe, onComment: o } = t;
1598
- let s = "", a = !0, l, d = "", c = "";
1602
+ const { onEvent: e = we, onError: r = we, onRetry: n = we, onComment: o } = t;
1603
+ let s = "", a = !0, c, d = "", l = "";
1599
1604
  function u(h) {
1600
- const m = a ? h.replace(/^\xEF\xBB\xBF/, "") : h, [v, b] = T2(`${s}${m}`);
1605
+ const m = a ? h.replace(/^\xEF\xBB\xBF/, "") : h, [v, b] = M2(`${s}${m}`);
1601
1606
  for (const x of v)
1602
1607
  g(x);
1603
1608
  s = b, a = !1;
@@ -1622,18 +1627,18 @@ function P2(t) {
1622
1627
  function p(h, m, v) {
1623
1628
  switch (h) {
1624
1629
  case "event":
1625
- c = m;
1630
+ l = m;
1626
1631
  break;
1627
1632
  case "data":
1628
1633
  d = `${d}${m}
1629
1634
  `;
1630
1635
  break;
1631
1636
  case "id":
1632
- l = m.includes("\0") ? void 0 : m;
1637
+ c = m.includes("\0") ? void 0 : m;
1633
1638
  break;
1634
1639
  case "retry":
1635
1640
  /^\d+$/.test(m) ? n(parseInt(m, 10)) : r(
1636
- new We(`Invalid \`retry\` value: "${m}"`, {
1641
+ new Ge(`Invalid \`retry\` value: "${m}"`, {
1637
1642
  type: "invalid-retry",
1638
1643
  value: m,
1639
1644
  line: v
@@ -1642,7 +1647,7 @@ function P2(t) {
1642
1647
  break;
1643
1648
  default:
1644
1649
  r(
1645
- new We(
1650
+ new Ge(
1646
1651
  `Unknown field "${h.length > 20 ? `${h.slice(0, 20)}…` : h}"`,
1647
1652
  { type: "unknown-field", field: h, value: m, line: v }
1648
1653
  )
@@ -1652,20 +1657,20 @@ function P2(t) {
1652
1657
  }
1653
1658
  function f() {
1654
1659
  d.length > 0 && e({
1655
- id: l,
1656
- event: c || void 0,
1660
+ id: c,
1661
+ event: l || void 0,
1657
1662
  // If the data buffer's last character is a U+000A LINE FEED (LF) character,
1658
1663
  // then remove the last character from the data buffer.
1659
1664
  data: d.endsWith(`
1660
1665
  `) ? d.slice(0, -1) : d
1661
- }), l = void 0, d = "", c = "";
1666
+ }), c = void 0, d = "", l = "";
1662
1667
  }
1663
1668
  function y(h = {}) {
1664
- s && h.consume && g(s), a = !0, l = void 0, d = "", c = "", s = "";
1669
+ s && h.consume && g(s), a = !0, c = void 0, d = "", l = "", s = "";
1665
1670
  }
1666
1671
  return { feed: u, reset: y };
1667
1672
  }
1668
- function T2(t) {
1673
+ function M2(t) {
1669
1674
  const e = [];
1670
1675
  let r = "", n = 0;
1671
1676
  for (; n < t.length; ) {
@@ -1676,19 +1681,19 @@ function T2(t) {
1676
1681
  r = t.slice(n);
1677
1682
  break;
1678
1683
  } else {
1679
- const l = t.slice(n, a);
1680
- e.push(l), n = a + 1, t[n - 1] === "\r" && t[n] === `
1684
+ const c = t.slice(n, a);
1685
+ e.push(c), n = a + 1, t[n - 1] === "\r" && t[n] === `
1681
1686
  ` && n++;
1682
1687
  }
1683
1688
  }
1684
1689
  return [e, r];
1685
1690
  }
1686
- class xe extends TransformStream {
1691
+ class Se extends TransformStream {
1687
1692
  constructor({ onError: e, onRetry: r, onComment: n } = {}) {
1688
1693
  let o;
1689
1694
  super({
1690
1695
  start(s) {
1691
- o = P2({
1696
+ o = T2({
1692
1697
  onEvent: (a) => {
1693
1698
  s.enqueue(a);
1694
1699
  },
@@ -1705,7 +1710,7 @@ class xe extends TransformStream {
1705
1710
  });
1706
1711
  }
1707
1712
  }
1708
- var M2 = ({
1713
+ var E2 = ({
1709
1714
  prefix: t,
1710
1715
  size: e = 16,
1711
1716
  alphabet: r = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
@@ -1713,25 +1718,25 @@ var M2 = ({
1713
1718
  } = {}) => {
1714
1719
  const o = () => {
1715
1720
  const s = r.length, a = new Array(e);
1716
- for (let l = 0; l < e; l++)
1717
- a[l] = r[Math.random() * s | 0];
1721
+ for (let c = 0; c < e; c++)
1722
+ a[c] = r[Math.random() * s | 0];
1718
1723
  return a.join("");
1719
1724
  };
1720
1725
  if (t == null)
1721
1726
  return o;
1722
1727
  if (r.includes(n))
1723
- throw new l2({
1728
+ throw new h2({
1724
1729
  argument: "separator",
1725
1730
  message: `The separator "${n}" must not be part of the alphabet "${r}".`
1726
1731
  });
1727
1732
  return () => `${t}${n}${o()}`;
1728
1733
  };
1729
- M2();
1730
- function dt(t = globalThis) {
1734
+ E2();
1735
+ function ft(t = globalThis) {
1731
1736
  var e, r, n;
1732
1737
  return t.window ? "runtime/browser" : (e = t.navigator) != null && e.userAgent ? `runtime/${t.navigator.userAgent.toLowerCase()}` : (n = (r = t.process) == null ? void 0 : r.versions) != null && n.node ? `runtime/node.js/${t.process.version.substring(0)}` : t.EdgeRuntime ? "runtime/vercel-edge" : "runtime/unknown";
1733
1738
  }
1734
- function E2(t) {
1739
+ function R2(t) {
1735
1740
  if (t == null)
1736
1741
  return {};
1737
1742
  const e = {};
@@ -1746,19 +1751,19 @@ function E2(t) {
1746
1751
  }
1747
1752
  return e;
1748
1753
  }
1749
- function ut(t, ...e) {
1750
- const r = new Headers(E2(t)), n = r.get("user-agent") || "";
1754
+ function gt(t, ...e) {
1755
+ const r = new Headers(R2(t)), n = r.get("user-agent") || "";
1751
1756
  return r.set(
1752
1757
  "user-agent",
1753
1758
  [n, ...e].filter(Boolean).join(" ")
1754
1759
  ), Object.fromEntries(r.entries());
1755
1760
  }
1756
- var R2 = /"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/, I2 = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;
1757
- function Ge(t) {
1761
+ var I2 = /"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/, A2 = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;
1762
+ function Ke(t) {
1758
1763
  const e = JSON.parse(t);
1759
- return e === null || typeof e != "object" || R2.test(t) === !1 && I2.test(t) === !1 ? e : A2(e);
1764
+ return e === null || typeof e != "object" || I2.test(t) === !1 && A2.test(t) === !1 ? e : O2(e);
1760
1765
  }
1761
- function A2(t) {
1766
+ function O2(t) {
1762
1767
  let e = [t];
1763
1768
  for (; e.length; ) {
1764
1769
  const r = e;
@@ -1776,20 +1781,20 @@ function A2(t) {
1776
1781
  }
1777
1782
  return t;
1778
1783
  }
1779
- function O2(t) {
1784
+ function $2(t) {
1780
1785
  const { stackTraceLimit: e } = Error;
1781
1786
  try {
1782
1787
  Error.stackTraceLimit = 0;
1783
1788
  } catch {
1784
- return Ge(t);
1789
+ return Ke(t);
1785
1790
  }
1786
1791
  try {
1787
- return Ge(t);
1792
+ return Ke(t);
1788
1793
  } finally {
1789
1794
  Error.stackTraceLimit = e;
1790
1795
  }
1791
1796
  }
1792
- function Ae(t) {
1797
+ function Oe(t) {
1793
1798
  if (t.type === "object" || Array.isArray(t.type) && t.type.includes("object")) {
1794
1799
  t.additionalProperties = !1;
1795
1800
  const { properties: r } = t;
@@ -1805,11 +1810,11 @@ function Ae(t) {
1805
1810
  return t;
1806
1811
  }
1807
1812
  function q(t) {
1808
- return typeof t == "boolean" ? t : Ae(t);
1813
+ return typeof t == "boolean" ? t : Oe(t);
1809
1814
  }
1810
- var $2 = Symbol(
1815
+ var U2 = Symbol(
1811
1816
  "Let zodToJsonSchema decide on which parser to use"
1812
- ), Ke = {
1817
+ ), Ye = {
1813
1818
  name: void 0,
1814
1819
  $refStrategy: "root",
1815
1820
  basePath: ["#"],
@@ -1829,17 +1834,17 @@ var $2 = Symbol(
1829
1834
  emailStrategy: "format:email",
1830
1835
  base64Strategy: "contentEncoding:base64",
1831
1836
  nameStrategy: "ref"
1832
- }, U2 = (t) => typeof t == "string" ? {
1833
- ...Ke,
1837
+ }, N2 = (t) => typeof t == "string" ? {
1838
+ ...Ye,
1834
1839
  name: t
1835
1840
  } : {
1836
- ...Ke,
1841
+ ...Ye,
1837
1842
  ...t
1838
1843
  };
1839
1844
  function T() {
1840
1845
  return {};
1841
1846
  }
1842
- function N2(t, e) {
1847
+ function j2(t, e) {
1843
1848
  var r, n, o;
1844
1849
  const s = {
1845
1850
  type: "array"
@@ -1849,7 +1854,7 @@ function N2(t, e) {
1849
1854
  currentPath: [...e.currentPath, "items"]
1850
1855
  })), t.minLength && (s.minItems = t.minLength.value), t.maxLength && (s.maxItems = t.maxLength.value), t.exactLength && (s.minItems = t.exactLength.value, s.maxItems = t.exactLength.value), s;
1851
1856
  }
1852
- function j2(t) {
1857
+ function Z2(t) {
1853
1858
  const e = {
1854
1859
  type: "integer",
1855
1860
  format: "int64"
@@ -1869,18 +1874,18 @@ function j2(t) {
1869
1874
  }
1870
1875
  return e;
1871
1876
  }
1872
- function Z2() {
1877
+ function q2() {
1873
1878
  return { type: "boolean" };
1874
1879
  }
1875
- function pt(t, e) {
1880
+ function yt(t, e) {
1876
1881
  return _(t.type._def, e);
1877
1882
  }
1878
- var q2 = (t, e) => _(t.innerType._def, e);
1879
- function ht(t, e, r) {
1883
+ var z2 = (t, e) => _(t.innerType._def, e);
1884
+ function wt(t, e, r) {
1880
1885
  const n = r ?? e.dateStrategy;
1881
1886
  if (Array.isArray(n))
1882
1887
  return {
1883
- anyOf: n.map((o, s) => ht(t, e, o))
1888
+ anyOf: n.map((o, s) => wt(t, e, o))
1884
1889
  };
1885
1890
  switch (n) {
1886
1891
  case "string":
@@ -1895,10 +1900,10 @@ function ht(t, e, r) {
1895
1900
  format: "date"
1896
1901
  };
1897
1902
  case "integer":
1898
- return z2(t);
1903
+ return D2(t);
1899
1904
  }
1900
1905
  }
1901
- var z2 = (t) => {
1906
+ var D2 = (t) => {
1902
1907
  const e = {
1903
1908
  type: "integer",
1904
1909
  format: "unix-time"
@@ -1914,23 +1919,23 @@ var z2 = (t) => {
1914
1919
  }
1915
1920
  return e;
1916
1921
  };
1917
- function D2(t, e) {
1922
+ function H2(t, e) {
1918
1923
  return {
1919
1924
  ..._(t.innerType._def, e),
1920
1925
  default: t.defaultValue()
1921
1926
  };
1922
1927
  }
1923
- function H2(t, e) {
1928
+ function F2(t, e) {
1924
1929
  return e.effectStrategy === "input" ? _(t.schema._def, e) : T();
1925
1930
  }
1926
- function F2(t) {
1931
+ function B2(t) {
1927
1932
  return {
1928
1933
  type: "string",
1929
1934
  enum: Array.from(t.values)
1930
1935
  };
1931
1936
  }
1932
- var B2 = (t) => "type" in t && t.type === "string" ? !1 : "allOf" in t;
1933
- function V2(t, e) {
1937
+ var V2 = (t) => "type" in t && t.type === "string" ? !1 : "allOf" in t;
1938
+ function W2(t, e) {
1934
1939
  const r = [
1935
1940
  _(t.left._def, {
1936
1941
  ...e,
@@ -1942,13 +1947,13 @@ function V2(t, e) {
1942
1947
  })
1943
1948
  ].filter((o) => !!o), n = [];
1944
1949
  return r.forEach((o) => {
1945
- if (B2(o))
1950
+ if (V2(o))
1946
1951
  n.push(...o.allOf);
1947
1952
  else {
1948
1953
  let s = o;
1949
1954
  if ("additionalProperties" in o && o.additionalProperties === !1) {
1950
- const { additionalProperties: a, ...l } = o;
1951
- s = l;
1955
+ const { additionalProperties: a, ...c } = o;
1956
+ s = c;
1952
1957
  }
1953
1958
  n.push(s);
1954
1959
  }
@@ -1963,7 +1968,7 @@ function J2(t) {
1963
1968
  const: t.value
1964
1969
  };
1965
1970
  }
1966
- var ge = void 0, O = {
1971
+ var ve = void 0, O = {
1967
1972
  /**
1968
1973
  * `c` was changed to `[cC]` to replicate /i flag
1969
1974
  */
@@ -1985,10 +1990,10 @@ var ge = void 0, O = {
1985
1990
  * Fix in Zod:
1986
1991
  * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b
1987
1992
  */
1988
- emoji: () => (ge === void 0 && (ge = RegExp(
1993
+ emoji: () => (ve === void 0 && (ve = RegExp(
1989
1994
  "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",
1990
1995
  "u"
1991
- )), ge),
1996
+ )), ve),
1992
1997
  /**
1993
1998
  * Unused
1994
1999
  */
@@ -2008,7 +2013,7 @@ var ge = void 0, O = {
2008
2013
  nanoid: /^[a-zA-Z0-9_-]{21}$/,
2009
2014
  jwt: /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/
2010
2015
  };
2011
- function mt(t, e) {
2016
+ function vt(t, e) {
2012
2017
  const r = {
2013
2018
  type: "string"
2014
2019
  };
@@ -2052,7 +2057,7 @@ function mt(t, e) {
2052
2057
  case "startsWith":
2053
2058
  k(
2054
2059
  r,
2055
- RegExp(`^${ye(n.value, e)}`),
2060
+ RegExp(`^${Ce(n.value, e)}`),
2056
2061
  n.message,
2057
2062
  e
2058
2063
  );
@@ -2060,7 +2065,7 @@ function mt(t, e) {
2060
2065
  case "endsWith":
2061
2066
  k(
2062
2067
  r,
2063
- RegExp(`${ye(n.value, e)}$`),
2068
+ RegExp(`${Ce(n.value, e)}$`),
2064
2069
  n.message,
2065
2070
  e
2066
2071
  );
@@ -2083,7 +2088,7 @@ function mt(t, e) {
2083
2088
  case "includes": {
2084
2089
  k(
2085
2090
  r,
2086
- RegExp(ye(n.value, e)),
2091
+ RegExp(Ce(n.value, e)),
2087
2092
  n.message,
2088
2093
  e
2089
2094
  );
@@ -2132,16 +2137,16 @@ function mt(t, e) {
2132
2137
  }
2133
2138
  return r;
2134
2139
  }
2135
- function ye(t, e) {
2136
- return e.patternStrategy === "escape" ? G2(t) : t;
2140
+ function Ce(t, e) {
2141
+ return e.patternStrategy === "escape" ? K2(t) : t;
2137
2142
  }
2138
- var W2 = new Set(
2143
+ var G2 = new Set(
2139
2144
  "ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789"
2140
2145
  );
2141
- function G2(t) {
2146
+ function K2(t) {
2142
2147
  let e = "";
2143
2148
  for (let r = 0; r < t.length; r++)
2144
- W2.has(t[r]) || (e += "\\"), e += t[r];
2149
+ G2.has(t[r]) || (e += "\\"), e += t[r];
2145
2150
  return e;
2146
2151
  }
2147
2152
  function $(t, e, r, n) {
@@ -2158,11 +2163,11 @@ function k(t, e, r, n) {
2158
2163
  t.pattern || (o = t.allOf) != null && o.some((s) => s.pattern) ? (t.allOf || (t.allOf = []), t.pattern && (t.allOf.push({
2159
2164
  pattern: t.pattern
2160
2165
  }), delete t.pattern), t.allOf.push({
2161
- pattern: Ye(e, n),
2166
+ pattern: Qe(e, n),
2162
2167
  ...r && n.errorMessages && { errorMessage: { pattern: r } }
2163
- })) : t.pattern = Ye(e, n);
2168
+ })) : t.pattern = Qe(e, n);
2164
2169
  }
2165
- function Ye(t, e) {
2170
+ function Qe(t, e) {
2166
2171
  var r;
2167
2172
  if (!e.applyRegexFlags || !t.flags)
2168
2173
  return t.source;
@@ -2174,41 +2179,41 @@ function Ye(t, e) {
2174
2179
  s: t.flags.includes("s")
2175
2180
  // `.` matches newlines
2176
2181
  }, o = n.i ? t.source.toLowerCase() : t.source;
2177
- let s = "", a = !1, l = !1, d = !1;
2178
- for (let c = 0; c < o.length; c++) {
2182
+ let s = "", a = !1, c = !1, d = !1;
2183
+ for (let l = 0; l < o.length; l++) {
2179
2184
  if (a) {
2180
- s += o[c], a = !1;
2185
+ s += o[l], a = !1;
2181
2186
  continue;
2182
2187
  }
2183
2188
  if (n.i) {
2184
- if (l) {
2185
- if (o[c].match(/[a-z]/)) {
2186
- d ? (s += o[c], s += `${o[c - 2]}-${o[c]}`.toUpperCase(), d = !1) : o[c + 1] === "-" && ((r = o[c + 2]) != null && r.match(/[a-z]/)) ? (s += o[c], d = !0) : s += `${o[c]}${o[c].toUpperCase()}`;
2189
+ if (c) {
2190
+ if (o[l].match(/[a-z]/)) {
2191
+ d ? (s += o[l], s += `${o[l - 2]}-${o[l]}`.toUpperCase(), d = !1) : o[l + 1] === "-" && ((r = o[l + 2]) != null && r.match(/[a-z]/)) ? (s += o[l], d = !0) : s += `${o[l]}${o[l].toUpperCase()}`;
2187
2192
  continue;
2188
2193
  }
2189
- } else if (o[c].match(/[a-z]/)) {
2190
- s += `[${o[c]}${o[c].toUpperCase()}]`;
2194
+ } else if (o[l].match(/[a-z]/)) {
2195
+ s += `[${o[l]}${o[l].toUpperCase()}]`;
2191
2196
  continue;
2192
2197
  }
2193
2198
  }
2194
2199
  if (n.m) {
2195
- if (o[c] === "^") {
2200
+ if (o[l] === "^") {
2196
2201
  s += `(^|(?<=[\r
2197
2202
  ]))`;
2198
2203
  continue;
2199
- } else if (o[c] === "$") {
2204
+ } else if (o[l] === "$") {
2200
2205
  s += `($|(?=[\r
2201
2206
  ]))`;
2202
2207
  continue;
2203
2208
  }
2204
2209
  }
2205
- if (n.s && o[c] === ".") {
2206
- s += l ? `${o[c]}\r
2207
- ` : `[${o[c]}\r
2210
+ if (n.s && o[l] === ".") {
2211
+ s += c ? `${o[l]}\r
2212
+ ` : `[${o[l]}\r
2208
2213
  ]`;
2209
2214
  continue;
2210
2215
  }
2211
- s += o[c], o[c] === "\\" ? a = !0 : l && o[c] === "]" ? l = !1 : !l && o[c] === "[" && (l = !0);
2216
+ s += o[l], o[l] === "\\" ? a = !0 : c && o[l] === "]" ? c = !1 : !c && o[l] === "[" && (c = !0);
2212
2217
  }
2213
2218
  try {
2214
2219
  new RegExp(s);
@@ -2221,8 +2226,8 @@ function Ye(t, e) {
2221
2226
  }
2222
2227
  return s;
2223
2228
  }
2224
- function ft(t, e) {
2225
- var r, n, o, s, a, l;
2229
+ function Ct(t, e) {
2230
+ var r, n, o, s, a, c;
2226
2231
  const d = {
2227
2232
  type: "object",
2228
2233
  additionalProperties: (r = _(t.valueType._def, {
@@ -2231,7 +2236,7 @@ function ft(t, e) {
2231
2236
  })) != null ? r : e.allowedAdditionalProperties
2232
2237
  };
2233
2238
  if (((n = t.keyType) == null ? void 0 : n._def.typeName) === w.ZodString && ((o = t.keyType._def.checks) != null && o.length)) {
2234
- const { type: c, ...u } = mt(t.keyType._def, e);
2239
+ const { type: l, ...u } = vt(t.keyType._def, e);
2235
2240
  return {
2236
2241
  ...d,
2237
2242
  propertyNames: u
@@ -2244,8 +2249,8 @@ function ft(t, e) {
2244
2249
  enum: t.keyType._def.values
2245
2250
  }
2246
2251
  };
2247
- if (((a = t.keyType) == null ? void 0 : a._def.typeName) === w.ZodBranded && t.keyType._def.type._def.typeName === w.ZodString && ((l = t.keyType._def.type._def.checks) != null && l.length)) {
2248
- const { type: c, ...u } = pt(
2252
+ if (((a = t.keyType) == null ? void 0 : a._def.typeName) === w.ZodBranded && t.keyType._def.type._def.typeName === w.ZodString && ((c = t.keyType._def.type._def.checks) != null && c.length)) {
2253
+ const { type: l, ...u } = yt(
2249
2254
  t.keyType._def,
2250
2255
  e
2251
2256
  );
@@ -2257,9 +2262,9 @@ function ft(t, e) {
2257
2262
  }
2258
2263
  return d;
2259
2264
  }
2260
- function K2(t, e) {
2265
+ function Y2(t, e) {
2261
2266
  if (e.mapStrategy === "record")
2262
- return ft(t, e);
2267
+ return Ct(t, e);
2263
2268
  const r = _(t.keyType._def, {
2264
2269
  ...e,
2265
2270
  currentPath: [...e.currentPath, "items", "items", "0"]
@@ -2278,7 +2283,7 @@ function K2(t, e) {
2278
2283
  }
2279
2284
  };
2280
2285
  }
2281
- function Y2(t) {
2286
+ function Q2(t) {
2282
2287
  const e = t.values, n = Object.keys(t.values).filter((s) => typeof e[e[s]] != "number").map((s) => e[s]), o = Array.from(
2283
2288
  new Set(n.map((s) => typeof s))
2284
2289
  );
@@ -2287,28 +2292,28 @@ function Y2(t) {
2287
2292
  enum: n
2288
2293
  };
2289
2294
  }
2290
- function Q2() {
2295
+ function X2() {
2291
2296
  return { not: T() };
2292
2297
  }
2293
- function X2() {
2298
+ function er() {
2294
2299
  return {
2295
2300
  type: "null"
2296
2301
  };
2297
2302
  }
2298
- var Le = {
2303
+ var Pe = {
2299
2304
  ZodString: "string",
2300
2305
  ZodNumber: "number",
2301
2306
  ZodBigInt: "integer",
2302
2307
  ZodBoolean: "boolean",
2303
2308
  ZodNull: "null"
2304
2309
  };
2305
- function e0(t, e) {
2310
+ function tr(t, e) {
2306
2311
  const r = t.options instanceof Map ? Array.from(t.options.values()) : t.options;
2307
2312
  if (r.every(
2308
- (n) => n._def.typeName in Le && (!n._def.checks || !n._def.checks.length)
2313
+ (n) => n._def.typeName in Pe && (!n._def.checks || !n._def.checks.length)
2309
2314
  )) {
2310
2315
  const n = r.reduce((o, s) => {
2311
- const a = Le[s._def.typeName];
2316
+ const a = Pe[s._def.typeName];
2312
2317
  return a && !o.includes(a) ? [...o, a] : o;
2313
2318
  }, []);
2314
2319
  return {
@@ -2337,7 +2342,7 @@ function e0(t, e) {
2337
2342
  []
2338
2343
  );
2339
2344
  if (n.length === r.length) {
2340
- const o = n.filter((s, a, l) => l.indexOf(s) === a);
2345
+ const o = n.filter((s, a, c) => c.indexOf(s) === a);
2341
2346
  return {
2342
2347
  type: o.length > 1 ? o : o[0],
2343
2348
  enum: r.reduce(
@@ -2357,9 +2362,9 @@ function e0(t, e) {
2357
2362
  []
2358
2363
  )
2359
2364
  };
2360
- return t0(t, e);
2365
+ return rr(t, e);
2361
2366
  }
2362
- var t0 = (t, e) => {
2367
+ var rr = (t, e) => {
2363
2368
  const r = (t.options instanceof Map ? Array.from(t.options.values()) : t.options).map(
2364
2369
  (n, o) => _(n._def, {
2365
2370
  ...e,
@@ -2370,13 +2375,13 @@ var t0 = (t, e) => {
2370
2375
  );
2371
2376
  return r.length ? { anyOf: r } : void 0;
2372
2377
  };
2373
- function r0(t, e) {
2378
+ function nr(t, e) {
2374
2379
  if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(
2375
2380
  t.innerType._def.typeName
2376
2381
  ) && (!t.innerType._def.checks || !t.innerType._def.checks.length))
2377
2382
  return {
2378
2383
  type: [
2379
- Le[t.innerType._def.typeName],
2384
+ Pe[t.innerType._def.typeName],
2380
2385
  "null"
2381
2386
  ]
2382
2387
  };
@@ -2386,7 +2391,7 @@ function r0(t, e) {
2386
2391
  });
2387
2392
  return r && { anyOf: [r, { type: "null" }] };
2388
2393
  }
2389
- function n0(t) {
2394
+ function or(t) {
2390
2395
  const e = {
2391
2396
  type: "number"
2392
2397
  };
@@ -2408,27 +2413,27 @@ function n0(t) {
2408
2413
  }
2409
2414
  return e;
2410
2415
  }
2411
- function o0(t, e) {
2416
+ function sr(t, e) {
2412
2417
  const r = {
2413
2418
  type: "object",
2414
2419
  properties: {}
2415
2420
  }, n = [], o = t.shape();
2416
2421
  for (const a in o) {
2417
- let l = o[a];
2418
- if (l === void 0 || l._def === void 0)
2422
+ let c = o[a];
2423
+ if (c === void 0 || c._def === void 0)
2419
2424
  continue;
2420
- const d = i0(l), c = _(l._def, {
2425
+ const d = ar(c), l = _(c._def, {
2421
2426
  ...e,
2422
2427
  currentPath: [...e.currentPath, "properties", a],
2423
2428
  propertyPath: [...e.currentPath, "properties", a]
2424
2429
  });
2425
- c !== void 0 && (r.properties[a] = c, d || n.push(a));
2430
+ l !== void 0 && (r.properties[a] = l, d || n.push(a));
2426
2431
  }
2427
2432
  n.length && (r.required = n);
2428
- const s = s0(t, e);
2433
+ const s = ir(t, e);
2429
2434
  return s !== void 0 && (r.additionalProperties = s), r;
2430
2435
  }
2431
- function s0(t, e) {
2436
+ function ir(t, e) {
2432
2437
  if (t.catchall._def.typeName !== "ZodNever")
2433
2438
  return _(t.catchall._def, {
2434
2439
  ...e,
@@ -2443,14 +2448,14 @@ function s0(t, e) {
2443
2448
  return e.removeAdditionalStrategy === "strict" ? e.allowedAdditionalProperties : e.rejectedAdditionalProperties;
2444
2449
  }
2445
2450
  }
2446
- function i0(t) {
2451
+ function ar(t) {
2447
2452
  try {
2448
2453
  return t.isOptional();
2449
2454
  } catch {
2450
2455
  return !0;
2451
2456
  }
2452
2457
  }
2453
- var a0 = (t, e) => {
2458
+ var cr = (t, e) => {
2454
2459
  var r;
2455
2460
  if (e.currentPath.toString() === ((r = e.propertyPath) == null ? void 0 : r.toString()))
2456
2461
  return _(t.innerType._def, e);
@@ -2459,7 +2464,7 @@ var a0 = (t, e) => {
2459
2464
  currentPath: [...e.currentPath, "anyOf", "1"]
2460
2465
  });
2461
2466
  return n ? { anyOf: [{ not: T() }, n] } : T();
2462
- }, c0 = (t, e) => {
2467
+ }, lr = (t, e) => {
2463
2468
  if (e.pipeStrategy === "input")
2464
2469
  return _(t.in._def, e);
2465
2470
  if (e.pipeStrategy === "output")
@@ -2475,10 +2480,10 @@ var a0 = (t, e) => {
2475
2480
  allOf: [r, n].filter((o) => o !== void 0)
2476
2481
  };
2477
2482
  };
2478
- function l0(t, e) {
2483
+ function dr(t, e) {
2479
2484
  return _(t.type._def, e);
2480
2485
  }
2481
- function d0(t, e) {
2486
+ function ur(t, e) {
2482
2487
  const n = {
2483
2488
  type: "array",
2484
2489
  uniqueItems: !0,
@@ -2489,7 +2494,7 @@ function d0(t, e) {
2489
2494
  };
2490
2495
  return t.minSize && (n.minItems = t.minSize.value), t.maxSize && (n.maxItems = t.maxSize.value), n;
2491
2496
  }
2492
- function u0(t, e) {
2497
+ function pr(t, e) {
2493
2498
  return t.rest ? {
2494
2499
  type: "array",
2495
2500
  minItems: t.items.length,
@@ -2521,80 +2526,80 @@ function u0(t, e) {
2521
2526
  )
2522
2527
  };
2523
2528
  }
2524
- function p0() {
2529
+ function hr() {
2525
2530
  return {
2526
2531
  not: T()
2527
2532
  };
2528
2533
  }
2529
- function h0() {
2534
+ function mr() {
2530
2535
  return T();
2531
2536
  }
2532
- var m0 = (t, e) => _(t.innerType._def, e), f0 = (t, e, r) => {
2537
+ var fr = (t, e) => _(t.innerType._def, e), gr = (t, e, r) => {
2533
2538
  switch (e) {
2534
2539
  case w.ZodString:
2535
- return mt(t, r);
2540
+ return vt(t, r);
2536
2541
  case w.ZodNumber:
2537
- return n0(t);
2542
+ return or(t);
2538
2543
  case w.ZodObject:
2539
- return o0(t, r);
2544
+ return sr(t, r);
2540
2545
  case w.ZodBigInt:
2541
- return j2(t);
2546
+ return Z2(t);
2542
2547
  case w.ZodBoolean:
2543
- return Z2();
2548
+ return q2();
2544
2549
  case w.ZodDate:
2545
- return ht(t, r);
2550
+ return wt(t, r);
2546
2551
  case w.ZodUndefined:
2547
- return p0();
2552
+ return hr();
2548
2553
  case w.ZodNull:
2549
- return X2();
2554
+ return er();
2550
2555
  case w.ZodArray:
2551
- return N2(t, r);
2556
+ return j2(t, r);
2552
2557
  case w.ZodUnion:
2553
2558
  case w.ZodDiscriminatedUnion:
2554
- return e0(t, r);
2559
+ return tr(t, r);
2555
2560
  case w.ZodIntersection:
2556
- return V2(t, r);
2561
+ return W2(t, r);
2557
2562
  case w.ZodTuple:
2558
- return u0(t, r);
2563
+ return pr(t, r);
2559
2564
  case w.ZodRecord:
2560
- return ft(t, r);
2565
+ return Ct(t, r);
2561
2566
  case w.ZodLiteral:
2562
2567
  return J2(t);
2563
2568
  case w.ZodEnum:
2564
- return F2(t);
2569
+ return B2(t);
2565
2570
  case w.ZodNativeEnum:
2566
- return Y2(t);
2571
+ return Q2(t);
2567
2572
  case w.ZodNullable:
2568
- return r0(t, r);
2573
+ return nr(t, r);
2569
2574
  case w.ZodOptional:
2570
- return a0(t, r);
2575
+ return cr(t, r);
2571
2576
  case w.ZodMap:
2572
- return K2(t, r);
2577
+ return Y2(t, r);
2573
2578
  case w.ZodSet:
2574
- return d0(t, r);
2579
+ return ur(t, r);
2575
2580
  case w.ZodLazy:
2576
2581
  return () => t.getter()._def;
2577
2582
  case w.ZodPromise:
2578
- return l0(t, r);
2583
+ return dr(t, r);
2579
2584
  case w.ZodNaN:
2580
2585
  case w.ZodNever:
2581
- return Q2();
2586
+ return X2();
2582
2587
  case w.ZodEffects:
2583
- return H2(t, r);
2588
+ return F2(t, r);
2584
2589
  case w.ZodAny:
2585
2590
  return T();
2586
2591
  case w.ZodUnknown:
2587
- return h0();
2592
+ return mr();
2588
2593
  case w.ZodDefault:
2589
- return D2(t, r);
2594
+ return H2(t, r);
2590
2595
  case w.ZodBranded:
2591
- return pt(t, r);
2596
+ return yt(t, r);
2592
2597
  case w.ZodReadonly:
2593
- return m0(t, r);
2598
+ return fr(t, r);
2594
2599
  case w.ZodCatch:
2595
- return q2(t, r);
2600
+ return z2(t, r);
2596
2601
  case w.ZodPipeline:
2597
- return c0(t, r);
2602
+ return lr(t, r);
2598
2603
  case w.ZodFunction:
2599
2604
  case w.ZodVoid:
2600
2605
  case w.ZodSymbol:
@@ -2603,7 +2608,7 @@ var m0 = (t, e) => _(t.innerType._def, e), f0 = (t, e, r) => {
2603
2608
  return /* @__PURE__ */ ((n) => {
2604
2609
  })();
2605
2610
  }
2606
- }, g0 = (t, e) => {
2611
+ }, yr = (t, e) => {
2607
2612
  let r = 0;
2608
2613
  for (; r < t.length && r < e.length && t[r] === e[r]; r++)
2609
2614
  ;
@@ -2620,29 +2625,29 @@ function _(t, e, r = !1) {
2620
2625
  o,
2621
2626
  r
2622
2627
  );
2623
- if (d !== $2)
2628
+ if (d !== U2)
2624
2629
  return d;
2625
2630
  }
2626
2631
  if (o && !r) {
2627
- const d = y0(o, e);
2632
+ const d = wr(o, e);
2628
2633
  if (d !== void 0)
2629
2634
  return d;
2630
2635
  }
2631
2636
  const s = { def: t, path: e.currentPath, jsonSchema: void 0 };
2632
2637
  e.seen.set(t, s);
2633
- const a = f0(t, t.typeName, e), l = typeof a == "function" ? _(a(), e) : a;
2634
- if (l && w0(t, e, l), e.postProcess) {
2635
- const d = e.postProcess(l, t, e);
2636
- return s.jsonSchema = l, d;
2638
+ const a = gr(t, t.typeName, e), c = typeof a == "function" ? _(a(), e) : a;
2639
+ if (c && vr(t, e, c), e.postProcess) {
2640
+ const d = e.postProcess(c, t, e);
2641
+ return s.jsonSchema = c, d;
2637
2642
  }
2638
- return s.jsonSchema = l, l;
2643
+ return s.jsonSchema = c, c;
2639
2644
  }
2640
- var y0 = (t, e) => {
2645
+ var wr = (t, e) => {
2641
2646
  switch (e.$refStrategy) {
2642
2647
  case "root":
2643
2648
  return { $ref: t.path.join("/") };
2644
2649
  case "relative":
2645
- return { $ref: g0(e.currentPath, t.path) };
2650
+ return { $ref: yr(e.currentPath, t.path) };
2646
2651
  case "none":
2647
2652
  case "seen":
2648
2653
  return t.path.length < e.currentPath.length && t.path.every((r, n) => e.currentPath[n] === r) ? (console.warn(
@@ -2651,8 +2656,8 @@ var y0 = (t, e) => {
2651
2656
  )}! Defaulting to any`
2652
2657
  ), T()) : e.$refStrategy === "seen" ? T() : void 0;
2653
2658
  }
2654
- }, w0 = (t, e, r) => (t.description && (r.description = t.description), r), v0 = (t) => {
2655
- const e = U2(t), r = e.name !== void 0 ? [...e.basePath, e.definitionPath, e.name] : e.basePath;
2659
+ }, vr = (t, e, r) => (t.description && (r.description = t.description), r), Cr = (t) => {
2660
+ const e = N2(t), r = e.name !== void 0 ? [...e.basePath, e.definitionPath, e.name] : e.basePath;
2656
2661
  return {
2657
2662
  ...e,
2658
2663
  currentPath: r,
@@ -2669,14 +2674,14 @@ var y0 = (t, e) => {
2669
2674
  ])
2670
2675
  )
2671
2676
  };
2672
- }, C0 = (t, e) => {
2677
+ }, _r = (t, e) => {
2673
2678
  var r;
2674
- const n = v0(e);
2679
+ const n = Cr(e);
2675
2680
  let o = typeof e == "object" && e.definitions ? Object.entries(e.definitions).reduce(
2676
- (c, [u, g]) => {
2681
+ (l, [u, g]) => {
2677
2682
  var p;
2678
2683
  return {
2679
- ...c,
2684
+ ...l,
2680
2685
  [u]: (p = _(
2681
2686
  g._def,
2682
2687
  {
@@ -2696,8 +2701,8 @@ var y0 = (t, e) => {
2696
2701
  currentPath: [...n.basePath, n.definitionPath, s]
2697
2702
  },
2698
2703
  !1
2699
- )) != null ? r : T(), l = typeof e == "object" && e.name !== void 0 && e.nameStrategy === "title" ? e.name : void 0;
2700
- l !== void 0 && (a.title = l);
2704
+ )) != null ? r : T(), c = typeof e == "object" && e.name !== void 0 && e.nameStrategy === "title" ? e.name : void 0;
2705
+ c !== void 0 && (a.title = c);
2701
2706
  const d = s === void 0 ? o ? {
2702
2707
  ...a,
2703
2708
  [n.definitionPath]: o
@@ -2713,12 +2718,12 @@ var y0 = (t, e) => {
2713
2718
  }
2714
2719
  };
2715
2720
  return d.$schema = "http://json-schema.org/draft-07/schema#", d;
2716
- }, ke = Symbol.for("vercel.ai.schema");
2717
- function K(t, {
2721
+ }, Te = Symbol.for("vercel.ai.schema");
2722
+ function Q(t, {
2718
2723
  validate: e
2719
2724
  } = {}) {
2720
2725
  return {
2721
- [ke]: !0,
2726
+ [Te]: !0,
2722
2727
  _type: void 0,
2723
2728
  // should never be used directly
2724
2729
  get jsonSchema() {
@@ -2727,15 +2732,15 @@ function K(t, {
2727
2732
  validate: e
2728
2733
  };
2729
2734
  }
2730
- function _0(t) {
2731
- return typeof t == "object" && t !== null && ke in t && t[ke] === !0 && "jsonSchema" in t && "validate" in t;
2735
+ function br(t) {
2736
+ return typeof t == "object" && t !== null && Te in t && t[Te] === !0 && "jsonSchema" in t && "validate" in t;
2732
2737
  }
2733
- function gt(t) {
2734
- return t == null ? K({ properties: {}, additionalProperties: !1 }) : _0(t) ? t : "~standard" in t ? t["~standard"].vendor === "zod" ? S0(t) : b0(t) : t();
2738
+ function _t(t) {
2739
+ return t == null ? Q({ properties: {}, additionalProperties: !1 }) : br(t) ? t : "~standard" in t ? t["~standard"].vendor === "zod" ? Pr(t) : xr(t) : t();
2735
2740
  }
2736
- function b0(t) {
2737
- return K(
2738
- () => Ae(
2741
+ function xr(t) {
2742
+ return Q(
2743
+ () => Oe(
2739
2744
  t["~standard"].jsonSchema.input({
2740
2745
  target: "draft-07"
2741
2746
  })
@@ -2745,7 +2750,7 @@ function b0(t) {
2745
2750
  const r = await t["~standard"].validate(e);
2746
2751
  return "value" in r ? { success: !0, value: r.value } : {
2747
2752
  success: !1,
2748
- error: new Ce({
2753
+ error: new xe({
2749
2754
  value: e,
2750
2755
  cause: r.issues
2751
2756
  })
@@ -2754,12 +2759,12 @@ function b0(t) {
2754
2759
  }
2755
2760
  );
2756
2761
  }
2757
- function x0(t, e) {
2762
+ function Lr(t, e) {
2758
2763
  var r;
2759
2764
  const n = (r = void 0) != null ? r : !1;
2760
- return K(
2765
+ return Q(
2761
2766
  // defer json schema creation to avoid unnecessary computation when only validation is needed
2762
- () => C0(t, {
2767
+ () => _r(t, {
2763
2768
  $refStrategy: n ? "root" : "none"
2764
2769
  }),
2765
2770
  {
@@ -2770,13 +2775,13 @@ function x0(t, e) {
2770
2775
  }
2771
2776
  );
2772
2777
  }
2773
- function L0(t, e) {
2778
+ function kr(t, e) {
2774
2779
  var r;
2775
2780
  const n = (r = void 0) != null ? r : !1;
2776
- return K(
2781
+ return Q(
2777
2782
  // defer json schema creation to avoid unnecessary computation when only validation is needed
2778
- () => Ae(
2779
- Fe.toJSONSchema(t, {
2783
+ () => Oe(
2784
+ Ve.toJSONSchema(t, {
2780
2785
  target: "draft-7",
2781
2786
  io: "input",
2782
2787
  reused: n ? "ref" : "inline"
@@ -2784,91 +2789,91 @@ function L0(t, e) {
2784
2789
  ),
2785
2790
  {
2786
2791
  validate: async (o) => {
2787
- const s = await Fe.safeParseAsync(t, o);
2792
+ const s = await Ve.safeParseAsync(t, o);
2788
2793
  return s.success ? { success: !0, value: s.data } : { success: !1, error: s.error };
2789
2794
  }
2790
2795
  }
2791
2796
  );
2792
2797
  }
2793
- function k0(t) {
2798
+ function Sr(t) {
2794
2799
  return "_zod" in t;
2795
2800
  }
2796
- function S0(t, e) {
2797
- return k0(t) ? L0(t) : x0(t);
2801
+ function Pr(t, e) {
2802
+ return Sr(t) ? kr(t) : Lr(t);
2798
2803
  }
2799
- async function yt({
2804
+ async function bt({
2800
2805
  value: t,
2801
2806
  schema: e,
2802
2807
  context: r
2803
2808
  }) {
2804
- const n = gt(e);
2809
+ const n = _t(e);
2805
2810
  try {
2806
2811
  if (n.validate == null)
2807
2812
  return { success: !0, value: t, rawValue: t };
2808
2813
  const o = await n.validate(t);
2809
2814
  return o.success ? { success: !0, value: o.value, rawValue: t } : {
2810
2815
  success: !1,
2811
- error: Ce.wrap({ value: t, cause: o.error, context: r }),
2816
+ error: xe.wrap({ value: t, cause: o.error, context: r }),
2812
2817
  rawValue: t
2813
2818
  };
2814
2819
  } catch (o) {
2815
2820
  return {
2816
2821
  success: !1,
2817
- error: Ce.wrap({ value: t, cause: o, context: r }),
2822
+ error: xe.wrap({ value: t, cause: o, context: r }),
2818
2823
  rawValue: t
2819
2824
  };
2820
2825
  }
2821
2826
  }
2822
- async function P0({
2827
+ async function Tr({
2823
2828
  text: t,
2824
2829
  schema: e
2825
2830
  }) {
2826
2831
  try {
2827
- const r = O2(t);
2828
- return e == null ? { success: !0, value: r, rawValue: r } : await yt({ value: r, schema: e });
2832
+ const r = $2(t);
2833
+ return e == null ? { success: !0, value: r, rawValue: r } : await bt({ value: r, schema: e });
2829
2834
  } catch (r) {
2830
2835
  return {
2831
2836
  success: !1,
2832
- error: He.isInstance(r) ? r : new He({ text: t, cause: r }),
2837
+ error: Be.isInstance(r) ? r : new Be({ text: t, cause: r }),
2833
2838
  rawValue: void 0
2834
2839
  };
2835
2840
  }
2836
2841
  }
2837
- function T0(t) {
2842
+ function Mr(t) {
2838
2843
  return { ...t, type: "dynamic" };
2839
2844
  }
2840
- let Oe;
2841
- Oe = globalThis.crypto;
2842
- async function M0(t) {
2843
- return (await Oe).getRandomValues(new Uint8Array(t));
2845
+ let $e;
2846
+ $e = globalThis.crypto;
2847
+ async function Er(t) {
2848
+ return (await $e).getRandomValues(new Uint8Array(t));
2844
2849
  }
2845
- async function E0(t) {
2850
+ async function Rr(t) {
2846
2851
  const e = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~", r = Math.pow(2, 8) - Math.pow(2, 8) % e.length;
2847
2852
  let n = "";
2848
2853
  for (; n.length < t; ) {
2849
- const o = await M0(t - n.length);
2854
+ const o = await Er(t - n.length);
2850
2855
  for (const s of o)
2851
2856
  s < r && (n += e[s % e.length]);
2852
2857
  }
2853
2858
  return n;
2854
2859
  }
2855
- async function R0(t) {
2856
- return await E0(t);
2860
+ async function Ir(t) {
2861
+ return await Rr(t);
2857
2862
  }
2858
- async function I0(t) {
2859
- const e = await (await Oe).subtle.digest("SHA-256", new TextEncoder().encode(t));
2863
+ async function Ar(t) {
2864
+ const e = await (await $e).subtle.digest("SHA-256", new TextEncoder().encode(t));
2860
2865
  return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\//g, "_").replace(/\+/g, "-").replace(/=/g, "");
2861
2866
  }
2862
- async function A0(t) {
2867
+ async function Or(t) {
2863
2868
  if (t || (t = 43), t < 43 || t > 128)
2864
2869
  throw `Expected a length between 43 and 128. Received ${t}.`;
2865
- const e = await R0(t), r = await I0(e);
2870
+ const e = await Ir(t), r = await Ar(e);
2866
2871
  return {
2867
2872
  code_verifier: e,
2868
2873
  code_challenge: r
2869
2874
  };
2870
2875
  }
2871
- var O0 = "AI_MCPClientError", wt = `vercel.ai.error.${O0}`, $0 = Symbol.for(wt), Qe, Xe, C = class extends (Xe = ne, Qe = $0, Xe) {
2876
+ var $r = "AI_MCPClientError", xt = `vercel.ai.error.${$r}`, Ur = Symbol.for(xt), Xe, et, C = class extends (et = oe, Xe = Ur, et) {
2872
2877
  constructor({
2873
2878
  name: t = "MCPClientError",
2874
2879
  message: e,
@@ -2876,26 +2881,26 @@ var O0 = "AI_MCPClientError", wt = `vercel.ai.error.${O0}`, $0 = Symbol.for(wt),
2876
2881
  data: n,
2877
2882
  code: o
2878
2883
  }) {
2879
- super({ name: t, message: e, cause: r }), this[Qe] = !0, this.data = n, this.code = o;
2884
+ super({ name: t, message: e, cause: r }), this[Xe] = !0, this.data = n, this.code = o;
2880
2885
  }
2881
2886
  static isInstance(t) {
2882
- return ne.hasMarker(t, wt);
2887
+ return oe.hasMarker(t, xt);
2883
2888
  }
2884
- }, B = "2025-06-18", U0 = [
2889
+ }, B = "2025-06-18", Nr = [
2885
2890
  B,
2886
2891
  "2025-03-26",
2887
2892
  "2024-11-05"
2888
- ], N0 = i.optional(i.record(i.string(), i.unknown())), j0 = i.looseObject({
2893
+ ], jr = i.optional(i.record(i.string(), i.unknown())), Zr = i.looseObject({
2889
2894
  name: i.string(),
2890
2895
  version: i.string()
2891
- }), pe = i.looseObject({
2896
+ }), fe = i.looseObject({
2892
2897
  _meta: i.optional(i.object({}).loose())
2893
- }), N = pe, vt = i.object({
2898
+ }), N = fe, Lt = i.object({
2894
2899
  method: i.string(),
2895
- params: i.optional(pe)
2896
- }), Ct = i.object({
2900
+ params: i.optional(fe)
2901
+ }), kt = i.object({
2897
2902
  applyDefaults: i.optional(i.boolean())
2898
- }).loose(), Z0 = i.looseObject({
2903
+ }).loose(), qr = i.looseObject({
2899
2904
  experimental: i.optional(i.object({}).loose()),
2900
2905
  logging: i.optional(i.object({}).loose()),
2901
2906
  prompts: i.optional(
@@ -2914,19 +2919,19 @@ var O0 = "AI_MCPClientError", wt = `vercel.ai.error.${O0}`, $0 = Symbol.for(wt),
2914
2919
  listChanged: i.optional(i.boolean())
2915
2920
  })
2916
2921
  ),
2917
- elicitation: i.optional(Ct)
2922
+ elicitation: i.optional(kt)
2918
2923
  });
2919
2924
  i.object({
2920
- elicitation: i.optional(Ct)
2925
+ elicitation: i.optional(kt)
2921
2926
  }).loose();
2922
- var q0 = N.extend({
2927
+ var zr = N.extend({
2923
2928
  protocolVersion: i.string(),
2924
- capabilities: Z0,
2925
- serverInfo: j0,
2929
+ capabilities: qr,
2930
+ serverInfo: Zr,
2926
2931
  instructions: i.optional(i.string())
2927
- }), $e = N.extend({
2932
+ }), Ue = N.extend({
2928
2933
  nextCursor: i.optional(i.string())
2929
- }), z0 = i.object({
2934
+ }), Dr = i.object({
2930
2935
  name: i.string(),
2931
2936
  /**
2932
2937
  * @see https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool
@@ -2946,26 +2951,26 @@ var q0 = N.extend({
2946
2951
  title: i.optional(i.string())
2947
2952
  }).loose()
2948
2953
  ),
2949
- _meta: N0
2950
- }).loose(), D0 = $e.extend({
2951
- tools: i.array(z0)
2952
- }), _t = i.object({
2954
+ _meta: jr
2955
+ }).loose(), Hr = Ue.extend({
2956
+ tools: i.array(Dr)
2957
+ }), St = i.object({
2953
2958
  type: i.literal("text"),
2954
2959
  text: i.string()
2955
- }).loose(), bt = i.object({
2960
+ }).loose(), Pt = i.object({
2956
2961
  type: i.literal("image"),
2957
2962
  data: i.base64(),
2958
2963
  mimeType: i.string()
2959
- }).loose(), H0 = i.object({
2964
+ }).loose(), Fr = i.object({
2960
2965
  uri: i.string(),
2961
2966
  name: i.string(),
2962
2967
  title: i.optional(i.string()),
2963
2968
  description: i.optional(i.string()),
2964
2969
  mimeType: i.optional(i.string()),
2965
2970
  size: i.optional(i.number())
2966
- }).loose(), F0 = $e.extend({
2967
- resources: i.array(H0)
2968
- }), xt = i.object({
2971
+ }).loose(), Br = Ue.extend({
2972
+ resources: i.array(Fr)
2973
+ }), Tt = i.object({
2969
2974
  /**
2970
2975
  * The URI of this resource.
2971
2976
  */
@@ -2982,16 +2987,16 @@ var q0 = N.extend({
2982
2987
  * The MIME type of this resource, if known.
2983
2988
  */
2984
2989
  mimeType: i.optional(i.string())
2985
- }).loose(), Lt = xt.extend({
2990
+ }).loose(), Mt = Tt.extend({
2986
2991
  text: i.string()
2987
- }), kt = xt.extend({
2992
+ }), Et = Tt.extend({
2988
2993
  blob: i.base64()
2989
- }), St = i.object({
2994
+ }), Rt = i.object({
2990
2995
  type: i.literal("resource"),
2991
- resource: i.union([Lt, kt])
2992
- }).loose(), B0 = N.extend({
2996
+ resource: i.union([Mt, Et])
2997
+ }).loose(), Vr = N.extend({
2993
2998
  content: i.array(
2994
- i.union([_t, bt, St])
2999
+ i.union([St, Pt, Rt])
2995
3000
  ),
2996
3001
  /**
2997
3002
  * @see https://modelcontextprotocol.io/specification/2025-06-18/server/tools#structured-content
@@ -3002,80 +3007,80 @@ var q0 = N.extend({
3002
3007
  N.extend({
3003
3008
  toolResult: i.unknown()
3004
3009
  })
3005
- ), V0 = i.object({
3010
+ ), Wr = i.object({
3006
3011
  uriTemplate: i.string(),
3007
3012
  name: i.string(),
3008
3013
  title: i.optional(i.string()),
3009
3014
  description: i.optional(i.string()),
3010
3015
  mimeType: i.optional(i.string())
3011
- }).loose(), J0 = N.extend({
3012
- resourceTemplates: i.array(V0)
3013
- }), W0 = N.extend({
3016
+ }).loose(), Jr = N.extend({
3017
+ resourceTemplates: i.array(Wr)
3018
+ }), Gr = N.extend({
3014
3019
  contents: i.array(
3015
- i.union([Lt, kt])
3020
+ i.union([Mt, Et])
3016
3021
  )
3017
- }), G0 = i.object({
3022
+ }), Kr = i.object({
3018
3023
  name: i.string(),
3019
3024
  description: i.optional(i.string()),
3020
3025
  required: i.optional(i.boolean())
3021
- }).loose(), K0 = i.object({
3026
+ }).loose(), Yr = i.object({
3022
3027
  name: i.string(),
3023
3028
  title: i.optional(i.string()),
3024
3029
  description: i.optional(i.string()),
3025
- arguments: i.optional(i.array(G0))
3026
- }).loose(), Y0 = $e.extend({
3027
- prompts: i.array(K0)
3028
- }), Q0 = i.object({
3030
+ arguments: i.optional(i.array(Kr))
3031
+ }).loose(), Qr = Ue.extend({
3032
+ prompts: i.array(Yr)
3033
+ }), Xr = i.object({
3029
3034
  role: i.union([i.literal("user"), i.literal("assistant")]),
3030
3035
  content: i.union([
3031
- _t,
3032
- bt,
3033
- St
3036
+ St,
3037
+ Pt,
3038
+ Rt
3034
3039
  ])
3035
- }).loose(), X0 = N.extend({
3040
+ }).loose(), e0 = N.extend({
3036
3041
  description: i.optional(i.string()),
3037
- messages: i.array(Q0)
3038
- }), er = pe.extend({
3042
+ messages: i.array(Xr)
3043
+ }), t0 = fe.extend({
3039
3044
  message: i.string(),
3040
3045
  requestedSchema: i.unknown()
3041
- }), et = vt.extend({
3046
+ }), tt = Lt.extend({
3042
3047
  method: i.literal("elicitation/create"),
3043
- params: er
3044
- }), tr = N.extend({
3048
+ params: t0
3049
+ }), r0 = N.extend({
3045
3050
  action: i.union([
3046
3051
  i.literal("accept"),
3047
3052
  i.literal("decline"),
3048
3053
  i.literal("cancel")
3049
3054
  ]),
3050
3055
  content: i.optional(i.record(i.string(), i.unknown()))
3051
- }), he = "2.0", rr = i.object({
3052
- jsonrpc: i.literal(he),
3056
+ }), ge = "2.0", n0 = i.object({
3057
+ jsonrpc: i.literal(ge),
3053
3058
  id: i.union([i.string(), i.number().int()])
3054
- }).merge(vt).strict(), nr = i.object({
3055
- jsonrpc: i.literal(he),
3059
+ }).merge(Lt).strict(), o0 = i.object({
3060
+ jsonrpc: i.literal(ge),
3056
3061
  id: i.union([i.string(), i.number().int()]),
3057
3062
  result: N
3058
- }).strict(), or = i.object({
3059
- jsonrpc: i.literal(he),
3063
+ }).strict(), s0 = i.object({
3064
+ jsonrpc: i.literal(ge),
3060
3065
  id: i.union([i.string(), i.number().int()]),
3061
3066
  error: i.object({
3062
3067
  code: i.number().int(),
3063
3068
  message: i.string(),
3064
3069
  data: i.optional(i.unknown())
3065
3070
  })
3066
- }).strict(), sr = i.object({
3067
- jsonrpc: i.literal(he)
3071
+ }).strict(), i0 = i.object({
3072
+ jsonrpc: i.literal(ge)
3068
3073
  }).merge(
3069
3074
  i.object({
3070
3075
  method: i.string(),
3071
- params: i.optional(pe)
3076
+ params: i.optional(fe)
3072
3077
  })
3073
- ).strict(), G = i.union([
3074
- rr,
3075
- sr,
3076
- nr,
3077
- or
3078
- ]), Pt = typeof __PACKAGE_VERSION__ < "u" ? __PACKAGE_VERSION__ : "0.0.0-test", Tt = i.object({
3078
+ ).strict(), K = i.union([
3079
+ n0,
3080
+ i0,
3081
+ o0,
3082
+ s0
3083
+ ]), It = typeof __PACKAGE_VERSION__ < "u" ? __PACKAGE_VERSION__ : "0.0.0-test", At = i.object({
3079
3084
  access_token: i.string(),
3080
3085
  id_token: i.string().optional(),
3081
3086
  // Optional for OAuth 2.1, but necessary in OpenID Connect
@@ -3096,7 +3101,7 @@ var q0 = N.extend({
3096
3101
  return e.protocol !== "javascript:" && e.protocol !== "data:" && e.protocol !== "vbscript:";
3097
3102
  },
3098
3103
  { message: "URL cannot use javascript:, data:, or vbscript: scheme" }
3099
- ), ir = i.object({
3104
+ ), a0 = i.object({
3100
3105
  resource: i.string().url(),
3101
3106
  authorization_servers: i.array(S).optional(),
3102
3107
  jwks_uri: i.string().url().optional(),
@@ -3111,7 +3116,7 @@ var q0 = N.extend({
3111
3116
  authorization_details_types_supported: i.array(i.string()).optional(),
3112
3117
  dpop_signing_alg_values_supported: i.array(i.string()).optional(),
3113
3118
  dpop_bound_access_tokens_required: i.boolean().optional()
3114
- }).passthrough(), Mt = i.object({
3119
+ }).passthrough(), Ot = i.object({
3115
3120
  issuer: i.string(),
3116
3121
  authorization_endpoint: S,
3117
3122
  token_endpoint: S,
@@ -3122,7 +3127,7 @@ var q0 = N.extend({
3122
3127
  code_challenge_methods_supported: i.array(i.string()),
3123
3128
  token_endpoint_auth_methods_supported: i.array(i.string()).optional(),
3124
3129
  token_endpoint_auth_signing_alg_values_supported: i.array(i.string()).optional()
3125
- }).passthrough(), ar = i.object({
3130
+ }).passthrough(), c0 = i.object({
3126
3131
  issuer: i.string(),
3127
3132
  authorization_endpoint: S,
3128
3133
  token_endpoint: S,
@@ -3136,16 +3141,16 @@ var q0 = N.extend({
3136
3141
  id_token_signing_alg_values_supported: i.array(i.string()),
3137
3142
  claims_supported: i.array(i.string()).optional(),
3138
3143
  token_endpoint_auth_methods_supported: i.array(i.string()).optional()
3139
- }).passthrough(), cr = ar.merge(
3140
- Mt.pick({
3144
+ }).passthrough(), l0 = c0.merge(
3145
+ Ot.pick({
3141
3146
  code_challenge_methods_supported: !0
3142
3147
  })
3143
- ), lr = i.object({
3148
+ ), d0 = i.object({
3144
3149
  client_id: i.string(),
3145
3150
  client_secret: i.string().optional(),
3146
3151
  client_id_issued_at: i.number().optional(),
3147
3152
  client_secret_expires_at: i.number().optional()
3148
- }).strip(), dr = i.object({
3153
+ }).strip(), u0 = i.object({
3149
3154
  redirect_uris: i.array(S),
3150
3155
  token_endpoint_auth_method: i.string().optional(),
3151
3156
  grant_types: i.array(i.string()).optional(),
@@ -3162,46 +3167,46 @@ var q0 = N.extend({
3162
3167
  software_id: i.string().optional(),
3163
3168
  software_version: i.string().optional(),
3164
3169
  software_statement: i.string().optional()
3165
- }).strip(), ur = i.object({
3170
+ }).strip(), p0 = i.object({
3166
3171
  error: i.string(),
3167
3172
  error_description: i.string().optional(),
3168
3173
  error_uri: i.string().optional()
3169
- }), pr = dr.merge(
3170
- lr
3171
- ), hr = "AI_MCPClientOAuthError", Et = `vercel.ai.error.${hr}`, mr = Symbol.for(Et), tt, rt, Y = class extends (rt = ne, tt = mr, rt) {
3174
+ }), h0 = u0.merge(
3175
+ d0
3176
+ ), m0 = "AI_MCPClientOAuthError", $t = `vercel.ai.error.${m0}`, f0 = Symbol.for($t), rt, nt, X = class extends (nt = oe, rt = f0, nt) {
3172
3177
  constructor({
3173
3178
  name: t = "MCPClientOAuthError",
3174
3179
  message: e,
3175
3180
  cause: r
3176
3181
  }) {
3177
- super({ name: t, message: e, cause: r }), this[tt] = !0;
3182
+ super({ name: t, message: e, cause: r }), this[rt] = !0;
3178
3183
  }
3179
3184
  static isInstance(t) {
3180
- return ne.hasMarker(t, Et);
3185
+ return oe.hasMarker(t, $t);
3181
3186
  }
3182
- }, H = class extends Y {
3187
+ }, H = class extends X {
3183
3188
  };
3184
3189
  H.errorCode = "server_error";
3185
- var oe = class extends Y {
3190
+ var se = class extends X {
3186
3191
  };
3187
- oe.errorCode = "invalid_client";
3188
- var se = class extends Y {
3192
+ se.errorCode = "invalid_client";
3193
+ var ie = class extends X {
3189
3194
  };
3190
- se.errorCode = "invalid_grant";
3191
- var ie = class extends Y {
3195
+ ie.errorCode = "invalid_grant";
3196
+ var ae = class extends X {
3192
3197
  };
3193
- ie.errorCode = "unauthorized_client";
3194
- var fr = {
3198
+ ae.errorCode = "unauthorized_client";
3199
+ var g0 = {
3195
3200
  [H.errorCode]: H,
3196
- [oe.errorCode]: oe,
3197
3201
  [se.errorCode]: se,
3198
- [ie.errorCode]: ie
3202
+ [ie.errorCode]: ie,
3203
+ [ae.errorCode]: ae
3199
3204
  };
3200
- function gr(t) {
3205
+ function y0(t) {
3201
3206
  const e = typeof t == "string" ? new URL(t) : new URL(t.href);
3202
3207
  return e.hash = "", e;
3203
3208
  }
3204
- function yr({
3209
+ function w0({
3205
3210
  requestedResource: t,
3206
3211
  configuredResource: e
3207
3212
  }) {
@@ -3211,12 +3216,12 @@ function yr({
3211
3216
  const o = r.pathname.endsWith("/") ? r.pathname : r.pathname + "/", s = n.pathname.endsWith("/") ? n.pathname : n.pathname + "/";
3212
3217
  return o.startsWith(s);
3213
3218
  }
3214
- var ae = class extends Error {
3219
+ var ce = class extends Error {
3215
3220
  constructor(t = "Unauthorized") {
3216
3221
  super(t), this.name = "UnauthorizedError";
3217
3222
  }
3218
3223
  };
3219
- function ce(t) {
3224
+ function le(t) {
3220
3225
  var e;
3221
3226
  const r = (e = t.headers.get("www-authenticate")) != null ? e : t.headers.get("WWW-Authenticate");
3222
3227
  if (!r)
@@ -3232,45 +3237,45 @@ function ce(t) {
3232
3237
  return;
3233
3238
  }
3234
3239
  }
3235
- function wr(t, e = "", r = {}) {
3240
+ function v0(t, e = "", r = {}) {
3236
3241
  return e.endsWith("/") && (e = e.slice(0, -1)), r.prependPathname ? `${e}/.well-known/${t}` : `/.well-known/${t}${e}`;
3237
3242
  }
3238
- async function Ue(t, e, r = fetch) {
3243
+ async function Ne(t, e, r = fetch) {
3239
3244
  try {
3240
3245
  return await r(t, { headers: e });
3241
3246
  } catch (n) {
3242
3247
  if (n instanceof TypeError)
3243
- return e ? Ue(t, void 0, r) : void 0;
3248
+ return e ? Ne(t, void 0, r) : void 0;
3244
3249
  throw n;
3245
3250
  }
3246
3251
  }
3247
- async function nt(t, e, r = fetch) {
3248
- return await Ue(t, {
3252
+ async function ot(t, e, r = fetch) {
3253
+ return await Ne(t, {
3249
3254
  "MCP-Protocol-Version": e
3250
3255
  }, r);
3251
3256
  }
3252
- function vr(t, e) {
3257
+ function C0(t, e) {
3253
3258
  return !t || t.status >= 400 && t.status < 500 && e !== "/";
3254
3259
  }
3255
- async function Cr(t, e, r, n) {
3260
+ async function _0(t, e, r, n) {
3256
3261
  var o, s;
3257
- const a = new URL(t), l = (o = n?.protocolVersion) != null ? o : B;
3262
+ const a = new URL(t), c = (o = n?.protocolVersion) != null ? o : B;
3258
3263
  let d;
3259
3264
  if (n?.metadataUrl)
3260
3265
  d = new URL(n.metadataUrl);
3261
3266
  else {
3262
- const u = wr(e, a.pathname);
3267
+ const u = v0(e, a.pathname);
3263
3268
  d = new URL(u, (s = n?.metadataServerUrl) != null ? s : a), d.search = a.search;
3264
3269
  }
3265
- let c = await nt(d, l, r);
3266
- if (!n?.metadataUrl && vr(c, a.pathname)) {
3270
+ let l = await ot(d, c, r);
3271
+ if (!n?.metadataUrl && C0(l, a.pathname)) {
3267
3272
  const u = new URL(`/.well-known/${e}`, a);
3268
- c = await nt(u, l, r);
3273
+ l = await ot(u, c, r);
3269
3274
  }
3270
- return c;
3275
+ return l;
3271
3276
  }
3272
- async function _r(t, e, r = fetch) {
3273
- const n = await Cr(
3277
+ async function b0(t, e, r = fetch) {
3278
+ const n = await _0(
3274
3279
  t,
3275
3280
  "oauth-protected-resource",
3276
3281
  r,
@@ -3287,9 +3292,9 @@ async function _r(t, e, r = fetch) {
3287
3292
  throw new Error(
3288
3293
  `HTTP ${n.status} trying to load well-known OAuth protected resource metadata.`
3289
3294
  );
3290
- return ir.parse(await n.json());
3295
+ return a0.parse(await n.json());
3291
3296
  }
3292
- function br(t) {
3297
+ function x0(t) {
3293
3298
  const e = typeof t == "string" ? new URL(t) : t, r = e.pathname !== "/", n = [];
3294
3299
  if (!r)
3295
3300
  return n.push({
@@ -3317,38 +3322,38 @@ function br(t) {
3317
3322
  type: "oidc"
3318
3323
  }), n;
3319
3324
  }
3320
- async function xr(t, {
3325
+ async function L0(t, {
3321
3326
  fetchFn: e = fetch,
3322
3327
  protocolVersion: r = B
3323
3328
  } = {}) {
3324
3329
  var n;
3325
- const o = { "MCP-Protocol-Version": r }, s = br(t);
3326
- for (const { url: a, type: l } of s) {
3327
- const d = await Ue(a, o, e);
3330
+ const o = { "MCP-Protocol-Version": r }, s = x0(t);
3331
+ for (const { url: a, type: c } of s) {
3332
+ const d = await Ne(a, o, e);
3328
3333
  if (d) {
3329
3334
  if (!d.ok) {
3330
3335
  if (d.status >= 400 && d.status < 500)
3331
3336
  continue;
3332
3337
  throw new Error(
3333
- `HTTP ${d.status} trying to load ${l === "oauth" ? "OAuth" : "OpenID provider"} metadata from ${a}`
3338
+ `HTTP ${d.status} trying to load ${c === "oauth" ? "OAuth" : "OpenID provider"} metadata from ${a}`
3334
3339
  );
3335
3340
  }
3336
- if (l === "oauth")
3337
- return Mt.parse(await d.json());
3341
+ if (c === "oauth")
3342
+ return Ot.parse(await d.json());
3338
3343
  {
3339
- const c = cr.parse(
3344
+ const l = l0.parse(
3340
3345
  await d.json()
3341
3346
  );
3342
- if (!((n = c.code_challenge_methods_supported) != null && n.includes("S256")))
3347
+ if (!((n = l.code_challenge_methods_supported) != null && n.includes("S256")))
3343
3348
  throw new Error(
3344
3349
  `Incompatible OIDC provider at ${a}: does not support S256 code challenge method required by MCP specification`
3345
3350
  );
3346
- return c;
3351
+ return l;
3347
3352
  }
3348
3353
  }
3349
3354
  }
3350
3355
  }
3351
- async function Lr(t, {
3356
+ async function k0(t, {
3352
3357
  metadata: e,
3353
3358
  clientInformation: r,
3354
3359
  redirectUrl: n,
@@ -3356,46 +3361,46 @@ async function Lr(t, {
3356
3361
  state: s,
3357
3362
  resource: a
3358
3363
  }) {
3359
- const l = "code", d = "S256";
3360
- let c;
3364
+ const c = "code", d = "S256";
3365
+ let l;
3361
3366
  if (e) {
3362
- if (c = new URL(e.authorization_endpoint), !e.response_types_supported.includes(l))
3367
+ if (l = new URL(e.authorization_endpoint), !e.response_types_supported.includes(c))
3363
3368
  throw new Error(
3364
- `Incompatible auth server: does not support response type ${l}`
3369
+ `Incompatible auth server: does not support response type ${c}`
3365
3370
  );
3366
3371
  if (!e.code_challenge_methods_supported || !e.code_challenge_methods_supported.includes(d))
3367
3372
  throw new Error(
3368
3373
  `Incompatible auth server: does not support code challenge method ${d}`
3369
3374
  );
3370
3375
  } else
3371
- c = new URL("/authorize", t);
3372
- const u = await A0(), g = u.code_verifier, p = u.code_challenge;
3373
- return c.searchParams.set("response_type", l), c.searchParams.set("client_id", r.client_id), c.searchParams.set("code_challenge", p), c.searchParams.set(
3376
+ l = new URL("/authorize", t);
3377
+ const u = await Or(), g = u.code_verifier, p = u.code_challenge;
3378
+ return l.searchParams.set("response_type", c), l.searchParams.set("client_id", r.client_id), l.searchParams.set("code_challenge", p), l.searchParams.set(
3374
3379
  "code_challenge_method",
3375
3380
  d
3376
- ), c.searchParams.set("redirect_uri", String(n)), s && c.searchParams.set("state", s), o && c.searchParams.set("scope", o), o?.includes("offline_access") && c.searchParams.append("prompt", "consent"), a && c.searchParams.set("resource", a.href), { authorizationUrl: c, codeVerifier: g };
3381
+ ), l.searchParams.set("redirect_uri", String(n)), s && l.searchParams.set("state", s), o && l.searchParams.set("scope", o), o?.includes("offline_access") && l.searchParams.append("prompt", "consent"), a && l.searchParams.set("resource", a.href), { authorizationUrl: l, codeVerifier: g };
3377
3382
  }
3378
- function Rt(t, e) {
3383
+ function Ut(t, e) {
3379
3384
  const r = t.client_secret !== void 0;
3380
3385
  return e.length === 0 ? r ? "client_secret_post" : "none" : r && e.includes("client_secret_basic") ? "client_secret_basic" : r && e.includes("client_secret_post") ? "client_secret_post" : e.includes("none") ? "none" : r ? "client_secret_post" : "none";
3381
3386
  }
3382
- function It(t, e, r, n) {
3387
+ function Nt(t, e, r, n) {
3383
3388
  const { client_id: o, client_secret: s } = e;
3384
3389
  switch (t) {
3385
3390
  case "client_secret_basic":
3386
- kr(o, s, r);
3391
+ S0(o, s, r);
3387
3392
  return;
3388
3393
  case "client_secret_post":
3389
- Sr(o, s, n);
3394
+ P0(o, s, n);
3390
3395
  return;
3391
3396
  case "none":
3392
- Pr(o, n);
3397
+ T0(o, n);
3393
3398
  return;
3394
3399
  default:
3395
3400
  throw new Error(`Unsupported client authentication method: ${t}`);
3396
3401
  }
3397
3402
  }
3398
- function kr(t, e, r) {
3403
+ function S0(t, e, r) {
3399
3404
  if (!e)
3400
3405
  throw new Error(
3401
3406
  "client_secret_basic authentication requires a client_secret"
@@ -3403,17 +3408,17 @@ function kr(t, e, r) {
3403
3408
  const n = btoa(`${t}:${e}`);
3404
3409
  r.set("Authorization", `Basic ${n}`);
3405
3410
  }
3406
- function Sr(t, e, r) {
3411
+ function P0(t, e, r) {
3407
3412
  r.set("client_id", t), e && r.set("client_secret", e);
3408
3413
  }
3409
- function Pr(t, e) {
3414
+ function T0(t, e) {
3410
3415
  e.set("client_id", t);
3411
3416
  }
3412
- async function Ne(t) {
3417
+ async function je(t) {
3413
3418
  const e = t instanceof Response ? t.status : void 0, r = t instanceof Response ? await t.text() : t;
3414
3419
  try {
3415
- const n = ur.parse(JSON.parse(r)), { error: o, error_description: s, error_uri: a } = n, l = fr[o] || H;
3416
- return new l({
3420
+ const n = p0.parse(JSON.parse(r)), { error: o, error_description: s, error_uri: a } = n, c = g0[o] || H;
3421
+ return new c({
3417
3422
  message: s || "",
3418
3423
  cause: a
3419
3424
  });
@@ -3422,17 +3427,17 @@ async function Ne(t) {
3422
3427
  return new H({ message: o });
3423
3428
  }
3424
3429
  }
3425
- async function Tr(t, {
3430
+ async function M0(t, {
3426
3431
  metadata: e,
3427
3432
  clientInformation: r,
3428
3433
  authorizationCode: n,
3429
3434
  codeVerifier: o,
3430
3435
  redirectUri: s,
3431
3436
  resource: a,
3432
- addClientAuthentication: l,
3437
+ addClientAuthentication: c,
3433
3438
  fetchFn: d
3434
3439
  }) {
3435
- var c;
3440
+ var l;
3436
3441
  const u = "authorization_code", g = e?.token_endpoint ? new URL(e.token_endpoint) : new URL("/token", t);
3437
3442
  if (e?.grant_types_supported && !e.grant_types_supported.includes(u))
3438
3443
  throw new Error(
@@ -3447,14 +3452,14 @@ async function Tr(t, {
3447
3452
  code_verifier: o,
3448
3453
  redirect_uri: String(s)
3449
3454
  });
3450
- if (l)
3451
- l(p, f, t, e);
3455
+ if (c)
3456
+ c(p, f, t, e);
3452
3457
  else {
3453
- const h = (c = e?.token_endpoint_auth_methods_supported) != null ? c : [], m = Rt(
3458
+ const h = (l = e?.token_endpoint_auth_methods_supported) != null ? l : [], m = Ut(
3454
3459
  r,
3455
3460
  h
3456
3461
  );
3457
- It(m, r, p, f);
3462
+ Nt(m, r, p, f);
3458
3463
  }
3459
3464
  a && f.set("resource", a.href);
3460
3465
  const y = await (d ?? fetch)(g, {
@@ -3463,10 +3468,10 @@ async function Tr(t, {
3463
3468
  body: f
3464
3469
  });
3465
3470
  if (!y.ok)
3466
- throw await Ne(y);
3467
- return Tt.parse(await y.json());
3471
+ throw await je(y);
3472
+ return At.parse(await y.json());
3468
3473
  }
3469
- async function Mr(t, {
3474
+ async function E0(t, {
3470
3475
  metadata: e,
3471
3476
  clientInformation: r,
3472
3477
  refreshToken: n,
@@ -3474,16 +3479,16 @@ async function Mr(t, {
3474
3479
  addClientAuthentication: s,
3475
3480
  fetchFn: a
3476
3481
  }) {
3477
- var l;
3482
+ var c;
3478
3483
  const d = "refresh_token";
3479
- let c;
3484
+ let l;
3480
3485
  if (e) {
3481
- if (c = new URL(e.token_endpoint), e.grant_types_supported && !e.grant_types_supported.includes(d))
3486
+ if (l = new URL(e.token_endpoint), e.grant_types_supported && !e.grant_types_supported.includes(d))
3482
3487
  throw new Error(
3483
3488
  `Incompatible auth server: does not support grant type ${d}`
3484
3489
  );
3485
3490
  } else
3486
- c = new URL("/token", t);
3491
+ l = new URL("/token", t);
3487
3492
  const u = new Headers({
3488
3493
  "Content-Type": "application/x-www-form-urlencoded",
3489
3494
  Accept: "application/json"
@@ -3494,26 +3499,26 @@ async function Mr(t, {
3494
3499
  if (s)
3495
3500
  s(u, g, t, e);
3496
3501
  else {
3497
- const f = (l = e?.token_endpoint_auth_methods_supported) != null ? l : [], y = Rt(
3502
+ const f = (c = e?.token_endpoint_auth_methods_supported) != null ? c : [], y = Ut(
3498
3503
  r,
3499
3504
  f
3500
3505
  );
3501
- It(y, r, u, g);
3506
+ Nt(y, r, u, g);
3502
3507
  }
3503
3508
  o && g.set("resource", o.href);
3504
- const p = await (a ?? fetch)(c, {
3509
+ const p = await (a ?? fetch)(l, {
3505
3510
  method: "POST",
3506
3511
  headers: u,
3507
3512
  body: g
3508
3513
  });
3509
3514
  if (!p.ok)
3510
- throw await Ne(p);
3511
- return Tt.parse({
3515
+ throw await je(p);
3516
+ return At.parse({
3512
3517
  refresh_token: n,
3513
3518
  ...await p.json()
3514
3519
  });
3515
3520
  }
3516
- async function Er(t, {
3521
+ async function R0(t, {
3517
3522
  metadata: e,
3518
3523
  clientMetadata: r,
3519
3524
  fetchFn: n
@@ -3535,30 +3540,30 @@ async function Er(t, {
3535
3540
  body: JSON.stringify(r)
3536
3541
  });
3537
3542
  if (!s.ok)
3538
- throw await Ne(s);
3539
- return pr.parse(await s.json());
3543
+ throw await je(s);
3544
+ return h0.parse(await s.json());
3540
3545
  }
3541
- async function le(t, e) {
3546
+ async function de(t, e) {
3542
3547
  var r, n;
3543
3548
  try {
3544
- return await we(t, e);
3549
+ return await _e(t, e);
3545
3550
  } catch (o) {
3546
- if (o instanceof oe || o instanceof ie)
3547
- return await ((r = t.invalidateCredentials) == null ? void 0 : r.call(t, "all")), await we(t, e);
3548
- if (o instanceof se)
3549
- return await ((n = t.invalidateCredentials) == null ? void 0 : n.call(t, "tokens")), await we(t, e);
3551
+ if (o instanceof se || o instanceof ae)
3552
+ return await ((r = t.invalidateCredentials) == null ? void 0 : r.call(t, "all")), await _e(t, e);
3553
+ if (o instanceof ie)
3554
+ return await ((n = t.invalidateCredentials) == null ? void 0 : n.call(t, "tokens")), await _e(t, e);
3550
3555
  throw o;
3551
3556
  }
3552
3557
  }
3553
- async function Rr(t, e, r) {
3554
- const n = gr(t);
3558
+ async function I0(t, e, r) {
3559
+ const n = y0(t);
3555
3560
  if (e.validateResourceURL)
3556
3561
  return await e.validateResourceURL(
3557
3562
  n,
3558
3563
  r?.resource
3559
3564
  );
3560
3565
  if (r) {
3561
- if (!yr({
3566
+ if (!w0({
3562
3567
  requestedResource: n,
3563
3568
  configuredResource: r.resource
3564
3569
  }))
@@ -3568,29 +3573,29 @@ async function Rr(t, e, r) {
3568
3573
  return new URL(r.resource);
3569
3574
  }
3570
3575
  }
3571
- async function we(t, {
3576
+ async function _e(t, {
3572
3577
  serverUrl: e,
3573
3578
  authorizationCode: r,
3574
3579
  scope: n,
3575
3580
  resourceMetadataUrl: o,
3576
3581
  fetchFn: s
3577
3582
  }) {
3578
- let a, l;
3583
+ let a, c;
3579
3584
  try {
3580
- a = await _r(
3585
+ a = await b0(
3581
3586
  e,
3582
3587
  { resourceMetadataUrl: o },
3583
3588
  s
3584
- ), a.authorization_servers && a.authorization_servers.length > 0 && (l = a.authorization_servers[0]);
3589
+ ), a.authorization_servers && a.authorization_servers.length > 0 && (c = a.authorization_servers[0]);
3585
3590
  } catch {
3586
3591
  }
3587
- l || (l = e);
3588
- const d = await Rr(
3592
+ c || (c = e);
3593
+ const d = await I0(
3589
3594
  e,
3590
3595
  t,
3591
3596
  a
3592
- ), c = await xr(
3593
- l,
3597
+ ), l = await L0(
3598
+ c,
3594
3599
  {
3595
3600
  fetchFn: s
3596
3601
  }
@@ -3605,16 +3610,16 @@ async function we(t, {
3605
3610
  throw new Error(
3606
3611
  "OAuth client information must be saveable for dynamic registration"
3607
3612
  );
3608
- const h = await Er(l, {
3609
- metadata: c,
3613
+ const h = await R0(c, {
3614
+ metadata: l,
3610
3615
  clientMetadata: t.clientMetadata,
3611
3616
  fetchFn: s
3612
3617
  });
3613
3618
  await t.saveClientInformation(h), u = h;
3614
3619
  }
3615
3620
  if (r !== void 0) {
3616
- const h = await t.codeVerifier(), m = await Tr(l, {
3617
- metadata: c,
3621
+ const h = await t.codeVerifier(), m = await M0(c, {
3622
+ metadata: l,
3618
3623
  clientInformation: u,
3619
3624
  authorizationCode: r,
3620
3625
  codeVerifier: h,
@@ -3628,8 +3633,8 @@ async function we(t, {
3628
3633
  const g = await t.tokens();
3629
3634
  if (g?.refresh_token)
3630
3635
  try {
3631
- const h = await Mr(l, {
3632
- metadata: c,
3636
+ const h = await E0(c, {
3637
+ metadata: l,
3633
3638
  clientInformation: u,
3634
3639
  refreshToken: g.refresh_token,
3635
3640
  resource: d,
@@ -3640,13 +3645,13 @@ async function we(t, {
3640
3645
  } catch (h) {
3641
3646
  if (
3642
3647
  // If this is a ServerError, or an unknown type, log it out and try to continue. Otherwise, escalate so we can fix things and retry.
3643
- !(!(h instanceof Y) || h instanceof H)
3648
+ !(!(h instanceof X) || h instanceof H)
3644
3649
  ) throw h;
3645
3650
  }
3646
- const p = t.state ? await t.state() : void 0, { authorizationUrl: f, codeVerifier: y } = await Lr(
3647
- l,
3651
+ const p = t.state ? await t.state() : void 0, { authorizationUrl: f, codeVerifier: y } = await k0(
3652
+ c,
3648
3653
  {
3649
- metadata: c,
3654
+ metadata: l,
3650
3655
  clientInformation: u,
3651
3656
  state: p,
3652
3657
  redirectUrl: t.redirectUrl,
@@ -3656,7 +3661,7 @@ async function we(t, {
3656
3661
  );
3657
3662
  return await t.saveCodeVerifier(y), await t.redirectToAuthorization(f), "REDIRECT";
3658
3663
  }
3659
- var Ir = class {
3664
+ var A0 = class {
3660
3665
  constructor({
3661
3666
  url: t,
3662
3667
  headers: e,
@@ -3674,10 +3679,10 @@ var Ir = class {
3674
3679
  const r = await this.authProvider.tokens();
3675
3680
  r?.access_token && (e.Authorization = `Bearer ${r.access_token}`);
3676
3681
  }
3677
- return ut(
3682
+ return gt(
3678
3683
  e,
3679
- `ai-sdk/${Pt}`,
3680
- dt()
3684
+ `ai-sdk/${It}`,
3685
+ ft()
3681
3686
  );
3682
3687
  }
3683
3688
  async start() {
@@ -3686,22 +3691,22 @@ var Ir = class {
3686
3691
  return t();
3687
3692
  this.abortController = new AbortController();
3688
3693
  const r = async (n = !1) => {
3689
- var o, s, a, l, d;
3694
+ var o, s, a, c, d;
3690
3695
  try {
3691
- const c = await this.commonHeaders({
3696
+ const l = await this.commonHeaders({
3692
3697
  Accept: "text/event-stream"
3693
3698
  }), u = await fetch(this.url.href, {
3694
- headers: c,
3699
+ headers: l,
3695
3700
  signal: (o = this.abortController) == null ? void 0 : o.signal
3696
3701
  });
3697
3702
  if (u.status === 401 && this.authProvider && !n) {
3698
- this.resourceMetadataUrl = ce(u);
3703
+ this.resourceMetadataUrl = le(u);
3699
3704
  try {
3700
- if (await le(this.authProvider, {
3705
+ if (await de(this.authProvider, {
3701
3706
  serverUrl: this.url,
3702
3707
  resourceMetadataUrl: this.resourceMetadataUrl
3703
3708
  }) !== "AUTHORIZED") {
3704
- const h = new ae();
3709
+ const h = new ce();
3705
3710
  return (s = this.onerror) == null || s.call(this, h), e(h);
3706
3711
  }
3707
3712
  } catch (y) {
@@ -3715,9 +3720,9 @@ var Ir = class {
3715
3720
  const h = new C({
3716
3721
  message: y
3717
3722
  });
3718
- return (l = this.onerror) == null || l.call(this, h), e(h);
3723
+ return (c = this.onerror) == null || c.call(this, h), e(h);
3719
3724
  }
3720
- const p = u.body.pipeThrough(new TextDecoderStream()).pipeThrough(new xe()).getReader(), f = async () => {
3725
+ const p = u.body.pipeThrough(new TextDecoderStream()).pipeThrough(new Se()).getReader(), f = async () => {
3721
3726
  var y, h, m;
3722
3727
  try {
3723
3728
  for (; ; ) {
@@ -3738,7 +3743,7 @@ var Ir = class {
3738
3743
  this.connected = !0, t();
3739
3744
  } else if (x === "message")
3740
3745
  try {
3741
- const P = G.parse(
3746
+ const P = K.parse(
3742
3747
  JSON.parse(M)
3743
3748
  );
3744
3749
  (y = this.onmessage) == null || y.call(this, P);
@@ -3759,10 +3764,10 @@ var Ir = class {
3759
3764
  this.sseConnection = {
3760
3765
  close: () => p.cancel()
3761
3766
  }, f();
3762
- } catch (c) {
3763
- if (c instanceof Error && c.name === "AbortError")
3767
+ } catch (l) {
3768
+ if (l instanceof Error && l.name === "AbortError")
3764
3769
  return;
3765
- (d = this.onerror) == null || d.call(this, c), e(c);
3770
+ (d = this.onerror) == null || d.call(this, l), e(l);
3766
3771
  }
3767
3772
  };
3768
3773
  r();
@@ -3778,7 +3783,7 @@ var Ir = class {
3778
3783
  message: "MCP SSE Transport Error: Not connected"
3779
3784
  });
3780
3785
  const e = this.endpoint, r = async (n = !1) => {
3781
- var o, s, a, l, d;
3786
+ var o, s, a, c, d;
3782
3787
  try {
3783
3788
  const u = {
3784
3789
  method: "POST",
@@ -3789,13 +3794,13 @@ var Ir = class {
3789
3794
  signal: (o = this.abortController) == null ? void 0 : o.signal
3790
3795
  }, g = await fetch(e, u);
3791
3796
  if (g.status === 401 && this.authProvider && !n) {
3792
- this.resourceMetadataUrl = ce(g);
3797
+ this.resourceMetadataUrl = le(g);
3793
3798
  try {
3794
- if (await le(this.authProvider, {
3799
+ if (await de(this.authProvider, {
3795
3800
  serverUrl: this.url,
3796
3801
  resourceMetadataUrl: this.resourceMetadataUrl
3797
3802
  }) !== "AUTHORIZED") {
3798
- const f = new ae();
3803
+ const f = new ce();
3799
3804
  (s = this.onerror) == null || s.call(this, f);
3800
3805
  return;
3801
3806
  }
@@ -3809,17 +3814,17 @@ var Ir = class {
3809
3814
  const p = await g.text().catch(() => null), f = new C({
3810
3815
  message: `MCP SSE Transport Error: POSTing to endpoint (HTTP ${g.status}): ${p}`
3811
3816
  });
3812
- (l = this.onerror) == null || l.call(this, f);
3817
+ (c = this.onerror) == null || c.call(this, f);
3813
3818
  return;
3814
3819
  }
3815
- } catch (c) {
3816
- (d = this.onerror) == null || d.call(this, c);
3820
+ } catch (l) {
3821
+ (d = this.onerror) == null || d.call(this, l);
3817
3822
  return;
3818
3823
  }
3819
3824
  };
3820
3825
  await r();
3821
3826
  }
3822
- }, Ar = class {
3827
+ }, O0 = class {
3823
3828
  constructor({
3824
3829
  url: t,
3825
3830
  headers: e,
@@ -3842,10 +3847,10 @@ var Ir = class {
3842
3847
  const r = await this.authProvider.tokens();
3843
3848
  r?.access_token && (e.Authorization = `Bearer ${r.access_token}`);
3844
3849
  }
3845
- return ut(
3850
+ return gt(
3846
3851
  e,
3847
- `ai-sdk/${Pt}`,
3848
- dt()
3852
+ `ai-sdk/${It}`,
3853
+ ft()
3849
3854
  );
3850
3855
  }
3851
3856
  async start() {
@@ -3874,7 +3879,7 @@ var Ir = class {
3874
3879
  }
3875
3880
  async send(t) {
3876
3881
  const e = async (r = !1) => {
3877
- var n, o, s, a, l, d, c;
3882
+ var n, o, s, a, c, d, l;
3878
3883
  try {
3879
3884
  const g = {
3880
3885
  method: "POST",
@@ -3886,13 +3891,13 @@ var Ir = class {
3886
3891
  signal: (n = this.abortController) == null ? void 0 : n.signal
3887
3892
  }, p = await fetch(this.url, g), f = p.headers.get("mcp-session-id");
3888
3893
  if (f && (this.sessionId = f), p.status === 401 && this.authProvider && !r) {
3889
- this.resourceMetadataUrl = ce(p);
3894
+ this.resourceMetadataUrl = le(p);
3890
3895
  try {
3891
- if (await le(this.authProvider, {
3896
+ if (await de(this.authProvider, {
3892
3897
  serverUrl: this.url,
3893
3898
  resourceMetadataUrl: this.resourceMetadataUrl
3894
3899
  }) !== "AUTHORIZED")
3895
- throw new ae();
3900
+ throw new ce();
3896
3901
  } catch (v) {
3897
3902
  throw (o = this.onerror) == null || o.call(this, v), v;
3898
3903
  }
@@ -3915,7 +3920,7 @@ var Ir = class {
3915
3920
  return;
3916
3921
  const h = p.headers.get("content-type") || "";
3917
3922
  if (h.includes("application/json")) {
3918
- const v = await p.json(), b = Array.isArray(v) ? v.map((x) => G.parse(x)) : [G.parse(v)];
3923
+ const v = await p.json(), b = Array.isArray(v) ? v.map((x) => K.parse(x)) : [K.parse(v)];
3919
3924
  for (const x of b) (a = this.onmessage) == null || a.call(this, x);
3920
3925
  return;
3921
3926
  }
@@ -3924,9 +3929,9 @@ var Ir = class {
3924
3929
  const M = new C({
3925
3930
  message: "MCP HTTP Transport Error: text/event-stream response without body"
3926
3931
  });
3927
- throw (l = this.onerror) == null || l.call(this, M), M;
3932
+ throw (c = this.onerror) == null || c.call(this, M), M;
3928
3933
  }
3929
- const b = p.body.pipeThrough(new TextDecoderStream()).pipeThrough(new xe()).getReader();
3934
+ const b = p.body.pipeThrough(new TextDecoderStream()).pipeThrough(new Se()).getReader();
3930
3935
  (async () => {
3931
3936
  var M, P, E;
3932
3937
  try {
@@ -3936,12 +3941,12 @@ var Ir = class {
3936
3941
  const { event: I, data: j } = z;
3937
3942
  if (I === "message")
3938
3943
  try {
3939
- const J = G.parse(JSON.parse(j));
3940
- (M = this.onmessage) == null || M.call(this, J);
3941
- } catch (J) {
3944
+ const W = K.parse(JSON.parse(j));
3945
+ (M = this.onmessage) == null || M.call(this, W);
3946
+ } catch (W) {
3942
3947
  const A = new C({
3943
3948
  message: "MCP HTTP Transport Error: Failed to parse message",
3944
- cause: J
3949
+ cause: W
3945
3950
  });
3946
3951
  (P = this.onerror) == null || P.call(this, A);
3947
3952
  }
@@ -3959,7 +3964,7 @@ var Ir = class {
3959
3964
  });
3960
3965
  throw (d = this.onerror) == null || d.call(this, m), m;
3961
3966
  } catch (u) {
3962
- throw (c = this.onerror) == null || c.call(this, u), u;
3967
+ throw (l = this.onerror) == null || l.call(this, u), u;
3963
3968
  }
3964
3969
  };
3965
3970
  await e();
@@ -3995,25 +4000,25 @@ var Ir = class {
3995
4000
  }
3996
4001
  // Open optional inbound SSE stream; best-effort and resumable
3997
4002
  async openInboundSse(t = !1, e) {
3998
- var r, n, o, s, a, l;
4003
+ var r, n, o, s, a, c;
3999
4004
  try {
4000
4005
  const d = await this.commonHeaders({
4001
4006
  Accept: "text/event-stream"
4002
4007
  });
4003
4008
  e && (d["last-event-id"] = e);
4004
- const c = await fetch(this.url.href, {
4009
+ const l = await fetch(this.url.href, {
4005
4010
  method: "GET",
4006
4011
  headers: d,
4007
4012
  signal: (r = this.abortController) == null ? void 0 : r.signal
4008
- }), u = c.headers.get("mcp-session-id");
4009
- if (u && (this.sessionId = u), c.status === 401 && this.authProvider && !t) {
4010
- this.resourceMetadataUrl = ce(c);
4013
+ }), u = l.headers.get("mcp-session-id");
4014
+ if (u && (this.sessionId = u), l.status === 401 && this.authProvider && !t) {
4015
+ this.resourceMetadataUrl = le(l);
4011
4016
  try {
4012
- if (await le(this.authProvider, {
4017
+ if (await de(this.authProvider, {
4013
4018
  serverUrl: this.url,
4014
4019
  resourceMetadataUrl: this.resourceMetadataUrl
4015
4020
  }) !== "AUTHORIZED") {
4016
- const h = new ae();
4021
+ const h = new ce();
4017
4022
  (n = this.onerror) == null || n.call(this, h);
4018
4023
  return;
4019
4024
  }
@@ -4023,16 +4028,16 @@ var Ir = class {
4023
4028
  }
4024
4029
  return this.openInboundSse(!0, e);
4025
4030
  }
4026
- if (c.status === 405)
4031
+ if (l.status === 405)
4027
4032
  return;
4028
- if (!c.ok || !c.body) {
4033
+ if (!l.ok || !l.body) {
4029
4034
  const y = new C({
4030
- message: `MCP HTTP Transport Error: GET SSE failed: ${c.status} ${c.statusText}`
4035
+ message: `MCP HTTP Transport Error: GET SSE failed: ${l.status} ${l.statusText}`
4031
4036
  });
4032
4037
  (s = this.onerror) == null || s.call(this, y);
4033
4038
  return;
4034
4039
  }
4035
- const p = c.body.pipeThrough(new TextDecoderStream()).pipeThrough(new xe()).getReader(), f = async () => {
4040
+ const p = l.body.pipeThrough(new TextDecoderStream()).pipeThrough(new Se()).getReader(), f = async () => {
4036
4041
  var y, h, m, v;
4037
4042
  try {
4038
4043
  for (; ; ) {
@@ -4041,7 +4046,7 @@ var Ir = class {
4041
4046
  const { event: M, data: P, id: E } = x;
4042
4047
  if (E && (this.lastInboundEventId = E), M === "message")
4043
4048
  try {
4044
- const R = G.parse(JSON.parse(P));
4049
+ const R = K.parse(JSON.parse(P));
4045
4050
  (y = this.onmessage) == null || y.call(this, R);
4046
4051
  } catch (R) {
4047
4052
  const z = new C({
@@ -4063,27 +4068,27 @@ var Ir = class {
4063
4068
  } catch (d) {
4064
4069
  if (d instanceof Error && d.name === "AbortError")
4065
4070
  return;
4066
- (a = this.onerror) == null || a.call(this, d), (l = this.abortController) != null && l.signal.aborted || this.scheduleInboundSseReconnection();
4071
+ (a = this.onerror) == null || a.call(this, d), (c = this.abortController) != null && c.signal.aborted || this.scheduleInboundSseReconnection();
4067
4072
  }
4068
4073
  }
4069
4074
  };
4070
- function Or(t) {
4075
+ function $0(t) {
4071
4076
  switch (t.type) {
4072
4077
  case "sse":
4073
- return new Ir(t);
4078
+ return new A0(t);
4074
4079
  case "http":
4075
- return new Ar(t);
4080
+ return new O0(t);
4076
4081
  default:
4077
4082
  throw new C({
4078
4083
  message: "Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."
4079
4084
  });
4080
4085
  }
4081
4086
  }
4082
- function $r(t) {
4087
+ function U0(t) {
4083
4088
  return "start" in t && typeof t.start == "function" && "send" in t && typeof t.send == "function" && "close" in t && typeof t.close == "function";
4084
4089
  }
4085
- var Ur = "1.0.0";
4086
- function ot({
4090
+ var N0 = "1.0.0";
4091
+ function st({
4087
4092
  output: t
4088
4093
  }) {
4089
4094
  const e = t;
@@ -4095,19 +4100,19 @@ function ot({
4095
4100
  } : { type: "text", text: JSON.stringify(n) }
4096
4101
  ) };
4097
4102
  }
4098
- async function Nr(t) {
4099
- const e = new jr(t);
4103
+ async function j0(t) {
4104
+ const e = new Z0(t);
4100
4105
  return await e.init(), e;
4101
4106
  }
4102
- var jr = class {
4107
+ var Z0 = class {
4103
4108
  constructor({
4104
4109
  transport: t,
4105
4110
  name: e = "ai-sdk-mcp-client",
4106
- version: r = Ur,
4111
+ version: r = N0,
4107
4112
  onUncaughtError: n,
4108
4113
  capabilities: o
4109
4114
  }) {
4110
- this.requestMessageId = 0, this.responseHandlers = /* @__PURE__ */ new Map(), this.serverCapabilities = {}, this.isClosed = !0, this.onUncaughtError = n, this.clientCapabilities = o ?? {}, $r(t) ? this.transport = t : this.transport = Or(t), this.transport.onclose = () => this.onClose(), this.transport.onerror = (s) => this.onError(s), this.transport.onmessage = (s) => {
4115
+ this.requestMessageId = 0, this.responseHandlers = /* @__PURE__ */ new Map(), this.serverCapabilities = {}, this.isClosed = !0, this.onUncaughtError = n, this.clientCapabilities = o ?? {}, U0(t) ? this.transport = t : this.transport = $0(t), this.transport.onclose = () => this.onClose(), this.transport.onerror = (s) => this.onError(s), this.transport.onmessage = (s) => {
4111
4116
  if ("method" in s) {
4112
4117
  "id" in s ? this.onRequestMessage(s) : this.onError(
4113
4118
  new C({
@@ -4134,13 +4139,13 @@ var jr = class {
4134
4139
  clientInfo: this.clientInfo
4135
4140
  }
4136
4141
  },
4137
- resultSchema: q0
4142
+ resultSchema: zr
4138
4143
  });
4139
4144
  if (t === void 0)
4140
4145
  throw new C({
4141
4146
  message: "Server sent invalid initialize result"
4142
4147
  });
4143
- if (!U0.includes(t.protocolVersion))
4148
+ if (!Nr.includes(t.protocolVersion))
4144
4149
  throw new C({
4145
4150
  message: `Server's protocol version is not supported: ${t.protocolVersion}`
4146
4151
  });
@@ -4202,14 +4207,14 @@ var jr = class {
4202
4207
  this.assertCapability(t.method);
4203
4208
  const s = r?.signal;
4204
4209
  s?.throwIfAborted();
4205
- const a = this.requestMessageId++, l = {
4210
+ const a = this.requestMessageId++, c = {
4206
4211
  ...t,
4207
4212
  jsonrpc: "2.0",
4208
4213
  id: a
4209
4214
  }, d = () => {
4210
4215
  this.responseHandlers.delete(a);
4211
4216
  };
4212
- this.responseHandlers.set(a, (c) => {
4217
+ this.responseHandlers.set(a, (l) => {
4213
4218
  if (s?.aborted)
4214
4219
  return o(
4215
4220
  new C({
@@ -4217,10 +4222,10 @@ var jr = class {
4217
4222
  cause: s.reason
4218
4223
  })
4219
4224
  );
4220
- if (c instanceof Error)
4221
- return o(c);
4225
+ if (l instanceof Error)
4226
+ return o(l);
4222
4227
  try {
4223
- const u = e.parse(c.result);
4228
+ const u = e.parse(l.result);
4224
4229
  n(u);
4225
4230
  } catch (u) {
4226
4231
  const g = new C({
@@ -4229,8 +4234,8 @@ var jr = class {
4229
4234
  });
4230
4235
  o(g);
4231
4236
  }
4232
- }), this.transport.send(l).catch((c) => {
4233
- d(), o(c);
4237
+ }), this.transport.send(c).catch((l) => {
4238
+ d(), o(l);
4234
4239
  });
4235
4240
  });
4236
4241
  }
@@ -4240,7 +4245,7 @@ var jr = class {
4240
4245
  } = {}) {
4241
4246
  return this.request({
4242
4247
  request: { method: "tools/list", params: t },
4243
- resultSchema: D0,
4248
+ resultSchema: Hr,
4244
4249
  options: e
4245
4250
  });
4246
4251
  }
@@ -4252,7 +4257,7 @@ var jr = class {
4252
4257
  try {
4253
4258
  return this.request({
4254
4259
  request: { method: "tools/call", params: { name: t, arguments: e } },
4255
- resultSchema: B0,
4260
+ resultSchema: Vr,
4256
4261
  options: {
4257
4262
  signal: r?.abortSignal
4258
4263
  }
@@ -4268,7 +4273,7 @@ var jr = class {
4268
4273
  try {
4269
4274
  return this.request({
4270
4275
  request: { method: "resources/list", params: t },
4271
- resultSchema: F0,
4276
+ resultSchema: Br,
4272
4277
  options: e
4273
4278
  });
4274
4279
  } catch (r) {
@@ -4282,7 +4287,7 @@ var jr = class {
4282
4287
  try {
4283
4288
  return this.request({
4284
4289
  request: { method: "resources/read", params: { uri: t } },
4285
- resultSchema: W0,
4290
+ resultSchema: Gr,
4286
4291
  options: e
4287
4292
  });
4288
4293
  } catch (r) {
@@ -4295,7 +4300,7 @@ var jr = class {
4295
4300
  try {
4296
4301
  return this.request({
4297
4302
  request: { method: "resources/templates/list" },
4298
- resultSchema: J0,
4303
+ resultSchema: Jr,
4299
4304
  options: t
4300
4305
  });
4301
4306
  } catch (e) {
@@ -4309,7 +4314,7 @@ var jr = class {
4309
4314
  try {
4310
4315
  return this.request({
4311
4316
  request: { method: "prompts/list", params: t },
4312
- resultSchema: Y0,
4317
+ resultSchema: Qr,
4313
4318
  options: e
4314
4319
  });
4315
4320
  } catch (r) {
@@ -4324,7 +4329,7 @@ var jr = class {
4324
4329
  try {
4325
4330
  return this.request({
4326
4331
  request: { method: "prompts/get", params: { name: t, arguments: e } },
4327
- resultSchema: X0,
4332
+ resultSchema: e0,
4328
4333
  options: r
4329
4334
  });
4330
4335
  } catch (n) {
@@ -4360,12 +4365,12 @@ var jr = class {
4360
4365
  for (const {
4361
4366
  name: s,
4362
4367
  title: a,
4363
- description: l,
4368
+ description: c,
4364
4369
  inputSchema: d,
4365
- annotations: c,
4370
+ annotations: l,
4366
4371
  _meta: u
4367
4372
  } of t.tools) {
4368
- const g = a ?? c?.title;
4373
+ const g = a ?? l?.title;
4369
4374
  if (e !== "automatic" && !(s in e))
4370
4375
  continue;
4371
4376
  const p = this, f = e !== "automatic" ? (r = e[s]) == null ? void 0 : r.outputSchema : void 0, y = async (m, v) => {
@@ -4373,23 +4378,23 @@ var jr = class {
4373
4378
  (b = v?.abortSignal) == null || b.throwIfAborted();
4374
4379
  const x = await p.callTool({ name: s, args: m, options: v });
4375
4380
  return f != null ? p.extractStructuredContent(x, f, s) : x;
4376
- }, h = e === "automatic" ? T0({
4377
- description: l,
4381
+ }, h = e === "automatic" ? Mr({
4382
+ description: c,
4378
4383
  title: g,
4379
- inputSchema: K({
4384
+ inputSchema: Q({
4380
4385
  ...d,
4381
4386
  properties: (n = d.properties) != null ? n : {},
4382
4387
  additionalProperties: !1
4383
4388
  }),
4384
4389
  execute: y,
4385
- toModelOutput: ot
4390
+ toModelOutput: st
4386
4391
  }) : {
4387
- description: l,
4392
+ description: c,
4388
4393
  title: g,
4389
4394
  inputSchema: e[s].inputSchema,
4390
4395
  ...f != null ? { outputSchema: f } : {},
4391
4396
  execute: y,
4392
- toModelOutput: ot
4397
+ toModelOutput: st
4393
4398
  };
4394
4399
  o[s] = { ...h, _meta: u };
4395
4400
  }
@@ -4400,9 +4405,9 @@ var jr = class {
4400
4405
  */
4401
4406
  async extractStructuredContent(t, e, r) {
4402
4407
  if ("structuredContent" in t && t.structuredContent != null) {
4403
- const n = await yt({
4408
+ const n = await bt({
4404
4409
  value: t.structuredContent,
4405
- schema: gt(e)
4410
+ schema: _t(e)
4406
4411
  });
4407
4412
  if (!n.success)
4408
4413
  throw new C({
@@ -4414,7 +4419,7 @@ var jr = class {
4414
4419
  if ("content" in t && Array.isArray(t.content)) {
4415
4420
  const n = t.content.find((o) => o.type === "text");
4416
4421
  if (n && "text" in n) {
4417
- const o = await P0({
4422
+ const o = await Tr({
4418
4423
  text: n.text,
4419
4424
  schema: e
4420
4425
  });
@@ -4461,7 +4466,7 @@ var jr = class {
4461
4466
  return this.getPromptInternal({ name: t, args: e, options: r });
4462
4467
  }
4463
4468
  onElicitationRequest(t, e) {
4464
- if (t !== et)
4469
+ if (t !== tt)
4465
4470
  throw new C({
4466
4471
  message: "Unsupported request schema. Only ElicitationRequestSchema is supported."
4467
4472
  });
@@ -4491,7 +4496,7 @@ var jr = class {
4491
4496
  });
4492
4497
  return;
4493
4498
  }
4494
- const e = et.safeParse({
4499
+ const e = tt.safeParse({
4495
4500
  method: t.method,
4496
4501
  params: t.params
4497
4502
  });
@@ -4508,7 +4513,7 @@ var jr = class {
4508
4513
  return;
4509
4514
  }
4510
4515
  try {
4511
- const r = await this.elicitationRequestHandler(e.data), n = tr.parse(r);
4516
+ const r = await this.elicitationRequestHandler(e.data), n = r0.parse(r);
4512
4517
  await this.transport.send({
4513
4518
  jsonrpc: "2.0",
4514
4519
  id: t.id,
@@ -4559,15 +4564,15 @@ var jr = class {
4559
4564
  );
4560
4565
  }
4561
4566
  };
4562
- const Zr = async (t) => {
4567
+ const q0 = async (t) => {
4563
4568
  const e = {};
4564
4569
  try {
4565
4570
  const r = await t.listTools();
4566
4571
  for (const { name: n, description: o, inputSchema: s } of r.tools) {
4567
- const a = async (l, d) => t.callTool({ name: n, arguments: l }, { signal: d?.abortSignal });
4568
- e[n] = s2({
4572
+ const a = async (c, d) => t.callTool({ name: n, arguments: c }, { signal: d?.abortSignal });
4573
+ e[n] = l2({
4569
4574
  description: o,
4570
- inputSchema: i2({
4575
+ inputSchema: d2({
4571
4576
  ...s,
4572
4577
  properties: s.properties ?? {},
4573
4578
  additionalProperties: !1
@@ -4580,7 +4585,7 @@ const Zr = async (t) => {
4580
4585
  throw r;
4581
4586
  }
4582
4587
  };
4583
- function qr(t) {
4588
+ function z0(t) {
4584
4589
  const e = Object.entries(t);
4585
4590
  if (e.length === 0)
4586
4591
  return "";
@@ -4592,11 +4597,11 @@ function qr(t) {
4592
4597
  <tools>
4593
4598
  `;
4594
4599
  return e.forEach(([n, o]) => {
4595
- const s = o, a = s.description || "无描述", l = s.parameters || s.inputSchema || {};
4600
+ const s = o, a = s.description || "无描述", c = s.parameters || s.inputSchema || {};
4596
4601
  r += `${JSON.stringify({
4597
4602
  name: n,
4598
4603
  description: a,
4599
- parameters: l
4604
+ parameters: c
4600
4605
  }, null, 2)}
4601
4606
  `;
4602
4607
  }), r += `
@@ -4630,7 +4635,7 @@ Thought: 用户想要获取今天的日期,我需要调用日期相关的工
4630
4635
  - 如果不需要调用工具,直接给出最终答案即可
4631
4636
  `, r;
4632
4637
  }
4633
- function st(t, e) {
4638
+ function it(t, e) {
4634
4639
  if (!t || typeof t != "string")
4635
4640
  return null;
4636
4641
  const r = t.match(/<tool_call>([\s\S]*?)<\/tool_call>/i);
@@ -4643,11 +4648,11 @@ function st(t, e) {
4643
4648
  }
4644
4649
  return null;
4645
4650
  }
4646
- const zr = {
4647
- openai: d2,
4648
- deepseek: u2
4651
+ const D0 = {
4652
+ openai: m2,
4653
+ deepseek: f2
4649
4654
  };
4650
- class Nn {
4655
+ class Zn {
4651
4656
  constructor({ llmConfig: e, mcpServers: r }) {
4652
4657
  if (this.mcpServers = {}, this.mcpClients = {}, this.mcpTools = {}, this.ignoreToolnames = [], this.responseMessages = [], this.useReActMode = !1, !e)
4653
4658
  throw new Error("llmConfig is required to initialize AgentModelProvider");
@@ -4656,7 +4661,7 @@ class Nn {
4656
4661
  else if (e.providerType) {
4657
4662
  const n = e.providerType;
4658
4663
  let o;
4659
- typeof n == "string" ? o = zr[n] : o = n, this.llm = o({
4664
+ typeof n == "string" ? o = D0[n] : o = n, this.llm = o({
4660
4665
  apiKey: e.apiKey,
4661
4666
  baseURL: e.baseURL
4662
4667
  });
@@ -4668,11 +4673,18 @@ class Nn {
4668
4673
  async _createOneClient(e) {
4669
4674
  try {
4670
4675
  let r;
4671
- if ("type" in e && e.type.toLocaleLowerCase() === "streamablehttp" ? r = new ue(new URL(e.url)) : "type" in e && e.type === "extension" ? r = new m2(e.sessionId) : "transport" in e ? r = e.transport : r = e, e.useAISdkClient ?? !1) {
4672
- const o = await Nr({ transport: r });
4676
+ if ("type" in e && e.type.toLocaleLowerCase() === "streamablehttp") {
4677
+ const o = e, s = o.headers ? { headers: o.headers } : void 0;
4678
+ r = new me(new URL(o.url), { requestInit: s });
4679
+ } else if ("type" in e && e.type === "sse") {
4680
+ const o = e, s = o.headers ? { headers: o.headers } : void 0;
4681
+ r = new he(new URL(o.url), { requestInit: s });
4682
+ } else "type" in e && e.type === "extension" ? r = new w2(e.sessionId) : "transport" in e ? r = e.transport : r = e;
4683
+ if (e.useAISdkClient ?? !1) {
4684
+ const o = await j0({ transport: r });
4673
4685
  return o.__transport__ = r, o;
4674
4686
  } else {
4675
- const o = new p2(
4687
+ const o = new g2(
4676
4688
  { name: "mcp-web-client", version: "1.0.0" },
4677
4689
  { capabilities: { roots: { listChanged: !0 }, sampling: {}, elicitation: {} } }
4678
4690
  );
@@ -4686,7 +4698,7 @@ class Nn {
4686
4698
  async _closeOneClient(e) {
4687
4699
  try {
4688
4700
  const r = e.__transport__;
4689
- if (r && r instanceof Ft || r && r instanceof Ht)
4701
+ if (r && r instanceof Jt || r && r instanceof Wt)
4690
4702
  return;
4691
4703
  await r?.terminateSession?.(), await r?.close?.(), await e?.close?.();
4692
4704
  } catch {
@@ -4709,7 +4721,7 @@ class Nn {
4709
4721
  if (!e)
4710
4722
  return null;
4711
4723
  try {
4712
- return typeof e.tools == "function" ? await e.tools() : await Zr(e);
4724
+ return typeof e.tools == "function" ? await e.tools() : await q0(e);
4713
4725
  } catch (n) {
4714
4726
  return this.onError && this.onError(n?.message || `Failed to query tools for ${r}`, n), console.error(`Failed to query tools for ${r}`, n), null;
4715
4727
  }
@@ -4790,7 +4802,7 @@ class Nn {
4790
4802
  }
4791
4803
  /** 生成 ReAct 模式的系统提示词(包含工具描述) */
4792
4804
  _generateReActSystemPrompt(e, r, n) {
4793
- const o = qr(e);
4805
+ const o = z0(e);
4794
4806
  return n ? `${n}${o}` : `你是一个智能助手,可以通过调用工具来完成任务。
4795
4807
  ${o}`;
4796
4808
  }
@@ -4814,10 +4826,10 @@ ${o}`;
4814
4826
  const s = this._tempMergeTools(o.tools);
4815
4827
  if (Object.keys(s).length === 0)
4816
4828
  return this._chat(e, { model: r, maxSteps: n, ...o });
4817
- let l = [];
4818
- o.message && !o.messages ? l.push({ role: "user", content: o.message }) : o.messages ? l = [...o.messages] : l = [...this.responseMessages];
4819
- const d = typeof r == "string" ? r : r?.modelId || "default-model", u = { role: "system", content: this._generateReActSystemPrompt(s, d, o.system) }, g = l[0]?.role === "system" ? l : [u, ...l];
4820
- return e === me ? this._chatReActStream(g, s, d, n, o) : this._chatReActNonStream(g, s, d, n, o);
4829
+ let c = [];
4830
+ o.message && !o.messages ? c.push({ role: "user", content: o.message }) : o.messages ? c = [...o.messages] : c = [...this.responseMessages];
4831
+ const d = typeof r == "string" ? r : r?.modelId || "default-model", u = { role: "system", content: this._generateReActSystemPrompt(s, d, o.system) }, g = c[0]?.role === "system" ? c : [u, ...c];
4832
+ return e === ye ? this._chatReActStream(g, s, d, n, o) : this._chatReActNonStream(g, s, d, n, o);
4821
4833
  }
4822
4834
  /**
4823
4835
  * 检查消息内容是否包含图片
@@ -4857,8 +4869,8 @@ ${o}`;
4857
4869
  e && o.push(e);
4858
4870
  let s = 0;
4859
4871
  const a = [];
4860
- for (let l = r.length - 1; l >= 0; l--) {
4861
- const d = r[l];
4872
+ for (let c = r.length - 1; c >= 0; c--) {
4873
+ const d = r[c];
4862
4874
  if (this._messageHasImage(d.content))
4863
4875
  if (s < n)
4864
4876
  a.unshift(d), s++;
@@ -4874,19 +4886,19 @@ ${o}`;
4874
4886
  /** ReAct 模式非流式对话 */
4875
4887
  async _chatReActNonStream(e, r, n, o, s) {
4876
4888
  let a = [...e];
4877
- const l = e[0]?.role === "system" ? e[0] : null, d = l ? e.slice(1) : e;
4878
- let c = 0;
4889
+ const c = e[0]?.role === "system" ? e[0] : null, d = c ? e.slice(1) : e;
4890
+ let l = 0;
4879
4891
  const u = s.maxImages ?? 3;
4880
- for (; c < o; ) {
4881
- c++;
4882
- const p = this._buildMessagesForModel(l, d, u), { tools: f, ...y } = s, m = (await De({
4892
+ for (; l < o; ) {
4893
+ l++;
4894
+ const p = this._buildMessagesForModel(c, d, u), { tools: f, ...y } = s, m = (await Fe({
4883
4895
  // @ts-ignore ProviderV2 是所有llm的父类,在每一个具体的llm类都有一个选择model的函数用法
4884
4896
  model: this.llm(n),
4885
4897
  messages: p,
4886
4898
  ...y
4887
4899
  })).text, v = { role: "assistant", content: m };
4888
4900
  d.push(v), a.push(v);
4889
- const b = st(m, r);
4901
+ const b = it(m, r);
4890
4902
  if (!b)
4891
4903
  return this.responseMessages = a, {
4892
4904
  text: m,
@@ -4907,10 +4919,10 @@ ${x.success ? JSON.stringify(x.result) : `工具执行失败 - ${x.error}`}
4907
4919
  }
4908
4920
  /** ReAct 模式流式对话 */
4909
4921
  _chatReActStream(e, r, n, o, s) {
4910
- const a = this, l = this.llm(n);
4911
- let d, c;
4922
+ const a = this, c = this.llm(n);
4923
+ let d, l;
4912
4924
  const u = new Promise((p, f) => {
4913
- d = p, c = f;
4925
+ d = p, l = f;
4914
4926
  });
4915
4927
  return {
4916
4928
  fullStream: new ReadableStream({
@@ -4925,9 +4937,9 @@ ${x.success ? JSON.stringify(x.result) : `工具执行失败 - ${x.error}`}
4925
4937
  m++;
4926
4938
  const x = a._buildMessagesForModel(y, h, b), { tools: M, ...P } = s;
4927
4939
  delete P.system, delete P.onFinish;
4928
- const E = await me({
4940
+ const E = await ye({
4929
4941
  ...P,
4930
- model: l,
4942
+ model: c,
4931
4943
  messages: x
4932
4944
  });
4933
4945
  let R = "";
@@ -4939,7 +4951,7 @@ ${x.success ? JSON.stringify(x.result) : `工具执行失败 - ${x.error}`}
4939
4951
  v += R;
4940
4952
  const z = { role: "assistant", content: v };
4941
4953
  h.push(z), f.push(z);
4942
- const I = st(v, r);
4954
+ const I = it(v, r);
4943
4955
  if (!I) {
4944
4956
  p.enqueue({ type: "text-end" }), p.enqueue({ type: "finish-step" }), p.enqueue({ type: "finish" }), p.close(), a.responseMessages = f, d({ messages: f });
4945
4957
  return;
@@ -4954,11 +4966,11 @@ ${x.success ? JSON.stringify(x.result) : `工具执行失败 - ${x.error}`}
4954
4966
  id: j,
4955
4967
  toolName: I.toolName
4956
4968
  });
4957
- const J = JSON.stringify(I.arguments, null, 2);
4969
+ const W = JSON.stringify(I.arguments, null, 2);
4958
4970
  p.enqueue({
4959
4971
  type: "tool-input-delta",
4960
4972
  id: j,
4961
- delta: J
4973
+ delta: W
4962
4974
  }), p.enqueue({
4963
4975
  type: "tool-input-end",
4964
4976
  id: j
@@ -4969,46 +4981,46 @@ ${x.success ? JSON.stringify(x.result) : `工具执行失败 - ${x.error}`}
4969
4981
  input: I.arguments
4970
4982
  });
4971
4983
  const A = await a._executeReActToolCall(I.toolName, I.arguments, r);
4972
- let X, Z = A.result;
4984
+ let te, Z = A.result;
4973
4985
  if (A.success && A.result && typeof A.result == "object" && A.result.screenshot) {
4974
- X = A.result.screenshot;
4975
- const { screenshot: L, ...ee } = A.result;
4976
- Z = ee;
4986
+ te = A.result.screenshot;
4987
+ const { screenshot: L, ...re } = A.result;
4988
+ Z = re;
4977
4989
  }
4978
- let W = "";
4990
+ let J = "";
4979
4991
  if (A.success) {
4980
- Z && Array.isArray(Z.content) && Z.content.length > 0 && Z.content[0].text ? W = Z.content[0].text : W = JSON.stringify(Z);
4992
+ Z && Array.isArray(Z.content) && Z.content.length > 0 && Z.content[0].text ? J = Z.content[0].text : J = JSON.stringify(Z);
4981
4993
  let L = `<tool_response>
4982
- ${W}
4994
+ ${J}
4983
4995
  </tool_response>`;
4984
- X && (L += `
4996
+ te && (L += `
4985
4997
  请检查截图以确认操作是否成功。如果成功,请继续下一步;如果失败,请重试。`), p.enqueue({
4986
4998
  type: "tool-result",
4987
4999
  toolCallId: j,
4988
5000
  result: L
4989
5001
  });
4990
- const ee = X ? {
5002
+ const re = te ? {
4991
5003
  role: "user",
4992
5004
  content: [
4993
5005
  { type: "text", text: L },
4994
- { type: "image", image: X }
5006
+ { type: "image", image: te }
4995
5007
  ]
4996
5008
  } : {
4997
5009
  role: "user",
4998
5010
  content: L
4999
5011
  };
5000
- h.push(ee), f.push(ee), v = "";
5012
+ h.push(re), f.push(re), v = "";
5001
5013
  } else
5002
- W = `工具执行失败 - ${A.error}`, p.enqueue({
5014
+ J = `工具执行失败 - ${A.error}`, p.enqueue({
5003
5015
  type: "tool-error",
5004
5016
  toolCallId: j,
5005
5017
  input: I.arguments,
5006
- error: { message: W }
5018
+ error: { message: J }
5007
5019
  });
5008
5020
  }
5009
5021
  p.enqueue({ type: "text-end" }), p.enqueue({ type: "finish-step" }), p.enqueue({ type: "finish" }), p.close(), a.responseMessages = f, d({ messages: f });
5010
5022
  } catch (x) {
5011
- p.error(x), c(x);
5023
+ p.error(x), l(x);
5012
5024
  }
5013
5025
  }
5014
5026
  }),
@@ -5024,41 +5036,41 @@ ${W}
5024
5036
  const s = this._tempMergeTools(o.tools, !1), a = {
5025
5037
  // @ts-ignore ProviderV2 是所有llm的父类, 在每一个具体的llm 类都有一个选择model的函数用法
5026
5038
  model: this.llm(r),
5027
- stopWhen: a2(n),
5039
+ stopWhen: u2(n),
5028
5040
  ...o,
5029
5041
  tools: s,
5030
5042
  activeTools: this._getActiveToolNames(s)
5031
5043
  };
5032
- let l = null;
5044
+ let c = null;
5033
5045
  if (o.message && !o.messages)
5034
- l = { role: "user", content: o.message }, this.responseMessages.push(l), a.messages = [...this.responseMessages];
5046
+ c = { role: "user", content: o.message }, this.responseMessages.push(c), a.messages = [...this.responseMessages];
5035
5047
  else if (o.messages && o.messages.length > 0) {
5036
- const c = o.messages[o.messages.length - 1];
5037
- c.role === "user" && (l = c);
5048
+ const l = o.messages[o.messages.length - 1];
5049
+ l.role === "user" && (c = l);
5038
5050
  }
5039
5051
  const d = e(a);
5040
- return d?.response?.then((c) => {
5041
- const u = c.messages?.[0];
5042
- l && u?.role !== "user" && this.responseMessages.push(l), this.responseMessages.push(...c.messages);
5052
+ return d?.response?.then((l) => {
5053
+ const u = l.messages?.[0];
5054
+ c && u?.role !== "user" && this.responseMessages.push(c), this.responseMessages.push(...l.messages);
5043
5055
  }), d;
5044
5056
  }
5045
5057
  async chat(e) {
5046
- return this._chat(De, e);
5058
+ return this._chat(Fe, e);
5047
5059
  }
5048
5060
  async chatStream(e) {
5049
- return this._chat(me, e);
5061
+ return this._chat(ye, e);
5050
5062
  }
5051
5063
  }
5052
- let U = null, de = null, it = null, re = 0;
5053
- const Dr = "next-sdk-tool-body-glow";
5054
- function Q() {
5064
+ let U = null, ue = null, at = null, ne = 0;
5065
+ const H0 = "next-sdk-tool-body-glow";
5066
+ function ee() {
5055
5067
  return typeof window < "u" && typeof document < "u";
5056
5068
  }
5057
- function Hr() {
5058
- if (!Q() || it) return;
5069
+ function F0() {
5070
+ if (!ee() || at) return;
5059
5071
  const t = document.createElement("style");
5060
5072
  t.textContent = `
5061
- .${Dr} {
5073
+ .${H0} {
5062
5074
  position: relative;
5063
5075
  }
5064
5076
 
@@ -5225,11 +5237,11 @@ function Hr() {
5225
5237
  transform: scale(1) translateY(0);
5226
5238
  }
5227
5239
  }
5228
- `, document.head.appendChild(t), it = t;
5240
+ `, document.head.appendChild(t), at = t;
5229
5241
  }
5230
- function Fr() {
5231
- if (!Q() || U) return;
5232
- Hr();
5242
+ function B0() {
5243
+ if (!ee() || U) return;
5244
+ F0();
5233
5245
  const t = document.createElement("div");
5234
5246
  t.className = "next-sdk-tool-overlay";
5235
5247
  const e = document.createElement("div");
@@ -5244,61 +5256,61 @@ function Fr() {
5244
5256
  s.className = "next-sdk-tool-overlay__indicator-core";
5245
5257
  const a = document.createElement("div");
5246
5258
  a.className = "next-sdk-tool-overlay__content";
5247
- const l = document.createElement("div");
5248
- l.className = "next-sdk-tool-overlay__title", l.textContent = "AI 正在调用页面工具";
5259
+ const c = document.createElement("div");
5260
+ c.className = "next-sdk-tool-overlay__title", c.textContent = "AI 正在调用页面工具";
5249
5261
  const d = document.createElement("span");
5250
5262
  d.className = "next-sdk-tool-overlay__title-dot";
5251
- const c = document.createElement("div");
5252
- c.className = "next-sdk-tool-overlay__label", l.prepend(d), a.appendChild(l), a.appendChild(c), n.appendChild(o), n.appendChild(s), r.appendChild(n), r.appendChild(a), t.appendChild(e), t.appendChild(r), document.body.appendChild(t), U = t, de = c;
5263
+ const l = document.createElement("div");
5264
+ l.className = "next-sdk-tool-overlay__label", c.prepend(d), a.appendChild(c), a.appendChild(l), n.appendChild(o), n.appendChild(s), r.appendChild(n), r.appendChild(a), t.appendChild(e), t.appendChild(r), document.body.appendChild(t), U = t, ue = l;
5253
5265
  }
5254
- function Br(t) {
5255
- Q() && (Fr(), !(!U || !de) && (U.classList.remove("next-sdk-tool-overlay--exit"), de.textContent = t.label));
5266
+ function V0(t) {
5267
+ ee() && (B0(), !(!U || !ue) && (U.classList.remove("next-sdk-tool-overlay--exit"), ue.textContent = t.label));
5256
5268
  }
5257
- function Vr() {
5269
+ function W0() {
5258
5270
  if (!U) return;
5259
5271
  U.classList.add("next-sdk-tool-overlay--exit");
5260
5272
  const t = U;
5261
5273
  let e = !1, r;
5262
5274
  const n = () => {
5263
- e || (e = !0, r !== void 0 && (clearTimeout(r), r = void 0), t.parentNode && t.parentNode.removeChild(t), U === t && (U = null, de = null), t.removeEventListener("animationend", n));
5275
+ e || (e = !0, r !== void 0 && (clearTimeout(r), r = void 0), t.parentNode && t.parentNode.removeChild(t), U === t && (U = null, ue = null), t.removeEventListener("animationend", n));
5264
5276
  };
5265
5277
  t.addEventListener("animationend", n), r = setTimeout(n, 500);
5266
5278
  }
5267
- function Jr(t) {
5268
- Q() && (re += 1, Br(t));
5279
+ function J0(t) {
5280
+ ee() && (ne += 1, V0(t));
5269
5281
  }
5270
- function Wr() {
5271
- !Q() || re <= 0 || (re -= 1, re === 0 && Vr());
5282
+ function G0() {
5283
+ !ee() || ne <= 0 || (ne -= 1, ne === 0 && W0());
5272
5284
  }
5273
- function Gr(t, e, r) {
5285
+ function K0(t, e, r) {
5274
5286
  if (!r) return;
5275
5287
  const n = e || t;
5276
5288
  return typeof r == "boolean" ? r ? { label: n } : void 0 : {
5277
5289
  label: r.label || n
5278
5290
  };
5279
5291
  }
5280
- const At = "next-sdk:tool-call", Se = "next-sdk:tool-response", Ot = "next-sdk:page-ready", Kr = "next-sdk:page-leave", Yr = "next-sdk:remoter-ready", Qr = "next-sdk:route-state-initial", F = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Set();
5281
- function Xr() {
5282
- typeof window < "u" && je.add({ win: window, origin: window.location.origin || "*" });
5292
+ const jt = "next-sdk:tool-call", Me = "next-sdk:tool-response", Ze = "next-sdk:page-ready", Y0 = "next-sdk:page-leave", Q0 = "next-sdk:remoter-ready", X0 = "next-sdk:route-state-initial", F = /* @__PURE__ */ new Map(), pe = (t) => t.replace(/\/+$/, "") || "/", qe = /* @__PURE__ */ new Set();
5293
+ function en() {
5294
+ typeof window < "u" && qe.add({ win: window, origin: window.location.origin || "*" });
5283
5295
  }
5284
- Xr();
5285
- function at(t, e) {
5296
+ en();
5297
+ function ct(t, e) {
5286
5298
  const r = { type: t, route: e };
5287
- je.forEach(({ win: n, origin: o }) => {
5299
+ qe.forEach(({ win: n, origin: o }) => {
5288
5300
  try {
5289
5301
  n.postMessage(r, o);
5290
5302
  } catch {
5291
5303
  }
5292
5304
  });
5293
5305
  }
5294
- function en() {
5306
+ function tn() {
5295
5307
  typeof window > "u" || window.addEventListener("message", (t) => {
5296
- if (t.data?.type !== Yr || !t.source || t.origin !== window.location.origin) return;
5308
+ if (t.data?.type !== Q0 || !t.source || t.origin !== window.location.origin) return;
5297
5309
  const e = t.source;
5298
- je.add({ win: e, origin: t.origin || "*" });
5310
+ qe.add({ win: e, origin: t.origin || "*" });
5299
5311
  const r = {
5300
- type: Qr,
5301
- toolRouteMap: Array.from(Ze.entries()),
5312
+ type: X0,
5313
+ toolRouteMap: Array.from(ze.entries()),
5302
5314
  activeRoutes: Array.from(F.keys())
5303
5315
  };
5304
5316
  try {
@@ -5307,35 +5319,98 @@ function en() {
5307
5319
  }
5308
5320
  });
5309
5321
  }
5310
- en();
5311
- const Ze = /* @__PURE__ */ new Map();
5312
- function jn() {
5313
- return new Map(Ze);
5322
+ tn();
5323
+ const ze = /* @__PURE__ */ new Map();
5324
+ function qn() {
5325
+ return new Map(ze);
5314
5326
  }
5315
- function Zn() {
5327
+ function zn() {
5316
5328
  return new Set(F.keys());
5317
5329
  }
5318
- let Pe = null;
5319
- function qn(t) {
5320
- Pe = t;
5330
+ let Y = null;
5331
+ function Dn(t) {
5332
+ Y = t;
5333
+ }
5334
+ function rn(t, e = 1500) {
5335
+ if (typeof window > "u")
5336
+ return Promise.resolve();
5337
+ const r = pe(t);
5338
+ return new Promise((n) => {
5339
+ let o = !1;
5340
+ const s = () => {
5341
+ o || (o = !0, window.removeEventListener("message", a), n());
5342
+ }, a = (c) => {
5343
+ if (c.source !== window || c.data?.type !== Ze) return;
5344
+ pe(String(c.data.route ?? "")) === r && s();
5345
+ };
5346
+ window.addEventListener("message", a), setTimeout(s, e);
5347
+ });
5348
+ }
5349
+ function Hn(t, e) {
5350
+ const r = e?.name ?? "navigate_to_page", n = e?.title ?? "页面跳转", o = e?.description ?? '当需要的工具在当前页面不可用时,使用此工具跳转到特定页面。例如:要查询订单时跳转到 "/orders",要创建价保时跳转到 "/price-protection"。', s = e?.timeoutMs ?? 1500;
5351
+ return t.registerTool(
5352
+ r,
5353
+ {
5354
+ title: n,
5355
+ description: o,
5356
+ inputSchema: {
5357
+ path: G.string().describe('目标页面的路由地址,例如 "/orders"、"/inventory"、"/price-protection" 等。')
5358
+ }
5359
+ },
5360
+ async ({ path: a }) => {
5361
+ if (typeof window > "u")
5362
+ return {
5363
+ content: [{ type: "text", text: "当前环境不支持页面跳转(window 不存在)。" }]
5364
+ };
5365
+ if (!Y)
5366
+ return {
5367
+ content: [
5368
+ {
5369
+ type: "text",
5370
+ text: "页面跳转失败:尚未在应用入口调用 setNavigator 注册导航函数,无法执行路由跳转。"
5371
+ }
5372
+ ]
5373
+ };
5374
+ try {
5375
+ const c = pe(a), d = pe(window.location.pathname);
5376
+ if (d === c || d.endsWith(c) && (d.length === c.length || d[d.lastIndexOf(c) - 1] === "/"))
5377
+ return {
5378
+ content: [{ type: "text", text: `当前已在页面:${a}。请继续你的下一步操作。` }]
5379
+ };
5380
+ const u = rn(a, s);
5381
+ return await Y(a), await u, {
5382
+ content: [{ type: "text", text: `已成功跳转至页面:${a}。请继续你的下一步操作。` }]
5383
+ };
5384
+ } catch (c) {
5385
+ return {
5386
+ content: [
5387
+ {
5388
+ type: "text",
5389
+ text: `页面跳转失败:${c instanceof Error ? c.message : String(c)}。`
5390
+ }
5391
+ ]
5392
+ };
5393
+ }
5394
+ }
5395
+ );
5321
5396
  }
5322
- function tn(t, e, r = 3e4, n) {
5397
+ function nn(t, e, r = 3e4, n) {
5323
5398
  return (o) => {
5324
- const s = Ie();
5325
- return new Promise((a, l) => {
5326
- let d, c;
5399
+ const s = Ae();
5400
+ return new Promise((a, c) => {
5401
+ let d, l;
5327
5402
  const u = () => {
5328
- clearTimeout(d), window.removeEventListener("message", g), c && window.removeEventListener("message", c), n && Wr();
5403
+ clearTimeout(d), window.removeEventListener("message", g), l && window.removeEventListener("message", l), n && G0();
5329
5404
  };
5330
5405
  d = setTimeout(() => {
5331
- u(), l(new Error(`工具 [${t}] 调用超时 (${r}ms),请检查目标页面是否正确调用了 registerPageTool`));
5406
+ u(), c(new Error(`工具 [${t}] 调用超时 (${r}ms),请检查目标页面是否正确调用了 registerPageTool`));
5332
5407
  }, r);
5333
5408
  const g = (m) => {
5334
- m.source === window && m.data?.type === Se && m.data.callId === s && (u(), m.data.error ? l(new Error(m.data.error)) : a(m.data.result));
5409
+ m.source === window && m.data?.type === Me && m.data.callId === s && (u(), m.data.error ? c(new Error(m.data.error)) : a(m.data.result));
5335
5410
  };
5336
5411
  window.addEventListener("message", g);
5337
5412
  const p = () => {
5338
- window.postMessage({ type: At, callId: s, toolName: t, route: e, input: o }, window.location.origin || "*");
5413
+ window.postMessage({ type: jt, callId: s, toolName: t, route: e, input: o }, window.location.origin || "*");
5339
5414
  };
5340
5415
  let f = !1;
5341
5416
  const y = () => {
@@ -5343,61 +5418,61 @@ function tn(t, e, r = 3e4, n) {
5343
5418
  };
5344
5419
  (async () => {
5345
5420
  try {
5346
- if (n && Jr(n), F.get(e)) {
5421
+ if (n && J0(n), F.get(e)) {
5347
5422
  y();
5348
5423
  return;
5349
5424
  }
5350
- c = (m) => {
5351
- m.source === window && m.data?.type === Ot && m.data.route === e && (window.removeEventListener("message", c), y());
5352
- }, window.addEventListener("message", c), Pe && await Pe(e), F.get(e) && (window.removeEventListener("message", c), y());
5425
+ l = (m) => {
5426
+ m.source === window && m.data?.type === Ze && m.data.route === e && (window.removeEventListener("message", l), y());
5427
+ }, window.addEventListener("message", l), Y && await Y(e), F.get(e) && (window.removeEventListener("message", l), y());
5353
5428
  } catch (m) {
5354
- u(), l(m instanceof Error ? m : new Error(String(m)));
5429
+ u(), c(m instanceof Error ? m : new Error(String(m)));
5355
5430
  }
5356
5431
  })();
5357
5432
  });
5358
5433
  };
5359
5434
  }
5360
- function zn(t) {
5435
+ function Fn(t) {
5361
5436
  return new Proxy(t, {
5362
5437
  get(e, r, n) {
5363
5438
  return r === "registerTool" ? (o, s, a) => {
5364
- const l = e.registerTool.bind(e);
5439
+ const c = e.registerTool.bind(e);
5365
5440
  if (typeof a == "function")
5366
- return l(o, s, a);
5367
- const { route: d, timeout: c, invokeEffect: u } = a;
5368
- Ze.set(o, d);
5369
- const g = Gr(o, s?.title, u);
5370
- return l(o, s, tn(o, d, c, g));
5441
+ return c(o, s, a);
5442
+ const { route: d, timeout: l, invokeEffect: u } = a;
5443
+ ze.set(o, d);
5444
+ const g = K0(o, s?.title, u);
5445
+ return c(o, s, nn(o, d, l, g));
5371
5446
  } : Reflect.get(e, r, n);
5372
5447
  }
5373
5448
  });
5374
5449
  }
5375
- function Dn(t) {
5450
+ function Bn(t) {
5376
5451
  const { route: e, handlers: r } = t, n = (a) => a.replace(/\/+$/, "") || "/", o = n(e ?? window.location.pathname), s = async (a) => {
5377
- if (a.source !== window || a.data?.type !== At || n(String(a.data?.route ?? "")) !== o || !(a.data.toolName in r))
5452
+ if (a.source !== window || a.data?.type !== jt || n(String(a.data?.route ?? "")) !== o || !(a.data.toolName in r))
5378
5453
  return;
5379
- const { callId: l, toolName: d, input: c } = a.data;
5454
+ const { callId: c, toolName: d, input: l } = a.data;
5380
5455
  try {
5381
- const u = await r[d](c);
5382
- window.postMessage({ type: Se, callId: l, result: u }, window.location.origin || "*");
5456
+ const u = await r[d](l);
5457
+ window.postMessage({ type: Me, callId: c, result: u }, window.location.origin || "*");
5383
5458
  } catch (u) {
5384
5459
  window.postMessage(
5385
5460
  {
5386
- type: Se,
5387
- callId: l,
5461
+ type: Me,
5462
+ callId: c,
5388
5463
  error: u instanceof Error ? u.message : String(u)
5389
5464
  },
5390
5465
  window.location.origin || "*"
5391
5466
  );
5392
5467
  }
5393
5468
  };
5394
- return F.set(o, !0), window.addEventListener("message", s), at(Ot, o), () => {
5395
- F.delete(o), window.removeEventListener("message", s), at(Kr, o);
5469
+ return F.set(o, !0), window.addEventListener("message", s), ct(Ze, o), () => {
5470
+ F.delete(o), window.removeEventListener("message", s), ct(Y0, o);
5396
5471
  };
5397
5472
  }
5398
- const $t = /^\.\/[^/]+\/SKILL\.md$/, rn = /^---\s*\n([\s\S]+?)\s*\n---/;
5399
- function Ut(t) {
5400
- const e = t.match(rn);
5473
+ const Zt = /^\.\/[^/]+\/SKILL\.md$/, on = /^---\s*\n([\s\S]+?)\s*\n---/;
5474
+ function qt(t) {
5475
+ const e = t.match(on);
5401
5476
  if (!e?.[1]) return null;
5402
5477
  const r = e[1], n = r.match(/^name:\s*(.+)$/m), o = r.match(/^description:\s*(.+)$/m), s = n?.[1]?.trim(), a = o?.[1]?.trim();
5403
5478
  return s && a ? { name: s, description: a } : null;
@@ -5405,21 +5480,21 @@ function Ut(t) {
5405
5480
  function V(t) {
5406
5481
  const e = {};
5407
5482
  for (const [r, n] of Object.entries(t)) {
5408
- const o = r.replace(/\\/g, "/"), s = o.lastIndexOf("skills/"), a = s >= 0 ? o.slice(s + 7) : o, l = a.startsWith("./") ? a : `./${a}`;
5409
- e[l] = n;
5483
+ const o = r.replace(/\\/g, "/"), s = o.lastIndexOf("skills/"), a = s >= 0 ? o.slice(s + 7) : o, c = a.startsWith("./") ? a : `./${a}`;
5484
+ e[c] = n;
5410
5485
  }
5411
5486
  return e;
5412
5487
  }
5413
- function nn(t) {
5488
+ function sn(t) {
5414
5489
  const e = V(t);
5415
- return Object.keys(e).filter((r) => $t.test(r));
5490
+ return Object.keys(e).filter((r) => Zt.test(r));
5416
5491
  }
5417
- function Hn(t) {
5418
- const e = V(t), r = Object.keys(e).filter((o) => $t.test(o)), n = [];
5492
+ function Vn(t) {
5493
+ const e = V(t), r = Object.keys(e).filter((o) => Zt.test(o)), n = [];
5419
5494
  for (const o of r) {
5420
5495
  const s = e[o];
5421
5496
  if (!s) continue;
5422
- const a = Ut(s);
5497
+ const a = qt(s);
5423
5498
  a && n.push({
5424
5499
  name: a.name,
5425
5500
  description: a.description,
@@ -5428,7 +5503,7 @@ function Hn(t) {
5428
5503
  }
5429
5504
  return n;
5430
5505
  }
5431
- function Fn(t) {
5506
+ function Wn(t) {
5432
5507
  return t.length === 0 ? "" : `## 可用技能
5433
5508
 
5434
5509
  ${t.map((r) => `- **${r.name}**: ${r.description}`).join(`
@@ -5436,122 +5511,123 @@ ${t.map((r) => `- **${r.name}**: ${r.description}`).join(`
5436
5511
 
5437
5512
  当需要用到某技能时,请使用 get_skill_content 工具获取该技能的完整文档内容。`;
5438
5513
  }
5439
- function Bn(t) {
5514
+ function Jn(t) {
5440
5515
  const e = V(t);
5441
5516
  return Object.keys(e);
5442
5517
  }
5443
- function ve(t, e) {
5518
+ function be(t, e) {
5444
5519
  const r = V(t), n = r[e];
5445
5520
  if (n) return n;
5446
5521
  const o = e.replace(/^\.?\//, "/"), s = Object.keys(r).find((a) => a.endsWith(o));
5447
5522
  return s ? r[s] : void 0;
5448
5523
  }
5449
- function on(t, e) {
5450
- const r = V(t), n = nn(r), o = n.find((s) => s.startsWith(`./${e}/SKILL.md`));
5524
+ function an(t, e) {
5525
+ const r = V(t), n = sn(r), o = n.find((s) => s.startsWith(`./${e}/SKILL.md`));
5451
5526
  if (o) return o;
5452
5527
  for (const s of n) {
5453
5528
  const a = r[s];
5454
5529
  if (a) {
5455
- const l = Ut(a);
5456
- if (l && l.name === e)
5530
+ const c = qt(a);
5531
+ if (c && c.name === e)
5457
5532
  return s;
5458
5533
  }
5459
5534
  }
5460
5535
  }
5461
- const sn = te.object({
5462
- skillName: te.string().optional().describe(
5536
+ const cn = G.object({
5537
+ skillName: G.string().optional().describe(
5463
5538
  '进入某个技能的主入口名称。优先匹配技能的目录名(如 ecommerce),或者技能的中文名称(如"客户价保单创建及审核")。'
5464
5539
  ),
5465
- path: te.string().optional().describe("你想查阅的文档的路径。如 ./calculator/SKILL.md 或从其他文档里看到的相对路径 ./reference/inventory.md。"),
5466
- currentPath: te.string().optional().describe(
5540
+ path: G.string().optional().describe("你想查阅的文档的路径。如 ./calculator/SKILL.md 或从其他文档里看到的相对路径 ./reference/inventory.md。"),
5541
+ currentPath: G.string().optional().describe(
5467
5542
  "你当前正在阅读的文档路径(如果有)。比如你刚刚读取了 ./ecommerce/SKILL.md,请把这个路径原样传回来,这样系统才能根据你的相对路径准确找到下一份文件。"
5468
5543
  )
5469
5544
  });
5470
- function Vn(t) {
5545
+ function Gn(t) {
5471
5546
  const e = V(t);
5472
5547
  return {
5473
- get_skill_content: c2({
5548
+ get_skill_content: p2({
5474
5549
  description: "根据技能名称或文档路径获取该技能的完整文档内容。如果你想根据相对路径查阅文件,请务必同时提供你当前所在的文件路径 currentPath。",
5475
- inputSchema: sn,
5550
+ inputSchema: cn,
5476
5551
  execute: (n) => {
5477
5552
  const { skillName: o, path: s, currentPath: a } = n;
5478
- let l, d = "";
5553
+ let c, d = "";
5479
5554
  if (s) {
5480
- let c = ".";
5555
+ let l = ".";
5481
5556
  if (a) {
5482
5557
  const p = a.lastIndexOf("/");
5483
- p >= 0 && (c = a.slice(0, p));
5558
+ p >= 0 && (l = a.slice(0, p));
5484
5559
  }
5485
- const u = `http://localhost/${c}/`;
5486
- if (d = "." + new URL(s, u).pathname, l = ve(e, d), l === void 0 && (s.startsWith("./") || s.startsWith("../")) && a) {
5560
+ const u = `http://localhost/${l}/`;
5561
+ if (d = "." + new URL(s, u).pathname, c = be(e, d), c === void 0 && (s.startsWith("./") || s.startsWith("../")) && a) {
5487
5562
  const p = a.split("/");
5488
5563
  if (p.length >= 2) {
5489
5564
  const y = `http://localhost/${p[1]}/`, m = "." + new URL(s, y).pathname;
5490
- l = ve(e, m), l && (d = m);
5565
+ c = be(e, m), c && (d = m);
5491
5566
  }
5492
5567
  }
5493
- if (l && !e[d]) {
5568
+ if (c && !e[d]) {
5494
5569
  const p = d.replace(/^\.?\//, "/"), f = Object.keys(e).find((y) => y.endsWith(p));
5495
5570
  f && (d = f);
5496
5571
  }
5497
5572
  } else if (o) {
5498
- const c = on(e, o);
5499
- c && (d = c, l = ve(e, c));
5573
+ const l = an(e, o);
5574
+ l && (d = l, c = be(e, l));
5500
5575
  }
5501
- return l === void 0 ? {
5576
+ return c === void 0 ? {
5502
5577
  error: "未找到对应技能文档",
5503
5578
  skillName: o,
5504
5579
  path: s,
5505
5580
  providedCurrentPath: a,
5506
5581
  attemptedPath: d
5507
- } : { content: l, path: d };
5582
+ } : { content: c, path: d };
5508
5583
  }
5509
5584
  })
5510
5585
  };
5511
5586
  }
5512
5587
  export {
5513
- Nn as AgentModelProvider,
5514
- Gn as Ajv,
5515
- Xn as AuthClientProvider,
5516
- $n as ContentScriptServerTransport,
5517
- m2 as ExtensionClientTransport,
5518
- On as ExtensionPageServerTransport,
5519
- lo as InMemoryTransport,
5520
- Kr as MSG_PAGE_LEAVE,
5521
- Yr as MSG_REMOTER_READY,
5522
- Qr as MSG_ROUTE_STATE_INITIAL,
5523
- f2 as QrCode,
5524
- to as ResourceTemplate,
5525
- no as UriTemplate,
5526
- p2 as WebMcpClient,
5527
- xn as WebMcpServer,
5528
- so as completable,
5529
- En as createMessageChannelClientTransport,
5530
- kn as createMessageChannelPairTransport,
5531
- Ln as createMessageChannelServerTransport,
5532
- Un as createRemoter,
5533
- Tn as createSSEClientTransport,
5534
- Vn as createSkillTools,
5535
- Mn as createStreamableHTTPClientTransport,
5536
- Fn as formatSkillsForSystemPrompt,
5537
- Zr as getAISDKTools,
5538
- Zn as getActiveRoutes,
5539
- ao as getDisplayName,
5540
- on as getMainSkillPathByName,
5541
- nn as getMainSkillPaths,
5542
- ve as getSkillMdContent,
5543
- Bn as getSkillMdPaths,
5544
- Hn as getSkillOverviews,
5545
- jn as getToolRouteMap,
5546
- An as isMcpClient,
5547
- Pn as isMcpServer,
5548
- In as isMessageChannelClientTransport,
5549
- Sn as isMessageChannelServerTransport,
5550
- Rn as isSSEClientTransport,
5551
- h2 as isStreamableHTTPClientTransport,
5552
- Ut as parseSkillFrontMatter,
5553
- Dn as registerPageTool,
5554
- qn as setNavigator,
5555
- zn as withPageTools,
5556
- Yn as z
5588
+ Zn as AgentModelProvider,
5589
+ Qn as Ajv,
5590
+ ro as AuthClientProvider,
5591
+ Nn as ContentScriptServerTransport,
5592
+ w2 as ExtensionClientTransport,
5593
+ Un as ExtensionPageServerTransport,
5594
+ ho as InMemoryTransport,
5595
+ Y0 as MSG_PAGE_LEAVE,
5596
+ Q0 as MSG_REMOTER_READY,
5597
+ X0 as MSG_ROUTE_STATE_INITIAL,
5598
+ v2 as QrCode,
5599
+ oo as ResourceTemplate,
5600
+ io as UriTemplate,
5601
+ g2 as WebMcpClient,
5602
+ kn as WebMcpServer,
5603
+ co as completable,
5604
+ In as createMessageChannelClientTransport,
5605
+ Pn as createMessageChannelPairTransport,
5606
+ Sn as createMessageChannelServerTransport,
5607
+ jn as createRemoter,
5608
+ En as createSSEClientTransport,
5609
+ Gn as createSkillTools,
5610
+ Rn as createStreamableHTTPClientTransport,
5611
+ Wn as formatSkillsForSystemPrompt,
5612
+ q0 as getAISDKTools,
5613
+ zn as getActiveRoutes,
5614
+ uo as getDisplayName,
5615
+ an as getMainSkillPathByName,
5616
+ sn as getMainSkillPaths,
5617
+ be as getSkillMdContent,
5618
+ Jn as getSkillMdPaths,
5619
+ Vn as getSkillOverviews,
5620
+ qn as getToolRouteMap,
5621
+ $n as isMcpClient,
5622
+ Mn as isMcpServer,
5623
+ On as isMessageChannelClientTransport,
5624
+ Tn as isMessageChannelServerTransport,
5625
+ An as isSSEClientTransport,
5626
+ y2 as isStreamableHTTPClientTransport,
5627
+ qt as parseSkillFrontMatter,
5628
+ Hn as registerNavigateTool,
5629
+ Bn as registerPageTool,
5630
+ Dn as setNavigator,
5631
+ Fn as withPageTools,
5632
+ eo as z
5557
5633
  };