@kingsoftcloud/ksadk-web 0.2.12 → 0.2.13

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 (112) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist-ksadk/assets/{ArtifactsPanel-DSLAubI4.js → ArtifactsPanel-BXcrygCd.js} +1 -1
  3. package/dist-ksadk/assets/{CodeBlock-pxXnLO20.js → CodeBlock-BcCOwv3F.js} +1 -1
  4. package/dist-ksadk/assets/{MathMessageMarkdown-vOUxyiqo.js → MathMessageMarkdown-Drzttgxm.js} +1 -1
  5. package/dist-ksadk/assets/{MermaidBlock-DesVdOvu.js → MermaidBlock-mtRNvScL.js} +6 -6
  6. package/dist-ksadk/assets/{NativeTerminalPanel-DOlS-2_E.js → NativeTerminalPanel-LnQxyAZB.js} +1 -1
  7. package/dist-ksadk/assets/{arc-Dy1xS0fu.js → arc-tHdp8jQa.js} +1 -1
  8. package/dist-ksadk/assets/architecture-7EHR7CIX-ld802pvW.js +1 -0
  9. package/dist-ksadk/assets/{architectureDiagram-3BPJPVTR-CBjkKkYl.js → architectureDiagram-3BPJPVTR-iz_Q1z15.js} +1 -1
  10. package/dist-ksadk/assets/{blockDiagram-GPEHLZMM-A8m3qj2U.js → blockDiagram-GPEHLZMM-UGrJbhBA.js} +1 -1
  11. package/dist-ksadk/assets/{c4Diagram-AAUBKEIU-DpyviLny.js → c4Diagram-AAUBKEIU-CXQpIgbq.js} +1 -1
  12. package/dist-ksadk/assets/channel-COAU2EGH.js +1 -0
  13. package/dist-ksadk/assets/{chunk-2J33WTMH-BxgBSaDe.js → chunk-2J33WTMH-BALTkjHL.js} +1 -1
  14. package/dist-ksadk/assets/{chunk-4BX2VUAB-B5-MRUoY.js → chunk-4BX2VUAB-ljiuFwa0.js} +1 -1
  15. package/dist-ksadk/assets/{chunk-55IACEB6-p_lPjbBV.js → chunk-55IACEB6-CFNeHQBP.js} +1 -1
  16. package/dist-ksadk/assets/{chunk-727SXJPM-CCkvnt-w.js → chunk-727SXJPM-C5E5qV45.js} +1 -1
  17. package/dist-ksadk/assets/{chunk-AQP2D5EJ-CVwRFsQH.js → chunk-AQP2D5EJ-qfoH6flS.js} +1 -1
  18. package/dist-ksadk/assets/{chunk-FMBD7UC4-CX-pqxDO.js → chunk-FMBD7UC4-DigwjG9R.js} +1 -1
  19. package/dist-ksadk/assets/{chunk-ND2GUHAM-C3UnR0sJ.js → chunk-ND2GUHAM-XNYKkHA-.js} +1 -1
  20. package/dist-ksadk/assets/chunk-QZHKN3VN-BvzsW0_z.js +1 -0
  21. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-DFTBkc62.js +1 -0
  22. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-DFTBkc62.js +1 -0
  23. package/dist-ksadk/assets/{cose-bilkent-S5V4N54A-KvsU4x5h.js → cose-bilkent-S5V4N54A-DGqDRX9x.js} +1 -1
  24. package/dist-ksadk/assets/{dagre-BM42HDAG-Dor0aZOJ.js → dagre-BM42HDAG-CbbJ_rI4.js} +1 -1
  25. package/dist-ksadk/assets/{diagram-2AECGRRQ-DlHEhTI3.js → diagram-2AECGRRQ-C8n-HBnY.js} +1 -1
  26. package/dist-ksadk/assets/{diagram-5GNKFQAL-COX0cMU1.js → diagram-5GNKFQAL-BIta1UbQ.js} +1 -1
  27. package/dist-ksadk/assets/{diagram-KO2AKTUF-BCOXFG8k.js → diagram-KO2AKTUF-CK9z9G5J.js} +1 -1
  28. package/dist-ksadk/assets/{diagram-LMA3HP47-CMfmsn69.js → diagram-LMA3HP47-Be71txec.js} +1 -1
  29. package/dist-ksadk/assets/{diagram-OG6HWLK6-dDeGgX0v.js → diagram-OG6HWLK6-DGFaZ5wp.js} +1 -1
  30. package/dist-ksadk/assets/{dist-Bs03i11H.js → dist-BKUR95NE.js} +1 -1
  31. package/dist-ksadk/assets/{dist-BENjs6Lb.js → dist-BPECOwEw.js} +1 -1
  32. package/dist-ksadk/assets/{dist-C_xWNM7J.js → dist-BW5Ld9f-.js} +1 -1
  33. package/dist-ksadk/assets/{dist-ZNy_TFjx.js → dist-BhIBOiwD.js} +1 -1
  34. package/dist-ksadk/assets/{dist-BsVBlEZ-.js → dist-BiKbpujX.js} +1 -1
  35. package/dist-ksadk/assets/{dist-CBtdzJEM.js → dist-C1w53MwT.js} +1 -1
  36. package/dist-ksadk/assets/{dist-DGhCKjVB.js → dist-C5TwAg32.js} +1 -1
  37. package/dist-ksadk/assets/{dist-CbFZd4ak.js → dist-CR5MGEiz.js} +1 -1
  38. package/dist-ksadk/assets/{dist-DEF9mj61.js → dist-CWYvp3zw.js} +1 -1
  39. package/dist-ksadk/assets/{dist-C4sTOYcS.js → dist-C_Z1-ZmA.js} +1 -1
  40. package/dist-ksadk/assets/{dist-gpThSr_q.js → dist-CjOZLBw0.js} +1 -1
  41. package/dist-ksadk/assets/{dist-uU7j34p0.js → dist-CogLyQpT.js} +1 -1
  42. package/dist-ksadk/assets/{dist-C57vSV86.js → dist-D2IzCbzs.js} +1 -1
  43. package/dist-ksadk/assets/{dist-UOQFiknI.js → dist-D51ocFDT.js} +1 -1
  44. package/dist-ksadk/assets/{dist-Q9aY3kIX.js → dist-DW68jH2U.js} +1 -1
  45. package/dist-ksadk/assets/{dist-CTmbtesv.js → dist-DZH4wrvX.js} +1 -1
  46. package/dist-ksadk/assets/{dist-CAYJMjuY.js → dist-Da8ivwwd.js} +1 -1
  47. package/dist-ksadk/assets/{dist-F9T-QRU1.js → dist-Db3ZLHDu.js} +1 -1
  48. package/dist-ksadk/assets/{dist-PqBiVJVJ.js → dist-DtQF0aK1.js} +1 -1
  49. package/dist-ksadk/assets/{dist-1zCAwoLz.js → dist-SfWTEVE-.js} +1 -1
  50. package/dist-ksadk/assets/{dist--gHV8n2o.js → dist-jXQ-bzWe.js} +1 -1
  51. package/dist-ksadk/assets/{dist-FnmAZ-Xx.js → dist-oiCsxUDb.js} +1 -1
  52. package/dist-ksadk/assets/{erDiagram-TEJ5UH35-gIf_3lYO.js → erDiagram-TEJ5UH35-DxpQTwOK.js} +1 -1
  53. package/dist-ksadk/assets/eventmodeling-FCH6USID-CTWi3c6l.js +1 -0
  54. package/dist-ksadk/assets/{flowDiagram-I6XJVG4X-HKcmvyYs.js → flowDiagram-I6XJVG4X-DtJfiVka.js} +1 -1
  55. package/dist-ksadk/assets/{ganttDiagram-6RSMTGT7-Tu7c867c.js → ganttDiagram-6RSMTGT7-Cads5zt8.js} +1 -1
  56. package/dist-ksadk/assets/gitGraph-WXDBUCRP-BUUNILpg.js +1 -0
  57. package/dist-ksadk/assets/{gitGraphDiagram-PVQCEYII-BrcpuI5k.js → gitGraphDiagram-PVQCEYII-pVBGF0kC.js} +1 -1
  58. package/dist-ksadk/assets/index-BmYXEuwx.js +165 -0
  59. package/dist-ksadk/assets/info-J43DQDTF-Bp9uT-J8.js +1 -0
  60. package/dist-ksadk/assets/{infoDiagram-5YYISTIA-CDU4UHsD.js → infoDiagram-5YYISTIA-DRnfow9x.js} +1 -1
  61. package/dist-ksadk/assets/{ishikawaDiagram-YF4QCWOH-oloatnes.js → ishikawaDiagram-YF4QCWOH-Cj4f-Vgb.js} +1 -1
  62. package/dist-ksadk/assets/{journeyDiagram-JHISSGLW-BN7V35oe.js → journeyDiagram-JHISSGLW-CAlm8MAI.js} +1 -1
  63. package/dist-ksadk/assets/{kanban-definition-UN3LZRKU-U3-ruXcw.js → kanban-definition-UN3LZRKU-Dad-GGF-.js} +1 -1
  64. package/dist-ksadk/assets/{katex-C2Z3urCp.js → katex-C29J-Smv.js} +1 -1
  65. package/dist-ksadk/assets/{linear-HlEDIOWb.js → linear-zSHuEM7v.js} +1 -1
  66. package/dist-ksadk/assets/{mermaid-parser.core-D7S0E4RN.js → mermaid-parser.core-Cc12WCm1.js} +2 -2
  67. package/dist-ksadk/assets/{mindmap-definition-RKZ34NQL-Clz8TER4.js → mindmap-definition-RKZ34NQL-BaWEag7j.js} +1 -1
  68. package/dist-ksadk/assets/packet-YPE3B663-BrkZLyQL.js +1 -0
  69. package/dist-ksadk/assets/pie-LRSECV5Y-DjPUnz6v.js +1 -0
  70. package/dist-ksadk/assets/{pieDiagram-4H26LBE5-Bq6P4wmH.js → pieDiagram-4H26LBE5-CUweZZ4V.js} +1 -1
  71. package/dist-ksadk/assets/{quadrantDiagram-W4KKPZXB-DK4HwHPd.js → quadrantDiagram-W4KKPZXB-r6VGrgUe.js} +1 -1
  72. package/dist-ksadk/assets/radar-GUYGQ44K-B4p0ZaJn.js +1 -0
  73. package/dist-ksadk/assets/{requirementDiagram-4Y6WPE33-CJa5jzKr.js → requirementDiagram-4Y6WPE33-CODRvc2-.js} +1 -1
  74. package/dist-ksadk/assets/{sankeyDiagram-5OEKKPKP-BWkAvlqD.js → sankeyDiagram-5OEKKPKP-Bfu8TihS.js} +1 -1
  75. package/dist-ksadk/assets/{sequenceDiagram-3UESZ5HK-C0CubPXc.js → sequenceDiagram-3UESZ5HK-B0aTqv-7.js} +1 -1
  76. package/dist-ksadk/assets/{stateDiagram-AJRCARHV-ChiGIi7R.js → stateDiagram-AJRCARHV-C5D586Kc.js} +1 -1
  77. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-NgpS71EE.js +1 -0
  78. package/dist-ksadk/assets/{timeline-definition-PNZ67QCA-DpI_se_A.js → timeline-definition-PNZ67QCA-BN9QGovG.js} +1 -1
  79. package/dist-ksadk/assets/treeView-BLDUP644-D52yTg0v.js +1 -0
  80. package/dist-ksadk/assets/treemap-LRROVOQU-BXzm9_qc.js +1 -0
  81. package/dist-ksadk/assets/{vennDiagram-CIIHVFJN-GHKSrJ1N.js → vennDiagram-CIIHVFJN-DD2DPPQK.js} +1 -1
  82. package/dist-ksadk/assets/wardley-L42UT6IY-jE2fE4jx.js +1 -0
  83. package/dist-ksadk/assets/{wardleyDiagram-YWT4CUSO-7M8-ddnD.js → wardleyDiagram-YWT4CUSO-BuRKU-mS.js} +1 -1
  84. package/dist-ksadk/assets/{xychartDiagram-2RQKCTM6-n95Gfz0x.js → xychartDiagram-2RQKCTM6-CRK8qmKq.js} +1 -1
  85. package/dist-ksadk/index.html +1 -1
  86. package/dist-lib/App.d.ts.map +1 -1
  87. package/dist-lib/{ArtifactsPanel-yLxSIEFw.js → ArtifactsPanel-BCjpJZ9m.js} +1 -1
  88. package/dist-lib/{CodeBlock-CKy7sFkN.js → CodeBlock-CnIj5U9o.js} +1 -1
  89. package/dist-lib/{MathMessageMarkdown-D0fGt004.js → MathMessageMarkdown-DdjmAxKr.js} +2 -2
  90. package/dist-lib/{NativeTerminalPanel-Bzdmm_Au.js → NativeTerminalPanel-C1LtiwB7.js} +1 -1
  91. package/dist-lib/{WorkspacePanelContainer-BTxXY3RS.js → WorkspacePanelContainer-DyFPcWsD.js} +18 -13
  92. package/dist-lib/components.js +2 -2
  93. package/dist-lib/hooks/useSessionLifecycle.d.ts.map +1 -1
  94. package/dist-lib/runtime.js +719 -710
  95. package/dist-lib/utils/markdown.d.ts.map +1 -1
  96. package/package.json +1 -1
  97. package/dist-ksadk/assets/architecture-7EHR7CIX-CAFeU8Os.js +0 -1
  98. package/dist-ksadk/assets/channel-C6H4_5PB.js +0 -1
  99. package/dist-ksadk/assets/chunk-QZHKN3VN-CSopwtUu.js +0 -1
  100. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-C2HgHAcO.js +0 -1
  101. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-C2HgHAcO.js +0 -1
  102. package/dist-ksadk/assets/eventmodeling-FCH6USID-mkGdlnaj.js +0 -1
  103. package/dist-ksadk/assets/gitGraph-WXDBUCRP-CXH1_IMu.js +0 -1
  104. package/dist-ksadk/assets/index-C1I1EOOF.js +0 -165
  105. package/dist-ksadk/assets/info-J43DQDTF-Zhlp1YtP.js +0 -1
  106. package/dist-ksadk/assets/packet-YPE3B663-DKwY-P6F.js +0 -1
  107. package/dist-ksadk/assets/pie-LRSECV5Y-2L7YF8aV.js +0 -1
  108. package/dist-ksadk/assets/radar-GUYGQ44K-DnK94GvU.js +0 -1
  109. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-PGyfW3uk.js +0 -1
  110. package/dist-ksadk/assets/treeView-BLDUP644-BDnH669R.js +0 -1
  111. package/dist-ksadk/assets/treemap-LRROVOQU-D8K5RWbs.js +0 -1
  112. package/dist-ksadk/assets/wardley-L42UT6IY-DkEQvWva.js +0 -1
@@ -1,14 +1,14 @@
1
1
  import { i as e, t } from "./capabilities-CiyyeRQ9.js";
2
- import { C as n, D as r, E as i, O as a, T as o, _ as s, b as c, c as l, f as u, g as d, h as f, k as p, l as m, m as h, n as g, o as _, p as v, r as y, s as b, t as ee, u as te, v as x, w as S, y as C } from "./WorkspacePanelContainer-BTxXY3RS.js";
2
+ import { C as n, D as r, E as i, O as a, T as o, _ as s, b as c, c as l, f as u, g as d, h as f, k as p, l as m, m as h, n as g, o as _, p as v, r as y, s as b, t as ee, u as te, v as x, w as S, y as C } from "./WorkspacePanelContainer-DyFPcWsD.js";
3
3
  import { t as ne } from "./artifact-BfFsPe5A.js";
4
4
  import { X as w } from "lucide-react";
5
5
  import { Fragment as re, jsx as T, jsxs as E } from "react/jsx-runtime";
6
6
  import * as D from "react";
7
- import ie, { Suspense as ae, useCallback as O, useEffect as k, useMemo as oe, useRef as A, useState as se } from "react";
8
- import * as j from "@radix-ui/react-dialog";
9
- import { create as M } from "zustand";
7
+ import O, { Suspense as ie, useCallback as k, useEffect as A, useMemo as ae, useRef as j, useState as oe } from "react";
8
+ import * as M from "@radix-ui/react-dialog";
9
+ import { create as N } from "zustand";
10
10
  //#region src/stores/bootstrap.ts
11
- var N = M()((t) => ({
11
+ var P = N()((t) => ({
12
12
  agentId: "default-agent",
13
13
  agentName: "Agent",
14
14
  agentFramework: "",
@@ -26,7 +26,7 @@ var N = M()((t) => ({
26
26
  }));
27
27
  //#endregion
28
28
  //#region src/stores/model.ts
29
- function ce(e, t) {
29
+ function se(e, t) {
30
30
  let n = /* @__PURE__ */ new Map();
31
31
  for (let t of e) t?.id && n.set(t.id, t);
32
32
  for (let e of t) e?.id && n.set(e.id, {
@@ -35,18 +35,18 @@ function ce(e, t) {
35
35
  });
36
36
  return Array.from(n.values()).sort((e, t) => e.id.localeCompare(t.id));
37
37
  }
38
- var P = M()((e) => ({
38
+ var F = N()((e) => ({
39
39
  availableModels: [],
40
40
  selectedModel: "",
41
41
  modelSource: "",
42
42
  modelCatalogLoaded: !1,
43
43
  thinkingMode: "auto",
44
- upsertModels: (t) => e((e) => ({ availableModels: ce(e.availableModels, t) })),
44
+ upsertModels: (t) => e((e) => ({ availableModels: se(e.availableModels, t) })),
45
45
  setSelectedModel: (t) => e({ selectedModel: t }),
46
46
  setModelSource: (t) => e({ modelSource: t }),
47
47
  setModelCatalogLoaded: (t) => e({ modelCatalogLoaded: t }),
48
48
  setThinkingMode: (t) => e({ thinkingMode: t })
49
- })), le = (e) => !!(e && e.status !== "completed" && e.status !== "failed" && e.status !== "stopped"), F = M()((e, t) => ({
49
+ })), ce = (e) => !!(e && e.status !== "completed" && e.status !== "failed" && e.status !== "stopped"), I = N()((e, t) => ({
50
50
  isStreaming: !1,
51
51
  currentRunId: "",
52
52
  stopRequested: !1,
@@ -55,9 +55,9 @@ var P = M()((e) => ({
55
55
  setStreaming: (t) => e({ isStreaming: t }),
56
56
  setSessionStreaming: (t, n) => e((e) => {
57
57
  let r = String(t || "");
58
- return r ? n ? { isStreaming: !0 } : e.sessionActivities[r] ? { isStreaming: Object.entries(e.sessionActivities).some(([e, t]) => e !== r && le(t)) } : { isStreaming: Object.values(e.sessionActivities).some(le) } : { isStreaming: n };
58
+ return r ? n ? { isStreaming: !0 } : e.sessionActivities[r] ? { isStreaming: Object.entries(e.sessionActivities).some(([e, t]) => e !== r && ce(t)) } : { isStreaming: Object.values(e.sessionActivities).some(ce) } : { isStreaming: n };
59
59
  }),
60
- isSessionStreaming: (e) => le(t().getSessionActivity(e)),
60
+ isSessionStreaming: (e) => ce(t().getSessionActivity(e)),
61
61
  getSessionActivity: (e) => {
62
62
  let n = String(e || "");
63
63
  return n && t().sessionActivities[n] || null;
@@ -157,7 +157,7 @@ var P = M()((e) => ({
157
157
  }));
158
158
  //#endregion
159
159
  //#region src/utils/session-pagination.js
160
- function I(e = /* @__PURE__ */ new Set(), t = []) {
160
+ function L(e = /* @__PURE__ */ new Set(), t = []) {
161
161
  let n = new Set(e);
162
162
  for (let e of t) {
163
163
  let t = Number(e);
@@ -165,17 +165,17 @@ function I(e = /* @__PURE__ */ new Set(), t = []) {
165
165
  }
166
166
  return new Set(Array.from(n).sort((e, t) => e - t));
167
167
  }
168
- function ue({ sessionsLength: e = 0, total: t = 0, page: n = 0, pageSize: r = 30, loadedPages: i = /* @__PURE__ */ new Set() } = {}) {
168
+ function le({ sessionsLength: e = 0, total: t = 0, page: n = 0, pageSize: r = 30, loadedPages: i = /* @__PURE__ */ new Set() } = {}) {
169
169
  let a = Math.max(0, Number(t) || 0), o = Math.max(0, Number(e) || 0);
170
170
  return {
171
171
  total: a,
172
172
  page: Math.max(0, Number(n) || 0),
173
173
  pageSize: Math.max(1, Number(r) || 30),
174
- loadedPages: I(i),
174
+ loadedPages: L(i),
175
175
  hasMore: o < a
176
176
  };
177
177
  }
178
- function de({ total: e = 0, pageSize: t = 30, loadedPages: n = /* @__PURE__ */ new Set() } = {}) {
178
+ function ue({ total: e = 0, pageSize: t = 30, loadedPages: n = /* @__PURE__ */ new Set() } = {}) {
179
179
  let r = Math.max(0, Number(e) || 0), i = Math.max(1, Number(t) || 30);
180
180
  if (r <= 0) return null;
181
181
  let a = Math.ceil(r / i);
@@ -184,7 +184,7 @@ function de({ total: e = 0, pageSize: t = 30, loadedPages: n = /* @__PURE__ */ n
184
184
  }
185
185
  //#endregion
186
186
  //#region src/stores/session.ts
187
- function fe(e) {
187
+ function de(e) {
188
188
  let t = e.UpdatedAt;
189
189
  if (typeof t == "string") {
190
190
  let e = Date.parse(t);
@@ -192,37 +192,37 @@ function fe(e) {
192
192
  }
193
193
  return typeof t == "number" ? t : 0;
194
194
  }
195
- var pe = "ksadk.pinnedSessionIds";
196
- function me() {
195
+ var fe = "ksadk.pinnedSessionIds";
196
+ function pe() {
197
197
  try {
198
- let e = globalThis.localStorage?.getItem(pe), t = e ? JSON.parse(e) : [];
198
+ let e = globalThis.localStorage?.getItem(fe), t = e ? JSON.parse(e) : [];
199
199
  return Array.isArray(t) ? t.filter((e) => typeof e == "string") : [];
200
200
  } catch {
201
201
  return [];
202
202
  }
203
203
  }
204
- function he(e) {
204
+ function me(e) {
205
205
  try {
206
- globalThis.localStorage?.setItem(pe, JSON.stringify(e));
206
+ globalThis.localStorage?.setItem(fe, JSON.stringify(e));
207
207
  } catch {}
208
208
  }
209
- function ge(e, t) {
209
+ function he(e, t) {
210
210
  let n = new Set(t);
211
211
  return e.slice().sort((e, t) => {
212
212
  let r = +!!n.has(e.SessionId), i = +!!n.has(t.SessionId);
213
- return r === i ? fe(t) - fe(e) : i - r;
213
+ return r === i ? de(t) - de(e) : i - r;
214
214
  });
215
215
  }
216
- function _e(e, t, n) {
216
+ function ge(e, t, n) {
217
217
  let r = /* @__PURE__ */ new Map();
218
218
  for (let t of e) t?.SessionId && r.set(t.SessionId, t);
219
219
  for (let e of t) e?.SessionId && r.set(e.SessionId, {
220
220
  ...r.get(e.SessionId) || {},
221
221
  ...e
222
222
  });
223
- return ge(Array.from(r.values()), n);
223
+ return he(Array.from(r.values()), n);
224
224
  }
225
- var L = M()((e) => ({
225
+ var R = N()((e) => ({
226
226
  sessions: [],
227
227
  currentSessionId: null,
228
228
  sessionsAgentId: "",
@@ -232,12 +232,12 @@ var L = M()((e) => ({
232
232
  loadedPages: /* @__PURE__ */ new Set(),
233
233
  hasMoreSessions: !1,
234
234
  isLoadingSessions: !1,
235
- pinnedSessionIds: me(),
235
+ pinnedSessionIds: pe(),
236
236
  eventCache: {},
237
- setSessions: (t) => e((e) => ({ sessions: ge(t, e.pinnedSessionIds) })),
237
+ setSessions: (t) => e((e) => ({ sessions: he(t, e.pinnedSessionIds) })),
238
238
  setCurrentSessionId: (t) => e({ currentSessionId: t }),
239
239
  upsertSessions: (t, n) => e((e) => {
240
- let r = _e(n?.replace ? [] : e.sessions, t, e.pinnedSessionIds), i = n?.page ?? e.sessionsPage, a = n?.pageSize ?? e.sessionsPageSize, o = n?.total ?? Math.max(e.sessionsTotal, r.length), s = n?.replace ? I(/* @__PURE__ */ new Set(), [i]) : I(e.loadedPages, [i]), c = ue({
240
+ let r = ge(n?.replace ? [] : e.sessions, t, e.pinnedSessionIds), i = n?.page ?? e.sessionsPage, a = n?.pageSize ?? e.sessionsPageSize, o = n?.total ?? Math.max(e.sessionsTotal, r.length), s = n?.replace ? L(/* @__PURE__ */ new Set(), [i]) : L(e.loadedPages, [i]), c = le({
241
241
  sessionsLength: r.length,
242
242
  total: o,
243
243
  page: i,
@@ -259,7 +259,7 @@ var L = M()((e) => ({
259
259
  return {
260
260
  sessions: n,
261
261
  sessionsTotal: r,
262
- hasMoreSessions: ue({
262
+ hasMoreSessions: le({
263
263
  sessionsLength: n.length,
264
264
  total: r,
265
265
  page: e.sessionsPage,
@@ -283,9 +283,9 @@ var L = M()((e) => ({
283
283
  let n = new Set(e.pinnedSessionIds);
284
284
  n.has(t) ? n.delete(t) : n.add(t);
285
285
  let r = Array.from(n);
286
- return he(r), {
286
+ return me(r), {
287
287
  pinnedSessionIds: r,
288
- sessions: ge(e.sessions, r)
288
+ sessions: he(e.sessions, r)
289
289
  };
290
290
  }),
291
291
  setSessionEventCache: (t, n) => e((e) => ({ eventCache: {
@@ -313,52 +313,52 @@ var L = M()((e) => ({
313
313
  let n = { ...e.eventCache };
314
314
  return delete n[t], { eventCache: n };
315
315
  })
316
- })), R = .28;
317
- function z(e, t = 768) {
316
+ })), z = .28;
317
+ function B(e, t = 768) {
318
318
  return Number(e) <= t;
319
319
  }
320
- function ve({ 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 ye({ 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;
330
- let i = Math.floor(r * R);
330
+ let i = Math.floor(r * z);
331
331
  return Math.max(120, Math.min(n, i));
332
332
  }
333
333
  //#endregion
334
334
  //#region src/utils/session.js
335
- var be = "ksadk:webui:selected-session:";
336
- function xe(e) {
335
+ var ye = "ksadk:webui:selected-session:";
336
+ function be(e) {
337
337
  return String(e || "").trim() || "default-agent";
338
338
  }
339
- function Se(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 Ce(e) {
347
- return `${be}${xe(e)}`;
346
+ function Se(e) {
347
+ return `${ye}${be(e)}`;
348
348
  }
349
- function we(e, t) {
350
- let n = Se(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(Ce(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 Te(e, t, n) {
359
- let r = Se(n);
358
+ function we(e, t, n) {
359
+ let r = xe(n);
360
360
  if (!r) return;
361
- let i = Ce(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 Te(e, t, n) {
367
367
  r.removeItem(i);
368
368
  } catch {}
369
369
  }
370
- function Ee(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 Ee(e, t) {
379
379
  }
380
380
  //#endregion
381
381
  //#region src/utils/native-platform.js
382
- var De = new Map([["openclaw", "OpenClaw"], ["hermes", "Hermes"]]);
383
- function Oe(e) {
382
+ var Ee = new Map([["openclaw", "OpenClaw"], ["hermes", "Hermes"]]);
383
+ function De(e) {
384
384
  return String(e || "").trim().toLowerCase();
385
385
  }
386
- function ke(e) {
386
+ function Oe(e) {
387
387
  return String(e || "").trim().toLowerCase();
388
388
  }
389
- function Ae(e) {
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 je({ capability: e, agentFramework: t, accessMode: n, origin: r }) {
397
- let i = Oe(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 = De.get(ke(t)) || "运行时";
399
+ let a = Ee.get(Oe(t)) || "运行时";
400
400
  return {
401
- href: typeof e.Href == "string" && e.Href ? new URL(e.Href, Ae(r)).toString() : Ae(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 Me = new Set([
408
+ var je = new Set([
409
409
  "auto",
410
410
  "enabled",
411
411
  "disabled"
412
412
  ]);
413
- function Ne(e) {
413
+ function Me(e) {
414
414
  let t = String(e || "").trim().toLowerCase();
415
- return Me.has(t) ? t : "auto";
415
+ return je.has(t) ? t : "auto";
416
416
  }
417
- function Pe(e) {
418
- let t = Ne(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 Fe() {
424
+ function Pe() {
425
425
  return typeof window > "u" ? 900 : Math.round(window.visualViewport?.height || window.innerHeight || 900);
426
426
  }
427
- function B() {
427
+ function V() {
428
428
  return typeof window > "u" ? {
429
429
  isMobile: !1,
430
430
  viewportHeight: 900
431
431
  } : {
432
- isMobile: z(window.innerWidth, 768),
433
- viewportHeight: Fe()
432
+ isMobile: B(window.innerWidth, 768),
433
+ viewportHeight: Pe()
434
434
  };
435
435
  }
436
- function Ie() {
437
- let [e, t] = se(() => B());
438
- return k(() => {
436
+ function Fe() {
437
+ let [e, t] = oe(() => V());
438
+ return A(() => {
439
439
  if (typeof window > "u") return;
440
440
  let e = window.matchMedia("(max-width: 768px)"), n = () => {
441
- t(B());
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 Ie() {
449
449
  }
450
450
  //#endregion
451
451
  //#region src/api/client.ts
452
- var V = 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
- }, H = class extends Error {
458
+ }, U = class extends Error {
459
459
  constructor(e = "请求已取消") {
460
460
  super(e), this.name = "CancelledError";
461
461
  }
462
- }, U = "/agentengine/api/v1";
463
- async function Le(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 V(-2, "响应格式异常");
468
+ throw new H(-2, "响应格式异常");
469
469
  }
470
- if (!e.ok) throw new V(e.status, t?.Message || `HTTP ${e.status}`, t);
471
- if (t?.Code !== void 0 && t.Code !== 0) throw new V(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 W(e) {
475
- throw e instanceof DOMException && e.name === "AbortError" ? new H() : e;
474
+ function G(e) {
475
+ throw e instanceof DOMException && e.name === "AbortError" ? new U() : e;
476
476
  }
477
- async function G(e, t, n) {
477
+ async function K(e, t, n) {
478
478
  let r;
479
479
  try {
480
- r = await fetch(`${U}/${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 W(e);
487
+ throw G(e);
488
488
  }
489
- return Le(r);
489
+ return Ie(r);
490
490
  }
491
- async function Re(e, t, n) {
491
+ async function Le(e, t, n) {
492
492
  let r;
493
493
  try {
494
- r = await fetch(`${U}/${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 W(e);
500
+ throw G(e);
501
501
  }
502
- return Le(r);
502
+ return Ie(r);
503
503
  }
504
- async function ze(e, t, n) {
505
- let r = new URLSearchParams(t).toString(), i = r ? `${U}/${e}?${r}` : `${U}/${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 W(e);
509
+ throw G(e);
510
510
  }
511
- if (!a.ok) throw new V(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 V(-3, "文件读取失败");
515
+ throw new H(-3, "文件读取失败");
516
516
  }
517
517
  }
518
- async function Be(e, t, n) {
518
+ async function ze(e, t, n) {
519
519
  let r;
520
520
  try {
521
- r = await fetch(`${U}/${e}`, {
521
+ r = await fetch(`${W}/${e}`, {
522
522
  method: "POST",
523
523
  headers: {
524
524
  "Content-Type": "application/json",
@@ -528,92 +528,92 @@ async function Be(e, t, n) {
528
528
  signal: n?.signal
529
529
  });
530
530
  } catch (e) {
531
- throw W(e);
531
+ throw G(e);
532
532
  }
533
- if (!r.ok) throw new V(r.status, `流式请求失败: ${r.statusText}`);
534
- if (!r.body) throw new V(-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 Ve(e, t, n) {
538
- let r = new URLSearchParams(t).toString(), i = r ? `${U}/${e}?${r}` : `${U}/${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 W(e);
545
+ throw G(e);
546
546
  }
547
- if (!a.ok) throw new V(a.status, `流式订阅失败: ${a.statusText}`);
548
- if (!a.body) throw new V(-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 He() {
554
- return G("GetAgentUiBootstrap", {});
553
+ async function Ve() {
554
+ return K("GetAgentUiBootstrap", {});
555
555
  }
556
556
  //#endregion
557
557
  //#region src/api/model.ts
558
- async function Ue(e) {
559
- return G("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 We(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 Ge(e) {
568
+ async function We(e) {
569
569
  try {
570
- let t = await Ue(e), n = t?.Models;
571
- Array.isArray(n) && P.getState().upsertModels(n);
570
+ let t = await He(e), n = t?.Models;
571
+ Array.isArray(n) && F.getState().upsertModels(n);
572
572
  let r = t;
573
- r?.Current && !P.getState().selectedModel && P.getState().setSelectedModel(String(r.Current)), r?.Source && P.getState().setModelSource(String(r.Source));
573
+ r?.Current && !F.getState().selectedModel && F.getState().setSelectedModel(String(r.Current)), r?.Source && F.getState().setModelSource(String(r.Source));
574
574
  } catch (e) {
575
575
  console.error("Failed to fetch models:", e);
576
576
  } finally {
577
- P.getState().setModelCatalogLoaded(!0);
577
+ F.getState().setModelCatalogLoaded(!0);
578
578
  }
579
579
  }
580
- function Ke(n) {
581
- k(() => {
580
+ function Ge(n) {
581
+ A(() => {
582
582
  (async () => {
583
583
  try {
584
- let r = await He(), i = r, a = i?.Agent, o = String(a?.AgentId || "default-agent");
585
- if (N.getState().setAgentId(o), a?.Name) {
584
+ let r = await Ve(), i = r, a = i?.Agent, o = String(a?.AgentId || "default-agent");
585
+ if (P.getState().setAgentId(o), a?.Name) {
586
586
  let e = String(a.Name);
587
- N.getState().setAgentName(e), document.title = e;
587
+ P.getState().setAgentName(e), document.title = e;
588
588
  }
589
589
  let s = String(a?.Framework || "").trim().toLowerCase();
590
- N.getState().setAgentFramework(s);
590
+ P.getState().setAgentFramework(s);
591
591
  let c = e(r);
592
- N.getState().setCapabilities(c), N.getState().setApiFormats(We(c.HostedChat.ApiFormats)), N.getState().setAccessMode(String(i?.AccessMode || "Owner"));
592
+ P.getState().setCapabilities(c), P.getState().setApiFormats(Ue(c.HostedChat.ApiFormats)), P.getState().setAccessMode(String(i?.AccessMode || "Owner"));
593
593
  let l = c.WorkspaceFiles && i?.WorkspaceFiles ? i.WorkspaceFiles : null;
594
- N.getState().setWorkspaceFiles(l), l || _.getState().setWorkspacePanelOpen(!1), t(c) && n.fetchSessions(o, we(o));
594
+ P.getState().setWorkspaceFiles(l), l || _.getState().setWorkspacePanelOpen(!1), t(c) && n.fetchSessions(o, Ce(o));
595
595
  let u = i?.Model;
596
- u?.id && (P.getState().setSelectedModel(u.id), P.getState().upsertModels([u]), P.getState().setModelSource(u.source || "")), Ge(o);
596
+ u?.id && (F.getState().setSelectedModel(u.id), F.getState().upsertModels([u]), F.getState().setModelSource(u.source || "")), We(o);
597
597
  } catch (t) {
598
- console.error("Failed to fetch bootstrap:", t), N.getState().setCapabilities(e({ Data: {
598
+ console.error("Failed to fetch bootstrap:", t), P.getState().setCapabilities(e({ Data: {
599
599
  Agent: { Framework: "" },
600
600
  ApiFormats: ["responses", "chat_completions"],
601
601
  Capabilities: {}
602
- } })), n.fetchSessions("default-agent", we("default-agent")), Ge("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 K = M()((e) => ({
609
+ var q = N()((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 qe() {
616
+ function Ke() {
617
617
  return {
618
618
  toolNames: /* @__PURE__ */ new Map(),
619
619
  toolArguments: /* @__PURE__ */ new Map(),
@@ -621,55 +621,55 @@ function qe() {
621
621
  currentResponseId: ""
622
622
  };
623
623
  }
624
- function Je(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 q(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 J(...e) {
630
+ function Y(...e) {
631
631
  for (let t of e) {
632
- let e = Je(t);
632
+ let e = qe(t);
633
633
  if (e) return e;
634
634
  }
635
635
  return "";
636
636
  }
637
- function Ye(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 Xe(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 Ze(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 Qe(e) {
649
+ function Ze(e) {
650
650
  if (!e || typeof e != "object") return "";
651
- let t = Je(e.content);
652
- return J(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 $e(e) {
655
- let t = e?.response && typeof e.response == "object" ? e.response : e, n = J(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 = Qe(e);
659
+ let t = Ze(e);
660
660
  if (t) return t;
661
661
  }
662
662
  return "";
663
663
  }
664
- function et(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 tt({ data: e, state: t, status: n }) {
669
- let r = e?.item || e?.output_item || e || {}, i = String(r.type || "").trim(), a = Ye(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 = Ze(t, a, r), i = q(r.arguments ?? r.args ?? r.input);
672
- return Xe(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 tt({ data: e, state: t, status: n }) {
678
678
  }
679
679
  if (i === "function_call_output") return [{
680
680
  type: "tool_result",
681
- name: Ze(t, a, r),
682
- output: q(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: q(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 = Qe(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 = Qe(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 tt({ data: e, state: t, status: n }) {
706
706
  }
707
707
  return [];
708
708
  }
709
- function nt({ 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: q(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: q(t?.output ?? t?.result)
720
+ output: J(t?.output ?? t?.result)
721
721
  }];
722
- if (r === "response.output_item.added") return tt({
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 tt({
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 = Ze(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 nt({ 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 = Ze(n, e, t), i = q(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 nt({ 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 = J(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 = J(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 = J(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 = J(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 nt({ eventName: e, data: t, state: n }) {
779
779
  }] : [];
780
780
  }
781
781
  if (r === "response.completed") {
782
- let e = $e(t), r = et(t).flatMap((e) => tt({
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 nt({ eventName: e, data: t, state: n }) {
830
830
  }
831
831
  //#endregion
832
832
  //#region src/core/stream/responses-protocol.ts
833
- var rt = class {
833
+ var nt = class {
834
834
  id = "responses";
835
835
  createState() {
836
- return qe();
836
+ return Ke();
837
837
  }
838
838
  parse(e, t) {
839
- return nt({
839
+ return tt({
840
840
  eventName: e.eventName,
841
841
  data: e.data,
842
842
  state: t
@@ -858,23 +858,23 @@ var rt = class {
858
858
  };
859
859
  //#endregion
860
860
  //#region src/utils/stream-parsing.ts
861
- function it(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 at(e) {
864
+ function it(e) {
865
865
  return e && typeof e == "object" ? e : {};
866
866
  }
867
- function ot(e) {
868
- let t = at(e).choices, n = at(Array.isArray(t) ? t[0] : null), r = at(n.delta), i = at(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: it(r.content),
871
- reasoning: it(r.reasoning_content),
872
- finalText: it(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 st = class {
877
+ var ot = class {
878
878
  id = "chat_completions";
879
879
  createState() {
880
880
  return {};
@@ -882,7 +882,7 @@ var st = class {
882
882
  parse(e) {
883
883
  let t = e.data;
884
884
  if (typeof t != "object" || !t) return [];
885
- let n = ot(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 st = class {
894
894
  text: n.finalText
895
895
  }), r;
896
896
  }
897
- }, ct = /* @__PURE__ */ new Map();
898
- ct.set("responses", new rt()), ct.set("chat_completions", new st());
899
- function lt(e) {
900
- return ct.get(e) || ct.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 ut(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 ut(e = []) {
910
910
  }
911
911
  //#endregion
912
912
  //#region src/core/transport/sse-parser.ts
913
- function dt(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 dt(e) {
940
940
  }
941
941
  return t;
942
942
  }
943
- function ft(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 ft(e) {
949
949
  }
950
950
  //#endregion
951
951
  //#region src/utils/error.ts
952
- function pt(e) {
952
+ function ft(e) {
953
953
  return e instanceof Error ? e.message : String(e);
954
954
  }
955
- var mt = 1280;
956
- function ht(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 gt(e, t, n) {
961
- let r = Math.min(mt, 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 _t = new Set([
966
+ var gt = new Set([
967
967
  "completed",
968
968
  "failed",
969
969
  "error",
@@ -971,12 +971,12 @@ var _t = new Set([
971
971
  "canceled",
972
972
  "aborted"
973
973
  ]);
974
- function vt(e) {
974
+ function _t(e) {
975
975
  if (e.EventType !== "run_status") return null;
976
976
  let t = String(e.Content?.status || "").trim().toLowerCase();
977
- return _t.has(t) ? t : null;
977
+ return gt.has(t) ? t : null;
978
978
  }
979
- function yt(e, t) {
979
+ function vt(e, t) {
980
980
  let n = String(t?.type || e || "").trim();
981
981
  if (n === "response.created") return {
982
982
  phase: "运行已创建",
@@ -1022,11 +1022,11 @@ function yt(e, t) {
1022
1022
  status: "failed"
1023
1023
  } : null;
1024
1024
  }
1025
- function bt() {
1025
+ function yt() {
1026
1026
  let e = globalThis.crypto;
1027
1027
  return e && typeof e.randomUUID == "function" ? `run_${e.randomUUID()}` : `run_${Date.now()}_${Math.random().toString(16).slice(2)}`;
1028
1028
  }
1029
- var xt = {
1029
+ var bt = {
1030
1030
  idle: [
1031
1031
  "creating-session",
1032
1032
  "uploading-files",
@@ -1064,7 +1064,7 @@ var xt = {
1064
1064
  ],
1065
1065
  error: ["connecting", "idle"],
1066
1066
  cancelled: ["idle"]
1067
- }, St = class {
1067
+ }, xt = class {
1068
1068
  _stage = "idle";
1069
1069
  listeners = /* @__PURE__ */ new Set();
1070
1070
  abortController = null;
@@ -1098,7 +1098,7 @@ var xt = {
1098
1098
  for (let e of this.listeners) e(t);
1099
1099
  }
1100
1100
  setStage(e) {
1101
- let t = xt[this._stage];
1101
+ let t = bt[this._stage];
1102
1102
  t && !t.includes(e) && console.warn(`[RunEngine] Invalid transition: ${this._stage} → ${e}`), this._stage = e, this.emit({
1103
1103
  type: "stage_changed",
1104
1104
  stage: e
@@ -1125,11 +1125,11 @@ var xt = {
1125
1125
  status: "connecting",
1126
1126
  countEvent: !1
1127
1127
  });
1128
- let a = t ? "responses" : ht({
1128
+ let a = t ? "responses" : mt({
1129
1129
  agentFramework: this.config.agentFramework,
1130
1130
  apiFormats: this.config.apiFormats
1131
- }), o = lt(a), s = o.createState(), c = bt();
1132
- F.getState().setCurrentRunId(c);
1131
+ }), o = ct(a), s = o.createState(), c = yt();
1132
+ I.getState().setCurrentRunId(c);
1133
1133
  let l = this.buildRequestBody(n, a, t, e, i, c), u = await this.api.runAgent(l, { signal: this.abortController?.signal });
1134
1134
  this.setStage("streaming"), this.emit({
1135
1135
  type: "activity",
@@ -1156,7 +1156,7 @@ var xt = {
1156
1156
  f.terminalStatus = (await this.consumeStream(e, o, s, t)).terminalStatus;
1157
1157
  }
1158
1158
  if (f.terminalStatus === "cancelled") {
1159
- this.setStage("stopping"), F.getState().stopActivity("运行时已取消本次执行。"), this.emit({
1159
+ this.setStage("stopping"), I.getState().stopActivity("运行时已取消本次执行。"), this.emit({
1160
1160
  type: "activity",
1161
1161
  phase: "运行已取消",
1162
1162
  status: "stopped",
@@ -1190,18 +1190,18 @@ var xt = {
1190
1190
  error: e instanceof Error ? e : Error(String(e))
1191
1191
  })));
1192
1192
  } finally {
1193
- F.getState().setStreaming(!1), this.setStage("idle"), this.activeCompactionId = null, this.activeSessionId = null, e.onSettled?.(n);
1193
+ I.getState().setStreaming(!1), this.setStage("idle"), this.activeCompactionId = null, this.activeSessionId = null, e.onSettled?.(n);
1194
1194
  }
1195
1195
  })(), !0;
1196
1196
  }
1197
1197
  stop() {
1198
- this._stage !== "idle" && (this.setStage("stopping"), this.abortController?.abort(), F.getState().stopActivity(), F.getState().setCurrentRunId(""), this.setStage("cancelled"), this.emit({
1198
+ this._stage !== "idle" && (this.setStage("stopping"), this.abortController?.abort(), I.getState().stopActivity(), I.getState().setCurrentRunId(""), this.setStage("cancelled"), this.emit({
1199
1199
  type: "system_message",
1200
1200
  content: "已停止接收本次输出;如果运行时不支持取消,后台执行可能仍会继续。"
1201
1201
  }));
1202
1202
  }
1203
1203
  disconnect() {
1204
- this._stage !== "idle" && (this.abortController?.abort(), F.getState().setStreaming(!1), F.getState().clearActivity(), this._stage = "idle", this.activeCompactionId = null, this.activeSessionId = null);
1204
+ this._stage !== "idle" && (this.abortController?.abort(), I.getState().setStreaming(!1), I.getState().clearActivity(), this._stage = "idle", this.activeCompactionId = null, this.activeSessionId = null);
1205
1205
  }
1206
1206
  async cancelRemote(e) {
1207
1207
  try {
@@ -1212,7 +1212,7 @@ var xt = {
1212
1212
  this.stop();
1213
1213
  }
1214
1214
  resumeRun(e) {
1215
- this.abortController?.abort(), this.abortController = new AbortController(), this.activeSessionId = e.sessionId, F.getState().setCurrentRunId(e.invocationId), this.setStage("connecting"), this.emit({
1215
+ this.abortController?.abort(), this.abortController = new AbortController(), this.activeSessionId = e.sessionId, I.getState().setCurrentRunId(e.invocationId), this.setStage("connecting"), this.emit({
1216
1216
  type: "activity",
1217
1217
  phase: "恢复运行事件订阅",
1218
1218
  status: "connecting",
@@ -1236,11 +1236,11 @@ var xt = {
1236
1236
  let { value: e, done: n } = await r.read();
1237
1237
  if (n) break;
1238
1238
  a += i.decode(e, { stream: !0 });
1239
- let { chunks: o, remainder: s } = ft(a);
1239
+ let { chunks: o, remainder: s } = dt(a);
1240
1240
  a = s;
1241
1241
  for (let e of o) {
1242
1242
  if (!e.trim()) continue;
1243
- let n = dt(e);
1243
+ let n = ut(e);
1244
1244
  for (let e of n) e.eventName !== "__done__" && (this.emit({
1245
1245
  type: "activity",
1246
1246
  phase: "收到恢复事件",
@@ -1248,7 +1248,7 @@ var xt = {
1248
1248
  }), this.emit({
1249
1249
  type: "stream_event",
1250
1250
  event: e.data
1251
- }), t = vt(e.data) || t);
1251
+ }), t = _t(e.data) || t);
1252
1252
  }
1253
1253
  }
1254
1254
  this.setStage("completing"), t === "cancelled" || t === "canceled" || t === "aborted" ? this.emit({
@@ -1270,15 +1270,15 @@ var xt = {
1270
1270
  } catch (e) {
1271
1271
  e instanceof DOMException && e.name === "AbortError" || console.error("Failed to subscribe to run events:", e);
1272
1272
  } finally {
1273
- F.getState().setStreaming(!1), F.getState().setCurrentRunId(""), this.setStage("idle"), this.activeSessionId = null;
1273
+ I.getState().setStreaming(!1), I.getState().setCurrentRunId(""), this.setStage("idle"), this.activeSessionId = null;
1274
1274
  }
1275
1275
  })();
1276
1276
  }
1277
1277
  resumeCheckpoint(e) {
1278
1278
  if (this._stage !== "idle") return !1;
1279
1279
  this.abortController = new AbortController(), this.activeSessionId = e.sessionId;
1280
- let t = bt();
1281
- return F.getState().setCurrentRunId(t), (async () => {
1280
+ let t = yt();
1281
+ return I.getState().setCurrentRunId(t), (async () => {
1282
1282
  try {
1283
1283
  if (this.setStage("connecting"), this.emit({
1284
1284
  type: "activity",
@@ -1310,7 +1310,7 @@ var xt = {
1310
1310
  checkpointId: e.checkpointId,
1311
1311
  resumeAttemptId: e.resumeAttemptId,
1312
1312
  invocationId: t
1313
- }, { signal: this.abortController?.signal }), r = lt("responses"), i = r.createState();
1313
+ }, { signal: this.abortController?.signal }), r = ct("responses"), i = r.createState();
1314
1314
  this.setStage("streaming"), this.emit({
1315
1315
  type: "activity",
1316
1316
  source: "restore",
@@ -1321,7 +1321,7 @@ var xt = {
1321
1321
  let a = `msg-${Date.now()}`, o = await this.consumeStream(n, r, i, a);
1322
1322
  if (o.terminalStatus && o.terminalStatus !== "completed") {
1323
1323
  if (o.terminalStatus === "cancelled") {
1324
- this.setStage("stopping"), F.getState().stopActivity("运行时已取消本次恢复。"), this.emit({
1324
+ this.setStage("stopping"), I.getState().stopActivity("运行时已取消本次恢复。"), this.emit({
1325
1325
  type: "activity",
1326
1326
  source: "restore",
1327
1327
  phase: "恢复已取消",
@@ -1352,7 +1352,7 @@ var xt = {
1352
1352
  error: e instanceof Error ? e : Error(String(e))
1353
1353
  }));
1354
1354
  } finally {
1355
- F.getState().setStreaming(!1), F.getState().setCurrentRunId(""), this.setStage("idle"), this.activeSessionId = null, e.onSettled?.(e.sessionId);
1355
+ I.getState().setStreaming(!1), I.getState().setCurrentRunId(""), this.setStage("idle"), this.activeSessionId = null, e.onSettled?.(e.sessionId);
1356
1356
  }
1357
1357
  })(), !0;
1358
1358
  }
@@ -1386,7 +1386,7 @@ var xt = {
1386
1386
  } catch (e) {
1387
1387
  this.emit({
1388
1388
  type: "system_message",
1389
- content: `【系统提示】图片 ${t.name} 读取失败,原因: ${pt(e)}`
1389
+ content: `【系统提示】图片 ${t.name} 读取失败,原因: ${ft(e)}`
1390
1390
  });
1391
1391
  }
1392
1392
  continue;
@@ -1403,7 +1403,7 @@ var xt = {
1403
1403
  } catch (e) {
1404
1404
  this.emit({
1405
1405
  type: "system_message",
1406
- content: `【系统提示】文件 ${t.name} 上传失败,原因: ${pt(e)}`
1406
+ content: `【系统提示】文件 ${t.name} 上传失败,原因: ${ft(e)}`
1407
1407
  });
1408
1408
  }
1409
1409
  }
@@ -1423,7 +1423,7 @@ var xt = {
1423
1423
  ApiFormat: t,
1424
1424
  Model: this.config.selectedModel || void 0,
1425
1425
  ModelMetadata: this.config.selectedModelMetadata || void 0,
1426
- ModelOptions: Pe(Ne(this.config.thinkingMode))
1426
+ ModelOptions: Ne(Me(this.config.thinkingMode))
1427
1427
  };
1428
1428
  if (n) o.ResponsesInput = r.responsesInput, o.PreviousResponseId = r.previousResponseId;
1429
1429
  else {
@@ -1451,32 +1451,32 @@ var xt = {
1451
1451
  type: "assistant_message_created",
1452
1452
  messageId: r
1453
1453
  })), o += a.decode(e, { stream: !0 });
1454
- let { chunks: u, remainder: d } = ft(o);
1454
+ let { chunks: u, remainder: d } = dt(o);
1455
1455
  o = d;
1456
1456
  for (let e of u) {
1457
1457
  if (!e.trim()) continue;
1458
1458
  if (this.isCompactionChunk(e)) {
1459
- let t = dt(e);
1459
+ let t = ut(e);
1460
1460
  for (let e of t) e.eventName.startsWith("response.compaction") && this.upsertCompactionMessage({
1461
1461
  ...e.data,
1462
1462
  phase: e.eventName.split(".").pop()
1463
1463
  });
1464
1464
  continue;
1465
1465
  }
1466
- let a = dt(e), o = !1, c;
1466
+ let a = ut(e), o = !1, c;
1467
1467
  for (let e of a) {
1468
1468
  if (e.eventName === "__done__") {
1469
1469
  o = !0;
1470
1470
  continue;
1471
1471
  }
1472
- let i = yt(e.eventName, e.data);
1472
+ let i = vt(e.eventName, e.data);
1473
1473
  i && this.emit({
1474
1474
  type: "activity",
1475
1475
  ...i
1476
1476
  });
1477
1477
  let a = t.parse(e, n);
1478
1478
  for (let e of a) this.dispatchAction(e, r);
1479
- if (ut(a)) {
1479
+ if (lt(a)) {
1480
1480
  o = !0;
1481
1481
  let e = a.find((e) => e.type === "terminal");
1482
1482
  c = e && "status" in e ? String(e.status || "") : void 0;
@@ -1587,98 +1587,98 @@ var xt = {
1587
1587
  phase: "failed"
1588
1588
  }), null);
1589
1589
  }
1590
- }, Ct = [], wt = [];
1591
- function Y(e) {
1590
+ }, St = [], Ct = [];
1591
+ function X(e) {
1592
1592
  return typeof e == "string" ? e.trim() : "";
1593
1593
  }
1594
- function Tt(e) {
1594
+ function wt(e) {
1595
1595
  let t = typeof e == "number" ? e : Number(e);
1596
1596
  return Number.isFinite(t) ? t : void 0;
1597
1597
  }
1598
- function Et(e) {
1598
+ function Tt(e) {
1599
1599
  return typeof e == "string" || typeof e == "number" ? e : void 0;
1600
1600
  }
1601
- function X(e) {
1601
+ function Z(e) {
1602
1602
  return e && typeof e == "object" && !Array.isArray(e) ? e : void 0;
1603
1603
  }
1604
- function Dt(e) {
1604
+ function Et(e) {
1605
1605
  return e !== null;
1606
1606
  }
1607
- function Ot(e) {
1607
+ function Dt(e) {
1608
1608
  return e !== null;
1609
1609
  }
1610
- function kt(e) {
1610
+ function Ot(e) {
1611
1611
  return [...e].sort((e, t) => {
1612
1612
  let n = t.seqId ?? -1, r = e.seqId ?? -1;
1613
1613
  return n === r ? (Date.parse(String(t.timestamp || "")) || 0) - (Date.parse(String(e.timestamp || "")) || 0) : n - r;
1614
1614
  });
1615
1615
  }
1616
- function At(e) {
1616
+ function kt(e) {
1617
1617
  return [...e].sort((e, t) => {
1618
1618
  let n = t.seqId ?? -1, r = e.seqId ?? -1;
1619
1619
  return n === r ? (Date.parse(String(t.timestamp || "")) || 0) - (Date.parse(String(e.timestamp || "")) || 0) : n - r;
1620
1620
  });
1621
1621
  }
1622
- function jt(e) {
1623
- return kt(e)[0]?.runId || "";
1622
+ function At(e) {
1623
+ return Ot(e)[0]?.runId || "";
1624
1624
  }
1625
- function Mt(e) {
1626
- let t = jt(e);
1625
+ function jt(e) {
1626
+ let t = At(e);
1627
1627
  return t ? e.filter((e) => e.runId === t) : [];
1628
1628
  }
1629
- function Nt(e) {
1630
- let t = X(e);
1629
+ function Mt(e) {
1630
+ let t = Z(e);
1631
1631
  if (!t) return null;
1632
- let n = X(t.Metadata ?? t.metadata), r = X(t.Content ?? t.content), i = Y(t.CheckpointId ?? t.checkpointId ?? t.checkpoint_id ?? n?.checkpoint_id ?? n?.checkpointId ?? r?.checkpoint_id ?? r?.checkpointId), a = Y(t.RunId ?? t.runId ?? t.run_id ?? n?.run_id ?? n?.runId ?? r?.run_id ?? r?.runId);
1632
+ 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);
1633
1633
  return !i || !a ? null : {
1634
1634
  checkpointId: i,
1635
1635
  runId: a,
1636
- sessionId: Y(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1637
- invocationId: Y(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1638
- seqId: Tt(t.SeqId ?? t.seqId ?? t.seq_id),
1639
- timestamp: Et(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1640
- framework: Y(t.Framework ?? t.framework ?? n?.framework ?? r?.framework) || void 0,
1641
- frameworkRef: X(t.FrameworkRef ?? t.frameworkRef ?? t.framework_ref ?? n?.framework_ref ?? n?.frameworkRef),
1642
- phase: Y(t.Phase ?? t.phase ?? n?.phase ?? r?.phase) || void 0,
1643
- stage: Y(t.Stage ?? t.stage ?? n?.stage ?? n?.title) || void 0,
1644
- summary: Y(t.Summary ?? t.summary ?? n?.summary ?? n?.description) || void 0,
1645
- nextAction: Y(t.NextAction ?? t.nextAction ?? t.next_action ?? n?.nextAction ?? n?.next_action) || void 0,
1646
- status: Y(t.Status ?? t.status ?? n?.status ?? r?.status) || void 0,
1636
+ sessionId: X(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1637
+ invocationId: X(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1638
+ seqId: wt(t.SeqId ?? t.seqId ?? t.seq_id),
1639
+ timestamp: Tt(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1640
+ framework: X(t.Framework ?? t.framework ?? n?.framework ?? r?.framework) || void 0,
1641
+ frameworkRef: Z(t.FrameworkRef ?? t.frameworkRef ?? t.framework_ref ?? n?.framework_ref ?? n?.frameworkRef),
1642
+ phase: X(t.Phase ?? t.phase ?? n?.phase ?? r?.phase) || void 0,
1643
+ stage: X(t.Stage ?? t.stage ?? n?.stage ?? n?.title) || void 0,
1644
+ summary: X(t.Summary ?? t.summary ?? n?.summary ?? n?.description) || void 0,
1645
+ nextAction: X(t.NextAction ?? t.nextAction ?? t.next_action ?? n?.nextAction ?? n?.next_action) || void 0,
1646
+ status: X(t.Status ?? t.status ?? n?.status ?? r?.status) || void 0,
1647
1647
  metadata: n
1648
1648
  };
1649
1649
  }
1650
- function Pt(e) {
1651
- let t = X(e);
1650
+ function Nt(e) {
1651
+ let t = Z(e);
1652
1652
  if (!t) return null;
1653
- let n = Y(t.ReceiptId ?? t.receiptId ?? t.receipt_id), r = Y(t.IdempotencyKey ?? t.idempotencyKey ?? t.idempotency_key), i = Y(t.ToolName ?? t.toolName ?? t.tool_name);
1653
+ 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);
1654
1654
  return !n || !r || !i ? null : {
1655
1655
  receiptId: n,
1656
1656
  idempotencyKey: r,
1657
1657
  toolName: i,
1658
- toolCallId: Y(t.ToolCallId ?? t.toolCallId ?? t.tool_call_id) || void 0,
1659
- runId: Y(t.RunId ?? t.runId ?? t.run_id) || void 0,
1660
- checkpointId: Y(t.CheckpointId ?? t.checkpointId ?? t.checkpoint_id) || void 0,
1661
- sessionId: Y(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1662
- invocationId: Y(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1663
- seqId: Tt(t.SeqId ?? t.seqId ?? t.seq_id),
1664
- timestamp: Et(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1665
- status: Y(t.Status ?? t.status) || void 0,
1658
+ toolCallId: X(t.ToolCallId ?? t.toolCallId ?? t.tool_call_id) || void 0,
1659
+ runId: X(t.RunId ?? t.runId ?? t.run_id) || void 0,
1660
+ checkpointId: X(t.CheckpointId ?? t.checkpointId ?? t.checkpoint_id) || void 0,
1661
+ sessionId: X(t.SessionId ?? t.sessionId ?? t.session_id) || void 0,
1662
+ invocationId: X(t.InvocationId ?? t.invocationId ?? t.invocation_id) || void 0,
1663
+ seqId: wt(t.SeqId ?? t.seqId ?? t.seq_id),
1664
+ timestamp: Tt(t.Timestamp ?? t.timestamp ?? t.CreatedAt ?? t.createdAt),
1665
+ status: X(t.Status ?? t.status) || void 0,
1666
1666
  replayed: !!(t.Replayed ?? t.replayed),
1667
- metadata: X(t.Metadata ?? t.metadata)
1667
+ metadata: Z(t.Metadata ?? t.metadata)
1668
1668
  };
1669
1669
  }
1670
- var Z = M()((e, t) => ({
1670
+ var Q = N()((e, t) => ({
1671
1671
  checkpointsBySessionId: {},
1672
1672
  toolReceiptsBySessionId: {},
1673
1673
  setSessionCheckpoints: (t, n) => e((e) => ({ checkpointsBySessionId: {
1674
1674
  ...e.checkpointsBySessionId,
1675
- [t]: kt(Mt(n.map(Nt).filter(Dt).map((e) => ({
1675
+ [t]: Ot(jt(n.map(Mt).filter(Et).map((e) => ({
1676
1676
  ...e,
1677
1677
  sessionId: e.sessionId || t
1678
1678
  }))))
1679
1679
  } })),
1680
1680
  upsertSessionCheckpoint: (t, n) => {
1681
- let r = Nt(n);
1681
+ let r = Mt(n);
1682
1682
  r && e((e) => {
1683
1683
  let n = e.checkpointsBySessionId[t] || [];
1684
1684
  r.sessionId = r.sessionId || t;
@@ -1687,27 +1687,27 @@ var Z = M()((e, t) => ({
1687
1687
  ...i.get(r.checkpointId),
1688
1688
  ...r
1689
1689
  });
1690
- let a = Mt([...i.values()]);
1690
+ let a = jt([...i.values()]);
1691
1691
  return { checkpointsBySessionId: {
1692
1692
  ...e.checkpointsBySessionId,
1693
- [t]: kt(a)
1693
+ [t]: Ot(a)
1694
1694
  } };
1695
1695
  });
1696
1696
  },
1697
1697
  getSessionCheckpoints: (e) => {
1698
1698
  let n = String(e || "");
1699
- return n && t().checkpointsBySessionId[n] || Ct;
1699
+ return n && t().checkpointsBySessionId[n] || St;
1700
1700
  },
1701
1701
  setSessionToolReceipts: (t, n) => e((e) => ({ toolReceiptsBySessionId: {
1702
1702
  ...e.toolReceiptsBySessionId,
1703
- [t]: At(n.map(Pt).filter(Ot).map((e) => ({
1703
+ [t]: kt(n.map(Nt).filter(Dt).map((e) => ({
1704
1704
  ...e,
1705
1705
  sessionId: e.sessionId || t
1706
1706
  })))
1707
1707
  } })),
1708
1708
  getSessionToolReceipts: (e) => {
1709
1709
  let n = String(e || "");
1710
- return n && t().toolReceiptsBySessionId[n] || wt;
1710
+ return n && t().toolReceiptsBySessionId[n] || Ct;
1711
1711
  },
1712
1712
  clearSessionCheckpoints: (t) => e((e) => {
1713
1713
  let n = String(t || "");
@@ -1721,7 +1721,7 @@ var Z = M()((e, t) => ({
1721
1721
  toolReceiptsBySessionId: i
1722
1722
  };
1723
1723
  })
1724
- })), Ft = new Set([
1724
+ })), Pt = new Set([
1725
1725
  "completed",
1726
1726
  "failed",
1727
1727
  "error",
@@ -1729,21 +1729,21 @@ var Z = M()((e, t) => ({
1729
1729
  "canceled",
1730
1730
  "aborted"
1731
1731
  ]);
1732
- function It(e) {
1732
+ function Ft(e) {
1733
1733
  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("") : "";
1734
1734
  }
1735
- function Lt(e) {
1735
+ function It(e) {
1736
1736
  let t = String(e || "").trim();
1737
1737
  return t ? `/agentengine/api/v1/AttachmentContent?FileUri=${encodeURIComponent(t)}` : "";
1738
1738
  }
1739
- function Rt(e) {
1739
+ function Lt(e) {
1740
1740
  return String(e || "").match(/^data:([^;,]+)/)?.[1] || "";
1741
1741
  }
1742
- function zt(e, t) {
1742
+ function Rt(e, t) {
1743
1743
  let n = String(e || "").trim(), r = String(t || "").trim();
1744
1744
  return !n || !r || n === r ? !0 : n.endsWith("/*") ? r.startsWith(n.slice(0, -1)) : r.endsWith("/*") ? n.startsWith(r.slice(0, -1)) : !1;
1745
1745
  }
1746
- function Bt(e) {
1746
+ function zt(e) {
1747
1747
  let t = e?.Content?.parts || [], n = [], r = /* @__PURE__ */ new Map(), i = (e) => {
1748
1748
  let t = `${e.fileUri || e.url || e.name}|${e.type}`;
1749
1749
  r.has(t) || r.set(t, e);
@@ -1773,7 +1773,7 @@ function Bt(e) {
1773
1773
  let t = e.file_url.trim();
1774
1774
  i({
1775
1775
  name: e.filename || e.displayName || e.display_name || "attachment",
1776
- url: Lt(t),
1776
+ url: It(t),
1777
1777
  type: e.mime_type || e.mimeType || "application/octet-stream",
1778
1778
  fileUri: t
1779
1779
  });
@@ -1784,7 +1784,7 @@ function Bt(e) {
1784
1784
  t && i({
1785
1785
  name: e.filename || e.displayName || e.display_name || "uploaded_image",
1786
1786
  url: t,
1787
- type: e.mime_type || e.mimeType || Rt(t) || "image/*"
1787
+ type: e.mime_type || e.mimeType || Lt(t) || "image/*"
1788
1788
  });
1789
1789
  continue;
1790
1790
  }
@@ -1792,7 +1792,7 @@ function Bt(e) {
1792
1792
  let t = String(e.fileData.fileUri || "").trim();
1793
1793
  i({
1794
1794
  name: e.fileData.displayName || "attachment",
1795
- url: Lt(t),
1795
+ url: It(t),
1796
1796
  type: e.fileData.mimeType || "application/octet-stream",
1797
1797
  fileUri: t
1798
1798
  });
@@ -1802,11 +1802,11 @@ function Bt(e) {
1802
1802
  for (let e of a) {
1803
1803
  let t = String(e.file_uri || "").trim(), n = {
1804
1804
  name: e.display_name || "attachment",
1805
- url: Lt(t),
1805
+ url: It(t),
1806
1806
  type: e.mime_type || "application/octet-stream",
1807
1807
  fileUri: t
1808
1808
  };
1809
- !n.url && !n.fileUri && Array.from(r.values()).some((e) => e.name === n.name && zt(e.type, n.type) && (e.url || e.fileUri)) || i(n);
1809
+ !n.url && !n.fileUri && Array.from(r.values()).some((e) => e.name === n.name && Rt(e.type, n.type) && (e.url || e.fileUri)) || i(n);
1810
1810
  }
1811
1811
  let o = Array.from(r.values());
1812
1812
  return {
@@ -1814,10 +1814,10 @@ function Bt(e) {
1814
1814
  attachments: o.length > 0 ? o : void 0
1815
1815
  };
1816
1816
  }
1817
- function Vt(e) {
1817
+ function Bt(e) {
1818
1818
  let t = e?.Metadata?.responses_output;
1819
1819
  if (!Array.isArray(t)) return {};
1820
- let n = qe(), r = nt({
1820
+ let n = Ke(), r = tt({
1821
1821
  eventName: "response.completed",
1822
1822
  data: { response: {
1823
1823
  id: String(e.Metadata?.response_id || ""),
@@ -1861,22 +1861,22 @@ function Vt(e) {
1861
1861
  ...Object.keys(a).length > 0 ? { tools: a } : {}
1862
1862
  };
1863
1863
  }
1864
- function Ht(e, t, n) {
1864
+ function Vt(e, t, n) {
1865
1865
  return t === "running" ? e === "prompt_too_long" ? "检测到上下文过长,正在自动压缩历史后重试" : "正在自动压缩上下文" : n ? e === "prompt_too_long" ? "上下文过长,系统已自动压缩历史并重试" : "系统已自动压缩较早的对话上下文" : t === "failed" ? "自动压缩上下文未完成" : e === "prompt_too_long" ? "已完成上下文压缩,并继续当前回复" : "已完成上下文压缩";
1866
1866
  }
1867
- function Ut(e, t) {
1867
+ function Ht(e, t) {
1868
1868
  return [
1869
1869
  e,
1870
1870
  t.content || "",
1871
1871
  t.reasoning || ""
1872
1872
  ].join("\0");
1873
1873
  }
1874
- function Wt(e) {
1874
+ function Ut(e) {
1875
1875
  return e?.Metadata?.responses_mirror === !0 || String(e?.Metadata?.responses_mirror || "").trim().toLowerCase() === "true";
1876
1876
  }
1877
- function Gt(e) {
1877
+ function Wt(e) {
1878
1878
  if (e?.EventType !== "user_message") return "";
1879
- let t = Bt(e), n = (t.attachments || []).map((e) => [
1879
+ let t = zt(e), n = (t.attachments || []).map((e) => [
1880
1880
  e.name || "",
1881
1881
  e.fileUri || "",
1882
1882
  e.url || "",
@@ -1884,16 +1884,16 @@ function Gt(e) {
1884
1884
  ].join("")).sort().join("");
1885
1885
  return [String(t.text || "").trim(), n].join("\0");
1886
1886
  }
1887
- function Kt(e) {
1887
+ function Gt(e) {
1888
1888
  return e?.EventType === "assistant_stream_snapshot";
1889
1889
  }
1890
- function qt(e) {
1890
+ function Kt(e) {
1891
1891
  let t = Number(e?.SeqId || 0);
1892
1892
  if (Number.isFinite(t) && t > 0) return t;
1893
1893
  let n = Number(e?.Timestamp || 0);
1894
1894
  return Number.isFinite(n) ? n : 0;
1895
1895
  }
1896
- function Jt(e) {
1896
+ function qt(e) {
1897
1897
  if (typeof e == "string") return e;
1898
1898
  if (e == null) return "";
1899
1899
  try {
@@ -1902,15 +1902,15 @@ function Jt(e) {
1902
1902
  return String(e);
1903
1903
  }
1904
1904
  }
1905
- function Yt(e) {
1905
+ function Jt(e) {
1906
1906
  let t = String(e?.EventType || "");
1907
1907
  if (t !== "tool_call" && t !== "tool_result") return null;
1908
- let n = String(e.Metadata?.tool_name || e.Metadata?.name || e.Metadata?.function_name || It(e.Content?.parts) || "tool").trim() || "tool", r = {
1908
+ let n = String(e.Metadata?.tool_name || e.Metadata?.name || e.Metadata?.function_name || Ft(e.Content?.parts) || "tool").trim() || "tool", r = {
1909
1909
  name: n,
1910
1910
  args: "",
1911
1911
  status: "running"
1912
1912
  }, i = t === "tool_result" ? (() => {
1913
- let t = Jt(e.Metadata?.tool_output ?? e.Metadata?.output ?? e.Metadata?.result ?? It(e.Content?.parts));
1913
+ let t = qt(e.Metadata?.tool_output ?? e.Metadata?.output ?? e.Metadata?.result ?? Ft(e.Content?.parts));
1914
1914
  return {
1915
1915
  ...r,
1916
1916
  output: t,
@@ -1918,7 +1918,7 @@ function Yt(e) {
1918
1918
  };
1919
1919
  })() : {
1920
1920
  ...r,
1921
- args: Jt(e.Metadata?.tool_args ?? e.Metadata?.arguments ?? e.Metadata?.args ?? {})
1921
+ args: qt(e.Metadata?.tool_args ?? e.Metadata?.arguments ?? e.Metadata?.args ?? {})
1922
1922
  };
1923
1923
  return {
1924
1924
  id: e.EventId || String(Date.now() + Math.random()),
@@ -1929,7 +1929,7 @@ function Yt(e) {
1929
1929
  tools: { [n]: i }
1930
1930
  };
1931
1931
  }
1932
- function Xt(e = {}, t = {}) {
1932
+ function Yt(e = {}, t = {}) {
1933
1933
  let n = { ...e || {} };
1934
1934
  for (let [e, r] of Object.entries(t || {})) n[e] = {
1935
1935
  ...n[e] || {},
@@ -1939,8 +1939,8 @@ function Xt(e = {}, t = {}) {
1939
1939
  };
1940
1940
  return n;
1941
1941
  }
1942
- function Zt(e = {}, t = "") {
1943
- let n = String(t || "").trim().toLowerCase(), r = n === "completed" ? "completed" : Ft.has(n) ? "error" : "";
1942
+ function Xt(e = {}, t = "") {
1943
+ let n = String(t || "").trim().toLowerCase(), r = n === "completed" ? "completed" : Pt.has(n) ? "error" : "";
1944
1944
  if (!r) return e;
1945
1945
  let i = !1, a = {};
1946
1946
  for (let [t, n] of Object.entries(e || {})) n?.status === "running" ? (i = !0, a[t] = {
@@ -1949,10 +1949,10 @@ function Zt(e = {}, t = "") {
1949
1949
  }) : a[t] = n;
1950
1950
  return i ? a : e;
1951
1951
  }
1952
- function Qt(e, t) {
1952
+ function Zt(e, t) {
1953
1953
  return {
1954
1954
  ...e,
1955
- reasoning: $t(e.reasoning, t.reasoning),
1955
+ reasoning: Qt(e.reasoning, t.reasoning),
1956
1956
  tools: {
1957
1957
  ...e.tools || {},
1958
1958
  ...t.tools || {}
@@ -1965,11 +1965,11 @@ function Qt(e, t) {
1965
1965
  id: t.responseId || t.reasoning || t.tools ? t.id : e.id
1966
1966
  };
1967
1967
  }
1968
- function $t(e = "", t = "") {
1968
+ function Qt(e = "", t = "") {
1969
1969
  let n = String(e || ""), r = String(t || "");
1970
1970
  return n ? !r || n.endsWith(r) ? n : r.startsWith(n) ? r : `${n}${r}` : r;
1971
1971
  }
1972
- function en(e) {
1972
+ function $t(e) {
1973
1973
  return {
1974
1974
  id: e.id,
1975
1975
  role: "system",
@@ -1980,10 +1980,10 @@ function en(e) {
1980
1980
  summary: e.summary,
1981
1981
  historical: e.historical,
1982
1982
  timestamp: e.timestamp,
1983
- content: Ht(e.trigger, e.status, e.historical)
1983
+ content: Vt(e.trigger, e.status, e.historical)
1984
1984
  };
1985
1985
  }
1986
- function tn(e) {
1986
+ function en(e) {
1987
1987
  let t = e?.EventType || "";
1988
1988
  if (t === "run_status") return e.Content?.status === "failed" ? {
1989
1989
  id: e.EventId || String(Date.now() + Math.random()),
@@ -2001,8 +2001,8 @@ function tn(e) {
2001
2001
  timestamp: e.Timestamp || Date.now()
2002
2002
  } : null;
2003
2003
  if (t === "context_checkpoint") {
2004
- let t = Bt(e);
2005
- return en({
2004
+ let t = zt(e);
2005
+ return $t({
2006
2006
  id: e.EventId || String(Date.now() + Math.random()),
2007
2007
  timestamp: e.Timestamp || Date.now(),
2008
2008
  status: "completed",
@@ -2013,7 +2013,7 @@ function tn(e) {
2013
2013
  });
2014
2014
  }
2015
2015
  if (t === "reasoning") {
2016
- let n = Bt(e).text || It(e.Metadata?.reasoning);
2016
+ let n = zt(e).text || Ft(e.Metadata?.reasoning);
2017
2017
  return n ? {
2018
2018
  id: e.EventId || String(Date.now() + Math.random()),
2019
2019
  role: "model",
@@ -2023,9 +2023,9 @@ function tn(e) {
2023
2023
  eventType: t
2024
2024
  } : null;
2025
2025
  }
2026
- if (t === "tool_call" || t === "tool_result") return Yt(e);
2026
+ if (t === "tool_call" || t === "tool_result") return Jt(e);
2027
2027
  if (t !== "user_message" && t !== "assistant_message" && t !== "assistant_stream_snapshot") return null;
2028
- let n = Bt(e), r = t === "assistant_message" ? Vt(e) : {};
2028
+ let n = zt(e), r = t === "assistant_message" ? Bt(e) : {};
2029
2029
  if (!n.text && !n.attachments?.length && !r.reasoning && !r.tools) return null;
2030
2030
  let i = String(e.Metadata?.response_id || e.Metadata?.ResponseId || "").trim(), a = String(e.Metadata?.trace_id || e.Metadata?.TraceId || "").trim(), o = String(e.Metadata?.root_span_id || e.Metadata?.rootSpanId || e.Metadata?.RootSpanId || "").trim();
2031
2031
  return {
@@ -2042,7 +2042,7 @@ function tn(e) {
2042
2042
  ...r
2043
2043
  };
2044
2044
  }
2045
- function nn(e = []) {
2045
+ function tn(e = []) {
2046
2046
  let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), s = Array.isArray(e) ? e : [], c = [];
2047
2047
  for (let e of s) {
2048
2048
  let t = String(e?.EventId || "").trim();
@@ -2054,30 +2054,30 @@ function nn(e = []) {
2054
2054
  }
2055
2055
  let l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Map();
2056
2056
  for (let e of c) {
2057
- if (e?.EventType !== "user_message" || Wt(e)) {
2057
+ if (e?.EventType !== "user_message" || Ut(e)) {
2058
2058
  if (e?.EventType === "assistant_message") {
2059
2059
  let t = String(e.InvocationId || "").trim();
2060
2060
  t && u.add(t);
2061
2061
  }
2062
- if (Kt(e)) {
2062
+ if (Gt(e)) {
2063
2063
  let t = String(e.InvocationId || "").trim();
2064
2064
  if (t) {
2065
2065
  let n = d.get(t);
2066
- (!n || qt(e) >= qt(n)) && d.set(t, e);
2066
+ (!n || Kt(e) >= Kt(n)) && d.set(t, e);
2067
2067
  }
2068
2068
  }
2069
2069
  continue;
2070
2070
  }
2071
- let t = Gt(e);
2071
+ let t = Wt(e);
2072
2072
  t && l.add(t);
2073
2073
  }
2074
2074
  let f = c.filter((e) => {
2075
- if (Kt(e)) {
2075
+ if (Gt(e)) {
2076
2076
  let t = String(e.InvocationId || "").trim();
2077
2077
  return t ? u.has(t) ? !1 : d.get(t) === e : !0;
2078
2078
  }
2079
- if (e?.EventType !== "user_message" || !Wt(e)) return !0;
2080
- let t = Gt(e);
2079
+ if (e?.EventType !== "user_message" || !Ut(e)) return !0;
2080
+ let t = Wt(e);
2081
2081
  return !t || !l.has(t);
2082
2082
  });
2083
2083
  for (let e of f) {
@@ -2092,7 +2092,7 @@ function nn(e = []) {
2092
2092
  let p = [], m = /* @__PURE__ */ new Map(), h = null, g = /* @__PURE__ */ new Map(), _ = (e) => {
2093
2093
  let t = String(e?.responseId || "").trim(), n = t ? m.get(t) : void 0;
2094
2094
  if (n !== void 0) {
2095
- p[n] = Qt(p[n], e);
2095
+ p[n] = Zt(p[n], e);
2096
2096
  return;
2097
2097
  }
2098
2098
  t && m.set(t, p.length), p.push(e);
@@ -2102,11 +2102,11 @@ function nn(e = []) {
2102
2102
  let n = String(e || "").trim();
2103
2103
  if (!n) return {};
2104
2104
  let r = g.get(n);
2105
- return r ? (g.delete(n), { tools: Zt(r.tools, t.get(n)) }) : {};
2105
+ return r ? (g.delete(n), { tools: Xt(r.tools, t.get(n)) }) : {};
2106
2106
  };
2107
2107
  for (let e of f) {
2108
2108
  if (e.EventType === "run_status") continue;
2109
- let t = tn(e);
2109
+ let t = en(e);
2110
2110
  if (!t) continue;
2111
2111
  if (t.eventType === "tool_call" || t.eventType === "tool_result") {
2112
2112
  let n = String(e.InvocationId || "").trim();
@@ -2124,7 +2124,7 @@ function nn(e = []) {
2124
2124
  invocationId: n
2125
2125
  },
2126
2126
  timestamp: Math.max(Number(r?.timestamp || 0), Number(t.timestamp || 0)),
2127
- tools: Xt(r?.tools, t.tools)
2127
+ tools: Yt(r?.tools, t.tools)
2128
2128
  });
2129
2129
  continue;
2130
2130
  }
@@ -2142,7 +2142,7 @@ function nn(e = []) {
2142
2142
  }
2143
2143
  let n = t.eventType === "assistant_message" || t.eventType === "assistant_stream_snapshot";
2144
2144
  if (n && h) {
2145
- let n = String(e.InvocationId || "").trim(), r = Ut(n, t);
2145
+ let n = String(e.InvocationId || "").trim(), r = Ht(n, t);
2146
2146
  if (t.eventType === "assistant_message" && n && a.has(r)) {
2147
2147
  h = null;
2148
2148
  continue;
@@ -2150,12 +2150,12 @@ function nn(e = []) {
2150
2150
  t.eventType === "assistant_message" && n && a.add(r), _({
2151
2151
  ...t,
2152
2152
  ...y(n),
2153
- reasoning: $t(h.reasoning, t.reasoning)
2153
+ reasoning: Qt(h.reasoning, t.reasoning)
2154
2154
  }), h = null;
2155
2155
  continue;
2156
2156
  }
2157
2157
  if (v(), n) {
2158
- let n = String(e.InvocationId || "").trim(), r = Ut(n, t);
2158
+ let n = String(e.InvocationId || "").trim(), r = Ht(n, t);
2159
2159
  if (t.eventType === "assistant_message" && n && a.has(r)) continue;
2160
2160
  t.eventType === "assistant_message" && n && a.add(r), _({
2161
2161
  ...t,
@@ -2168,7 +2168,7 @@ function nn(e = []) {
2168
2168
  v();
2169
2169
  for (let [e, n] of g.entries()) _({
2170
2170
  ...n,
2171
- tools: Zt(n.tools, t.get(e))
2171
+ tools: Xt(n.tools, t.get(e))
2172
2172
  });
2173
2173
  for (let [e, a] of t.entries()) {
2174
2174
  if (a !== "in_progress" || r.has(e) || !i.has(e)) continue;
@@ -2184,7 +2184,7 @@ function nn(e = []) {
2184
2184
  }
2185
2185
  return p.map(({ invocationId: e, ...t }) => t);
2186
2186
  }
2187
- function rn(e = [], t = []) {
2187
+ function nn(e = [], t = []) {
2188
2188
  let n = [], r = /* @__PURE__ */ new Set();
2189
2189
  for (let i of [...Array.isArray(e) ? e : [], ...Array.isArray(t) ? t : []]) {
2190
2190
  let e = String(i?.EventId || "").trim();
@@ -2199,18 +2199,18 @@ function rn(e = [], t = []) {
2199
2199
  return Number.isFinite(n) && Number.isFinite(r) && n !== r ? n - r : Number(e?.Timestamp || 0) - Number(t?.Timestamp || 0);
2200
2200
  });
2201
2201
  }
2202
- function an(e = []) {
2202
+ function rn(e = []) {
2203
2203
  return (Array.isArray(e) ? e : []).reduce((e, t) => {
2204
2204
  let n = Number(t.SeqId || 0);
2205
2205
  return Number.isFinite(n) ? Math.max(e, n) : e;
2206
2206
  }, 0);
2207
2207
  }
2208
- function on(e) {
2209
- return e?.EventType === "run_status" ? Ft.has(String(e.Content?.status || "").trim().toLowerCase()) : !1;
2208
+ function an(e) {
2209
+ return e?.EventType === "run_status" ? Pt.has(String(e.Content?.status || "").trim().toLowerCase()) : !1;
2210
2210
  }
2211
2211
  //#endregion
2212
2212
  //#region src/core/run/dispatcher.ts
2213
- var Q = !1, sn = new Set(["completed"]), cn = new Set([
2213
+ var $ = !1, on = new Set(["completed"]), sn = new Set([
2214
2214
  "failed",
2215
2215
  "error",
2216
2216
  "cancelled",
@@ -2218,8 +2218,8 @@ var Q = !1, sn = new Set(["completed"]), cn = new Set([
2218
2218
  "aborted",
2219
2219
  "incomplete"
2220
2220
  ]);
2221
- function $(e) {
2222
- Q || (Q = !0, K.getState().patchMessages((t) => [...t, {
2221
+ function cn(e) {
2222
+ $ || ($ = !0, q.getState().patchMessages((t) => [...t, {
2223
2223
  id: e,
2224
2224
  role: "model",
2225
2225
  content: "",
@@ -2228,8 +2228,8 @@ function $(e) {
2228
2228
  }]));
2229
2229
  }
2230
2230
  function ln(e) {
2231
- let t = String(e || "").trim().toLowerCase(), n = sn.has(t) ? "completed" : cn.has(t) ? "error" : null;
2232
- n && K.getState().patchMessages((e) => e.map((e) => {
2231
+ let t = String(e || "").trim().toLowerCase(), n = on.has(t) ? "completed" : sn.has(t) ? "error" : null;
2232
+ n && q.getState().patchMessages((e) => e.map((e) => {
2233
2233
  if (!e.tools) return e;
2234
2234
  let t = !1, r = Object.fromEntries(Object.entries(e.tools).map(([e, r]) => r.status === "running" ? (t = !0, [e, {
2235
2235
  ...r,
@@ -2242,14 +2242,14 @@ function ln(e) {
2242
2242
  }));
2243
2243
  }
2244
2244
  function un(e) {
2245
- if (e.sessionId && L.getState().currentSessionId !== e.sessionId) {
2246
- e.type === "stage_changed" && (e.stage === "completing" || e.stage === "error" || e.stage === "cancelled") && (Q = !1);
2245
+ if (e.sessionId && R.getState().currentSessionId !== e.sessionId) {
2246
+ e.type === "stage_changed" && (e.stage === "completing" || e.stage === "error" || e.stage === "cancelled") && ($ = !1);
2247
2247
  return;
2248
2248
  }
2249
- let t = K.getState();
2249
+ let t = q.getState();
2250
2250
  switch (e.type) {
2251
2251
  case "activity":
2252
- F.getState().updateActivity({
2252
+ I.getState().updateActivity({
2253
2253
  sessionId: e.sessionId,
2254
2254
  source: e.source,
2255
2255
  status: e.status,
@@ -2267,28 +2267,28 @@ function un(e) {
2267
2267
  }]);
2268
2268
  break;
2269
2269
  case "assistant_message_created":
2270
- $(e.messageId);
2270
+ cn(e.messageId);
2271
2271
  break;
2272
2272
  case "text_delta":
2273
- $(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2273
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2274
2274
  ...t,
2275
2275
  content: t.content + e.delta
2276
2276
  } : t));
2277
2277
  break;
2278
2278
  case "text_final":
2279
- $(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2279
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2280
2280
  ...t,
2281
2281
  content: e.text
2282
2282
  } : t));
2283
2283
  break;
2284
2284
  case "reasoning_delta":
2285
- $(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2285
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2286
2286
  ...t,
2287
2287
  reasoning: (t.reasoning || "") + e.delta
2288
2288
  } : t));
2289
2289
  break;
2290
2290
  case "tool_upsert":
2291
- $(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2291
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2292
2292
  ...t,
2293
2293
  tools: {
2294
2294
  ...t.tools || {},
@@ -2307,7 +2307,7 @@ function un(e) {
2307
2307
  } : t));
2308
2308
  break;
2309
2309
  case "tool_result":
2310
- $(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2310
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2311
2311
  ...t,
2312
2312
  tools: {
2313
2313
  ...t.tools || {},
@@ -2331,7 +2331,7 @@ function un(e) {
2331
2331
  }]);
2332
2332
  break;
2333
2333
  case "compaction": {
2334
- let n = `compaction-${Date.now()}`, r = e.phase === "start" ? "running" : e.phase === "failed" ? "failed" : "completed", i = en({
2334
+ let n = `compaction-${Date.now()}`, r = e.phase === "start" ? "running" : e.phase === "failed" ? "failed" : "completed", i = $t({
2335
2335
  id: n,
2336
2336
  timestamp: Date.now(),
2337
2337
  status: r,
@@ -2345,16 +2345,16 @@ function un(e) {
2345
2345
  break;
2346
2346
  }
2347
2347
  case "stage_changed":
2348
- e.stage === "streaming" || e.stage === "connecting" ? F.getState().setSessionStreaming(e.sessionId, !0) : (e.stage === "completing" || e.stage === "error" || e.stage === "cancelled") && (F.getState().setSessionStreaming(e.sessionId, !1), Q = !1);
2348
+ e.stage === "streaming" || e.stage === "connecting" ? I.getState().setSessionStreaming(e.sessionId, !0) : (e.stage === "completing" || e.stage === "error" || e.stage === "cancelled") && (I.getState().setSessionStreaming(e.sessionId, !1), $ = !1);
2349
2349
  break;
2350
2350
  case "stream_ended":
2351
- F.getState().setSessionStreaming(e.sessionId, !1), globalThis.setTimeout(() => {
2352
- let t = F.getState();
2351
+ I.getState().setSessionStreaming(e.sessionId, !1), globalThis.setTimeout(() => {
2352
+ let t = I.getState();
2353
2353
  t.getSessionActivity(e.sessionId)?.status === "completed" && t.clearSessionActivity(e.sessionId);
2354
- }, 2400), Q = !1;
2354
+ }, 2400), $ = !1;
2355
2355
  break;
2356
2356
  case "error":
2357
- F.getState().setSessionStreaming(e.sessionId, !1), F.getState().updateActivity({
2357
+ I.getState().setSessionStreaming(e.sessionId, !1), I.getState().updateActivity({
2358
2358
  sessionId: e.sessionId,
2359
2359
  status: "failed",
2360
2360
  phase: "连接断开或生成出错",
@@ -2364,25 +2364,25 @@ function un(e) {
2364
2364
  role: "model",
2365
2365
  content: "连接断开或生成出错。",
2366
2366
  timestamp: Date.now()
2367
- }]), Q = !1;
2367
+ }]), $ = !1;
2368
2368
  break;
2369
2369
  case "terminal":
2370
2370
  ln(e.status);
2371
2371
  break;
2372
2372
  case "stream_event":
2373
- if (e.event.EventType === "run_checkpoint" && Z.getState().upsertSessionCheckpoint(e.sessionId || e.event.SessionId, e.event), e.event.EventType === "run_status") {
2373
+ if (e.event.EventType === "run_checkpoint" && Q.getState().upsertSessionCheckpoint(e.sessionId || e.event.SessionId, e.event), e.event.EventType === "run_status") {
2374
2374
  let t = String(e.event.Content?.status || "").trim().toLowerCase();
2375
- t === "completed" ? F.getState().updateActivity({
2375
+ t === "completed" ? I.getState().updateActivity({
2376
2376
  sessionId: e.sessionId || e.event.SessionId,
2377
2377
  status: "completed",
2378
2378
  phase: "后台长任务已完成",
2379
2379
  countEvent: !1
2380
- }) : t === "cancelled" || t === "canceled" || t === "aborted" ? F.getState().updateActivity({
2380
+ }) : t === "cancelled" || t === "canceled" || t === "aborted" ? I.getState().updateActivity({
2381
2381
  sessionId: e.sessionId || e.event.SessionId,
2382
2382
  status: "stopped",
2383
2383
  phase: "后台长任务已取消",
2384
2384
  countEvent: !1
2385
- }) : (t === "failed" || t === "error") && F.getState().updateActivity({
2385
+ }) : (t === "failed" || t === "error") && I.getState().updateActivity({
2386
2386
  sessionId: e.sessionId || e.event.SessionId,
2387
2387
  status: "failed",
2388
2388
  phase: "后台长任务失败",
@@ -2393,12 +2393,12 @@ function un(e) {
2393
2393
  }
2394
2394
  }
2395
2395
  function dn() {
2396
- Q = !1;
2396
+ $ = !1;
2397
2397
  }
2398
2398
  //#endregion
2399
2399
  //#region src/hooks/useRunAgent.ts
2400
2400
  function fn(e) {
2401
- let t = A(/* @__PURE__ */ new Map()), n = A(() => {}), { agentId: r, apiFormats: i, agentFramework: a, selectedModel: o, selectedModelMetadata: s, thinkingMode: c, currentSessionIdRef: l, queuedDraftRef: u, onRunSettled: d, uiCapabilities: f } = e, p = O((e) => {
2401
+ let t = j(/* @__PURE__ */ new Map()), n = j(() => {}), { agentId: r, apiFormats: i, agentFramework: a, selectedModel: o, selectedModelMetadata: s, thinkingMode: c, currentSessionIdRef: l, queuedDraftRef: u, onRunSettled: d, uiCapabilities: f } = e, p = k((e) => {
2402
2402
  e.updateConfig({
2403
2403
  agentId: r,
2404
2404
  apiFormats: i,
@@ -2416,25 +2416,25 @@ function fn(e) {
2416
2416
  s,
2417
2417
  c,
2418
2418
  f.RunLifecycle?.CheckpointResumePreview
2419
- ]), m = O((n) => {
2419
+ ]), m = k((n) => {
2420
2420
  let r = String(n || "new-session"), i = t.current.get(r);
2421
- return i ? p(i) : (i = new St(e.api), p(i), i.subscribe(un), t.current.set(r, i)), i;
2421
+ return i ? p(i) : (i = new xt(e.api), p(i), i.subscribe(un), t.current.set(r, i)), i;
2422
2422
  }, [e.api, p]);
2423
- k(() => {
2423
+ A(() => {
2424
2424
  for (let e of t.current.values()) p(e);
2425
2425
  }, [p]);
2426
- let h = O((e) => {
2426
+ let h = k((e) => {
2427
2427
  u.current.push(e), _.getState().setQueuedDrafts((t) => [...t, e]);
2428
- }, [u]), g = O((e) => {
2428
+ }, [u]), g = k((e) => {
2429
2429
  let i = l.current, a = m(i);
2430
2430
  if (a.stage !== "idle") return !1;
2431
- dn(), _.getState().setMobileActionsOpen(!1), F.getState().setSessionStreaming(i, !0);
2431
+ dn(), _.getState().setMobileActionsOpen(!1), I.getState().setSessionStreaming(i, !0);
2432
2432
  let o = e.text.trim(), s = String(Date.now()), c = e.attachments.map((e) => ({
2433
2433
  name: e.name,
2434
2434
  url: URL.createObjectURL(e),
2435
2435
  type: e.type || "application/octet-stream"
2436
2436
  }));
2437
- (o || c.length > 0) && K.getState().patchMessages((e) => [...e, {
2437
+ (o || c.length > 0) && q.getState().patchMessages((e) => [...e, {
2438
2438
  id: s,
2439
2439
  role: "user",
2440
2440
  content: o,
@@ -2448,24 +2448,24 @@ function fn(e) {
2448
2448
  previousResponseId: e.previousResponseId,
2449
2449
  sessionId: i,
2450
2450
  onSessionCreated: (e) => {
2451
- L.getState().upsertSessions([{
2451
+ R.getState().upsertSessions([{
2452
2452
  SessionId: e,
2453
2453
  UpdatedAt: (/* @__PURE__ */ new Date()).toISOString()
2454
- }]), l.current = e, Te(r, e), L.getState().setCurrentSessionId(e), i !== e && t.current.set(e, a);
2454
+ }]), l.current = e, we(r, e), R.getState().setCurrentSessionId(e), i !== e && t.current.set(e, a);
2455
2455
  },
2456
2456
  onSessionUpsert: () => {},
2457
2457
  onSettled: (e) => {
2458
2458
  d?.(e), n.current();
2459
2459
  }
2460
2460
  });
2461
- return u || F.getState().setSessionStreaming(i, !1), u;
2461
+ return u || I.getState().setSessionStreaming(i, !1), u;
2462
2462
  }, [
2463
2463
  r,
2464
2464
  l,
2465
2465
  m,
2466
2466
  d
2467
2467
  ]);
2468
- return k(() => {
2468
+ return A(() => {
2469
2469
  n.current = () => {
2470
2470
  let e = u.current.shift();
2471
2471
  if (!e) {
@@ -2477,14 +2477,14 @@ function fn(e) {
2477
2477
  });
2478
2478
  };
2479
2479
  }, [u, g]), {
2480
- submitDraft: O(async (e, t, n, r) => {
2480
+ submitDraft: k(async (e, t, n, r) => {
2481
2481
  let i = {
2482
2482
  text: e,
2483
2483
  attachments: t,
2484
2484
  responsesInput: n,
2485
2485
  previousResponseId: r
2486
2486
  };
2487
- if (m(l.current).stage !== "idle" && F.getState().isSessionStreaming(l.current)) {
2487
+ if (m(l.current).stage !== "idle" && I.getState().isSessionStreaming(l.current)) {
2488
2488
  n === void 0 && h({
2489
2489
  text: e,
2490
2490
  attachments: t
@@ -2501,25 +2501,25 @@ function fn(e) {
2501
2501
  m,
2502
2502
  g
2503
2503
  ]),
2504
- stopGeneration: O(() => {
2504
+ stopGeneration: k(() => {
2505
2505
  m(l.current).stop();
2506
2506
  }, [l, m]),
2507
- disconnectRun: O(() => {
2507
+ disconnectRun: k(() => {
2508
2508
  m(l.current).disconnect();
2509
2509
  }, [l, m]),
2510
- resumeCheckpoint: O((e) => {
2510
+ resumeCheckpoint: k((e) => {
2511
2511
  let t = m(e.sessionId);
2512
2512
  if (t.stage !== "idle") return !1;
2513
- dn(), _.getState().setMobileActionsOpen(!1), F.getState().setSessionStreaming(e.sessionId, !0);
2513
+ dn(), _.getState().setMobileActionsOpen(!1), I.getState().setSessionStreaming(e.sessionId, !0);
2514
2514
  let r = t.resumeCheckpoint({
2515
2515
  ...e,
2516
2516
  onSettled: (e) => {
2517
2517
  d?.(e), n.current();
2518
2518
  }
2519
2519
  });
2520
- return r || F.getState().setSessionStreaming(e.sessionId, !1), r;
2520
+ return r || I.getState().setSessionStreaming(e.sessionId, !1), r;
2521
2521
  }, [m, d]),
2522
- resetCompaction: O(() => {
2522
+ resetCompaction: k(() => {
2523
2523
  dn();
2524
2524
  }, [])
2525
2525
  };
@@ -2529,10 +2529,10 @@ function fn(e) {
2529
2529
  function pn(e) {
2530
2530
  let { agentId: t, currentSessionId: n, isStreaming: r, api: i, submitDraft: a } = e;
2531
2531
  return {
2532
- submitResponseFeedback: O(async (e) => {
2532
+ submitResponseFeedback: k(async (e) => {
2533
2533
  if (!n) return;
2534
2534
  let r = null;
2535
- K.getState().patchMessages((t) => {
2535
+ q.getState().patchMessages((t) => {
2536
2536
  let n = v(t, {
2537
2537
  messageId: e.message.id,
2538
2538
  rating: e.rating,
@@ -2548,12 +2548,12 @@ function pn(e) {
2548
2548
  rating: e.rating,
2549
2549
  comment: e.comment || ""
2550
2550
  })))?.Feedback);
2551
- r && K.getState().patchMessages((t) => s(t, {
2551
+ r && q.getState().patchMessages((t) => s(t, {
2552
2552
  messageId: e.message.id,
2553
2553
  feedback: r
2554
2554
  }));
2555
2555
  } catch (t) {
2556
- console.error("Failed to submit response feedback:", t), K.getState().patchMessages((t) => C(t, {
2556
+ console.error("Failed to submit response feedback:", t), q.getState().patchMessages((t) => C(t, {
2557
2557
  messageId: e.message.id,
2558
2558
  previousFeedback: r
2559
2559
  }));
@@ -2563,10 +2563,10 @@ function pn(e) {
2563
2563
  n,
2564
2564
  i
2565
2565
  ]),
2566
- deleteResponseFeedback: O(async (e) => {
2566
+ deleteResponseFeedback: k(async (e) => {
2567
2567
  if (!n) return;
2568
2568
  let r = e.feedback ? { ...e.feedback } : null;
2569
- K.getState().patchMessages((t) => d(t, { messageId: e.id }));
2569
+ q.getState().patchMessages((t) => d(t, { messageId: e.id }));
2570
2570
  try {
2571
2571
  await i.deleteResponseFeedback(h({
2572
2572
  agentId: t,
@@ -2574,7 +2574,7 @@ function pn(e) {
2574
2574
  message: e
2575
2575
  }));
2576
2576
  } catch (t) {
2577
- console.error("Failed to delete response feedback:", t), K.getState().patchMessages((t) => C(t, {
2577
+ console.error("Failed to delete response feedback:", t), q.getState().patchMessages((t) => C(t, {
2578
2578
  messageId: e.id,
2579
2579
  previousFeedback: r
2580
2580
  }));
@@ -2584,14 +2584,14 @@ function pn(e) {
2584
2584
  n,
2585
2585
  i
2586
2586
  ]),
2587
- respondToApproval: O((e) => {
2588
- !e.approvalRequestId || r || (K.getState().patchMessages((t) => t.map((t) => ({
2587
+ respondToApproval: k((e) => {
2588
+ !e.approvalRequestId || r || (q.getState().patchMessages((t) => t.map((t) => ({
2589
2589
  ...t,
2590
2590
  tools: t.tools ? Object.fromEntries(Object.entries(t.tools).map(([t, n]) => [t, n.approvalRequestId === e.approvalRequestId ? {
2591
2591
  ...n,
2592
2592
  approvalStatus: e.approve ? "approved" : "rejected"
2593
2593
  } : n])) : t.tools
2594
- }))), K.getState().patchMessages((t) => [...t, {
2594
+ }))), q.getState().patchMessages((t) => [...t, {
2595
2595
  id: String(Date.now() + Math.random()),
2596
2596
  role: "system",
2597
2597
  content: e.approve ? "已批准工具调用,正在继续运行。" : "已拒绝工具调用,正在通知运行时。",
@@ -2637,7 +2637,10 @@ function _n(e = [], t = {}) {
2637
2637
  //#endregion
2638
2638
  //#region src/hooks/useSessionLifecycle.ts
2639
2639
  var vn = 9e4, yn = 30, bn = 50;
2640
- function xn(e) {
2640
+ function xn(e, t) {
2641
+ return t.length ? e.length ? e.length >= t.length : !1 : !0;
2642
+ }
2643
+ function Sn(e) {
2641
2644
  if (e.EventType !== "run_status") return null;
2642
2645
  let t = String(e.Content?.status || "").trim().toLowerCase();
2643
2646
  return t === "completed" ? {
@@ -2651,8 +2654,8 @@ function xn(e) {
2651
2654
  phase: "后台长任务失败"
2652
2655
  } : null;
2653
2656
  }
2654
- function Sn(e) {
2655
- let { agentId: t, api: n, isMobile: r, resetCompaction: i, uiCapabilities: a, disconnectRun: o } = e, s = A(e.currentSessionId), l = A(e.agentId), u = A(null), d = A(null), f = A(null), p = O(async (e, t, r) => {
2657
+ function Cn(e) {
2658
+ let { agentId: t, api: n, isMobile: r, resetCompaction: i, uiCapabilities: a, disconnectRun: o } = e, s = j(e.currentSessionId), l = j(e.agentId), u = j(null), d = j(null), f = j(null), p = k(async (e, t, r) => {
2656
2659
  let i = r.filter((e) => c(e, !1, !1));
2657
2660
  if (!i.length) return;
2658
2661
  let a = await Promise.all(i.map(async (r) => {
@@ -2673,11 +2676,11 @@ function Sn(e) {
2673
2676
  }));
2674
2677
  if (s.current !== t) return;
2675
2678
  let o = new Map(a.filter((e) => !!e).map((e) => [e.messageId, e.feedback]));
2676
- o.size && K.getState().patchMessages((e) => e.map((e) => o.has(e.id) ? {
2679
+ o.size && q.getState().patchMessages((e) => e.map((e) => o.has(e.id) ? {
2677
2680
  ...e,
2678
2681
  feedback: o.get(e.id)
2679
2682
  } : e));
2680
- }, [n]), m = O(async (e) => {
2683
+ }, [n]), m = k(async (e) => {
2681
2684
  u.current?.abort();
2682
2685
  let t = new AbortController();
2683
2686
  u.current = t;
@@ -2687,111 +2690,122 @@ function Sn(e) {
2687
2690
  a();
2688
2691
  }, vn);
2689
2692
  try {
2690
- let a = (await n.subscribeRunEvents({
2693
+ let o = (await n.subscribeRunEvents({
2691
2694
  sessionId: e.sessionId,
2692
2695
  invocationId: e.invocationId,
2693
2696
  afterSeqId: e.afterSeqId
2694
- }, { signal: t.signal })).getReader(), o = new TextDecoder(), s = "", c = Array.isArray(e.initialEvents) ? e.initialEvents : [];
2695
- for (F.getState().setCurrentRunId(e.invocationId), F.getState().updateActivity({
2697
+ }, { signal: t.signal })).getReader(), c = new TextDecoder(), l = "", u = Array.isArray(e.initialEvents) ? e.initialEvents : [];
2698
+ for (I.getState().setCurrentRunId(e.invocationId), I.getState().updateActivity({
2696
2699
  sessionId: e.sessionId,
2697
2700
  status: "running",
2698
2701
  phase: "后台长任务运行中",
2699
2702
  detail: e.invocationId,
2700
2703
  countEvent: !1
2701
2704
  }); !i;) {
2702
- let { value: t, done: n } = await a.read();
2705
+ let { value: t, done: n } = await o.read();
2703
2706
  if (n) break;
2704
- s += o.decode(t, { stream: !0 });
2705
- let l = s.split("\n\n");
2706
- s = l.pop() || "";
2707
- for (let t of l) {
2707
+ l += c.decode(t, { stream: !0 });
2708
+ let d = l.split("\n\n");
2709
+ l = d.pop() || "";
2710
+ for (let t of d) {
2708
2711
  if (!t.trim()) continue;
2709
2712
  let n = [];
2710
2713
  for (let e of t.split("\n")) e.startsWith("data:") && n.push(e.substring(5).trim());
2711
- let a = n.join("\n").trim();
2712
- if (!a || a === "[DONE]") {
2713
- i = a === "[DONE]", r ||= i;
2714
+ let o = n.join("\n").trim();
2715
+ if (!o || o === "[DONE]") {
2716
+ i = o === "[DONE]", r ||= i;
2714
2717
  continue;
2715
2718
  }
2716
2719
  try {
2717
- let t = JSON.parse(a);
2718
- c = rn(c, [t]), i ||= on(t), r ||= i, t.EventType === "run_checkpoint" && Z.getState().upsertSessionCheckpoint(e.sessionId, t);
2719
- let n = xn(t);
2720
- n && F.getState().updateActivity({
2720
+ let t = JSON.parse(o);
2721
+ u = nn(u, [t]), i ||= an(t), r ||= i, t.EventType === "run_checkpoint" && Q.getState().upsertSessionCheckpoint(e.sessionId, t);
2722
+ let n = Sn(t);
2723
+ if (n && I.getState().updateActivity({
2721
2724
  sessionId: e.sessionId,
2722
2725
  status: n.status,
2723
2726
  phase: n.phase,
2724
2727
  detail: e.invocationId,
2725
2728
  countEvent: !1
2726
- });
2727
- let o = nn(c);
2728
- K.getState().setMessages(o);
2729
+ }), s.current !== e.sessionId) {
2730
+ a();
2731
+ break;
2732
+ }
2733
+ let c = tn(u);
2734
+ xn(c, q.getState().messages) && q.getState().setMessages(c);
2729
2735
  } catch (e) {
2730
- console.warn("Failed to parse run event data", a, e);
2736
+ console.warn("Failed to parse run event data", o, e);
2731
2737
  }
2732
2738
  }
2733
2739
  }
2734
2740
  } catch (e) {
2735
2741
  e instanceof DOMException && e.name === "AbortError" || console.error("Failed to subscribe run events:", e);
2736
2742
  } finally {
2737
- globalThis.clearTimeout(o), u.current === t && (u.current = null), F.getState().setCurrentRunId(""), r && s.current === e.sessionId && d.current?.(e.sessionId), f.current?.(l.current, e.sessionId);
2743
+ globalThis.clearTimeout(o), u.current === t && (u.current = null), I.getState().setCurrentRunId(""), r && s.current === e.sessionId && d.current?.(e.sessionId), f.current?.(l.current, e.sessionId);
2738
2744
  }
2739
- }, [n]), h = O(async (e) => {
2740
- s.current = e, L.getState().setCurrentSessionId(e), i(), u.current?.abort(), r && _.getState().setMobileSidebarOpen(!1);
2745
+ }, [n]), h = k(async (e) => {
2746
+ s.current = e;
2747
+ let t = () => s.current === e;
2748
+ R.getState().setCurrentSessionId(e), i(), u.current?.abort(), r && _.getState().setMobileSidebarOpen(!1);
2741
2749
  try {
2742
- let t = L.getState().eventCache[e], r;
2743
- if (t) r = {
2744
- Events: t.events,
2745
- Total: t.total,
2746
- Offset: t.offset,
2747
- Limit: t.limit
2750
+ let r = R.getState().eventCache[e], i;
2751
+ if (r) i = {
2752
+ Events: r.events,
2753
+ Total: r.total,
2754
+ Offset: r.offset,
2755
+ Limit: r.limit
2748
2756
  };
2749
2757
  else {
2750
- let t = await n.listSessionEvents(e, {
2758
+ let r = await n.listSessionEvents(e, {
2751
2759
  offset: 0,
2752
2760
  limit: 1
2753
- }), i = Number(t.Total ?? t.Events?.length ?? 0), a = Math.max(0, i - bn);
2754
- r = i <= 1 ? t : await n.listSessionEvents(e, {
2755
- offset: a,
2761
+ }), a = Number(r.Total ?? r.Events?.length ?? 0), o = Math.max(0, a - bn);
2762
+ if (i = a <= 1 ? r : await n.listSessionEvents(e, {
2763
+ offset: o,
2756
2764
  limit: bn
2757
- }), L.getState().setSessionEventCache(e, {
2758
- events: r.Events || [],
2759
- total: i,
2760
- offset: Number(r.Offset ?? a),
2761
- limit: Number(r.Limit ?? r.Events?.length ?? 0)
2765
+ }), !t()) return;
2766
+ R.getState().setSessionEventCache(e, {
2767
+ events: i.Events || [],
2768
+ total: a,
2769
+ offset: Number(i.Offset ?? o),
2770
+ limit: Number(i.Limit ?? i.Events?.length ?? 0)
2762
2771
  });
2763
2772
  }
2764
- let i = N.getState().capabilities || a;
2765
- i.RunLifecycle.Enabled && i.RunLifecycle.Checkpoints ? (n.listSessionCheckpoints({
2773
+ if (!t()) return;
2774
+ let o = P.getState().capabilities || a;
2775
+ o.RunLifecycle.Enabled && o.RunLifecycle.Checkpoints ? (n.listSessionCheckpoints({
2766
2776
  agentId: l.current,
2767
2777
  sessionId: e
2768
2778
  }).then((t) => {
2769
- Z.getState().setSessionCheckpoints(e, t.Checkpoints || []);
2779
+ Q.getState().setSessionCheckpoints(e, t.Checkpoints || []);
2770
2780
  }).catch((t) => {
2771
- console.warn("[SessionLifecycle] checkpoint load failed:", t), Z.getState().setSessionCheckpoints(e, []);
2781
+ console.warn("[SessionLifecycle] checkpoint load failed:", t), Q.getState().setSessionCheckpoints(e, []);
2772
2782
  }), n.listToolReceipts({
2773
2783
  agentId: l.current,
2774
2784
  sessionId: e
2775
2785
  }).then((t) => {
2776
- Z.getState().setSessionToolReceipts(e, t.ToolReceipts || []);
2786
+ Q.getState().setSessionToolReceipts(e, t.ToolReceipts || []);
2777
2787
  }).catch((t) => {
2778
- console.warn("[SessionLifecycle] tool receipt load failed:", t), Z.getState().setSessionToolReceipts(e, []);
2779
- })) : Z.getState().clearSessionCheckpoints(e);
2780
- let o = r;
2781
- if (o?.Events) {
2782
- let t = o.Events, n = nn(t);
2783
- K.getState().setMessages(n), p(l.current, e, n);
2784
- let r = _n(t, {
2788
+ console.warn("[SessionLifecycle] tool receipt load failed:", t), Q.getState().setSessionToolReceipts(e, []);
2789
+ })) : Q.getState().clearSessionCheckpoints(e);
2790
+ let s = i;
2791
+ if (s?.Events) {
2792
+ let n = s.Events, r = tn(n);
2793
+ if (!t()) return;
2794
+ q.getState().setMessages(r), p(l.current, e, r);
2795
+ let i = _n(n, {
2785
2796
  now: Date.now(),
2786
2797
  staleAfterMs: 1800 * 1e3
2787
- }), a = an(t);
2788
- i.RunLifecycle.Enabled && i.RunLifecycle.Resume && r[0] && m({
2798
+ }), a = rn(n);
2799
+ o.RunLifecycle.Enabled && o.RunLifecycle.Resume && i[0] && m({
2789
2800
  sessionId: e,
2790
- invocationId: r[0],
2801
+ invocationId: i[0],
2791
2802
  afterSeqId: a,
2792
- initialEvents: t
2803
+ initialEvents: n
2793
2804
  });
2794
- } else K.getState().setMessages([]), Z.getState().setSessionCheckpoints(e, []), Z.getState().setSessionToolReceipts(e, []);
2805
+ } else {
2806
+ if (!t()) return;
2807
+ q.getState().setMessages([]), Q.getState().setSessionCheckpoints(e, []), Q.getState().setSessionToolReceipts(e, []);
2808
+ }
2795
2809
  } catch (e) {
2796
2810
  console.error("Failed to load session events:", e);
2797
2811
  }
@@ -2802,33 +2816,33 @@ function Sn(e) {
2802
2816
  i,
2803
2817
  m,
2804
2818
  a
2805
- ]), g = O(async (e = "default-agent", t = null) => {
2819
+ ]), g = k(async (e = "default-agent", t = null) => {
2806
2820
  try {
2807
- let r = L.getState();
2808
- r.sessionsAgentId && r.sessionsAgentId !== e && r.resetSessionPagination(e), L.getState().setLoadingSessions(!0);
2821
+ let r = R.getState();
2822
+ r.sessionsAgentId && r.sessionsAgentId !== e && r.resetSessionPagination(e), R.getState().setLoadingSessions(!0);
2809
2823
  let i = await n.listSessions(e, {
2810
2824
  page: 1,
2811
2825
  pageSize: yn
2812
2826
  });
2813
- L.getState().upsertSessions(i.Sessions || [], {
2827
+ R.getState().upsertSessions(i.Sessions || [], {
2814
2828
  agentId: e,
2815
2829
  total: Number(i.Total ?? i.Sessions?.length ?? 0),
2816
2830
  page: Number(i.Page ?? 1),
2817
2831
  pageSize: Number(i.PageSize ?? yn),
2818
2832
  replace: !0
2819
2833
  });
2820
- let a = L.getState().sessions, o = s.current, c = Ee(a, o || t || we(e));
2821
- c && c !== o ? h(c) : !c && o && (s.current = null, L.getState().setCurrentSessionId(null), K.getState().setMessages([]), Z.getState().clearSessionCheckpoints());
2834
+ let a = R.getState().sessions, o = s.current, c = Te(a, o || t || Ce(e));
2835
+ c && c !== o ? h(c) : !c && o && (s.current = null, R.getState().setCurrentSessionId(null), q.getState().setMessages([]), Q.getState().clearSessionCheckpoints());
2822
2836
  } catch (e) {
2823
- if (e instanceof H) return;
2837
+ if (e instanceof U) return;
2824
2838
  console.error("Failed to fetch sessions:", e);
2825
2839
  } finally {
2826
- L.getState().setLoadingSessions(!1);
2840
+ R.getState().setLoadingSessions(!1);
2827
2841
  }
2828
- }, [n, h]), v = O(async () => {
2829
- let e = L.getState();
2842
+ }, [n, h]), v = k(async () => {
2843
+ let e = R.getState();
2830
2844
  if (e.isLoadingSessions || !e.hasMoreSessions) return;
2831
- let t = de({
2845
+ let t = ue({
2832
2846
  total: e.sessionsTotal,
2833
2847
  pageSize: e.sessionsPageSize || yn,
2834
2848
  loadedPages: e.loadedPages
@@ -2836,39 +2850,39 @@ function Sn(e) {
2836
2850
  if (!t) return;
2837
2851
  let r = e.sessionsPageSize || yn, i = e.sessionsAgentId || l.current || "default-agent";
2838
2852
  try {
2839
- L.getState().setLoadingSessions(!0);
2853
+ R.getState().setLoadingSessions(!0);
2840
2854
  let a = await n.listSessions(i, {
2841
2855
  page: t,
2842
2856
  pageSize: r
2843
2857
  });
2844
- L.getState().upsertSessions(a.Sessions || [], {
2858
+ R.getState().upsertSessions(a.Sessions || [], {
2845
2859
  agentId: i,
2846
2860
  total: Number(a.Total ?? e.sessionsTotal),
2847
2861
  page: Number(a.Page ?? t),
2848
2862
  pageSize: Number(a.PageSize ?? r)
2849
2863
  });
2850
2864
  } catch (e) {
2851
- if (e instanceof H) return;
2865
+ if (e instanceof U) return;
2852
2866
  console.error("Failed to load more sessions:", e);
2853
2867
  } finally {
2854
- L.getState().setLoadingSessions(!1);
2868
+ R.getState().setLoadingSessions(!1);
2855
2869
  }
2856
2870
  }, [n]);
2857
- k(() => {
2871
+ A(() => {
2858
2872
  d.current = h;
2859
- }, [h]), k(() => {
2873
+ }, [h]), A(() => {
2860
2874
  f.current = g;
2861
2875
  }, [g]);
2862
- let y = O(async () => {
2876
+ let y = k(async () => {
2863
2877
  try {
2864
2878
  o?.();
2865
2879
  let e = (await n.createSession(t)).SessionId;
2866
- e && (L.getState().upsertSessions([{
2880
+ e && (R.getState().upsertSessions([{
2867
2881
  SessionId: e,
2868
2882
  UpdatedAt: (/* @__PURE__ */ new Date()).toISOString()
2869
- }]), s.current = e, L.getState().setCurrentSessionId(e), K.getState().setMessages([]), Z.getState().setSessionCheckpoints(e, []), Z.getState().setSessionToolReceipts(e, []), r && (_.getState().setMobileSidebarOpen(!1), _.getState().setMobileActionsOpen(!1)), g(t, e));
2883
+ }]), s.current = e, R.getState().setCurrentSessionId(e), q.getState().setMessages([]), Q.getState().setSessionCheckpoints(e, []), Q.getState().setSessionToolReceipts(e, []), r && (_.getState().setMobileSidebarOpen(!1), _.getState().setMobileActionsOpen(!1)), g(t, e));
2870
2884
  } catch (e) {
2871
- if (e instanceof H) return;
2885
+ if (e instanceof U) return;
2872
2886
  console.error("Failed to create session:", e);
2873
2887
  }
2874
2888
  }, [
@@ -2877,11 +2891,11 @@ function Sn(e) {
2877
2891
  o,
2878
2892
  g,
2879
2893
  r
2880
- ]), b = O(async (e) => {
2894
+ ]), b = k(async (e) => {
2881
2895
  try {
2882
- await n.deleteSession(e), L.getState().removeSession(e), L.getState().clearSessionEventCache(e), s.current === e && (s.current = null, K.getState().setMessages([]), Z.getState().clearSessionCheckpoints(e), L.getState().setCurrentSessionId(null), g(t));
2896
+ await n.deleteSession(e), R.getState().removeSession(e), R.getState().clearSessionEventCache(e), s.current === e && (s.current = null, q.getState().setMessages([]), Q.getState().clearSessionCheckpoints(e), R.getState().setCurrentSessionId(null), g(t));
2883
2897
  } catch (e) {
2884
- if (e instanceof H) return;
2898
+ if (e instanceof U) return;
2885
2899
  console.error("Failed to delete session", e);
2886
2900
  }
2887
2901
  }, [
@@ -2893,29 +2907,29 @@ function Sn(e) {
2893
2907
  fetchSessions: g,
2894
2908
  loadMoreSessions: v,
2895
2909
  loadSession: h,
2896
- loadOlderSessionEvents: O(async (e) => {
2897
- let t = L.getState().eventCache[e];
2910
+ loadOlderSessionEvents: k(async (e) => {
2911
+ let t = R.getState().eventCache[e];
2898
2912
  if (!t || t.offset <= 0 || t.isLoadingOlder) return;
2899
2913
  let r = Math.max(0, t.offset - bn), i = t.offset - r;
2900
2914
  try {
2901
- L.getState().setSessionEventLoadingOlder(e, !0);
2915
+ R.getState().setSessionEventLoadingOlder(e, !0);
2902
2916
  let a = await n.listSessionEvents(e, {
2903
2917
  offset: r,
2904
2918
  limit: i
2905
- }), o = rn(a.Events || [], t.events);
2906
- if (L.getState().setSessionEventCache(e, {
2919
+ }), o = nn(a.Events || [], t.events);
2920
+ if (R.getState().setSessionEventCache(e, {
2907
2921
  events: o,
2908
2922
  total: Number(a.Total ?? t.total),
2909
2923
  offset: Number(a.Offset ?? r),
2910
2924
  limit: o.length
2911
2925
  }), s.current === e) {
2912
- let t = nn(o);
2913
- K.getState().setMessages(t), p(l.current, e, t);
2926
+ let t = tn(o);
2927
+ q.getState().setMessages(t), p(l.current, e, t);
2914
2928
  }
2915
2929
  } catch (e) {
2916
- e instanceof H || console.error("Failed to load older session events:", e);
2930
+ e instanceof U || console.error("Failed to load older session events:", e);
2917
2931
  } finally {
2918
- L.getState().setSessionEventLoadingOlder(e, !1);
2932
+ R.getState().setSessionEventLoadingOlder(e, !1);
2919
2933
  }
2920
2934
  }, [n, p]),
2921
2935
  createNewSession: y,
@@ -2927,8 +2941,8 @@ function Sn(e) {
2927
2941
  }
2928
2942
  //#endregion
2929
2943
  //#region src/components/chat/ConnectedSidebar.tsx
2930
- function Cn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSession: s, loadMoreSessions: c }) {
2931
- let u = L((e) => e.sessions), d = L((e) => e.currentSessionId), f = L((e) => e.pinnedSessionIds), m = L((e) => e.isLoadingSessions), h = L((e) => e.hasMoreSessions), g = _((e) => e.sidebarOpen), v = _((e) => e.mobileSidebarOpen), { isMobile: y } = Ie(), b = t(e), { desktopSidebarVisible: ee } = ve({
2944
+ function wn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSession: s, loadMoreSessions: c }) {
2945
+ let u = R((e) => e.sessions), d = R((e) => e.currentSessionId), f = R((e) => e.pinnedSessionIds), m = R((e) => e.isLoadingSessions), h = R((e) => e.hasMoreSessions), g = _((e) => e.sidebarOpen), v = _((e) => e.mobileSidebarOpen), { isMobile: y } = Fe(), b = t(e), { desktopSidebarVisible: ee } = _e({
2932
2946
  isMobile: y,
2933
2947
  desktopSidebarOpen: g,
2934
2948
  mobileSidebarOpen: v
@@ -2957,7 +2971,7 @@ function Cn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSess
2957
2971
  t.stopPropagation(), a(e);
2958
2972
  },
2959
2973
  onTogglePinSession: (e, t) => {
2960
- t.stopPropagation(), L.getState().togglePinnedSession(e);
2974
+ t.stopPropagation(), R.getState().togglePinnedSession(e);
2961
2975
  },
2962
2976
  onLoadMoreSessions: c,
2963
2977
  sessionTitle: te,
@@ -2978,7 +2992,7 @@ function Cn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSess
2978
2992
  t.stopPropagation(), a(e);
2979
2993
  },
2980
2994
  onTogglePinSession: (e, t) => {
2981
- t.stopPropagation(), L.getState().togglePinnedSession(e);
2995
+ t.stopPropagation(), R.getState().togglePinnedSession(e);
2982
2996
  },
2983
2997
  onLoadMoreSessions: c,
2984
2998
  sessionTitle: te,
@@ -2990,17 +3004,17 @@ function Cn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSess
2990
3004
  }
2991
3005
  //#endregion
2992
3006
  //#region src/components/ui/dialog.tsx
2993
- var wn = j.Root, Tn = j.Portal, En = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(j.Overlay, {
3007
+ var Tn = M.Root, En = M.Portal, Dn = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(M.Overlay, {
2994
3008
  ref: n,
2995
3009
  className: p("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", e),
2996
3010
  ...t
2997
3011
  }));
2998
- En.displayName = j.Overlay.displayName;
2999
- var Dn = D.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ E(Tn, { children: [/* @__PURE__ */ T(En, {}), /* @__PURE__ */ E(j.Content, {
3012
+ Dn.displayName = M.Overlay.displayName;
3013
+ var On = D.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ E(En, { children: [/* @__PURE__ */ T(Dn, {}), /* @__PURE__ */ E(M.Content, {
3000
3014
  ref: r,
3001
3015
  className: p("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", e),
3002
3016
  ...n,
3003
- children: [t, /* @__PURE__ */ E(j.Close, {
3017
+ children: [t, /* @__PURE__ */ E(M.Close, {
3004
3018
  className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
3005
3019
  children: [/* @__PURE__ */ T(w, { className: "h-4 w-4" }), /* @__PURE__ */ T("span", {
3006
3020
  className: "sr-only",
@@ -3008,50 +3022,50 @@ var Dn = D.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ *
3008
3022
  })]
3009
3023
  })]
3010
3024
  })] }));
3011
- Dn.displayName = j.Content.displayName;
3012
- var On = ({ className: e, ...t }) => /* @__PURE__ */ T("div", {
3025
+ On.displayName = M.Content.displayName;
3026
+ var kn = ({ className: e, ...t }) => /* @__PURE__ */ T("div", {
3013
3027
  className: p("flex flex-col space-y-1.5 text-center sm:text-left", e),
3014
3028
  ...t
3015
3029
  });
3016
- On.displayName = "DialogHeader";
3017
- var kn = ({ className: e, ...t }) => /* @__PURE__ */ T("div", {
3030
+ kn.displayName = "DialogHeader";
3031
+ var An = ({ className: e, ...t }) => /* @__PURE__ */ T("div", {
3018
3032
  className: p("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e),
3019
3033
  ...t
3020
3034
  });
3021
- kn.displayName = "DialogFooter";
3022
- var An = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(j.Title, {
3035
+ An.displayName = "DialogFooter";
3036
+ var jn = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(M.Title, {
3023
3037
  ref: n,
3024
3038
  className: p("text-lg font-semibold leading-none tracking-tight", e),
3025
3039
  ...t
3026
3040
  }));
3027
- An.displayName = j.Title.displayName;
3028
- var jn = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(j.Description, {
3041
+ jn.displayName = M.Title.displayName;
3042
+ var Mn = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(M.Description, {
3029
3043
  ref: n,
3030
3044
  className: p("text-sm text-muted-foreground", e),
3031
3045
  ...t
3032
3046
  }));
3033
- jn.displayName = j.Description.displayName;
3047
+ Mn.displayName = M.Description.displayName;
3034
3048
  //#endregion
3035
3049
  //#region src/components/chat/AttachmentPreview.tsx
3036
- function Mn(e, t) {
3050
+ function Nn(e, t) {
3037
3051
  if (!(!t || e)) return {
3038
3052
  width: `min(${t.width}px, calc(100vw - 5rem))`,
3039
3053
  height: `min(${t.height}px, calc(100vh - 9rem))`
3040
3054
  };
3041
3055
  }
3042
- function Nn(e, t) {
3056
+ function Pn(e, t) {
3043
3057
  if (!(!t || e)) return { width: `min(${t.width + 32}px, calc(100vw - 3rem))` };
3044
3058
  }
3045
- function Pn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onImageLoad: i }) {
3046
- return /* @__PURE__ */ T(wn, {
3059
+ function Fn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onImageLoad: i }) {
3060
+ return /* @__PURE__ */ T(Tn, {
3047
3061
  open: !!e?.url,
3048
3062
  onOpenChange: (e) => !e && r(),
3049
- children: /* @__PURE__ */ E(Dn, {
3063
+ children: /* @__PURE__ */ E(On, {
3050
3064
  className: p("gap-0 overflow-hidden border-slate-700 bg-slate-950 p-0 text-slate-100 shadow-2xl [&>button]:right-3 [&>button]:top-3 [&>button]:rounded-md [&>button]:border [&>button]:border-slate-700 [&>button]:bg-slate-900/70 [&>button]:p-1.5 [&>button]:text-slate-200 [&>button]:opacity-100", t ? "left-0 top-0 h-[var(--app-height)] max-h-[var(--app-height)] w-screen max-w-none translate-x-0 translate-y-0 rounded-none border-0" : "max-h-[calc(100vh-2rem)] max-w-[calc(100vw-2rem)] rounded-2xl"),
3051
- style: Nn(t, n),
3065
+ style: Pn(t, n),
3052
3066
  children: [/* @__PURE__ */ T("div", {
3053
3067
  className: "flex items-center gap-3 border-b border-slate-800 px-4 py-3 pr-16",
3054
- children: /* @__PURE__ */ T(An, {
3068
+ children: /* @__PURE__ */ T(jn, {
3055
3069
  className: "truncate text-sm font-medium",
3056
3070
  children: e?.name || "附件预览"
3057
3071
  })
@@ -3061,7 +3075,7 @@ function Pn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onIma
3061
3075
  src: e.url,
3062
3076
  alt: e.name,
3063
3077
  className: p("object-contain", t ? "h-auto max-h-full w-full max-w-full" : "h-auto w-auto max-h-[calc(100vh-9rem)] max-w-[calc(100vw-5rem)]"),
3064
- style: Mn(t, n),
3078
+ style: Nn(t, n),
3065
3079
  onLoad: (e) => {
3066
3080
  let t = e.currentTarget;
3067
3081
  i({
@@ -3080,7 +3094,7 @@ function Pn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onIma
3080
3094
  }
3081
3095
  //#endregion
3082
3096
  //#region src/utils/context.js
3083
- function Fn(e) {
3097
+ function In(e) {
3084
3098
  if (typeof e == "number" && Number.isFinite(e) && e > 0) return e;
3085
3099
  if (typeof e == "string" && e.trim()) {
3086
3100
  let t = Number(e);
@@ -3088,15 +3102,15 @@ function Fn(e) {
3088
3102
  }
3089
3103
  return null;
3090
3104
  }
3091
- function In(e) {
3105
+ function Ln(e) {
3092
3106
  return /[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/u.test(e);
3093
3107
  }
3094
- function Ln(e) {
3108
+ function Rn(e) {
3095
3109
  let t = String(e || "").trim();
3096
3110
  if (!t) return 0;
3097
3111
  let n = 0, r = 0;
3098
3112
  for (let e of t) {
3099
- if (In(e)) {
3113
+ if (Ln(e)) {
3100
3114
  n += 1;
3101
3115
  continue;
3102
3116
  }
@@ -3104,24 +3118,24 @@ function Ln(e) {
3104
3118
  }
3105
3119
  return Math.max(1, n + Math.ceil(r / 4));
3106
3120
  }
3107
- function Rn(e) {
3108
- if (!e) return 0;
3109
- if (e.role === "system") return e.eventType === "context_checkpoint" ? Ln(e.summary || "") : 0;
3110
- let t = Ln(e.content || "");
3111
- return e.tools && (t += Object.values(e.tools).reduce((e, t) => e + Ln(t?.name || "") + Ln(t?.args || "") + Ln(t?.output || ""), 0)), t;
3112
- }
3113
3121
  function zn(e) {
3114
- return e ? Fn(e.context_window_tokens) ?? Fn(e?.limits?.context_window_tokens) : null;
3122
+ if (!e) return 0;
3123
+ if (e.role === "system") return e.eventType === "context_checkpoint" ? Rn(e.summary || "") : 0;
3124
+ let t = Rn(e.content || "");
3125
+ return e.tools && (t += Object.values(e.tools).reduce((e, t) => e + Rn(t?.name || "") + Rn(t?.args || "") + Rn(t?.output || ""), 0)), t;
3115
3126
  }
3116
3127
  function Bn(e) {
3117
- return e ? Fn(e.auto_compact_threshold_percentage) ?? 84 : 84;
3128
+ return e ? In(e.context_window_tokens) ?? In(e?.limits?.context_window_tokens) : null;
3118
3129
  }
3119
- function Vn({ messages: e, draftInput: t, selectedModel: n }) {
3120
- let r = zn(n);
3130
+ function Vn(e) {
3131
+ return e ? In(e.auto_compact_threshold_percentage) ?? 84 : 84;
3132
+ }
3133
+ function Hn({ messages: e, draftInput: t, selectedModel: n }) {
3134
+ let r = Bn(n);
3121
3135
  if (!r) return null;
3122
3136
  let i = [...e || []].reverse().find((e) => e?.role === "system" && e?.eventType === "context_checkpoint" && e?.status === "running");
3123
3137
  if (i) {
3124
- let e = Rn(i);
3138
+ let e = zn(i);
3125
3139
  return {
3126
3140
  label: "正在压缩上下文…",
3127
3141
  phase: "compressing",
@@ -3130,10 +3144,10 @@ function Vn({ messages: e, draftInput: t, selectedModel: n }) {
3130
3144
  percent: Math.min(100, Math.max(0, Math.round(e / r * 100)))
3131
3145
  };
3132
3146
  }
3133
- let a = (e || []).reduce((e, t) => e + Rn(t), 0) + Ln(t || "");
3147
+ let a = (e || []).reduce((e, t) => e + zn(t), 0) + Rn(t || "");
3134
3148
  if (a <= 0) return null;
3135
3149
  let o = Math.min(100, Math.max(0, Math.round(a / r * 100)));
3136
- return o >= Bn(n) ? {
3150
+ return o >= Vn(n) ? {
3137
3151
  label: `估算上下文 ${o}% · 即将压缩`,
3138
3152
  phase: "warning",
3139
3153
  percent: o,
@@ -3149,19 +3163,19 @@ function Vn({ messages: e, draftInput: t, selectedModel: n }) {
3149
3163
  }
3150
3164
  //#endregion
3151
3165
  //#region src/components/chat/ConnectedMessageList.tsx
3152
- function Hn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback: r, onRespondToApproval: i, onStopGeneration: a, onCancelRemote: o, checkpointResumeEnabled: s = !1, onResumeCheckpoint: c, onLoadOlderSessionEvents: l }) {
3153
- let u = K((e) => e.messages), d = L((e) => e.currentSessionId), f = F((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = F((e) => e.getSessionActivity(d)), h = Z((e) => e.getSessionCheckpoints(d)), g = L((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = P((e) => e.availableModels), b = P((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = A(null), S = A(!0), C = A(!1), ne = A(0), w = A(f), D = A(!1), ie = oe(() => y.find((e) => e.id === b) || null, [y, b]), ae = oe(() => Vn({
3166
+ function Un({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback: r, onRespondToApproval: i, onStopGeneration: a, onCancelRemote: o, checkpointResumeEnabled: s = !1, onResumeCheckpoint: c, onLoadOlderSessionEvents: l }) {
3167
+ let u = q((e) => e.messages), d = R((e) => e.currentSessionId), f = I((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = I((e) => e.getSessionActivity(d)), h = Q((e) => e.getSessionCheckpoints(d)), g = R((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = F((e) => e.availableModels), b = F((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = j(null), S = j(!0), C = j(!1), ne = j(0), w = j(f), D = j(!1), O = ae(() => y.find((e) => e.id === b) || null, [y, b]), ie = ae(() => Hn({
3154
3168
  messages: u,
3155
3169
  draftInput: v,
3156
- selectedModel: ie
3170
+ selectedModel: O
3157
3171
  }), [
3158
3172
  v,
3159
3173
  u,
3160
- ie
3174
+ O
3161
3175
  ]);
3162
- return k(() => {
3176
+ return A(() => {
3163
3177
  w.current = f;
3164
- }, [f]), k(() => {
3178
+ }, [f]), A(() => {
3165
3179
  let e = x.current;
3166
3180
  if (!e) return;
3167
3181
  let t = () => {
@@ -3195,7 +3209,7 @@ function Hn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
3195
3209
  g,
3196
3210
  d,
3197
3211
  l
3198
- ]), k(() => {
3212
+ ]), A(() => {
3199
3213
  let e = x.current;
3200
3214
  !e || !S.current || (e.scrollTop = e.scrollHeight, ne.current = e.scrollTop);
3201
3215
  }, [u, f]), /* @__PURE__ */ E(re, { children: [/* @__PURE__ */ T(m, {
@@ -3203,7 +3217,7 @@ function Hn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
3203
3217
  isMobile: t,
3204
3218
  isStreaming: f,
3205
3219
  activity: p,
3206
- contextIndicator: ae,
3220
+ contextIndicator: ie,
3207
3221
  messages: u,
3208
3222
  onDeleteFeedback: n,
3209
3223
  onOpenAttachmentPreview: (e) => {
@@ -3216,7 +3230,7 @@ function Hn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
3216
3230
  checkpoints: s ? h : [],
3217
3231
  onResumeCheckpoint: c,
3218
3232
  scrollRef: x
3219
- }), /* @__PURE__ */ T(Pn, {
3233
+ }), /* @__PURE__ */ T(Fn, {
3220
3234
  attachment: ee,
3221
3235
  isMobile: t,
3222
3236
  previewImageSize: te,
@@ -3228,7 +3242,7 @@ function Hn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
3228
3242
  }
3229
3243
  //#endregion
3230
3244
  //#region src/utils/attachment.ts
3231
- function Un(e) {
3245
+ function Wn(e) {
3232
3246
  return [
3233
3247
  e.name,
3234
3248
  e.size,
@@ -3236,19 +3250,19 @@ function Un(e) {
3236
3250
  e.type
3237
3251
  ].join(":");
3238
3252
  }
3239
- function Wn(e, t) {
3253
+ function Gn(e, t) {
3240
3254
  let n = /* @__PURE__ */ new Map();
3241
- for (let t of e) n.set(Un(t), t);
3242
- for (let e of t) n.set(Un(e), e);
3255
+ for (let t of e) n.set(Wn(t), t);
3256
+ for (let e of t) n.set(Wn(e), e);
3243
3257
  return Array.from(n.values());
3244
3258
  }
3245
- function Gn(e) {
3259
+ function Kn(e) {
3246
3260
  return Array.from(e.clipboardData.items || []).filter((e) => e.kind === "file").map((e) => e.getAsFile()).filter((e) => !!e);
3247
3261
  }
3248
3262
  //#endregion
3249
3263
  //#region src/components/chat/ConnectedComposer.tsx
3250
- function Kn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRemote: r, isMobile: i }) {
3251
- let o = _((e) => e.input), s = _((e) => e.attachments), c = L((e) => e.currentSessionId), l = F((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = K((e) => e.messages), f = P((e) => e.availableModels), p = P((e) => e.selectedModel), m = A(null), h = A(null), g = oe(() => f.find((e) => e.id === p) || null, [f, p]), v = oe(() => Vn({
3264
+ function qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRemote: r, isMobile: i }) {
3265
+ let o = _((e) => e.input), s = _((e) => e.attachments), c = R((e) => e.currentSessionId), l = I((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = q((e) => e.messages), f = F((e) => e.availableModels), p = F((e) => e.selectedModel), m = j(null), h = j(null), g = ae(() => f.find((e) => e.id === p) || null, [f, p]), v = ae(() => Hn({
3252
3266
  messages: d,
3253
3267
  draftInput: o,
3254
3268
  selectedModel: g
@@ -3256,16 +3270,16 @@ function Kn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
3256
3270
  o,
3257
3271
  d,
3258
3272
  g
3259
- ]), y = O((e, n) => {
3273
+ ]), y = k((e, n) => {
3260
3274
  !e && n.length === 0 || (_.getState().setInput(""), _.getState().setAttachments([]), t(e, n));
3261
3275
  }, [t]);
3262
- k(() => {
3276
+ A(() => {
3263
3277
  h.current && (h.current.style.height = "auto", h.current.style.height = `${Math.min(h.current.scrollHeight, e)}px`);
3264
3278
  }, [o, e]);
3265
3279
  let b = (t) => {
3266
3280
  _.getState().setInput(t.target.value), t.target.style.height = "auto", t.target.style.height = `${Math.min(t.target.scrollHeight, e)}px`;
3267
3281
  }, ee = (e) => {
3268
- e.length && _.getState().setAttachments((t) => Wn(t, e));
3282
+ e.length && _.getState().setAttachments((t) => Gn(t, e));
3269
3283
  };
3270
3284
  return /* @__PURE__ */ T(a, {
3271
3285
  attachments: s,
@@ -3279,7 +3293,7 @@ function Kn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
3279
3293
  onAppendAttachments: ee,
3280
3294
  onInputChange: b,
3281
3295
  onPaste: (e) => {
3282
- let t = Gn(e);
3296
+ let t = Kn(e);
3283
3297
  t.length && (e.preventDefault(), e.stopPropagation(), ee(t));
3284
3298
  },
3285
3299
  onRemoveAttachment: (e) => _.getState().setAttachments((t) => t.filter((t, n) => n !== e)),
@@ -3291,8 +3305,8 @@ function Kn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
3291
3305
  }
3292
3306
  //#endregion
3293
3307
  //#region src/api/session.ts
3294
- async function qn(e, t) {
3295
- let n = await G("ListSessions", {
3308
+ async function Jn(e, t) {
3309
+ let n = await K("ListSessions", {
3296
3310
  AgentId: e,
3297
3311
  Page: t?.page,
3298
3312
  PageSize: t?.pageSize
@@ -3304,16 +3318,16 @@ async function qn(e, t) {
3304
3318
  PageSize: Number.isFinite(Number(n.PageSize)) ? Number(n.PageSize) : t?.pageSize ?? n.Sessions?.length ?? 0
3305
3319
  };
3306
3320
  }
3307
- async function Jn(e, t) {
3308
- return (await G("CreateSession", { AgentId: e }, t)).Session;
3309
- }
3310
3321
  async function Yn(e, t) {
3311
- await G("DeleteSession", { SessionId: e }, t);
3322
+ return (await K("CreateSession", { AgentId: e }, t)).Session;
3323
+ }
3324
+ async function Xn(e, t) {
3325
+ await K("DeleteSession", { SessionId: e }, t);
3312
3326
  }
3313
3327
  //#endregion
3314
3328
  //#region src/api/events.ts
3315
- async function Xn(e, t) {
3316
- let n = await G("ListSessionEvents", {
3329
+ async function Zn(e, t) {
3330
+ let n = await K("ListSessionEvents", {
3317
3331
  SessionId: e,
3318
3332
  Offset: t?.offset,
3319
3333
  Limit: t?.limit
@@ -3327,34 +3341,34 @@ async function Xn(e, t) {
3327
3341
  }
3328
3342
  //#endregion
3329
3343
  //#region src/api/run.ts
3330
- async function Zn(e, t) {
3331
- return Be("RunAgent", e, t);
3344
+ async function Qn(e, t) {
3345
+ return ze("RunAgent", e, t);
3332
3346
  }
3333
3347
  //#endregion
3334
3348
  //#region src/api/checkpoints.ts
3335
- async function Qn(e, t) {
3349
+ async function $n(e, t) {
3336
3350
  let n = {
3337
3351
  AgentId: e.agentId,
3338
3352
  SessionId: e.sessionId
3339
3353
  };
3340
- return e.runId && (n.RunId = e.runId), G("ListSessionCheckpoints", n, t);
3354
+ return e.runId && (n.RunId = e.runId), K("ListSessionCheckpoints", n, t);
3341
3355
  }
3342
- async function $n(e, t) {
3343
- return G("PreviewCheckpointResume", {
3356
+ async function er(e, t) {
3357
+ return K("PreviewCheckpointResume", {
3344
3358
  AgentId: e.agentId,
3345
3359
  SessionId: e.sessionId,
3346
3360
  RunId: e.runId,
3347
3361
  CheckpointId: e.checkpointId
3348
3362
  }, t);
3349
3363
  }
3350
- async function er(e, t) {
3364
+ async function tr(e, t) {
3351
3365
  let n = {
3352
3366
  AgentId: e.agentId,
3353
3367
  SessionId: e.sessionId
3354
3368
  };
3355
- return e.runId && (n.RunId = e.runId), e.checkpointId && (n.CheckpointId = e.checkpointId), G("ListToolReceipts", n, t);
3369
+ return e.runId && (n.RunId = e.runId), e.checkpointId && (n.CheckpointId = e.checkpointId), K("ListToolReceipts", n, t);
3356
3370
  }
3357
- async function tr(e, t) {
3371
+ async function nr(e, t) {
3358
3372
  let n = {
3359
3373
  AgentId: e.agentId,
3360
3374
  SessionId: e.sessionId,
@@ -3362,28 +3376,28 @@ async function tr(e, t) {
3362
3376
  CheckpointId: e.checkpointId,
3363
3377
  Stream: !0
3364
3378
  };
3365
- return e.resumeAttemptId && (n.ResumeAttemptId = e.resumeAttemptId), e.invocationId && (n.InvocationId = e.invocationId), Be("ResumeRun", n, t);
3379
+ return e.resumeAttemptId && (n.ResumeAttemptId = e.resumeAttemptId), e.invocationId && (n.InvocationId = e.invocationId), ze("ResumeRun", n, t);
3366
3380
  }
3367
3381
  //#endregion
3368
3382
  //#region src/api/workspace.ts
3369
- async function nr(e, t, n) {
3370
- return G("ListWorkspaceFiles", {
3383
+ async function rr(e, t, n) {
3384
+ return K("ListWorkspaceFiles", {
3371
3385
  AgentId: e,
3372
3386
  Path: t,
3373
3387
  Recursive: n
3374
3388
  });
3375
3389
  }
3376
- async function rr(e) {
3377
- return Re("AddWorkspaceFile", e);
3390
+ async function ir(e) {
3391
+ return Le("AddWorkspaceFile", e);
3378
3392
  }
3379
- async function ir(e, t) {
3380
- return G("DeleteWorkspaceFile", {
3393
+ async function ar(e, t) {
3394
+ return K("DeleteWorkspaceFile", {
3381
3395
  AgentId: e,
3382
3396
  Path: t
3383
3397
  });
3384
3398
  }
3385
- async function ar(e, t, n) {
3386
- return ze("GetWorkspaceFileContent", {
3399
+ async function or(e, t, n) {
3400
+ return Re("GetWorkspaceFileContent", {
3387
3401
  AgentId: e,
3388
3402
  FilePath: t
3389
3403
  }, {
@@ -3393,138 +3407,133 @@ async function ar(e, t, n) {
3393
3407
  }
3394
3408
  //#endregion
3395
3409
  //#region src/api/upload.ts
3396
- async function or(e, t) {
3397
- return Re("UploadFile", e, t);
3410
+ async function sr(e, t) {
3411
+ return Le("UploadFile", e, t);
3398
3412
  }
3399
3413
  //#endregion
3400
3414
  //#region src/core/api/facade.ts
3401
- var sr = class {
3415
+ var cr = class {
3402
3416
  async listSessions(e, t) {
3403
- return qn(e, t);
3417
+ return Jn(e, t);
3404
3418
  }
3405
3419
  async createSession(e, t) {
3406
- return { SessionId: (await Jn(e, t)).SessionId };
3420
+ return { SessionId: (await Yn(e, t)).SessionId };
3407
3421
  }
3408
3422
  async deleteSession(e, t) {
3409
- await Yn(e, t);
3423
+ await Xn(e, t);
3410
3424
  }
3411
3425
  async listSessionEvents(e, t) {
3412
- return Xn(e, t);
3426
+ return Zn(e, t);
3413
3427
  }
3414
3428
  async listSessionCheckpoints(e, t) {
3415
- return Qn(e, t);
3429
+ return $n(e, t);
3416
3430
  }
3417
3431
  async previewCheckpointResume(e, t) {
3418
- return $n(e, t);
3432
+ return er(e, t);
3419
3433
  }
3420
3434
  async listToolReceipts(e, t) {
3421
- return er(e, t);
3435
+ return tr(e, t);
3422
3436
  }
3423
3437
  async runAgent(e, t) {
3424
- return Zn(e, t);
3438
+ return Qn(e, t);
3425
3439
  }
3426
3440
  async resumeRun(e, t) {
3427
- return tr(e, t);
3441
+ return nr(e, t);
3428
3442
  }
3429
3443
  async subscribeRunEvents(e, t) {
3430
- return Ve("SubscribeRunEvents", {
3444
+ return Be("SubscribeRunEvents", {
3431
3445
  SessionId: e.sessionId,
3432
3446
  InvocationId: e.invocationId,
3433
3447
  AfterSeqId: String(e.afterSeqId)
3434
3448
  }, t);
3435
3449
  }
3436
3450
  async cancelRun(e, t, n) {
3437
- return G("CancelRun", {
3451
+ return K("CancelRun", {
3438
3452
  AgentId: e,
3439
3453
  InvocationId: t
3440
3454
  }, n);
3441
3455
  }
3442
3456
  async getResponseFeedback(e, t) {
3443
- return G("GetResponseFeedback", e, t);
3457
+ return K("GetResponseFeedback", e, t);
3444
3458
  }
3445
3459
  async upsertResponseFeedback(e, t) {
3446
- return G("UpsertResponseFeedback", e, t);
3460
+ return K("UpsertResponseFeedback", e, t);
3447
3461
  }
3448
3462
  async deleteResponseFeedback(e, t) {
3449
- await G("DeleteResponseFeedback", e, t);
3463
+ await K("DeleteResponseFeedback", e, t);
3450
3464
  }
3451
3465
  async listWorkspaceFiles(e, t, n) {
3452
- return nr(e, t, n);
3466
+ return rr(e, t, n);
3453
3467
  }
3454
3468
  async addWorkspaceFile(e) {
3455
- return rr(e);
3469
+ return ir(e);
3456
3470
  }
3457
3471
  async deleteWorkspaceFile(e, t) {
3458
- await ir(e, t);
3472
+ await ar(e, t);
3459
3473
  }
3460
3474
  async getWorkspaceFileContent(e, t, n) {
3461
- return ar(e, t, n);
3475
+ return or(e, t, n);
3462
3476
  }
3463
3477
  async listAgentModels(e) {
3464
- return Ue(e);
3478
+ return He(e);
3465
3479
  }
3466
3480
  async getAgentUiBootstrap() {
3467
- return He();
3481
+ return Ve();
3468
3482
  }
3469
3483
  async uploadFile(e, t) {
3470
- return or(e, t);
3471
- }
3472
- }, cr = new sr(), lr = ie.lazy(() => import("./ArtifactsPanel-yLxSIEFw.js").then((e) => ({ default: e.ArtifactsPanel }))), ur = ie.lazy(() => import("./NativeTerminalPanel-Bzdmm_Au.js").then((e) => e.n).then((e) => ({ default: e.NativeTerminalPanel })));
3473
- function dr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3474
- let a = e || cr, o = N((e) => e.agentId), s = L((e) => e.currentSessionId), c = F((e) => e.isStreaming), l = _((e) => e.sidebarOpen), u = _((e) => e.mobileSidebarOpen), d = _((e) => e.mobileActionsOpen), f = N((e) => e.agentName), p = P((e) => e.selectedModel), m = P((e) => e.availableModels), h = P((e) => e.modelSource), v = P((e) => e.modelCatalogLoaded), te = P((e) => e.thinkingMode), x = N((e) => e.agentFramework), S = N((e) => e.workspaceFiles), C = N((e) => e.accessMode), w = _((e) => e.workspacePanelOpen), D = _((e) => e.workspacePanelWidth), ie = _((e) => e.workspacePanelFullscreen), oe = N((e) => e.apiFormats), j = N((e) => e.capabilities), M = ne((e) => e.visible && !!e.content), ce = A([]), le = A(null), { isMobile: I, viewportHeight: ue } = Ie(), de = ye({
3475
- isMobile: I,
3476
- viewportHeight: ue
3477
- }), { fetchSessions: fe, loadMoreSessions: pe, loadSession: me, loadOlderSessionEvents: he, createNewSession: ge, deleteSession: _e, currentSessionIdRef: R, agentIdRef: z, runSubscriptionAbortRef: ve } = Sn({
3484
+ return sr(e, t);
3485
+ }
3486
+ }, lr = new cr(), ur = O.lazy(() => import("./ArtifactsPanel-BCjpJZ9m.js").then((e) => ({ default: e.ArtifactsPanel }))), dr = O.lazy(() => import("./NativeTerminalPanel-C1LtiwB7.js").then((e) => e.n).then((e) => ({ default: e.NativeTerminalPanel })));
3487
+ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3488
+ let a = e || lr, o = P((e) => e.agentId), s = R((e) => e.currentSessionId), c = I((e) => e.isStreaming), l = _((e) => e.sidebarOpen), u = _((e) => e.mobileSidebarOpen), d = _((e) => e.mobileActionsOpen), f = P((e) => e.agentName), p = F((e) => e.selectedModel), m = F((e) => e.availableModels), h = F((e) => e.modelSource), v = F((e) => e.modelCatalogLoaded), te = F((e) => e.thinkingMode), x = P((e) => e.agentFramework), S = P((e) => e.workspaceFiles), C = P((e) => e.accessMode), w = _((e) => e.workspacePanelOpen), D = _((e) => e.workspacePanelWidth), O = _((e) => e.workspacePanelFullscreen), ae = P((e) => e.apiFormats), M = P((e) => e.capabilities), N = ne((e) => e.visible && !!e.content), se = j([]), ce = j(null), { isMobile: L, viewportHeight: le } = Fe(), ue = ve({
3489
+ isMobile: L,
3490
+ viewportHeight: le
3491
+ }), { fetchSessions: de, loadMoreSessions: fe, loadSession: pe, loadOlderSessionEvents: me, createNewSession: he, deleteSession: ge, currentSessionIdRef: z, agentIdRef: B, runSubscriptionAbortRef: _e } = Cn({
3478
3492
  agentId: o,
3479
3493
  currentSessionId: s,
3480
- isMobile: I,
3481
- uiCapabilities: j,
3494
+ isMobile: L,
3495
+ uiCapabilities: M,
3482
3496
  api: a,
3483
3497
  resetCompaction: () => {},
3484
- disconnectRun: () => le.current?.()
3485
- }), be = O((e) => {
3498
+ disconnectRun: () => ce.current?.()
3499
+ }), ye = k((e) => {
3486
3500
  if (!e) return;
3487
3501
  let t = () => {
3488
- fe(z.current, e), R.current === e && !F.getState().isStreaming && me(e);
3502
+ R.getState().clearSessionEventCache(e), de(B.current, e);
3489
3503
  };
3490
3504
  queueMicrotask(t), window.setTimeout(t, 1800), window.setTimeout(t, 5e3);
3491
- }, [
3492
- z,
3493
- R,
3494
- fe,
3495
- me
3496
- ]), xe = m.find((e) => e.id === p) || null, { submitDraft: Se, stopGeneration: Ce, disconnectRun: we, resumeCheckpoint: Ee } = fn({
3505
+ }, [B, de]), be = m.find((e) => e.id === p) || null, { submitDraft: xe, stopGeneration: Se, disconnectRun: Ce, resumeCheckpoint: Te } = fn({
3497
3506
  agentId: o,
3498
3507
  currentSessionId: s,
3499
3508
  agentFramework: x,
3500
- apiFormats: oe,
3509
+ apiFormats: ae,
3501
3510
  selectedModel: p,
3502
- selectedModelMetadata: xe,
3511
+ selectedModelMetadata: be,
3503
3512
  thinkingMode: te,
3504
- uiCapabilities: j,
3505
- isMobile: I,
3513
+ uiCapabilities: M,
3514
+ isMobile: L,
3506
3515
  api: a,
3507
- currentSessionIdRef: R,
3508
- agentIdRef: z,
3509
- queuedDraftRef: ce,
3510
- onRunSettled: be
3516
+ currentSessionIdRef: z,
3517
+ agentIdRef: B,
3518
+ queuedDraftRef: se,
3519
+ onRunSettled: ye
3511
3520
  });
3512
- k(() => {
3513
- le.current = we;
3514
- }, [we]);
3515
- let De = O(() => {
3516
- let e = R.current;
3517
- ve.current?.abort(), F.getState().stopActivity(), F.getState().stopSessionActivity(e), Ce();
3521
+ A(() => {
3522
+ ce.current = Ce;
3523
+ }, [Ce]);
3524
+ let Ee = k(() => {
3525
+ let e = z.current;
3526
+ _e.current?.abort(), I.getState().stopActivity(), I.getState().stopSessionActivity(e), Se();
3518
3527
  }, [
3519
- R,
3520
- ve,
3521
- Ce
3522
- ]), Oe = O(async () => {
3523
- let e = R.current, t = F.getState(), n = t.currentRunId || t.getSessionActivity(e)?.runId || "";
3528
+ z,
3529
+ _e,
3530
+ Se
3531
+ ]), De = k(async () => {
3532
+ let e = z.current, t = I.getState(), n = t.currentRunId || t.getSessionActivity(e)?.runId || "";
3524
3533
  if (n) try {
3525
- await a.cancelRun(o, n), F.getState().stopSessionActivity(e, "取消请求已发送,后台运行会停在最近 checkpoint。");
3534
+ await a.cancelRun(o, n), I.getState().stopSessionActivity(e, "取消请求已发送,后台运行会停在最近 checkpoint。");
3526
3535
  } catch (t) {
3527
- console.warn("[App] cancelRun failed:", t), F.getState().updateActivity({
3536
+ console.warn("[App] cancelRun failed:", t), I.getState().updateActivity({
3528
3537
  sessionId: e,
3529
3538
  status: "failed",
3530
3539
  phase: "取消请求失败",
@@ -3532,107 +3541,107 @@ function dr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3532
3541
  countEvent: !1
3533
3542
  });
3534
3543
  }
3535
- be(e);
3544
+ ye(e);
3536
3545
  }, [
3537
3546
  a,
3538
3547
  o,
3539
- R,
3540
- be
3541
- ]), { submitResponseFeedback: ke, deleteResponseFeedback: Ae, respondToApproval: Me } = pn({
3548
+ z,
3549
+ ye
3550
+ ]), { submitResponseFeedback: Oe, deleteResponseFeedback: ke, respondToApproval: je } = pn({
3542
3551
  agentId: o,
3543
3552
  currentSessionId: s,
3544
3553
  isStreaming: c,
3545
3554
  api: a,
3546
- submitDraft: Se
3555
+ submitDraft: xe
3547
3556
  });
3548
- Ke({ fetchSessions: fe }), k(() => {
3549
- z.current = o, R.current = s, Te(o, s);
3557
+ Ge({ fetchSessions: de }), A(() => {
3558
+ B.current = o, z.current = s, we(o, s);
3550
3559
  }, [
3551
3560
  o,
3552
3561
  s,
3553
- z,
3554
- R
3555
- ]), k(() => {
3556
- I ? _.getState().setWorkspacePanelFullscreen(!1) : (_.getState().setMobileSidebarOpen(!1), _.getState().setMobileActionsOpen(!1));
3557
- }, [I]), k(() => {
3562
+ B,
3563
+ z
3564
+ ]), A(() => {
3565
+ L ? _.getState().setWorkspacePanelFullscreen(!1) : (_.getState().setMobileSidebarOpen(!1), _.getState().setMobileActionsOpen(!1));
3566
+ }, [L]), A(() => {
3558
3567
  w || _.getState().setWorkspacePanelFullscreen(!1);
3559
- }, [w]), k(() => () => {
3560
- ve.current?.abort();
3561
- }, [ve]);
3562
- let Pe = t(j), Fe = !!j.Thinking, B = g({
3568
+ }, [w]), A(() => () => {
3569
+ _e.current?.abort();
3570
+ }, [_e]);
3571
+ let Ne = t(M), Pe = !!M.Thinking, V = g({
3563
3572
  workspaceFiles: S,
3564
3573
  accessMode: C
3565
- }), V = y({ isMobile: I }), H = je({
3566
- capability: j.NativeDashboard,
3574
+ }), H = y({ isMobile: L }), U = Ae({
3575
+ capability: M.NativeDashboard,
3567
3576
  agentFramework: x,
3568
3577
  accessMode: C,
3569
3578
  origin: window.location.origin
3570
- }), U = !Pe, Le = x === "openclaw" ? "OpenClaw" : x === "hermes" ? "Hermes" : "原生运行时", W = xe?.display_name || p || "", G = !I && l && Pe, Re = A(!1), [ze, Be] = se(r === "tui"), Ve = ze && !!j.NativeTerminal?.Enabled;
3571
- k(() => {
3572
- Re.current || r !== "workspace" || !B || (Re.current = !0, _.getState().setWorkspacePanelOpen(!0), _.getState().setWorkspacePanelFullscreen(!0));
3573
- }, [r, B]);
3574
- let He = /* @__PURE__ */ E("div", {
3579
+ }), W = !Ne, Ie = x === "openclaw" ? "OpenClaw" : x === "hermes" ? "Hermes" : "原生运行时", G = be?.display_name || p || "", K = !L && l && Ne, Le = j(!1), [Re, ze] = oe(r === "tui"), Be = Re && !!M.NativeTerminal?.Enabled;
3580
+ A(() => {
3581
+ Le.current || r !== "workspace" || !V || (Le.current = !0, _.getState().setWorkspacePanelOpen(!0), _.getState().setWorkspacePanelFullscreen(!0));
3582
+ }, [r, V]);
3583
+ let Ve = /* @__PURE__ */ E("div", {
3575
3584
  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",
3576
3585
  children: [
3577
- /* @__PURE__ */ T(Cn, {
3578
- uiCapabilities: j,
3579
- createNewSession: ge,
3580
- deleteSession: _e,
3581
- loadSession: me,
3582
- loadMoreSessions: pe
3586
+ /* @__PURE__ */ T(wn, {
3587
+ uiCapabilities: M,
3588
+ createNewSession: he,
3589
+ deleteSession: ge,
3590
+ loadSession: pe,
3591
+ loadMoreSessions: fe
3583
3592
  }),
3584
3593
  /* @__PURE__ */ E("main", {
3585
3594
  className: "relative flex min-w-0 flex-1 flex-col bg-white dark:bg-slate-900",
3586
3595
  children: [/* @__PURE__ */ T(n, {
3587
3596
  agentName: f,
3588
3597
  currentSessionId: s,
3589
- nativeLauncherMode: U,
3590
- isMobile: I,
3598
+ nativeLauncherMode: W,
3599
+ isMobile: L,
3591
3600
  sidebarOpen: l,
3592
3601
  mobileSidebarOpen: u,
3593
3602
  onToggleSidebar: () => {
3594
- I ? _.getState().toggleMobileSidebar() : _.getState().toggleSidebar();
3603
+ L ? _.getState().toggleMobileSidebar() : _.getState().toggleSidebar();
3595
3604
  },
3596
3605
  availableModels: m,
3597
3606
  selectedModel: p,
3598
3607
  onSelectModel: (e) => {
3599
- P.getState().setSelectedModel(e), I && _.getState().setMobileActionsOpen(!1);
3608
+ F.getState().setSelectedModel(e), L && _.getState().setMobileActionsOpen(!1);
3600
3609
  },
3601
- selectedModelLabel: W,
3610
+ selectedModelLabel: G,
3602
3611
  modelCatalogLoaded: v,
3603
3612
  modelSource: h,
3604
- thinkingEnabled: Fe,
3613
+ thinkingEnabled: Pe,
3605
3614
  thinkingMode: te,
3606
- onSelectThinkingMode: (e) => P.getState().setThinkingMode(Ne(e)),
3615
+ onSelectThinkingMode: (e) => F.getState().setThinkingMode(Me(e)),
3607
3616
  mobileActionsOpen: d,
3608
3617
  onMobileActionsOpenChange: (e) => _.getState().setMobileActionsOpen(e),
3609
- workspaceEnabled: B,
3618
+ workspaceEnabled: V,
3610
3619
  onOpenWorkspace: () => _.getState().setWorkspacePanelOpen(!0),
3611
- nativeManagementLink: H,
3612
- nativeTerminal: j.NativeTerminal
3613
- }), U ? /* @__PURE__ */ T(b, {
3614
- productLabel: Le,
3615
- nativeManagementLink: H,
3616
- nativeTerminal: j.NativeTerminal,
3617
- workspaceEnabled: B,
3620
+ nativeManagementLink: U,
3621
+ nativeTerminal: M.NativeTerminal
3622
+ }), W ? /* @__PURE__ */ T(b, {
3623
+ productLabel: Ie,
3624
+ nativeManagementLink: U,
3625
+ nativeTerminal: M.NativeTerminal,
3626
+ workspaceEnabled: V,
3618
3627
  onOpenWorkspace: () => _.getState().setWorkspacePanelOpen(!0)
3619
- }) : /* @__PURE__ */ E(re, { children: [/* @__PURE__ */ T(Hn, {
3628
+ }) : /* @__PURE__ */ E(re, { children: [/* @__PURE__ */ T(Un, {
3620
3629
  agentName: f,
3621
- isMobile: I,
3622
- onDeleteFeedback: Ae,
3623
- onSubmitFeedback: ke,
3624
- onRespondToApproval: Me,
3625
- onStopGeneration: De,
3626
- onCancelRemote: j.StopRun ? Oe : void 0,
3627
- checkpointResumeEnabled: j.RunLifecycle.Enabled && j.RunLifecycle.Checkpoints && j.RunLifecycle.CheckpointResume,
3628
- onResumeCheckpoint: Ee,
3629
- onLoadOlderSessionEvents: he
3630
- }), /* @__PURE__ */ T(Kn, {
3631
- composerMaxHeight: de,
3632
- submitDraft: Se,
3633
- stopGeneration: De,
3634
- cancelRemote: j.StopRun ? Oe : void 0,
3635
- isMobile: I
3630
+ isMobile: L,
3631
+ onDeleteFeedback: ke,
3632
+ onSubmitFeedback: Oe,
3633
+ onRespondToApproval: je,
3634
+ onStopGeneration: Ee,
3635
+ onCancelRemote: M.StopRun ? De : void 0,
3636
+ checkpointResumeEnabled: M.RunLifecycle.Enabled && M.RunLifecycle.Checkpoints && M.RunLifecycle.CheckpointResume,
3637
+ onResumeCheckpoint: Te,
3638
+ onLoadOlderSessionEvents: me
3639
+ }), /* @__PURE__ */ T(qn, {
3640
+ composerMaxHeight: ue,
3641
+ submitDraft: xe,
3642
+ stopGeneration: Ee,
3643
+ cancelRemote: M.StopRun ? De : void 0,
3644
+ isMobile: L
3636
3645
  })] })]
3637
3646
  }),
3638
3647
  /* @__PURE__ */ T(ee, {
@@ -3640,22 +3649,22 @@ function dr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3640
3649
  capability: S,
3641
3650
  workspacePanelOpen: w,
3642
3651
  workspacePanelWidth: D,
3643
- workspacePanelFullscreen: ie,
3644
- isMobile: I,
3645
- workspaceEnabled: B,
3652
+ workspacePanelFullscreen: O,
3653
+ isMobile: L,
3654
+ workspaceEnabled: V,
3646
3655
  workspaceFiles: S,
3647
- workspacePanelPresentation: V,
3656
+ workspacePanelPresentation: H,
3648
3657
  closeWorkspacePanel: () => {
3649
3658
  _.getState().setWorkspacePanelFullscreen(!1), _.getState().setWorkspacePanelOpen(!1);
3650
3659
  },
3651
3660
  handleWorkspacePanelResizeStart: (e) => {
3652
- if (ie || I) return;
3661
+ if (O || L) return;
3653
3662
  e.preventDefault();
3654
- let t = e.clientX, n = D, r = Pe && G ? 280 : 0, i = document.body.style.cursor, a = document.body.style.userSelect;
3663
+ let t = e.clientX, n = D, r = Ne && K ? 280 : 0, i = document.body.style.cursor, a = document.body.style.userSelect;
3655
3664
  document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
3656
3665
  let o = (e) => {
3657
3666
  let i = n + t - e.clientX;
3658
- _.getState().setWorkspacePanelWidth(gt(i, window.innerWidth, r));
3667
+ _.getState().setWorkspacePanelWidth(ht(i, window.innerWidth, r));
3659
3668
  }, s = () => {
3660
3669
  document.body.style.cursor = i, document.body.style.userSelect = a, window.removeEventListener("pointermove", o), window.removeEventListener("pointerup", s), window.removeEventListener("pointercancel", s);
3661
3670
  };
@@ -3663,53 +3672,53 @@ function dr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3663
3672
  },
3664
3673
  api: a
3665
3674
  }),
3666
- M && /* @__PURE__ */ T(ae, {
3675
+ N && /* @__PURE__ */ T(ie, {
3667
3676
  fallback: null,
3668
- children: /* @__PURE__ */ T(lr, {})
3677
+ children: /* @__PURE__ */ T(ur, {})
3669
3678
  }),
3670
- Ve ? /* @__PURE__ */ T(ae, {
3679
+ Be ? /* @__PURE__ */ T(ie, {
3671
3680
  fallback: null,
3672
- children: /* @__PURE__ */ T(ur, {
3673
- capability: j.NativeTerminal,
3681
+ children: /* @__PURE__ */ T(dr, {
3682
+ capability: M.NativeTerminal,
3674
3683
  open: !0,
3675
3684
  sessionId: s,
3676
- onClose: () => Be(!1)
3685
+ onClose: () => ze(!1)
3677
3686
  })
3678
3687
  }) : null
3679
3688
  ]
3680
3689
  });
3681
- return i ? /* @__PURE__ */ T(i, { children: He }) : He;
3690
+ return i ? /* @__PURE__ */ T(i, { children: Ve }) : Ve;
3682
3691
  }
3683
3692
  //#endregion
3684
3693
  //#region src/core/transport/sse-transport.ts
3685
- function fr(e, t) {
3694
+ function pr(e, t) {
3686
3695
  if (e.eventName === "__ping__") {
3687
- F.getState().updateActivity({ countEvent: !1 });
3696
+ I.getState().updateActivity({ countEvent: !1 });
3688
3697
  return;
3689
3698
  }
3690
3699
  t.onEvent(e);
3691
3700
  }
3692
- var pr = class {
3701
+ var mr = class {
3693
3702
  protocol = "sse-post";
3694
3703
  async connect(e, t) {
3695
- let n = (await Be(e.action, e.body || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3704
+ let n = (await ze(e.action, e.body || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3696
3705
  return (async () => {
3697
3706
  try {
3698
3707
  for (; !a;) {
3699
3708
  let { value: e, done: a } = await n.read();
3700
3709
  if (a) break;
3701
3710
  i += r.decode(e, { stream: !0 });
3702
- let { chunks: o, remainder: s } = ft(i);
3711
+ let { chunks: o, remainder: s } = dt(i);
3703
3712
  i = s;
3704
3713
  for (let e of o) {
3705
3714
  if (!e.trim()) continue;
3706
- let n = dt(e);
3715
+ let n = ut(e);
3707
3716
  for (let e of n) {
3708
3717
  if (e.eventName === "__done__") {
3709
3718
  t.onComplete();
3710
3719
  return;
3711
3720
  }
3712
- fr(e, t);
3721
+ pr(e, t);
3713
3722
  }
3714
3723
  }
3715
3724
  }
@@ -3721,27 +3730,27 @@ var pr = class {
3721
3730
  a = !0, n.cancel().catch(() => {});
3722
3731
  };
3723
3732
  }
3724
- }, mr = class {
3733
+ }, hr = class {
3725
3734
  protocol = "sse-get";
3726
3735
  async connect(e, t) {
3727
- let n = (await Ve(e.action, e.params || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3736
+ let n = (await Be(e.action, e.params || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
3728
3737
  return (async () => {
3729
3738
  try {
3730
3739
  for (; !a;) {
3731
3740
  let { value: e, done: a } = await n.read();
3732
3741
  if (a) break;
3733
3742
  i += r.decode(e, { stream: !0 });
3734
- let { chunks: o, remainder: s } = ft(i);
3743
+ let { chunks: o, remainder: s } = dt(i);
3735
3744
  i = s;
3736
3745
  for (let e of o) {
3737
3746
  if (!e.trim()) continue;
3738
- let n = dt(e);
3747
+ let n = ut(e);
3739
3748
  for (let e of n) {
3740
3749
  if (e.eventName === "__done__") {
3741
3750
  t.onComplete();
3742
3751
  return;
3743
3752
  }
3744
- fr(e, t);
3753
+ pr(e, t);
3745
3754
  }
3746
3755
  }
3747
3756
  }
@@ -3755,4 +3764,4 @@ var pr = class {
3755
3764
  }
3756
3765
  };
3757
3766
  //#endregion
3758
- export { dr as AgentWorkbench, sr as ApiFacadeImpl, St as RunEngineImpl, mr as SseGetTransport, pr as SsePostTransport, lt as createProtocol };
3767
+ export { fr as AgentWorkbench, cr as ApiFacadeImpl, xt as RunEngineImpl, hr as SseGetTransport, mr as SsePostTransport, ct as createProtocol };