@kingsoftcloud/ksadk-web 0.2.18 → 0.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist-ksadk/assets/{ArtifactsPanel-C0meuOdi.js → ArtifactsPanel-D-SSn2ee.js} +1 -1
  2. package/dist-ksadk/assets/{CodeBlock-BbI4HPtJ.js → CodeBlock-P16VOLYi.js} +1 -1
  3. package/dist-ksadk/assets/{MathMessageMarkdown-DMLQYoLp.js → MathMessageMarkdown-CdGiQWHR.js} +1 -1
  4. package/dist-ksadk/assets/{MermaidBlock-DCR8WZ17.js → MermaidBlock-IOcal8cm.js} +6 -6
  5. package/dist-ksadk/assets/{NativeTerminalPanel-CKUvWhUz.js → NativeTerminalPanel-DGSDWsei.js} +1 -1
  6. package/dist-ksadk/assets/{arc-bj2rZnP5.js → arc-BA13sHc9.js} +1 -1
  7. package/dist-ksadk/assets/architecture-7EHR7CIX-BvUlsA6l.js +1 -0
  8. package/dist-ksadk/assets/{architectureDiagram-3BPJPVTR-2u1ltDIj.js → architectureDiagram-3BPJPVTR-DzJzgVoL.js} +1 -1
  9. package/dist-ksadk/assets/{blockDiagram-GPEHLZMM-D6fvdK20.js → blockDiagram-GPEHLZMM-UTdVcZhn.js} +1 -1
  10. package/dist-ksadk/assets/{c4Diagram-AAUBKEIU-BK82L5n5.js → c4Diagram-AAUBKEIU-Dix0GD4m.js} +1 -1
  11. package/dist-ksadk/assets/channel-CTuydARX.js +1 -0
  12. package/dist-ksadk/assets/{chunk-2J33WTMH-DLVdkeyQ.js → chunk-2J33WTMH-C2JxuZ42.js} +1 -1
  13. package/dist-ksadk/assets/{chunk-4BX2VUAB-BbwsYcbW.js → chunk-4BX2VUAB-Be57QPgD.js} +1 -1
  14. package/dist-ksadk/assets/{chunk-55IACEB6-DOairxzw.js → chunk-55IACEB6-WjSuy4nv.js} +1 -1
  15. package/dist-ksadk/assets/{chunk-727SXJPM-hCO487gs.js → chunk-727SXJPM-BOovP-b5.js} +1 -1
  16. package/dist-ksadk/assets/{chunk-AQP2D5EJ-XU8vDOuG.js → chunk-AQP2D5EJ-DOmZNmWj.js} +1 -1
  17. package/dist-ksadk/assets/{chunk-FMBD7UC4-PrapyfMu.js → chunk-FMBD7UC4-DzwlodkU.js} +1 -1
  18. package/dist-ksadk/assets/{chunk-ND2GUHAM-CboKhTZ3.js → chunk-ND2GUHAM-DMqAikEU.js} +1 -1
  19. package/dist-ksadk/assets/chunk-QZHKN3VN-BnCydivS.js +1 -0
  20. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-BNHg45Be.js +1 -0
  21. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-BNHg45Be.js +1 -0
  22. package/dist-ksadk/assets/{cose-bilkent-S5V4N54A-_N8bJ-EU.js → cose-bilkent-S5V4N54A-Zhy2GBnP.js} +1 -1
  23. package/dist-ksadk/assets/{dagre-BM42HDAG-FoDlo5J2.js → dagre-BM42HDAG-CbKrtIUz.js} +1 -1
  24. package/dist-ksadk/assets/{diagram-2AECGRRQ-BBp6ebBw.js → diagram-2AECGRRQ-BRApgQRK.js} +1 -1
  25. package/dist-ksadk/assets/{diagram-5GNKFQAL-CqOvG1PR.js → diagram-5GNKFQAL-D0xbnDiK.js} +1 -1
  26. package/dist-ksadk/assets/{diagram-KO2AKTUF-O9T3t6ba.js → diagram-KO2AKTUF-CVugVI9L.js} +1 -1
  27. package/dist-ksadk/assets/{diagram-LMA3HP47-CGG8ekBO.js → diagram-LMA3HP47-DozUGgee.js} +1 -1
  28. package/dist-ksadk/assets/{diagram-OG6HWLK6-4BmH1EEg.js → diagram-OG6HWLK6-ZOYsKlru.js} +1 -1
  29. package/dist-ksadk/assets/{dist-BmuTWcm7.js → dist-2hInLS_J.js} +1 -1
  30. package/dist-ksadk/assets/{dist-BMKM66B4.js → dist-8EEyGgDx.js} +1 -1
  31. package/dist-ksadk/assets/{dist-Cp1_jKwf.js → dist-8_SfK1IP.js} +1 -1
  32. package/dist-ksadk/assets/{dist-CZ6C3x8B.js → dist-B0NP_Z0z.js} +1 -1
  33. package/dist-ksadk/assets/{dist-DLeM1OCK.js → dist-BIJVDMuB.js} +1 -1
  34. package/dist-ksadk/assets/{dist-Cwhk4lwI.js → dist-BmlMPsCc.js} +1 -1
  35. package/dist-ksadk/assets/{dist-D99wf6_X.js → dist-BrCcQ47T.js} +1 -1
  36. package/dist-ksadk/assets/{dist-CWiTDN_V.js → dist-BssVmjIo.js} +1 -1
  37. package/dist-ksadk/assets/{dist-BVzcWa6D.js → dist-C3HIIaN5.js} +1 -1
  38. package/dist-ksadk/assets/{dist-DM0rEQPk.js → dist-CPBtqRTW.js} +1 -1
  39. package/dist-ksadk/assets/{dist-BkJjNih3.js → dist-CkEKJFtk.js} +1 -1
  40. package/dist-ksadk/assets/{dist-B67uF2uK.js → dist-D-JMdWPQ.js} +1 -1
  41. package/dist-ksadk/assets/{dist-DI-oVAXw.js → dist-D-xOD048.js} +1 -1
  42. package/dist-ksadk/assets/{dist-6kSZvCZh.js → dist-D57wnGWd.js} +1 -1
  43. package/dist-ksadk/assets/{dist-Bk1l05Ni.js → dist-DL_NKc_z.js} +1 -1
  44. package/dist-ksadk/assets/{dist-DbaH3p5h.js → dist-DMezvBGJ.js} +1 -1
  45. package/dist-ksadk/assets/{dist-CiZHB6ZW.js → dist-DmFaq_Iy.js} +1 -1
  46. package/dist-ksadk/assets/{dist-DLMjL01k.js → dist-Dp0k7bWI.js} +1 -1
  47. package/dist-ksadk/assets/{dist-DCpZrjaK.js → dist-DpKtt4Bo.js} +1 -1
  48. package/dist-ksadk/assets/{dist-D5JGcxBx.js → dist-DyOkZmze.js} +1 -1
  49. package/dist-ksadk/assets/{dist-C2DKRFVK.js → dist-DyWsb78Q.js} +1 -1
  50. package/dist-ksadk/assets/{dist-S4klkK5W.js → dist-gX6GOLKq.js} +1 -1
  51. package/dist-ksadk/assets/{erDiagram-TEJ5UH35-oJhaci7S.js → erDiagram-TEJ5UH35-Bk-9bgE5.js} +1 -1
  52. package/dist-ksadk/assets/eventmodeling-FCH6USID-DsAgWnlf.js +1 -0
  53. package/dist-ksadk/assets/{flowDiagram-I6XJVG4X-DtTmUan-.js → flowDiagram-I6XJVG4X-Dn9kZVuZ.js} +1 -1
  54. package/dist-ksadk/assets/{ganttDiagram-6RSMTGT7-BSsb_eij.js → ganttDiagram-6RSMTGT7-BGxXlJqm.js} +1 -1
  55. package/dist-ksadk/assets/gitGraph-WXDBUCRP-BIao9Yjg.js +1 -0
  56. package/dist-ksadk/assets/{gitGraphDiagram-PVQCEYII-BR5s6Pws.js → gitGraphDiagram-PVQCEYII-C7Q0X-wi.js} +1 -1
  57. package/dist-ksadk/assets/{index-BH7-pC0B.js → index-C00Lwg3L.js} +6 -6
  58. package/dist-ksadk/assets/info-J43DQDTF-CyipqGxU.js +1 -0
  59. package/dist-ksadk/assets/{infoDiagram-5YYISTIA-DYPc5cvh.js → infoDiagram-5YYISTIA-BO_CSqq5.js} +1 -1
  60. package/dist-ksadk/assets/{ishikawaDiagram-YF4QCWOH-MoBdALDg.js → ishikawaDiagram-YF4QCWOH-eYLPLd46.js} +1 -1
  61. package/dist-ksadk/assets/{journeyDiagram-JHISSGLW-DgLiQT8l.js → journeyDiagram-JHISSGLW-De9geSb0.js} +1 -1
  62. package/dist-ksadk/assets/{kanban-definition-UN3LZRKU-CsFx112F.js → kanban-definition-UN3LZRKU-Cs80kQto.js} +1 -1
  63. package/dist-ksadk/assets/{katex-DRsiwpM2.js → katex-DSrCFD8n.js} +1 -1
  64. package/dist-ksadk/assets/{linear-TNRQ5Orv.js → linear-CN9sbKTF.js} +1 -1
  65. package/dist-ksadk/assets/{mermaid-parser.core-D2eMVOgo.js → mermaid-parser.core-DlgSBU8l.js} +2 -2
  66. package/dist-ksadk/assets/{mindmap-definition-RKZ34NQL-BtByYFhL.js → mindmap-definition-RKZ34NQL-9afz7Oug.js} +1 -1
  67. package/dist-ksadk/assets/packet-YPE3B663-CGkyRxlg.js +1 -0
  68. package/dist-ksadk/assets/pie-LRSECV5Y-M0uWAf4n.js +1 -0
  69. package/dist-ksadk/assets/{pieDiagram-4H26LBE5-DPnuCB8c.js → pieDiagram-4H26LBE5-DPv_VstN.js} +1 -1
  70. package/dist-ksadk/assets/{quadrantDiagram-W4KKPZXB-miFpCPv4.js → quadrantDiagram-W4KKPZXB-o77wZ1XK.js} +1 -1
  71. package/dist-ksadk/assets/radar-GUYGQ44K-Bdbm24-x.js +1 -0
  72. package/dist-ksadk/assets/{requirementDiagram-4Y6WPE33-mjB_yYkW.js → requirementDiagram-4Y6WPE33-BYVw81VC.js} +1 -1
  73. package/dist-ksadk/assets/{sankeyDiagram-5OEKKPKP-D7hSlZZZ.js → sankeyDiagram-5OEKKPKP-B7nZFMKT.js} +1 -1
  74. package/dist-ksadk/assets/{sequenceDiagram-3UESZ5HK-D9Cx6hC3.js → sequenceDiagram-3UESZ5HK-BGRRrFw5.js} +1 -1
  75. package/dist-ksadk/assets/{stateDiagram-AJRCARHV-D_zrg47o.js → stateDiagram-AJRCARHV-BUfHCoPs.js} +1 -1
  76. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-8xBN_gLM.js +1 -0
  77. package/dist-ksadk/assets/{timeline-definition-PNZ67QCA-CwSec0Wa.js → timeline-definition-PNZ67QCA-FbCTGrf9.js} +1 -1
  78. package/dist-ksadk/assets/treeView-BLDUP644-npMo0ak1.js +1 -0
  79. package/dist-ksadk/assets/treemap-LRROVOQU-CHdzrrdo.js +1 -0
  80. package/dist-ksadk/assets/{vennDiagram-CIIHVFJN-agCVobiF.js → vennDiagram-CIIHVFJN-DWgwtPsJ.js} +1 -1
  81. package/dist-ksadk/assets/wardley-L42UT6IY-BEQz7wyy.js +1 -0
  82. package/dist-ksadk/assets/{wardleyDiagram-YWT4CUSO-TmrlhWNt.js → wardleyDiagram-YWT4CUSO-2x8G-tTM.js} +1 -1
  83. package/dist-ksadk/assets/{xychartDiagram-2RQKCTM6-DV71V-ah.js → xychartDiagram-2RQKCTM6-Drma3AYl.js} +1 -1
  84. package/dist-ksadk/index.html +1 -1
  85. package/dist-lib/components/chat/ConnectedMessageList.d.ts.map +1 -1
  86. package/dist-lib/hooks/useSessionLifecycle.d.ts.map +1 -1
  87. package/dist-lib/runtime.js +329 -321
  88. package/package.json +1 -1
  89. package/dist-ksadk/assets/architecture-7EHR7CIX-Cr6Xz1_c.js +0 -1
  90. package/dist-ksadk/assets/channel-BSSOwFIb.js +0 -1
  91. package/dist-ksadk/assets/chunk-QZHKN3VN-XXpdiwUL.js +0 -1
  92. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-C5HvGiyK.js +0 -1
  93. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-C5HvGiyK.js +0 -1
  94. package/dist-ksadk/assets/eventmodeling-FCH6USID-CIgwHJLL.js +0 -1
  95. package/dist-ksadk/assets/gitGraph-WXDBUCRP-BVAJ7uo0.js +0 -1
  96. package/dist-ksadk/assets/info-J43DQDTF-MT80V4ge.js +0 -1
  97. package/dist-ksadk/assets/packet-YPE3B663-BLKhbXZB.js +0 -1
  98. package/dist-ksadk/assets/pie-LRSECV5Y-DFOikjSY.js +0 -1
  99. package/dist-ksadk/assets/radar-GUYGQ44K-095b1Ikw.js +0 -1
  100. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-J9kCb0nC.js +0 -1
  101. package/dist-ksadk/assets/treeView-BLDUP644-yinfJEY6.js +0 -1
  102. package/dist-ksadk/assets/treemap-LRROVOQU-DosUqN1Q.js +0 -1
  103. package/dist-ksadk/assets/wardley-L42UT6IY-Bvp7-5uH.js +0 -1
@@ -314,16 +314,16 @@ var z = P()((e) => ({
314
314
  return delete n[t], { eventCache: n };
315
315
  })
316
316
  })), B = .28;
317
- function V(e, t = 768) {
317
+ function ge(e, t = 768) {
318
318
  return Number(e) <= t;
319
319
  }
320
- function ge({ isMobile: e, desktopSidebarOpen: t, mobileSidebarOpen: n }) {
320
+ function _e({ isMobile: e, desktopSidebarOpen: t, mobileSidebarOpen: n }) {
321
321
  return {
322
322
  desktopSidebarVisible: !e && !!t,
323
323
  mobileDrawerVisible: !!(e && n)
324
324
  };
325
325
  }
326
- function _e({ isMobile: e, viewportHeight: t, desktopMaxHeight: n = 160 }) {
326
+ function ve({ isMobile: e, viewportHeight: t, desktopMaxHeight: n = 160 }) {
327
327
  if (!e) return n;
328
328
  let r = Number(t);
329
329
  if (!Number.isFinite(r) || r <= 0) return n;
@@ -332,33 +332,33 @@ function _e({ isMobile: e, viewportHeight: t, desktopMaxHeight: n = 160 }) {
332
332
  }
333
333
  //#endregion
334
334
  //#region src/utils/session.js
335
- var ve = "ksadk:webui:selected-session:";
336
- function ye(e) {
335
+ var ye = "ksadk:webui:selected-session:";
336
+ function be(e) {
337
337
  return String(e || "").trim() || "default-agent";
338
338
  }
339
- function be(e) {
339
+ function xe(e) {
340
340
  if (e && typeof e.getItem == "function") return e;
341
341
  try {
342
342
  if (typeof window < "u" && window.localStorage) return window.localStorage;
343
343
  } catch {}
344
344
  return null;
345
345
  }
346
- function xe(e) {
347
- return `${ve}${ye(e)}`;
346
+ function Se(e) {
347
+ return `${ye}${be(e)}`;
348
348
  }
349
- function Se(e, t) {
350
- let n = be(t);
349
+ function Ce(e, t) {
350
+ let n = xe(t);
351
351
  if (!n) return null;
352
352
  try {
353
- return String(n.getItem(xe(e)) || "").trim() || null;
353
+ return String(n.getItem(Se(e)) || "").trim() || null;
354
354
  } catch {
355
355
  return null;
356
356
  }
357
357
  }
358
- function Ce(e, t, n) {
359
- let r = be(n);
358
+ function we(e, t, n) {
359
+ let r = xe(n);
360
360
  if (!r) return;
361
- let i = xe(e), a = String(t || "").trim();
361
+ let i = Se(e), a = String(t || "").trim();
362
362
  try {
363
363
  if (a) {
364
364
  r.setItem(i, a);
@@ -367,7 +367,7 @@ function Ce(e, t, n) {
367
367
  r.removeItem(i);
368
368
  } catch {}
369
369
  }
370
- function we(e, t) {
370
+ function Te(e, t) {
371
371
  if (!Array.isArray(e) || e.length === 0) return null;
372
372
  let n = String(t || "").trim();
373
373
  if (n && e.some((e) => String(e?.SessionId || "").trim() === n)) return n;
@@ -379,66 +379,66 @@ function we(e, t) {
379
379
  }
380
380
  //#endregion
381
381
  //#region src/utils/native-platform.js
382
- var Te = new Map([["openclaw", "OpenClaw"], ["hermes", "Hermes"]]);
383
- function Ee(e) {
384
- return String(e || "").trim().toLowerCase();
385
- }
382
+ var Ee = new Map([["openclaw", "OpenClaw"], ["hermes", "Hermes"]]);
386
383
  function De(e) {
387
384
  return String(e || "").trim().toLowerCase();
388
385
  }
389
386
  function Oe(e) {
387
+ return String(e || "").trim().toLowerCase();
388
+ }
389
+ function ke(e) {
390
390
  try {
391
391
  return new URL("/", e).toString();
392
392
  } catch {
393
393
  return "/";
394
394
  }
395
395
  }
396
- function ke({ capability: e, agentFramework: t, accessMode: n, origin: r }) {
397
- let i = Ee(n);
396
+ function Ae({ capability: e, agentFramework: t, accessMode: n, origin: r }) {
397
+ let i = De(n);
398
398
  if (i !== "owner" && i !== "private" || !e?.Enabled) return null;
399
- let a = Te.get(De(t)) || "运行时";
399
+ let a = Ee.get(Oe(t)) || "运行时";
400
400
  return {
401
- href: typeof e.Href == "string" && e.Href ? new URL(e.Href, Oe(r)).toString() : Oe(r),
401
+ href: typeof e.Href == "string" && e.Href ? new URL(e.Href, ke(r)).toString() : ke(r),
402
402
  label: typeof e.Label == "string" && e.Label ? e.Label : "管理平台",
403
403
  title: `打开 ${a} 原生管理平台`
404
404
  };
405
405
  }
406
406
  //#endregion
407
407
  //#region src/utils/model-options.js
408
- var Ae = new Set([
408
+ var je = new Set([
409
409
  "auto",
410
410
  "enabled",
411
411
  "disabled"
412
412
  ]);
413
- function je(e) {
413
+ function Me(e) {
414
414
  let t = String(e || "").trim().toLowerCase();
415
- return Ae.has(t) ? t : "auto";
415
+ return je.has(t) ? t : "auto";
416
416
  }
417
- function Me(e) {
418
- let t = je(e);
417
+ function Ne(e) {
418
+ let t = Me(e);
419
419
  if (t === "disabled") return { thinking: { type: "disabled" } };
420
420
  if (t === "enabled") return { thinking: { type: "enabled" } };
421
421
  }
422
422
  //#endregion
423
423
  //#region src/hooks/useResponsiveViewport.ts
424
- function Ne() {
424
+ function Pe() {
425
425
  return typeof window > "u" ? 900 : Math.round(window.visualViewport?.height || window.innerHeight || 900);
426
426
  }
427
- function H() {
427
+ function V() {
428
428
  return typeof window > "u" ? {
429
429
  isMobile: !1,
430
430
  viewportHeight: 900
431
431
  } : {
432
- isMobile: V(window.innerWidth, 768),
433
- viewportHeight: Ne()
432
+ isMobile: ge(window.innerWidth, 768),
433
+ viewportHeight: Pe()
434
434
  };
435
435
  }
436
- function Pe() {
437
- let [e, t] = ae(() => H());
436
+ function Fe() {
437
+ let [e, t] = ae(() => V());
438
438
  return j(() => {
439
439
  if (typeof window > "u") return;
440
440
  let e = window.matchMedia("(max-width: 768px)"), n = () => {
441
- t(H());
441
+ t(V());
442
442
  };
443
443
  n();
444
444
  let r = typeof e.addEventListener == "function" ? (e.addEventListener("change", n), () => e.removeEventListener("change", n)) : (e.addListener(n), () => e.removeListener(n));
@@ -449,76 +449,76 @@ function Pe() {
449
449
  }
450
450
  //#endregion
451
451
  //#region src/api/client.ts
452
- var U = class extends Error {
452
+ var H = class extends Error {
453
453
  code;
454
454
  detail;
455
455
  constructor(e, t, n) {
456
456
  super(t), this.name = "ApiError", this.code = e, this.detail = n;
457
457
  }
458
- }, W = class extends Error {
458
+ }, U = class extends Error {
459
459
  constructor(e = "请求已取消") {
460
460
  super(e), this.name = "CancelledError";
461
461
  }
462
- }, G = "/agentengine/api/v1";
463
- async function Fe(e) {
462
+ }, W = "/agentengine/api/v1";
463
+ async function Ie(e) {
464
464
  let t;
465
465
  try {
466
466
  t = await e.json();
467
467
  } catch {
468
- throw new U(-2, "响应格式异常");
468
+ throw new H(-2, "响应格式异常");
469
469
  }
470
- if (!e.ok) throw new U(e.status, t?.Message || `HTTP ${e.status}`, t);
471
- if (t?.Code !== void 0 && t.Code !== 0) throw new U(t.Code, t.Message || "请求失败", t);
470
+ if (!e.ok) throw new H(e.status, t?.Message || `HTTP ${e.status}`, t);
471
+ if (t?.Code !== void 0 && t.Code !== 0) throw new H(t.Code, t.Message || "请求失败", t);
472
472
  return t.Data;
473
473
  }
474
- function K(e) {
475
- throw e instanceof DOMException && e.name === "AbortError" ? new W() : e;
474
+ function G(e) {
475
+ throw e instanceof DOMException && e.name === "AbortError" ? new U() : e;
476
476
  }
477
- async function q(e, t, n) {
477
+ async function K(e, t, n) {
478
478
  let r;
479
479
  try {
480
- r = await fetch(`${G}/${e}`, {
480
+ r = await fetch(`${W}/${e}`, {
481
481
  method: "POST",
482
482
  headers: { "Content-Type": "application/json" },
483
483
  body: JSON.stringify(t),
484
484
  signal: n?.signal
485
485
  });
486
486
  } catch (e) {
487
- throw K(e);
487
+ throw G(e);
488
488
  }
489
- return Fe(r);
489
+ return Ie(r);
490
490
  }
491
- async function Ie(e, t, n) {
491
+ async function Le(e, t, n) {
492
492
  let r;
493
493
  try {
494
- r = await fetch(`${G}/${e}`, {
494
+ r = await fetch(`${W}/${e}`, {
495
495
  method: "POST",
496
496
  body: t,
497
497
  signal: n?.signal
498
498
  });
499
499
  } catch (e) {
500
- throw K(e);
500
+ throw G(e);
501
501
  }
502
- return Fe(r);
502
+ return Ie(r);
503
503
  }
504
- async function Le(e, t, n) {
505
- let r = new URLSearchParams(t).toString(), i = r ? `${G}/${e}?${r}` : `${G}/${e}`, a;
504
+ async function Re(e, t, n) {
505
+ let r = new URLSearchParams(t).toString(), i = r ? `${W}/${e}?${r}` : `${W}/${e}`, a;
506
506
  try {
507
507
  a = await fetch(i, { signal: n?.signal });
508
508
  } catch (e) {
509
- throw K(e);
509
+ throw G(e);
510
510
  }
511
- if (!a.ok) throw new U(a.status, `资源获取失败: ${a.statusText}`);
511
+ if (!a.ok) throw new H(a.status, `资源获取失败: ${a.statusText}`);
512
512
  try {
513
513
  return n?.asText ? await a.text() : await a.blob();
514
514
  } catch {
515
- throw new U(-3, "文件读取失败");
515
+ throw new H(-3, "文件读取失败");
516
516
  }
517
517
  }
518
- async function Re(e, t, n) {
518
+ async function ze(e, t, n) {
519
519
  let r;
520
520
  try {
521
- r = await fetch(`${G}/${e}`, {
521
+ r = await fetch(`${W}/${e}`, {
522
522
  method: "POST",
523
523
  headers: {
524
524
  "Content-Type": "application/json",
@@ -528,46 +528,46 @@ async function Re(e, t, n) {
528
528
  signal: n?.signal
529
529
  });
530
530
  } catch (e) {
531
- throw K(e);
531
+ throw G(e);
532
532
  }
533
- if (!r.ok) throw new U(r.status, `流式请求失败: ${r.statusText}`);
534
- if (!r.body) throw new U(-1, "无法获取响应流");
533
+ if (!r.ok) throw new H(r.status, `流式请求失败: ${r.statusText}`);
534
+ if (!r.body) throw new H(-1, "无法获取响应流");
535
535
  return r.body;
536
536
  }
537
- async function ze(e, t, n) {
538
- let r = new URLSearchParams(t).toString(), i = r ? `${G}/${e}?${r}` : `${G}/${e}`, a;
537
+ async function Be(e, t, n) {
538
+ let r = new URLSearchParams(t).toString(), i = r ? `${W}/${e}?${r}` : `${W}/${e}`, a;
539
539
  try {
540
540
  a = await fetch(i, {
541
541
  headers: { Accept: "text/event-stream" },
542
542
  signal: n?.signal
543
543
  });
544
544
  } catch (e) {
545
- throw K(e);
545
+ throw G(e);
546
546
  }
547
- if (!a.ok) throw new U(a.status, `流式订阅失败: ${a.statusText}`);
548
- if (!a.body) throw new U(-1, "无法获取响应流");
547
+ if (!a.ok) throw new H(a.status, `流式订阅失败: ${a.statusText}`);
548
+ if (!a.body) throw new H(-1, "无法获取响应流");
549
549
  return a.body;
550
550
  }
551
551
  //#endregion
552
552
  //#region src/api/bootstrap.ts
553
- async function Be() {
554
- return q("GetAgentUiBootstrap", {});
553
+ async function Ve() {
554
+ return K("GetAgentUiBootstrap", {});
555
555
  }
556
556
  //#endregion
557
557
  //#region src/api/model.ts
558
- async function Ve(e) {
559
- return q("ListAgentModels", { AgentId: e });
558
+ async function He(e) {
559
+ return K("ListAgentModels", { AgentId: e });
560
560
  }
561
561
  //#endregion
562
562
  //#region src/hooks/useBootstrap.ts
563
- function He(e) {
563
+ function Ue(e) {
564
564
  if (!Array.isArray(e)) return ["responses", "chat_completions"];
565
565
  let t = e.filter((e) => e === "responses" || e === "chat_completions");
566
566
  return t.length > 0 ? t : ["responses", "chat_completions"];
567
567
  }
568
- async function Ue(e) {
568
+ async function We(e) {
569
569
  try {
570
- let t = await Ve(e), n = t?.Models;
570
+ let t = await He(e), n = t?.Models;
571
571
  Array.isArray(n) && I.getState().upsertModels(n);
572
572
  let r = t;
573
573
  r?.Current && !I.getState().selectedModel && I.getState().setSelectedModel(String(r.Current)), r?.Source && I.getState().setModelSource(String(r.Source));
@@ -577,11 +577,11 @@ async function Ue(e) {
577
577
  I.getState().setModelCatalogLoaded(!0);
578
578
  }
579
579
  }
580
- function We(n) {
580
+ function Ge(n) {
581
581
  j(() => {
582
582
  (async () => {
583
583
  try {
584
- let r = await Be(), i = r, a = i?.Agent, o = String(a?.AgentId || "default-agent");
584
+ let r = await Ve(), i = r, a = i?.Agent, o = String(a?.AgentId || "default-agent");
585
585
  if (F.getState().setAgentId(o), a?.Name) {
586
586
  let e = String(a.Name);
587
587
  F.getState().setAgentName(e), document.title = e;
@@ -589,31 +589,31 @@ function We(n) {
589
589
  let s = String(a?.Framework || "").trim().toLowerCase();
590
590
  F.getState().setAgentFramework(s);
591
591
  let c = e(r);
592
- F.getState().setCapabilities(c), F.getState().setApiFormats(He(c.HostedChat.ApiFormats)), F.getState().setAccessMode(String(i?.AccessMode || "Owner"));
592
+ F.getState().setCapabilities(c), F.getState().setApiFormats(Ue(c.HostedChat.ApiFormats)), F.getState().setAccessMode(String(i?.AccessMode || "Owner"));
593
593
  let l = c.WorkspaceFiles && i?.WorkspaceFiles ? i.WorkspaceFiles : null;
594
- F.getState().setWorkspaceFiles(l), l || _.getState().setWorkspacePanelOpen(!1), t(c) && n.fetchSessions(o, Se(o));
594
+ F.getState().setWorkspaceFiles(l), l || _.getState().setWorkspacePanelOpen(!1), t(c) && n.fetchSessions(o, Ce(o));
595
595
  let u = i?.Model;
596
- u?.id && (I.getState().setSelectedModel(u.id), I.getState().upsertModels([u]), I.getState().setModelSource(u.source || "")), Ue(o);
596
+ u?.id && (I.getState().setSelectedModel(u.id), I.getState().upsertModels([u]), I.getState().setModelSource(u.source || "")), We(o);
597
597
  } catch (t) {
598
598
  console.error("Failed to fetch bootstrap:", t), F.getState().setCapabilities(e({ Data: {
599
599
  Agent: { Framework: "" },
600
600
  ApiFormats: ["responses", "chat_completions"],
601
601
  Capabilities: {}
602
- } })), n.fetchSessions("default-agent", Se("default-agent")), Ue("default-agent");
602
+ } })), n.fetchSessions("default-agent", Ce("default-agent")), We("default-agent");
603
603
  }
604
604
  })();
605
605
  }, []);
606
606
  }
607
607
  //#endregion
608
608
  //#region src/stores/message.ts
609
- var J = P()((e) => ({
609
+ var q = P()((e) => ({
610
610
  messages: [],
611
611
  setMessages: (t) => e({ messages: t }),
612
612
  patchMessages: (t) => e((e) => ({ messages: t(e.messages) }))
613
613
  }));
614
614
  //#endregion
615
615
  //#region src/utils/responses-stream.js
616
- function Ge() {
616
+ function Ke() {
617
617
  return {
618
618
  toolNames: /* @__PURE__ */ new Map(),
619
619
  toolArguments: /* @__PURE__ */ new Map(),
@@ -621,55 +621,55 @@ function Ge() {
621
621
  currentResponseId: ""
622
622
  };
623
623
  }
624
- function Ke(e) {
624
+ function qe(e) {
625
625
  return typeof e == "string" ? e : Array.isArray(e) ? e.map((e) => typeof e == "string" ? e : e && typeof e == "object" && typeof e.text == "string" ? e.text : "").join("") : e && typeof e == "object" && typeof e.text == "string" ? e.text : "";
626
626
  }
627
- function Y(e) {
627
+ function J(e) {
628
628
  return e == null ? "" : typeof e == "string" ? e : typeof e == "object" ? JSON.stringify(e, null, 2) : String(e);
629
629
  }
630
- function X(...e) {
630
+ function Y(...e) {
631
631
  for (let t of e) {
632
- let e = Ke(t);
632
+ let e = qe(t);
633
633
  if (e) return e;
634
634
  }
635
635
  return "";
636
636
  }
637
- function qe(e, t) {
637
+ function Je(e, t) {
638
638
  return String(e?.id || e?.item_id || e?.call_id || t?.item_id || t?.call_id || t?.output_index || "");
639
639
  }
640
- function Je(e, t, n, r, i) {
640
+ function Ye(e, t, n, r, i) {
641
641
  t && (e.toolNames.set(t, r), e.toolArguments.set(t, i));
642
642
  let a = String(n?.call_id || "");
643
643
  a && (e.callIds.set(a, t || r), e.toolNames.set(a, r), e.toolArguments.set(a, i));
644
644
  }
645
- function Ye(e, t, n, r = "tool") {
645
+ function Xe(e, t, n, r = "tool") {
646
646
  let i = String(n?.call_id || "");
647
647
  return String(n?.name || n?.tool_name || (t ? e.toolNames.get(t) : "") || (i ? e.toolNames.get(i) : "") || r);
648
648
  }
649
- function Xe(e) {
649
+ function Ze(e) {
650
650
  if (!e || typeof e != "object") return "";
651
- let t = Ke(e.content);
652
- return X(e.output_text, e.text, e.summary_text, e.summary, e.delta, t);
651
+ let t = qe(e.content);
652
+ return Y(e.output_text, e.text, e.summary_text, e.summary, e.delta, t);
653
653
  }
654
- function Ze(e) {
655
- let t = e?.response && typeof e.response == "object" ? e.response : e, n = X(t?.output_text, t?.text);
654
+ function Qe(e) {
655
+ let t = e?.response && typeof e.response == "object" ? e.response : e, n = Y(t?.output_text, t?.text);
656
656
  if (n) return n;
657
657
  let r = Array.isArray(t?.output) ? t.output : [];
658
658
  for (let e of r) {
659
- let t = Xe(e);
659
+ let t = Ze(e);
660
660
  if (t) return t;
661
661
  }
662
662
  return "";
663
663
  }
664
- function Qe(e) {
664
+ function $e(e) {
665
665
  let t = e?.response && typeof e.response == "object" ? e.response : e;
666
666
  return Array.isArray(t?.output) ? t.output : [];
667
667
  }
668
- function $e({ data: e, state: t, status: n }) {
669
- let r = e?.item || e?.output_item || e || {}, i = String(r.type || "").trim(), a = qe(r, e);
668
+ function et({ data: e, state: t, status: n }) {
669
+ let r = e?.item || e?.output_item || e || {}, i = String(r.type || "").trim(), a = Je(r, e);
670
670
  if (i === "function_call") {
671
- let e = Ye(t, a, r), i = Y(r.arguments ?? r.args ?? r.input);
672
- return Je(t, a, r, e, i), [{
671
+ let e = Xe(t, a, r), i = J(r.arguments ?? r.args ?? r.input);
672
+ return Ye(t, a, r, e, i), [{
673
673
  type: "tool_upsert",
674
674
  name: e,
675
675
  args: i,
@@ -678,27 +678,27 @@ function $e({ data: e, state: t, status: n }) {
678
678
  }
679
679
  if (i === "function_call_output") return [{
680
680
  type: "tool_result",
681
- name: Ye(t, a, r),
682
- output: Y(r.output ?? r.result ?? r.content)
681
+ name: Xe(t, a, r),
682
+ output: J(r.output ?? r.result ?? r.content)
683
683
  }];
684
684
  if (i === "mcp_approval_request") return [{
685
685
  type: "tool_upsert",
686
686
  name: String(r.name || "approval"),
687
- args: Y(r.arguments ?? r.args),
687
+ args: J(r.arguments ?? r.args),
688
688
  status: "paused",
689
689
  approvalRequestId: String(r.id || r.approval_request_id || ""),
690
690
  previousResponseId: String(e?.response_id || t.currentResponseId || ""),
691
691
  serverLabel: String(r.server_label || "")
692
692
  }];
693
693
  if (i === "reasoning" || i === "reasoning_summary" || i === "reasoning_summary_text") {
694
- let e = Xe(r);
694
+ let e = Ze(r);
695
695
  return e ? [{
696
696
  type: "reasoning_delta",
697
697
  text: e
698
698
  }] : [];
699
699
  }
700
700
  if (i === "message") {
701
- let e = Xe(r);
701
+ let e = Ze(r);
702
702
  return e ? [{
703
703
  type: n === "completed" ? "text_final" : "text_delta",
704
704
  text: e
@@ -706,31 +706,31 @@ function $e({ data: e, state: t, status: n }) {
706
706
  }
707
707
  return [];
708
708
  }
709
- function et({ eventName: e, data: t, state: n }) {
709
+ function tt({ eventName: e, data: t, state: n }) {
710
710
  let r = String(t?.type || e || "").trim(), i = String(t?.id || t?.response?.id || t?.response_id || "");
711
711
  if (i.startsWith("resp_") && (n.currentResponseId = i), r === "response.tool_call") return [{
712
712
  type: "tool_upsert",
713
713
  name: String(t?.name || t?.tool_name || "tool"),
714
- args: Y(t?.args ?? t?.arguments),
714
+ args: J(t?.args ?? t?.arguments),
715
715
  status: "running"
716
716
  }];
717
717
  if (r === "response.tool_result" || r === "response.ksadk.tool_result") return [{
718
718
  type: "tool_result",
719
719
  name: String(t?.name || t?.tool_name || "tool"),
720
- output: Y(t?.output ?? t?.result)
720
+ output: J(t?.output ?? t?.result)
721
721
  }];
722
- if (r === "response.output_item.added") return $e({
722
+ if (r === "response.output_item.added") return et({
723
723
  data: t,
724
724
  state: n,
725
725
  status: "running"
726
726
  });
727
- if (r === "response.output_item.done") return $e({
727
+ if (r === "response.output_item.done") return et({
728
728
  data: t,
729
729
  state: n,
730
730
  status: "completed"
731
731
  });
732
732
  if (r === "response.function_call_arguments.delta") {
733
- let e = String(t?.item_id || t?.call_id || ""), r = Ye(n, e, t), i = `${n.toolArguments.get(e) || ""}${String(t?.delta || "")}`;
733
+ let e = String(t?.item_id || t?.call_id || ""), r = Xe(n, e, t), i = `${n.toolArguments.get(e) || ""}${String(t?.delta || "")}`;
734
734
  return n.toolArguments.set(e, i), [{
735
735
  type: "tool_upsert",
736
736
  name: r,
@@ -739,7 +739,7 @@ function et({ eventName: e, data: t, state: n }) {
739
739
  }];
740
740
  }
741
741
  if (r === "response.function_call_arguments.done") {
742
- let e = String(t?.item_id || t?.call_id || ""), r = Ye(n, e, t), i = Y(t?.arguments ?? n.toolArguments.get(e));
742
+ let e = String(t?.item_id || t?.call_id || ""), r = Xe(n, e, t), i = J(t?.arguments ?? n.toolArguments.get(e));
743
743
  return n.toolArguments.set(e, i), [{
744
744
  type: "tool_upsert",
745
745
  name: r,
@@ -748,28 +748,28 @@ function et({ eventName: e, data: t, state: n }) {
748
748
  }];
749
749
  }
750
750
  if (r === "response.reasoning.delta" || r === "response.reasoning_text.delta" || r === "response.reasoning_summary.delta" || r === "response.reasoning_summary_text.delta") {
751
- let e = X(t?.delta, t?.text);
751
+ let e = Y(t?.delta, t?.text);
752
752
  return e ? [{
753
753
  type: "reasoning_delta",
754
754
  text: e
755
755
  }] : [];
756
756
  }
757
757
  if (r === "response.output_text.delta") {
758
- let e = X(t?.delta, t?.text);
758
+ let e = Y(t?.delta, t?.text);
759
759
  return e ? [{
760
760
  type: "text_delta",
761
761
  text: e
762
762
  }] : [];
763
763
  }
764
764
  if (r === "response.output_text.done") {
765
- let e = X(t?.text, t?.delta);
765
+ let e = Y(t?.text, t?.delta);
766
766
  return e ? [{
767
767
  type: "text_final",
768
768
  text: e
769
769
  }] : [];
770
770
  }
771
771
  if (r === "response.content_part.delta") {
772
- let e = String(t?.part?.type || t?.delta?.type || t?.content_type || ""), n = X(t?.delta?.text, t?.delta, t?.text);
772
+ let e = String(t?.part?.type || t?.delta?.type || t?.content_type || ""), n = Y(t?.delta?.text, t?.delta, t?.text);
773
773
  return n ? e.includes("reasoning") ? [{
774
774
  type: "reasoning_delta",
775
775
  text: n
@@ -779,7 +779,7 @@ function et({ eventName: e, data: t, state: n }) {
779
779
  }] : [];
780
780
  }
781
781
  if (r === "response.completed") {
782
- let e = Ze(t), r = Qe(t).flatMap((e) => $e({
782
+ let e = Qe(t), r = $e(t).flatMap((e) => et({
783
783
  data: {
784
784
  ...t,
785
785
  item: e
@@ -830,13 +830,13 @@ function et({ eventName: e, data: t, state: n }) {
830
830
  }
831
831
  //#endregion
832
832
  //#region src/core/stream/responses-protocol.ts
833
- var tt = class {
833
+ var nt = class {
834
834
  id = "responses";
835
835
  createState() {
836
- return Ge();
836
+ return Ke();
837
837
  }
838
838
  parse(e, t) {
839
- return et({
839
+ return tt({
840
840
  eventName: e.eventName,
841
841
  data: e.data,
842
842
  state: t
@@ -858,23 +858,23 @@ var tt = class {
858
858
  };
859
859
  //#endregion
860
860
  //#region src/utils/stream-parsing.ts
861
- function nt(e) {
861
+ function rt(e) {
862
862
  return typeof e == "string" ? e : Array.isArray(e) ? e.map((e) => typeof e == "string" ? e : e && typeof e == "object" && "text" in e && typeof e.text == "string" ? e.text : "").join("") : "";
863
863
  }
864
- function rt(e) {
864
+ function it(e) {
865
865
  return e && typeof e == "object" ? e : {};
866
866
  }
867
- function it(e) {
868
- let t = rt(e).choices, n = rt(Array.isArray(t) ? t[0] : null), r = rt(n.delta), i = rt(n.message);
867
+ function at(e) {
868
+ let t = it(e).choices, n = it(Array.isArray(t) ? t[0] : null), r = it(n.delta), i = it(n.message);
869
869
  return {
870
- content: nt(r.content),
871
- reasoning: nt(r.reasoning_content),
872
- finalText: nt(i.content)
870
+ content: rt(r.content),
871
+ reasoning: rt(r.reasoning_content),
872
+ finalText: rt(i.content)
873
873
  };
874
874
  }
875
875
  //#endregion
876
876
  //#region src/core/stream/chat-completions-protocol.ts
877
- var at = class {
877
+ var ot = class {
878
878
  id = "chat_completions";
879
879
  createState() {
880
880
  return {};
@@ -882,7 +882,7 @@ var at = class {
882
882
  parse(e) {
883
883
  let t = e.data;
884
884
  if (typeof t != "object" || !t) return [];
885
- let n = it(t), r = [];
885
+ let n = at(t), r = [];
886
886
  return n.reasoning && r.push({
887
887
  type: "reasoning_delta",
888
888
  text: n.reasoning
@@ -894,14 +894,14 @@ var at = class {
894
894
  text: n.finalText
895
895
  }), r;
896
896
  }
897
- }, ot = /* @__PURE__ */ new Map();
898
- ot.set("responses", new tt()), ot.set("chat_completions", new at());
899
- function st(e) {
900
- return ot.get(e) || ot.get("responses");
897
+ }, st = /* @__PURE__ */ new Map();
898
+ st.set("responses", new nt()), st.set("chat_completions", new ot());
899
+ function ct(e) {
900
+ return st.get(e) || st.get("responses");
901
901
  }
902
902
  //#endregion
903
903
  //#region src/utils/stream-control.js
904
- function ct(e = []) {
904
+ function lt(e = []) {
905
905
  return e.some((e) => {
906
906
  if (e?.type !== "terminal") return !1;
907
907
  let t = String(e.status || "").toLowerCase();
@@ -910,7 +910,7 @@ function ct(e = []) {
910
910
  }
911
911
  //#endregion
912
912
  //#region src/core/transport/sse-parser.ts
913
- function lt(e) {
913
+ function ut(e) {
914
914
  let t = [], n = e.trim();
915
915
  if (!n) return t;
916
916
  let r = n.split("\n");
@@ -940,7 +940,7 @@ function lt(e) {
940
940
  }
941
941
  return t;
942
942
  }
943
- function ut(e) {
943
+ function dt(e) {
944
944
  let t = e.split("\n\n");
945
945
  return {
946
946
  chunks: t,
@@ -949,21 +949,21 @@ function ut(e) {
949
949
  }
950
950
  //#endregion
951
951
  //#region src/utils/error.ts
952
- function dt(e) {
952
+ function ft(e) {
953
953
  return e instanceof Error ? e.message : String(e);
954
954
  }
955
- var ft = 1280;
956
- function pt(e) {
955
+ var pt = 1280;
956
+ function mt(e) {
957
957
  let { apiFormats: t } = e;
958
958
  return t.includes("responses") ? "responses" : t.includes("chat_completions") ? "chat_completions" : "responses";
959
959
  }
960
- function mt(e, t, n) {
961
- let r = Math.min(ft, Math.max(420, t - n - 360));
960
+ function ht(e, t, n) {
961
+ let r = Math.min(pt, Math.max(420, t - n - 360));
962
962
  return Math.min(Math.max(e, 420), r);
963
963
  }
964
964
  //#endregion
965
965
  //#region src/core/run/engine.ts
966
- var ht = new Set([
966
+ var gt = new Set([
967
967
  "completed",
968
968
  "failed",
969
969
  "error",
@@ -973,12 +973,12 @@ var ht = new Set([
973
973
  "interrupted",
974
974
  "resume_failed"
975
975
  ]);
976
- function gt(e) {
976
+ function _t(e) {
977
977
  if (e.EventType !== "run_status") return null;
978
978
  let t = String(e.Content?.status || "").trim().toLowerCase();
979
- return ht.has(t) ? t : null;
979
+ return gt.has(t) ? t : null;
980
980
  }
981
- function _t(e, t) {
981
+ function vt(e, t) {
982
982
  let n = String(t?.type || e || "").trim();
983
983
  if (n === "response.created") return {
984
984
  phase: "运行已创建",
@@ -1024,11 +1024,11 @@ function _t(e, t) {
1024
1024
  status: "failed"
1025
1025
  } : null;
1026
1026
  }
1027
- function vt() {
1027
+ function yt() {
1028
1028
  let e = globalThis.crypto;
1029
1029
  return e && typeof e.randomUUID == "function" ? `run_${e.randomUUID()}` : `run_${Date.now()}_${Math.random().toString(16).slice(2)}`;
1030
1030
  }
1031
- var yt = {
1031
+ var bt = {
1032
1032
  idle: [
1033
1033
  "creating-session",
1034
1034
  "uploading-files",
@@ -1066,7 +1066,7 @@ var yt = {
1066
1066
  ],
1067
1067
  error: ["connecting", "idle"],
1068
1068
  cancelled: ["idle"]
1069
- }, bt = class {
1069
+ }, xt = class {
1070
1070
  _stage = "idle";
1071
1071
  listeners = /* @__PURE__ */ new Set();
1072
1072
  abortController = null;
@@ -1100,7 +1100,7 @@ var yt = {
1100
1100
  for (let e of this.listeners) e(t);
1101
1101
  }
1102
1102
  setStage(e) {
1103
- let t = yt[this._stage];
1103
+ let t = bt[this._stage];
1104
1104
  t && !t.includes(e) && console.warn(`[RunEngine] Invalid transition: ${this._stage} → ${e}`), this._stage = e, this.emit({
1105
1105
  type: "stage_changed",
1106
1106
  stage: e
@@ -1127,10 +1127,10 @@ var yt = {
1127
1127
  status: "connecting",
1128
1128
  countEvent: !1
1129
1129
  });
1130
- let a = t ? "responses" : pt({
1130
+ let a = t ? "responses" : mt({
1131
1131
  agentFramework: this.config.agentFramework,
1132
1132
  apiFormats: this.config.apiFormats
1133
- }), o = st(a), s = o.createState(), c = vt();
1133
+ }), o = ct(a), s = o.createState(), c = yt();
1134
1134
  L.getState().setCurrentRunId(c);
1135
1135
  let l = this.buildRequestBody(n, a, t, e, i, c), u = await this.api.runAgent(l, { signal: this.abortController?.signal });
1136
1136
  this.setStage("streaming"), this.emit({
@@ -1243,11 +1243,11 @@ var yt = {
1243
1243
  let { value: e, done: n } = await r.read();
1244
1244
  if (n) break;
1245
1245
  a += i.decode(e, { stream: !0 });
1246
- let { chunks: o, remainder: s } = ut(a);
1246
+ let { chunks: o, remainder: s } = dt(a);
1247
1247
  a = s;
1248
1248
  for (let e of o) {
1249
1249
  if (!e.trim()) continue;
1250
- let n = lt(e);
1250
+ let n = ut(e);
1251
1251
  for (let e of n) e.eventName !== "__done__" && (this.emit({
1252
1252
  type: "activity",
1253
1253
  phase: "收到恢复事件",
@@ -1255,7 +1255,7 @@ var yt = {
1255
1255
  }), this.emit({
1256
1256
  type: "stream_event",
1257
1257
  event: e.data
1258
- }), t = gt(e.data) || t);
1258
+ }), t = _t(e.data) || t);
1259
1259
  }
1260
1260
  }
1261
1261
  this.setStage("completing"), t === "cancelled" || t === "canceled" || t === "aborted" ? this.emit({
@@ -1294,7 +1294,7 @@ var yt = {
1294
1294
  resumeCheckpoint(e) {
1295
1295
  if (this._stage !== "idle") return !1;
1296
1296
  this.abortController = new AbortController(), this.activeSessionId = e.sessionId;
1297
- let t = vt();
1297
+ let t = yt();
1298
1298
  return L.getState().setCurrentRunId(t), (async () => {
1299
1299
  try {
1300
1300
  if (this.setStage("connecting"), this.emit({
@@ -1327,7 +1327,7 @@ var yt = {
1327
1327
  checkpointId: e.checkpointId,
1328
1328
  resumeAttemptId: e.resumeAttemptId,
1329
1329
  invocationId: t
1330
- }, { signal: this.abortController?.signal }), r = st("responses"), i = r.createState();
1330
+ }, { signal: this.abortController?.signal }), r = ct("responses"), i = r.createState();
1331
1331
  this.setStage("streaming"), this.emit({
1332
1332
  type: "activity",
1333
1333
  source: "restore",
@@ -1403,7 +1403,7 @@ var yt = {
1403
1403
  } catch (e) {
1404
1404
  this.emit({
1405
1405
  type: "system_message",
1406
- content: `【系统提示】图片 ${t.name} 读取失败,原因: ${dt(e)}`
1406
+ content: `【系统提示】图片 ${t.name} 读取失败,原因: ${ft(e)}`
1407
1407
  });
1408
1408
  }
1409
1409
  continue;
@@ -1420,7 +1420,7 @@ var yt = {
1420
1420
  } catch (e) {
1421
1421
  this.emit({
1422
1422
  type: "system_message",
1423
- content: `【系统提示】文件 ${t.name} 上传失败,原因: ${dt(e)}`
1423
+ content: `【系统提示】文件 ${t.name} 上传失败,原因: ${ft(e)}`
1424
1424
  });
1425
1425
  }
1426
1426
  }
@@ -1440,7 +1440,7 @@ var yt = {
1440
1440
  ApiFormat: t,
1441
1441
  Model: this.config.selectedModel || void 0,
1442
1442
  ModelMetadata: this.config.selectedModelMetadata || void 0,
1443
- ModelOptions: Me(je(this.config.thinkingMode))
1443
+ ModelOptions: Ne(Me(this.config.thinkingMode))
1444
1444
  };
1445
1445
  if (n) o.ResponsesInput = r.responsesInput, o.PreviousResponseId = r.previousResponseId;
1446
1446
  else {
@@ -1468,32 +1468,32 @@ var yt = {
1468
1468
  type: "assistant_message_created",
1469
1469
  messageId: r
1470
1470
  })), o += a.decode(e, { stream: !0 });
1471
- let { chunks: u, remainder: d } = ut(o);
1471
+ let { chunks: u, remainder: d } = dt(o);
1472
1472
  o = d;
1473
1473
  for (let e of u) {
1474
1474
  if (!e.trim()) continue;
1475
1475
  if (this.isCompactionChunk(e)) {
1476
- let t = lt(e);
1476
+ let t = ut(e);
1477
1477
  for (let e of t) e.eventName.startsWith("response.compaction") && this.upsertCompactionMessage({
1478
1478
  ...e.data,
1479
1479
  phase: e.eventName.split(".").pop()
1480
1480
  });
1481
1481
  continue;
1482
1482
  }
1483
- let a = lt(e), o = !1, c;
1483
+ let a = ut(e), o = !1, c;
1484
1484
  for (let e of a) {
1485
1485
  if (e.eventName === "__done__") {
1486
1486
  o = !0;
1487
1487
  continue;
1488
1488
  }
1489
- let i = _t(e.eventName, e.data);
1489
+ let i = vt(e.eventName, e.data);
1490
1490
  i && this.emit({
1491
1491
  type: "activity",
1492
1492
  ...i
1493
1493
  });
1494
1494
  let a = t.parse(e, n);
1495
1495
  for (let e of a) this.dispatchAction(e, r);
1496
- if (ct(a)) {
1496
+ if (lt(a)) {
1497
1497
  o = !0;
1498
1498
  let e = a.find((e) => e.type === "terminal");
1499
1499
  c = e && "status" in e ? String(e.status || "") : void 0;
@@ -1604,18 +1604,18 @@ var yt = {
1604
1604
  phase: "failed"
1605
1605
  }), null);
1606
1606
  }
1607
- }, xt = [], St = [];
1608
- function Z(e) {
1607
+ }, St = [], Ct = [];
1608
+ function X(e) {
1609
1609
  return typeof e == "string" ? e.trim() : "";
1610
1610
  }
1611
- function Ct(e) {
1611
+ function wt(e) {
1612
1612
  let t = typeof e == "number" ? e : Number(e);
1613
1613
  return Number.isFinite(t) ? t : void 0;
1614
1614
  }
1615
- function wt(e) {
1615
+ function Tt(e) {
1616
1616
  return typeof e == "string" || typeof e == "number" ? e : void 0;
1617
1617
  }
1618
- function Tt(e) {
1618
+ function Z(e) {
1619
1619
  return e && typeof e == "object" && !Array.isArray(e) ? e : void 0;
1620
1620
  }
1621
1621
  function Et(e) {
@@ -1644,44 +1644,44 @@ function jt(e) {
1644
1644
  return t ? e.filter((e) => e.runId === t) : [];
1645
1645
  }
1646
1646
  function Mt(e) {
1647
- let t = Tt(e);
1647
+ let t = Z(e);
1648
1648
  if (!t) return null;
1649
- let n = Tt(t.Metadata ?? t.metadata), r = Tt(t.Content ?? t.content), i = Z(t.CheckpointId ?? t.checkpointId ?? t.checkpoint_id ?? n?.checkpoint_id ?? n?.checkpointId ?? r?.checkpoint_id ?? r?.checkpointId), a = Z(t.RunId ?? t.runId ?? t.run_id ?? n?.run_id ?? n?.runId ?? r?.run_id ?? r?.runId);
1649
+ let n = Z(t.Metadata ?? t.metadata), r = Z(t.Content ?? t.content), i = X(t.CheckpointId ?? t.checkpointId ?? t.checkpoint_id ?? n?.checkpoint_id ?? n?.checkpointId ?? r?.checkpoint_id ?? r?.checkpointId), a = X(t.RunId ?? t.runId ?? t.run_id ?? n?.run_id ?? n?.runId ?? r?.run_id ?? r?.runId);
1650
1650
  return !i || !a ? null : {
1651
1651
  checkpointId: i,
1652
1652
  runId: a,
1653
- sessionId: Z(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1654
- invocationId: Z(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1655
- seqId: Ct(t.SeqId ?? t.seqId ?? t.seq_id),
1656
- timestamp: wt(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1657
- framework: Z(t.Framework ?? t.framework ?? n?.framework ?? r?.framework) || void 0,
1658
- frameworkRef: Tt(t.FrameworkRef ?? t.frameworkRef ?? t.framework_ref ?? n?.framework_ref ?? n?.frameworkRef),
1659
- phase: Z(t.Phase ?? t.phase ?? n?.phase ?? r?.phase) || void 0,
1660
- stage: Z(t.Stage ?? t.stage ?? n?.stage ?? n?.title) || void 0,
1661
- summary: Z(t.Summary ?? t.summary ?? n?.summary ?? n?.description) || void 0,
1662
- nextAction: Z(t.NextAction ?? t.nextAction ?? t.next_action ?? n?.nextAction ?? n?.next_action) || void 0,
1663
- status: Z(t.Status ?? t.status ?? n?.status ?? r?.status) || void 0,
1653
+ sessionId: X(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1654
+ invocationId: X(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1655
+ seqId: wt(t.SeqId ?? t.seqId ?? t.seq_id),
1656
+ timestamp: Tt(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1657
+ framework: X(t.Framework ?? t.framework ?? n?.framework ?? r?.framework) || void 0,
1658
+ frameworkRef: Z(t.FrameworkRef ?? t.frameworkRef ?? t.framework_ref ?? n?.framework_ref ?? n?.frameworkRef),
1659
+ phase: X(t.Phase ?? t.phase ?? n?.phase ?? r?.phase) || void 0,
1660
+ stage: X(t.Stage ?? t.stage ?? n?.stage ?? n?.title) || void 0,
1661
+ summary: X(t.Summary ?? t.summary ?? n?.summary ?? n?.description) || void 0,
1662
+ nextAction: X(t.NextAction ?? t.nextAction ?? t.next_action ?? n?.nextAction ?? n?.next_action) || void 0,
1663
+ status: X(t.Status ?? t.status ?? n?.status ?? r?.status) || void 0,
1664
1664
  metadata: n
1665
1665
  };
1666
1666
  }
1667
1667
  function Nt(e) {
1668
- let t = Tt(e);
1668
+ let t = Z(e);
1669
1669
  if (!t) return null;
1670
- let n = Z(t.ReceiptId ?? t.receiptId ?? t.receipt_id), r = Z(t.IdempotencyKey ?? t.idempotencyKey ?? t.idempotency_key), i = Z(t.ToolName ?? t.toolName ?? t.tool_name);
1670
+ let n = X(t.ReceiptId ?? t.receiptId ?? t.receipt_id), r = X(t.IdempotencyKey ?? t.idempotencyKey ?? t.idempotency_key), i = X(t.ToolName ?? t.toolName ?? t.tool_name);
1671
1671
  return !n || !r || !i ? null : {
1672
1672
  receiptId: n,
1673
1673
  idempotencyKey: r,
1674
1674
  toolName: i,
1675
- toolCallId: Z(t.ToolCallId ?? t.toolCallId ?? t.tool_call_id) || void 0,
1676
- runId: Z(t.RunId ?? t.runId ?? t.run_id) || void 0,
1677
- checkpointId: Z(t.CheckpointId ?? t.checkpointId ?? t.checkpoint_id) || void 0,
1678
- sessionId: Z(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1679
- invocationId: Z(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1680
- seqId: Ct(t.SeqId ?? t.seqId ?? t.seq_id),
1681
- timestamp: wt(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1682
- status: Z(t.Status ?? t.status) || void 0,
1675
+ toolCallId: X(t.ToolCallId ?? t.toolCallId ?? t.tool_call_id) || void 0,
1676
+ runId: X(t.RunId ?? t.runId ?? t.run_id) || void 0,
1677
+ checkpointId: X(t.CheckpointId ?? t.checkpointId ?? t.checkpoint_id) || void 0,
1678
+ sessionId: X(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1679
+ invocationId: X(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1680
+ seqId: wt(t.SeqId ?? t.seqId ?? t.seq_id),
1681
+ timestamp: Tt(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1682
+ status: X(t.Status ?? t.status) || void 0,
1683
1683
  replayed: !!(t.Replayed ?? t.replayed),
1684
- metadata: Tt(t.Metadata ?? t.metadata)
1684
+ metadata: Z(t.Metadata ?? t.metadata)
1685
1685
  };
1686
1686
  }
1687
1687
  var Q = P()((e, t) => ({
@@ -1713,7 +1713,7 @@ var Q = P()((e, t) => ({
1713
1713
  },
1714
1714
  getSessionCheckpoints: (e) => {
1715
1715
  let n = String(e || "");
1716
- return n && t().checkpointsBySessionId[n] || xt;
1716
+ return n && t().checkpointsBySessionId[n] || St;
1717
1717
  },
1718
1718
  setSessionToolReceipts: (t, n) => e((e) => ({ toolReceiptsBySessionId: {
1719
1719
  ...e.toolReceiptsBySessionId,
@@ -1724,7 +1724,7 @@ var Q = P()((e, t) => ({
1724
1724
  } })),
1725
1725
  getSessionToolReceipts: (e) => {
1726
1726
  let n = String(e || "");
1727
- return n && t().toolReceiptsBySessionId[n] || St;
1727
+ return n && t().toolReceiptsBySessionId[n] || Ct;
1728
1728
  },
1729
1729
  clearSessionCheckpoints: (t) => e((e) => {
1730
1730
  let n = String(t || "");
@@ -1841,7 +1841,7 @@ function Bt(e) {
1841
1841
  function Vt(e) {
1842
1842
  let t = e?.Metadata?.responses_output;
1843
1843
  if (!Array.isArray(t)) return {};
1844
- let n = Ge(), r = et({
1844
+ let n = Ke(), r = tt({
1845
1845
  eventName: "response.completed",
1846
1846
  data: { response: {
1847
1847
  id: String(e.Metadata?.response_id || ""),
@@ -2240,7 +2240,7 @@ var $ = !1, on = new Set(["completed"]), sn = new Set([
2240
2240
  "incomplete"
2241
2241
  ]);
2242
2242
  function cn(e) {
2243
- $ || ($ = !0, J.getState().patchMessages((t) => [...t, {
2243
+ $ || ($ = !0, q.getState().patchMessages((t) => [...t, {
2244
2244
  id: e,
2245
2245
  role: "model",
2246
2246
  content: "",
@@ -2250,7 +2250,7 @@ function cn(e) {
2250
2250
  }
2251
2251
  function ln(e) {
2252
2252
  let t = String(e || "").trim().toLowerCase(), n = on.has(t) ? "completed" : sn.has(t) ? "error" : null;
2253
- n && J.getState().patchMessages((e) => e.map((e) => {
2253
+ n && q.getState().patchMessages((e) => e.map((e) => {
2254
2254
  if (!e.tools) return e;
2255
2255
  let t = !1, r = Object.fromEntries(Object.entries(e.tools).map(([e, r]) => r.status === "running" ? (t = !0, [e, {
2256
2256
  ...r,
@@ -2267,7 +2267,7 @@ function un(e) {
2267
2267
  e.type === "stage_changed" && (e.stage === "completing" || e.stage === "error" || e.stage === "cancelled") && ($ = !1);
2268
2268
  return;
2269
2269
  }
2270
- let t = J.getState();
2270
+ let t = q.getState();
2271
2271
  switch (e.type) {
2272
2272
  case "activity":
2273
2273
  L.getState().updateActivity({
@@ -2441,7 +2441,7 @@ function fn(e) {
2441
2441
  f.RunLifecycle?.CheckpointResumePreview
2442
2442
  ]), m = A((n) => {
2443
2443
  let r = String(n || "new-session"), i = t.current.get(r);
2444
- return i ? p(i) : (i = new bt(e.api), p(i), i.subscribe(un), t.current.set(r, i)), i;
2444
+ return i ? p(i) : (i = new xt(e.api), p(i), i.subscribe(un), t.current.set(r, i)), i;
2445
2445
  }, [e.api, p]);
2446
2446
  j(() => {
2447
2447
  for (let e of t.current.values()) p(e);
@@ -2457,7 +2457,7 @@ function fn(e) {
2457
2457
  url: URL.createObjectURL(e),
2458
2458
  type: e.type || "application/octet-stream"
2459
2459
  }));
2460
- (o || c.length > 0) && J.getState().patchMessages((e) => [...e, {
2460
+ (o || c.length > 0) && q.getState().patchMessages((e) => [...e, {
2461
2461
  id: s,
2462
2462
  role: "user",
2463
2463
  content: o,
@@ -2474,7 +2474,7 @@ function fn(e) {
2474
2474
  z.getState().upsertSessions([{
2475
2475
  SessionId: e,
2476
2476
  UpdatedAt: (/* @__PURE__ */ new Date()).toISOString()
2477
- }]), l.current = e, Ce(r, e), z.getState().setCurrentSessionId(e), i !== e && t.current.set(e, a);
2477
+ }]), l.current = e, we(r, e), z.getState().setCurrentSessionId(e), i !== e && t.current.set(e, a);
2478
2478
  },
2479
2479
  onSessionUpsert: () => {},
2480
2480
  onSettled: (e) => {
@@ -2555,7 +2555,7 @@ function pn(e) {
2555
2555
  submitResponseFeedback: A(async (e) => {
2556
2556
  if (!n) return;
2557
2557
  let r = null;
2558
- J.getState().patchMessages((t) => {
2558
+ q.getState().patchMessages((t) => {
2559
2559
  let n = v(t, {
2560
2560
  messageId: e.message.id,
2561
2561
  rating: e.rating,
@@ -2571,12 +2571,12 @@ function pn(e) {
2571
2571
  rating: e.rating,
2572
2572
  comment: e.comment || ""
2573
2573
  })))?.Feedback);
2574
- r && J.getState().patchMessages((t) => s(t, {
2574
+ r && q.getState().patchMessages((t) => s(t, {
2575
2575
  messageId: e.message.id,
2576
2576
  feedback: r
2577
2577
  }));
2578
2578
  } catch (t) {
2579
- console.error("Failed to submit response feedback:", t), J.getState().patchMessages((t) => C(t, {
2579
+ console.error("Failed to submit response feedback:", t), q.getState().patchMessages((t) => C(t, {
2580
2580
  messageId: e.message.id,
2581
2581
  previousFeedback: r
2582
2582
  }));
@@ -2589,7 +2589,7 @@ function pn(e) {
2589
2589
  deleteResponseFeedback: A(async (e) => {
2590
2590
  if (!n) return;
2591
2591
  let r = e.feedback ? { ...e.feedback } : null;
2592
- J.getState().patchMessages((t) => d(t, { messageId: e.id }));
2592
+ q.getState().patchMessages((t) => d(t, { messageId: e.id }));
2593
2593
  try {
2594
2594
  await i.deleteResponseFeedback(h({
2595
2595
  agentId: t,
@@ -2597,7 +2597,7 @@ function pn(e) {
2597
2597
  message: e
2598
2598
  }));
2599
2599
  } catch (t) {
2600
- console.error("Failed to delete response feedback:", t), J.getState().patchMessages((t) => C(t, {
2600
+ console.error("Failed to delete response feedback:", t), q.getState().patchMessages((t) => C(t, {
2601
2601
  messageId: e.id,
2602
2602
  previousFeedback: r
2603
2603
  }));
@@ -2608,13 +2608,13 @@ function pn(e) {
2608
2608
  i
2609
2609
  ]),
2610
2610
  respondToApproval: A((e) => {
2611
- !e.approvalRequestId || r || (J.getState().patchMessages((t) => t.map((t) => ({
2611
+ !e.approvalRequestId || r || (q.getState().patchMessages((t) => t.map((t) => ({
2612
2612
  ...t,
2613
2613
  tools: t.tools ? Object.fromEntries(Object.entries(t.tools).map(([t, n]) => [t, n.approvalRequestId === e.approvalRequestId ? {
2614
2614
  ...n,
2615
2615
  approvalStatus: e.approve ? "approved" : "rejected"
2616
2616
  } : n])) : t.tools
2617
- }))), J.getState().patchMessages((t) => [...t, {
2617
+ }))), q.getState().patchMessages((t) => [...t, {
2618
2618
  id: String(Date.now() + Math.random()),
2619
2619
  role: "system",
2620
2620
  content: e.approve ? "已批准工具调用,正在继续运行。" : "已拒绝工具调用,正在通知运行时。",
@@ -2753,7 +2753,7 @@ function kn(e) {
2753
2753
  }));
2754
2754
  if (s.current !== t) return;
2755
2755
  let o = new Map(a.filter((e) => !!e).map((e) => [e.messageId, e.feedback]));
2756
- o.size && J.getState().patchMessages((e) => e.map((e) => o.has(e.id) ? {
2756
+ o.size && q.getState().patchMessages((e) => e.map((e) => o.has(e.id) ? {
2757
2757
  ...e,
2758
2758
  feedback: o.get(e.id)
2759
2759
  } : e));
@@ -2823,14 +2823,13 @@ function kn(e) {
2823
2823
  z.getState().setCurrentSessionId(e), i(), u.current?.abort(), r && _.getState().setMobileSidebarOpen(!1);
2824
2824
  try {
2825
2825
  let r = await n.listSessionMessages(e, {
2826
- agentId: l.current || void 0,
2827
2826
  includeReasoning: !0,
2828
2827
  includeToolEvents: !0,
2829
2828
  includeAttachments: !0
2830
2829
  });
2831
2830
  if (!t()) return;
2832
2831
  let i = xn(r.Messages);
2833
- J.getState().setMessages(i), p(l.current, e, i);
2832
+ q.getState().setMessages(i), p(l.current, e, i);
2834
2833
  let o = r.LatestSeqId || 0;
2835
2834
  n.listSessionEvents(e, { limit: En }).then((n) => {
2836
2835
  if (!t()) return;
@@ -2897,10 +2896,10 @@ function kn(e) {
2897
2896
  pageSize: Number(i.PageSize ?? wn),
2898
2897
  replace: !0
2899
2898
  });
2900
- let a = z.getState().sessions, o = s.current, c = we(a, o || t || Se(e));
2901
- c && c !== o ? h(c) : !c && o && (s.current = null, z.getState().setCurrentSessionId(null), J.getState().setMessages([]), Q.getState().clearSessionCheckpoints());
2899
+ let a = z.getState().sessions, o = s.current, c = Te(a, o || t || Ce(e));
2900
+ c && c !== o ? h(c) : !c && o && (s.current = null, z.getState().setCurrentSessionId(null), q.getState().setMessages([]), Q.getState().clearSessionCheckpoints());
2902
2901
  } catch (e) {
2903
- if (e instanceof W) return;
2902
+ if (e instanceof U) return;
2904
2903
  console.error("Failed to fetch sessions:", e);
2905
2904
  } finally {
2906
2905
  z.getState().setLoadingSessions(!1);
@@ -2928,7 +2927,7 @@ function kn(e) {
2928
2927
  pageSize: Number(a.PageSize ?? r)
2929
2928
  });
2930
2929
  } catch (e) {
2931
- if (e instanceof W) return;
2930
+ if (e instanceof U) return;
2932
2931
  console.error("Failed to load more sessions:", e);
2933
2932
  } finally {
2934
2933
  z.getState().setLoadingSessions(!1);
@@ -2946,9 +2945,9 @@ function kn(e) {
2946
2945
  e && (z.getState().upsertSessions([{
2947
2946
  SessionId: e,
2948
2947
  UpdatedAt: (/* @__PURE__ */ new Date()).toISOString()
2949
- }]), s.current = e, z.getState().setCurrentSessionId(e), J.getState().setMessages([]), Q.getState().setSessionCheckpoints(e, []), Q.getState().setSessionToolReceipts(e, []), r && (_.getState().setMobileSidebarOpen(!1), _.getState().setMobileActionsOpen(!1)), g(t, e));
2948
+ }]), s.current = e, z.getState().setCurrentSessionId(e), q.getState().setMessages([]), Q.getState().setSessionCheckpoints(e, []), Q.getState().setSessionToolReceipts(e, []), r && (_.getState().setMobileSidebarOpen(!1), _.getState().setMobileActionsOpen(!1)), g(t, e));
2950
2949
  } catch (e) {
2951
- if (e instanceof W) return;
2950
+ if (e instanceof U) return;
2952
2951
  console.error("Failed to create session:", e);
2953
2952
  }
2954
2953
  }, [
@@ -2959,9 +2958,9 @@ function kn(e) {
2959
2958
  r
2960
2959
  ]), b = A(async (e) => {
2961
2960
  try {
2962
- await n.deleteSession(e), z.getState().removeSession(e), z.getState().clearSessionEventCache(e), s.current === e && (s.current = null, J.getState().setMessages([]), Q.getState().clearSessionCheckpoints(e), z.getState().setCurrentSessionId(null), g(t));
2961
+ await n.deleteSession(e), z.getState().removeSession(e), z.getState().clearSessionEventCache(e), s.current === e && (s.current = null, q.getState().setMessages([]), Q.getState().clearSessionCheckpoints(e), z.getState().setCurrentSessionId(null), g(t));
2963
2962
  } catch (e) {
2964
- if (e instanceof W) return;
2963
+ if (e instanceof U) return;
2965
2964
  console.error("Failed to delete session", e);
2966
2965
  }
2967
2966
  }, [
@@ -2987,10 +2986,10 @@ function kn(e) {
2987
2986
  limit: o.length
2988
2987
  }), s.current === e) {
2989
2988
  let t = nn(o);
2990
- J.getState().setMessages(t), p(l.current, e, t);
2989
+ q.getState().setMessages(t), p(l.current, e, t);
2991
2990
  }
2992
2991
  } catch (e) {
2993
- e instanceof W || console.error("Failed to load older session events:", e);
2992
+ e instanceof U || console.error("Failed to load older session events:", e);
2994
2993
  } finally {
2995
2994
  z.getState().setSessionEventLoadingOlder(e, !1);
2996
2995
  }
@@ -3005,7 +3004,7 @@ function kn(e) {
3005
3004
  //#endregion
3006
3005
  //#region src/components/chat/ConnectedSidebar.tsx
3007
3006
  function An({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSession: s, loadMoreSessions: c }) {
3008
- let u = z((e) => e.sessions), d = z((e) => e.currentSessionId), f = z((e) => e.pinnedSessionIds), m = z((e) => e.isLoadingSessions), h = z((e) => e.hasMoreSessions), g = _((e) => e.sidebarOpen), v = _((e) => e.mobileSidebarOpen), { isMobile: y } = Pe(), b = t(e), { desktopSidebarVisible: ee } = ge({
3007
+ let u = z((e) => e.sessions), d = z((e) => e.currentSessionId), f = z((e) => e.pinnedSessionIds), m = z((e) => e.isLoadingSessions), h = z((e) => e.hasMoreSessions), g = _((e) => e.sidebarOpen), v = _((e) => e.mobileSidebarOpen), { isMobile: y } = Fe(), b = t(e), { desktopSidebarVisible: ee } = _e({
3009
3008
  isMobile: y,
3010
3009
  desktopSidebarOpen: g,
3011
3010
  mobileSidebarOpen: v
@@ -3227,7 +3226,7 @@ function Jn({ messages: e, draftInput: t, selectedModel: n }) {
3227
3226
  //#endregion
3228
3227
  //#region src/components/chat/ConnectedMessageList.tsx
3229
3228
  function Yn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback: r, onRespondToApproval: i, onStopGeneration: a, onCancelRemote: o, checkpointResumeEnabled: s = !1, onResumeCheckpoint: c, onLoadOlderSessionEvents: l }) {
3230
- let u = J((e) => e.messages), d = z((e) => e.currentSessionId), f = L((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = L((e) => e.getSessionActivity(d)), h = Q((e) => e.getSessionCheckpoints(d)), g = z((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = I((e) => e.availableModels), b = I((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = M(null), S = M(!0), C = M(!1), w = M(0), T = M(f), O = M(!1), k = M(!0), re = ie(() => y.find((e) => e.id === b) || null, [y, b]), A = ie(() => Jn({
3229
+ let u = q((e) => e.messages), d = z((e) => e.currentSessionId), f = L((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = L((e) => e.getSessionActivity(d)), h = Q((e) => e.getSessionCheckpoints(d)), g = z((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = I((e) => e.availableModels), b = I((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = M(null), S = M(!0), C = M(!1), w = M(0), T = M(f), O = M(!1), k = M(!0), re = ie(() => y.find((e) => e.id === b) || null, [y, b]), A = ie(() => Jn({
3231
3230
  messages: u,
3232
3231
  draftInput: v,
3233
3232
  selectedModel: re
@@ -3278,19 +3277,28 @@ function Yn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
3278
3277
  let e = x.current;
3279
3278
  if (e) {
3280
3279
  if (u.length > 0 && k.current) {
3281
- let e = z.getState().currentSessionId, t = 0, n = -1, r = 0, i = () => {
3282
- if (z.getState().currentSessionId !== e) return;
3283
- let a = x.current;
3284
- if (a) {
3285
- if (a.scrollHeight !== n && (n = a.scrollHeight, a.scrollTop = a.scrollHeight, w.current = a.scrollTop, r += 1, r < 8)) {
3286
- t = requestAnimationFrame(i);
3280
+ let e = z.getState().currentSessionId, t = x.current, n = t ? t.style.scrollBehavior : "";
3281
+ t && (t.style.scrollBehavior = "auto", t.scrollTop = t.scrollHeight, w.current = t.scrollTop);
3282
+ let r = 0, i = t?.scrollHeight ?? -1, a = !1, o = 0, s = () => {
3283
+ a || (a = !0, t && (t.style.scrollBehavior = n), S.current = !0, C.current = !1, k.current = !1);
3284
+ }, c = () => {
3285
+ if (a) return;
3286
+ if (z.getState().currentSessionId !== e) {
3287
+ a = !0;
3288
+ return;
3289
+ }
3290
+ let t = x.current;
3291
+ if (t) {
3292
+ if (t.scrollHeight !== i) i = t.scrollHeight, t.scrollTop = t.scrollHeight, w.current = t.scrollTop, r = 0;
3293
+ else if (r += 1, r >= 3) {
3294
+ s();
3287
3295
  return;
3288
3296
  }
3289
- S.current = !0, C.current = !1, k.current = !1;
3297
+ o = requestAnimationFrame(c);
3290
3298
  }
3291
- };
3292
- return t = requestAnimationFrame(i), () => {
3293
- cancelAnimationFrame(t);
3299
+ }, l = window.setTimeout(s, 2e3);
3300
+ return o = requestAnimationFrame(c), () => {
3301
+ cancelAnimationFrame(o), window.clearTimeout(l), s();
3294
3302
  };
3295
3303
  }
3296
3304
  S.current && (e.scrollTop = e.scrollHeight, w.current = e.scrollTop);
@@ -3345,7 +3353,7 @@ function Qn(e) {
3345
3353
  //#endregion
3346
3354
  //#region src/components/chat/ConnectedComposer.tsx
3347
3355
  function $n({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRemote: r, isMobile: i }) {
3348
- let o = _((e) => e.input), s = _((e) => e.attachments), c = z((e) => e.currentSessionId), l = L((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = J((e) => e.messages), f = I((e) => e.availableModels), p = I((e) => e.selectedModel), m = M(null), h = M(null), g = ie(() => f.find((e) => e.id === p) || null, [f, p]), v = ie(() => Jn({
3356
+ let o = _((e) => e.input), s = _((e) => e.attachments), c = z((e) => e.currentSessionId), l = L((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = q((e) => e.messages), f = I((e) => e.availableModels), p = I((e) => e.selectedModel), m = M(null), h = M(null), g = ie(() => f.find((e) => e.id === p) || null, [f, p]), v = ie(() => Jn({
3349
3357
  messages: d,
3350
3358
  draftInput: o,
3351
3359
  selectedModel: g
@@ -3389,7 +3397,7 @@ function $n({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
3389
3397
  //#endregion
3390
3398
  //#region src/api/session.ts
3391
3399
  async function er(e, t) {
3392
- let n = await q("ListSessions", {
3400
+ let n = await K("ListSessions", {
3393
3401
  AgentId: e,
3394
3402
  Page: t?.page,
3395
3403
  PageSize: t?.pageSize
@@ -3402,18 +3410,18 @@ async function er(e, t) {
3402
3410
  };
3403
3411
  }
3404
3412
  async function tr(e, t) {
3405
- return (await q("CreateSession", { AgentId: e }, t)).Session;
3413
+ return (await K("CreateSession", { AgentId: e }, t)).Session;
3406
3414
  }
3407
3415
  async function nr(e, t) {
3408
- await q("DeleteSession", { SessionId: e }, t);
3416
+ await K("DeleteSession", { SessionId: e }, t);
3409
3417
  }
3410
3418
  async function rr(e, t) {
3411
- return (await q("GetSession", { SessionId: e }, t)).Session;
3419
+ return (await K("GetSession", { SessionId: e }, t)).Session;
3412
3420
  }
3413
3421
  //#endregion
3414
3422
  //#region src/api/events.ts
3415
3423
  async function ir(e, t) {
3416
- let n = await q("ListSessionEvents", {
3424
+ let n = await K("ListSessionEvents", {
3417
3425
  SessionId: e,
3418
3426
  Offset: t?.offset,
3419
3427
  Limit: t?.limit
@@ -3428,7 +3436,7 @@ async function ir(e, t) {
3428
3436
  //#endregion
3429
3437
  //#region src/api/messages.ts
3430
3438
  async function ar(e, t) {
3431
- let n = await q("ListSessionMessages", {
3439
+ let n = await K("ListSessionMessages", {
3432
3440
  AgentId: t?.agentId,
3433
3441
  SessionId: e,
3434
3442
  AfterSeqId: t?.afterSeqId,
@@ -3447,7 +3455,7 @@ async function ar(e, t) {
3447
3455
  //#endregion
3448
3456
  //#region src/api/run.ts
3449
3457
  async function or(e, t) {
3450
- return Re("RunAgent", e, t);
3458
+ return ze("RunAgent", e, t);
3451
3459
  }
3452
3460
  //#endregion
3453
3461
  //#region src/api/checkpoints.ts
@@ -3456,10 +3464,10 @@ async function sr(e, t) {
3456
3464
  AgentId: e.agentId,
3457
3465
  SessionId: e.sessionId
3458
3466
  };
3459
- return e.runId && (n.RunId = e.runId), q("ListSessionCheckpoints", n, t);
3467
+ return e.runId && (n.RunId = e.runId), K("ListSessionCheckpoints", n, t);
3460
3468
  }
3461
3469
  async function cr(e, t) {
3462
- return q("GetCheckpointResumePreview", {
3470
+ return K("GetCheckpointResumePreview", {
3463
3471
  AgentId: e.agentId,
3464
3472
  SessionId: e.sessionId,
3465
3473
  RunId: e.runId,
@@ -3471,7 +3479,7 @@ async function lr(e, t) {
3471
3479
  AgentId: e.agentId,
3472
3480
  SessionId: e.sessionId
3473
3481
  };
3474
- return e.runId && (n.RunId = e.runId), e.checkpointId && (n.CheckpointId = e.checkpointId), q("ListToolReceipts", n, t);
3482
+ return e.runId && (n.RunId = e.runId), e.checkpointId && (n.CheckpointId = e.checkpointId), K("ListToolReceipts", n, t);
3475
3483
  }
3476
3484
  async function ur(e, t) {
3477
3485
  let n = {
@@ -3481,28 +3489,28 @@ async function ur(e, t) {
3481
3489
  CheckpointId: e.checkpointId,
3482
3490
  Stream: !0
3483
3491
  };
3484
- return e.resumeAttemptId && (n.ResumeAttemptId = e.resumeAttemptId), e.invocationId && (n.InvocationId = e.invocationId), Re("ResumeRun", n, t);
3492
+ return e.resumeAttemptId && (n.ResumeAttemptId = e.resumeAttemptId), e.invocationId && (n.InvocationId = e.invocationId), ze("ResumeRun", n, t);
3485
3493
  }
3486
3494
  //#endregion
3487
3495
  //#region src/api/workspace.ts
3488
3496
  async function dr(e, t, n) {
3489
- return q("ListWorkspaceFiles", {
3497
+ return K("ListWorkspaceFiles", {
3490
3498
  AgentId: e,
3491
3499
  Path: t,
3492
3500
  Recursive: n
3493
3501
  });
3494
3502
  }
3495
3503
  async function fr(e) {
3496
- return Ie("AddWorkspaceFile", e);
3504
+ return Le("AddWorkspaceFile", e);
3497
3505
  }
3498
3506
  async function pr(e, t) {
3499
- return q("DeleteWorkspaceFile", {
3507
+ return K("DeleteWorkspaceFile", {
3500
3508
  AgentId: e,
3501
3509
  Path: t
3502
3510
  });
3503
3511
  }
3504
3512
  async function mr(e, t, n) {
3505
- return Le("GetWorkspaceFileContent", {
3513
+ return Re("GetWorkspaceFileContent", {
3506
3514
  AgentId: e,
3507
3515
  FilePath: t
3508
3516
  }, {
@@ -3513,7 +3521,7 @@ async function mr(e, t, n) {
3513
3521
  //#endregion
3514
3522
  //#region src/api/upload.ts
3515
3523
  async function hr(e, t) {
3516
- return Ie("UploadFile", e, t);
3524
+ return Le("UploadFile", e, t);
3517
3525
  }
3518
3526
  //#endregion
3519
3527
  //#region src/core/api/facade.ts
@@ -3552,26 +3560,26 @@ var gr = class {
3552
3560
  return ur(e, t);
3553
3561
  }
3554
3562
  async subscribeRunEvents(e, t) {
3555
- return ze("SubscribeRunEvents", {
3563
+ return Be("SubscribeRunEvents", {
3556
3564
  SessionId: e.sessionId,
3557
3565
  InvocationId: e.invocationId,
3558
3566
  AfterSeqId: String(e.afterSeqId)
3559
3567
  }, t);
3560
3568
  }
3561
3569
  async cancelRun(e, t, n) {
3562
- return q("CancelRun", {
3570
+ return K("CancelRun", {
3563
3571
  AgentId: e,
3564
3572
  InvocationId: t
3565
3573
  }, n);
3566
3574
  }
3567
3575
  async getResponseFeedback(e, t) {
3568
- return q("GetResponseFeedback", e, t);
3576
+ return K("GetResponseFeedback", e, t);
3569
3577
  }
3570
3578
  async upsertResponseFeedback(e, t) {
3571
- return q("UpsertResponseFeedback", e, t);
3579
+ return K("UpsertResponseFeedback", e, t);
3572
3580
  }
3573
3581
  async deleteResponseFeedback(e, t) {
3574
- await q("DeleteResponseFeedback", e, t);
3582
+ await K("DeleteResponseFeedback", e, t);
3575
3583
  }
3576
3584
  async listWorkspaceFiles(e, t, n) {
3577
3585
  return dr(e, t, n);
@@ -3586,20 +3594,20 @@ var gr = class {
3586
3594
  return mr(e, t, n);
3587
3595
  }
3588
3596
  async listAgentModels(e) {
3589
- return Ve(e);
3597
+ return He(e);
3590
3598
  }
3591
3599
  async getAgentUiBootstrap() {
3592
- return Be();
3600
+ return Ve();
3593
3601
  }
3594
3602
  async uploadFile(e, t) {
3595
3603
  return hr(e, t);
3596
3604
  }
3597
3605
  }, _r = new gr(), vr = k.lazy(() => import("./ArtifactsPanel-DCn5q1OB.js").then((e) => ({ default: e.ArtifactsPanel }))), yr = k.lazy(() => import("./NativeTerminalPanel-CjyPyYC4.js").then((e) => e.n).then((e) => ({ default: e.NativeTerminalPanel })));
3598
3606
  function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3599
- let a = e || _r, o = F((e) => e.agentId), s = z((e) => e.currentSessionId), c = L((e) => e.isStreaming), l = _((e) => e.sidebarOpen), u = _((e) => e.mobileSidebarOpen), d = _((e) => e.mobileActionsOpen), f = F((e) => e.agentName), p = I((e) => e.selectedModel), m = I((e) => e.availableModels), h = I((e) => e.modelSource), v = I((e) => e.modelCatalogLoaded), te = I((e) => e.thinkingMode), x = F((e) => e.agentFramework), S = F((e) => e.workspaceFiles), C = F((e) => e.accessMode), T = _((e) => e.workspacePanelOpen), O = _((e) => e.workspacePanelWidth), k = _((e) => e.workspacePanelFullscreen), ie = F((e) => e.apiFormats), N = F((e) => e.capabilities), P = w((e) => e.visible && !!e.content), oe = M([]), se = M(null), { isMobile: R, viewportHeight: ce } = Pe(), le = _e({
3607
+ let a = e || _r, o = F((e) => e.agentId), s = z((e) => e.currentSessionId), c = L((e) => e.isStreaming), l = _((e) => e.sidebarOpen), u = _((e) => e.mobileSidebarOpen), d = _((e) => e.mobileActionsOpen), f = F((e) => e.agentName), p = I((e) => e.selectedModel), m = I((e) => e.availableModels), h = I((e) => e.modelSource), v = I((e) => e.modelCatalogLoaded), te = I((e) => e.thinkingMode), x = F((e) => e.agentFramework), S = F((e) => e.workspaceFiles), C = F((e) => e.accessMode), T = _((e) => e.workspacePanelOpen), O = _((e) => e.workspacePanelWidth), k = _((e) => e.workspacePanelFullscreen), ie = F((e) => e.apiFormats), N = F((e) => e.capabilities), P = w((e) => e.visible && !!e.content), oe = M([]), se = M(null), { isMobile: R, viewportHeight: ce } = Fe(), le = ve({
3600
3608
  isMobile: R,
3601
3609
  viewportHeight: ce
3602
- }), { fetchSessions: ue, loadMoreSessions: de, loadSession: fe, loadOlderSessionEvents: pe, createNewSession: me, deleteSession: he, currentSessionIdRef: B, agentIdRef: V, runSubscriptionAbortRef: ge } = kn({
3610
+ }), { fetchSessions: ue, loadMoreSessions: de, loadSession: fe, loadOlderSessionEvents: pe, createNewSession: me, deleteSession: he, currentSessionIdRef: B, agentIdRef: ge, runSubscriptionAbortRef: _e } = kn({
3603
3611
  agentId: o,
3604
3612
  currentSessionId: s,
3605
3613
  isMobile: R,
@@ -3607,39 +3615,39 @@ function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3607
3615
  api: a,
3608
3616
  resetCompaction: () => {},
3609
3617
  disconnectRun: () => se.current?.()
3610
- }), ve = A((e) => {
3618
+ }), ye = A((e) => {
3611
3619
  if (!e) return;
3612
3620
  let t = () => {
3613
- z.getState().clearSessionEventCache(e), ue(V.current, e);
3621
+ z.getState().clearSessionEventCache(e), ue(ge.current, e);
3614
3622
  };
3615
3623
  queueMicrotask(t), window.setTimeout(t, 1800), window.setTimeout(t, 5e3);
3616
- }, [V, ue]), ye = m.find((e) => e.id === p) || null, { submitDraft: be, stopGeneration: xe, disconnectRun: Se, resumeCheckpoint: we } = fn({
3624
+ }, [ge, ue]), be = m.find((e) => e.id === p) || null, { submitDraft: xe, stopGeneration: Se, disconnectRun: Ce, resumeCheckpoint: Te } = fn({
3617
3625
  agentId: o,
3618
3626
  currentSessionId: s,
3619
3627
  agentFramework: x,
3620
3628
  apiFormats: ie,
3621
3629
  selectedModel: p,
3622
- selectedModelMetadata: ye,
3630
+ selectedModelMetadata: be,
3623
3631
  thinkingMode: te,
3624
3632
  uiCapabilities: N,
3625
3633
  isMobile: R,
3626
3634
  api: a,
3627
3635
  currentSessionIdRef: B,
3628
- agentIdRef: V,
3636
+ agentIdRef: ge,
3629
3637
  queuedDraftRef: oe,
3630
- onRunSettled: ve
3638
+ onRunSettled: ye
3631
3639
  });
3632
3640
  j(() => {
3633
- se.current = Se;
3634
- }, [Se]);
3635
- let Te = A(() => {
3641
+ se.current = Ce;
3642
+ }, [Ce]);
3643
+ let Ee = A(() => {
3636
3644
  let e = B.current;
3637
- ge.current?.abort(), L.getState().stopActivity(), L.getState().stopSessionActivity(e), xe();
3645
+ _e.current?.abort(), L.getState().stopActivity(), L.getState().stopSessionActivity(e), Se();
3638
3646
  }, [
3639
3647
  B,
3640
- ge,
3641
- xe
3642
- ]), Ee = A(async () => {
3648
+ _e,
3649
+ Se
3650
+ ]), De = A(async () => {
3643
3651
  let e = B.current, t = L.getState(), n = t.currentRunId || t.getSessionActivity(e)?.runId || "";
3644
3652
  if (n) try {
3645
3653
  await a.cancelRun(o, n), L.getState().stopSessionActivity(e, "取消请求已发送,后台运行会停在最近 checkpoint。");
@@ -3652,46 +3660,46 @@ function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3652
3660
  countEvent: !1
3653
3661
  });
3654
3662
  }
3655
- ve(e);
3663
+ ye(e);
3656
3664
  }, [
3657
3665
  a,
3658
3666
  o,
3659
3667
  B,
3660
- ve
3661
- ]), { submitResponseFeedback: De, deleteResponseFeedback: Oe, respondToApproval: Ae } = pn({
3668
+ ye
3669
+ ]), { submitResponseFeedback: Oe, deleteResponseFeedback: ke, respondToApproval: je } = pn({
3662
3670
  agentId: o,
3663
3671
  currentSessionId: s,
3664
3672
  isStreaming: c,
3665
3673
  api: a,
3666
- submitDraft: be
3674
+ submitDraft: xe
3667
3675
  });
3668
- We({ fetchSessions: ue }), j(() => {
3669
- V.current = o, B.current = s, Ce(o, s);
3676
+ Ge({ fetchSessions: ue }), j(() => {
3677
+ ge.current = o, B.current = s, we(o, s);
3670
3678
  }, [
3671
3679
  o,
3672
3680
  s,
3673
- V,
3681
+ ge,
3674
3682
  B
3675
3683
  ]), j(() => {
3676
3684
  R ? _.getState().setWorkspacePanelFullscreen(!1) : (_.getState().setMobileSidebarOpen(!1), _.getState().setMobileActionsOpen(!1));
3677
3685
  }, [R]), j(() => {
3678
3686
  T || _.getState().setWorkspacePanelFullscreen(!1);
3679
3687
  }, [T]), j(() => () => {
3680
- ge.current?.abort();
3681
- }, [ge]);
3682
- let Me = t(N), Ne = !!N.Thinking, H = g({
3688
+ _e.current?.abort();
3689
+ }, [_e]);
3690
+ let Ne = t(N), Pe = !!N.Thinking, V = g({
3683
3691
  workspaceFiles: S,
3684
3692
  accessMode: C
3685
- }), U = y({ isMobile: R }), W = ke({
3693
+ }), H = y({ isMobile: R }), U = Ae({
3686
3694
  capability: N.NativeDashboard,
3687
3695
  agentFramework: x,
3688
3696
  accessMode: C,
3689
3697
  origin: window.location.origin
3690
- }), G = !Me, Fe = x === "openclaw" ? "OpenClaw" : x === "hermes" ? "Hermes" : "原生运行时", K = ye?.display_name || p || "", q = !R && l && Me, Ie = M(!1), [Le, Re] = ae(r === "tui"), ze = Le && !!N.NativeTerminal?.Enabled;
3698
+ }), W = !Ne, Ie = x === "openclaw" ? "OpenClaw" : x === "hermes" ? "Hermes" : "原生运行时", G = be?.display_name || p || "", K = !R && l && Ne, Le = M(!1), [Re, ze] = ae(r === "tui"), Be = Re && !!N.NativeTerminal?.Enabled;
3691
3699
  j(() => {
3692
- Ie.current || r !== "workspace" || !H || (Ie.current = !0, _.getState().setWorkspacePanelOpen(!0), _.getState().setWorkspacePanelFullscreen(!0));
3693
- }, [r, H]);
3694
- let Be = /* @__PURE__ */ D("div", {
3700
+ Le.current || r !== "workspace" || !V || (Le.current = !0, _.getState().setWorkspacePanelOpen(!0), _.getState().setWorkspacePanelFullscreen(!0));
3701
+ }, [r, V]);
3702
+ let Ve = /* @__PURE__ */ D("div", {
3695
3703
  className: "flex h-[var(--app-height)] min-h-[var(--app-height)] overflow-hidden bg-white font-sans text-slate-800 dark:bg-slate-900 dark:text-slate-200",
3696
3704
  children: [
3697
3705
  /* @__PURE__ */ E(An, {
@@ -3706,7 +3714,7 @@ function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3706
3714
  children: [/* @__PURE__ */ E(n, {
3707
3715
  agentName: f,
3708
3716
  currentSessionId: s,
3709
- nativeLauncherMode: G,
3717
+ nativeLauncherMode: W,
3710
3718
  isMobile: R,
3711
3719
  sidebarOpen: l,
3712
3720
  mobileSidebarOpen: u,
@@ -3718,40 +3726,40 @@ function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3718
3726
  onSelectModel: (e) => {
3719
3727
  I.getState().setSelectedModel(e), R && _.getState().setMobileActionsOpen(!1);
3720
3728
  },
3721
- selectedModelLabel: K,
3729
+ selectedModelLabel: G,
3722
3730
  modelCatalogLoaded: v,
3723
3731
  modelSource: h,
3724
- thinkingEnabled: Ne,
3732
+ thinkingEnabled: Pe,
3725
3733
  thinkingMode: te,
3726
- onSelectThinkingMode: (e) => I.getState().setThinkingMode(je(e)),
3734
+ onSelectThinkingMode: (e) => I.getState().setThinkingMode(Me(e)),
3727
3735
  mobileActionsOpen: d,
3728
3736
  onMobileActionsOpenChange: (e) => _.getState().setMobileActionsOpen(e),
3729
- workspaceEnabled: H,
3737
+ workspaceEnabled: V,
3730
3738
  onOpenWorkspace: () => _.getState().setWorkspacePanelOpen(!0),
3731
- nativeManagementLink: W,
3739
+ nativeManagementLink: U,
3732
3740
  nativeTerminal: N.NativeTerminal
3733
- }), G ? /* @__PURE__ */ E(b, {
3734
- productLabel: Fe,
3735
- nativeManagementLink: W,
3741
+ }), W ? /* @__PURE__ */ E(b, {
3742
+ productLabel: Ie,
3743
+ nativeManagementLink: U,
3736
3744
  nativeTerminal: N.NativeTerminal,
3737
- workspaceEnabled: H,
3745
+ workspaceEnabled: V,
3738
3746
  onOpenWorkspace: () => _.getState().setWorkspacePanelOpen(!0)
3739
3747
  }) : /* @__PURE__ */ D(ne, { children: [/* @__PURE__ */ E(Yn, {
3740
3748
  agentName: f,
3741
3749
  isMobile: R,
3742
- onDeleteFeedback: Oe,
3743
- onSubmitFeedback: De,
3744
- onRespondToApproval: Ae,
3745
- onStopGeneration: Te,
3746
- onCancelRemote: N.StopRun ? Ee : void 0,
3750
+ onDeleteFeedback: ke,
3751
+ onSubmitFeedback: Oe,
3752
+ onRespondToApproval: je,
3753
+ onStopGeneration: Ee,
3754
+ onCancelRemote: N.StopRun ? De : void 0,
3747
3755
  checkpointResumeEnabled: N.RunLifecycle.Enabled && N.RunLifecycle.Checkpoints && N.RunLifecycle.CheckpointResume,
3748
- onResumeCheckpoint: we,
3756
+ onResumeCheckpoint: Te,
3749
3757
  onLoadOlderSessionEvents: pe
3750
3758
  }), /* @__PURE__ */ E($n, {
3751
3759
  composerMaxHeight: le,
3752
- submitDraft: be,
3753
- stopGeneration: Te,
3754
- cancelRemote: N.StopRun ? Ee : void 0,
3760
+ submitDraft: xe,
3761
+ stopGeneration: Ee,
3762
+ cancelRemote: N.StopRun ? De : void 0,
3755
3763
  isMobile: R
3756
3764
  })] })]
3757
3765
  }),
@@ -3762,20 +3770,20 @@ function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3762
3770
  workspacePanelWidth: O,
3763
3771
  workspacePanelFullscreen: k,
3764
3772
  isMobile: R,
3765
- workspaceEnabled: H,
3773
+ workspaceEnabled: V,
3766
3774
  workspaceFiles: S,
3767
- workspacePanelPresentation: U,
3775
+ workspacePanelPresentation: H,
3768
3776
  closeWorkspacePanel: () => {
3769
3777
  _.getState().setWorkspacePanelFullscreen(!1), _.getState().setWorkspacePanelOpen(!1);
3770
3778
  },
3771
3779
  handleWorkspacePanelResizeStart: (e) => {
3772
3780
  if (k || R) return;
3773
3781
  e.preventDefault();
3774
- let t = e.clientX, n = O, r = Me && q ? 280 : 0, i = document.body.style.cursor, a = document.body.style.userSelect;
3782
+ let t = e.clientX, n = O, r = Ne && K ? 280 : 0, i = document.body.style.cursor, a = document.body.style.userSelect;
3775
3783
  document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
3776
3784
  let o = (e) => {
3777
3785
  let i = n + t - e.clientX;
3778
- _.getState().setWorkspacePanelWidth(mt(i, window.innerWidth, r));
3786
+ _.getState().setWorkspacePanelWidth(ht(i, window.innerWidth, r));
3779
3787
  }, s = () => {
3780
3788
  document.body.style.cursor = i, document.body.style.userSelect = a, window.removeEventListener("pointermove", o), window.removeEventListener("pointerup", s), window.removeEventListener("pointercancel", s);
3781
3789
  };
@@ -3787,18 +3795,18 @@ function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3787
3795
  fallback: null,
3788
3796
  children: /* @__PURE__ */ E(vr, {})
3789
3797
  }),
3790
- ze ? /* @__PURE__ */ E(re, {
3798
+ Be ? /* @__PURE__ */ E(re, {
3791
3799
  fallback: null,
3792
3800
  children: /* @__PURE__ */ E(yr, {
3793
3801
  capability: N.NativeTerminal,
3794
3802
  open: !0,
3795
3803
  sessionId: s,
3796
- onClose: () => Re(!1)
3804
+ onClose: () => ze(!1)
3797
3805
  })
3798
3806
  }) : null
3799
3807
  ]
3800
3808
  });
3801
- return i ? /* @__PURE__ */ E(i, { children: Be }) : Be;
3809
+ return i ? /* @__PURE__ */ E(i, { children: Ve }) : Ve;
3802
3810
  }
3803
3811
  //#endregion
3804
3812
  //#region src/core/transport/sse-transport.ts
@@ -3812,18 +3820,18 @@ function xr(e, t) {
3812
3820
  var Sr = class {
3813
3821
  protocol = "sse-post";
3814
3822
  async connect(e, t) {
3815
- let n = (await Re(e.action, e.body || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3823
+ let n = (await ze(e.action, e.body || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3816
3824
  return (async () => {
3817
3825
  try {
3818
3826
  for (; !a;) {
3819
3827
  let { value: e, done: a } = await n.read();
3820
3828
  if (a) break;
3821
3829
  i += r.decode(e, { stream: !0 });
3822
- let { chunks: o, remainder: s } = ut(i);
3830
+ let { chunks: o, remainder: s } = dt(i);
3823
3831
  i = s;
3824
3832
  for (let e of o) {
3825
3833
  if (!e.trim()) continue;
3826
- let n = lt(e);
3834
+ let n = ut(e);
3827
3835
  for (let e of n) {
3828
3836
  if (e.eventName === "__done__") {
3829
3837
  t.onComplete();
@@ -3844,18 +3852,18 @@ var Sr = class {
3844
3852
  }, Cr = class {
3845
3853
  protocol = "sse-get";
3846
3854
  async connect(e, t) {
3847
- let n = (await ze(e.action, e.params || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3855
+ let n = (await Be(e.action, e.params || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3848
3856
  return (async () => {
3849
3857
  try {
3850
3858
  for (; !a;) {
3851
3859
  let { value: e, done: a } = await n.read();
3852
3860
  if (a) break;
3853
3861
  i += r.decode(e, { stream: !0 });
3854
- let { chunks: o, remainder: s } = ut(i);
3862
+ let { chunks: o, remainder: s } = dt(i);
3855
3863
  i = s;
3856
3864
  for (let e of o) {
3857
3865
  if (!e.trim()) continue;
3858
- let n = lt(e);
3866
+ let n = ut(e);
3859
3867
  for (let e of n) {
3860
3868
  if (e.eventName === "__done__") {
3861
3869
  t.onComplete();
@@ -3875,4 +3883,4 @@ var Sr = class {
3875
3883
  }
3876
3884
  };
3877
3885
  //#endregion
3878
- export { br as AgentWorkbench, gr as ApiFacadeImpl, bt as RunEngineImpl, Cr as SseGetTransport, Sr as SsePostTransport, st as createProtocol };
3886
+ export { br as AgentWorkbench, gr as ApiFacadeImpl, xt as RunEngineImpl, Cr as SseGetTransport, Sr as SsePostTransport, ct as createProtocol };