@kingsoftcloud/ksadk-web 0.2.17 → 0.2.18

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 (122) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist-ksadk/assets/{ArtifactsPanel-xCGwbyKe.js → ArtifactsPanel-C0meuOdi.js} +1 -1
  3. package/dist-ksadk/assets/{CodeBlock-_d8IhXK6.js → CodeBlock-BbI4HPtJ.js} +1 -1
  4. package/dist-ksadk/assets/{MathMessageMarkdown-Dq5U0t0L.js → MathMessageMarkdown-DMLQYoLp.js} +1 -1
  5. package/dist-ksadk/assets/{MermaidBlock-BGEGRy9j.js → MermaidBlock-DCR8WZ17.js} +6 -6
  6. package/dist-ksadk/assets/{NativeTerminalPanel-D9YIBBoT.js → NativeTerminalPanel-CKUvWhUz.js} +1 -1
  7. package/dist-ksadk/assets/{arc-C-aJXEEz.js → arc-bj2rZnP5.js} +1 -1
  8. package/dist-ksadk/assets/architecture-7EHR7CIX-Cr6Xz1_c.js +1 -0
  9. package/dist-ksadk/assets/{architectureDiagram-3BPJPVTR-BS__hbBP.js → architectureDiagram-3BPJPVTR-2u1ltDIj.js} +1 -1
  10. package/dist-ksadk/assets/{blockDiagram-GPEHLZMM-BL-uLGOT.js → blockDiagram-GPEHLZMM-D6fvdK20.js} +1 -1
  11. package/dist-ksadk/assets/{c4Diagram-AAUBKEIU-BY64KkO8.js → c4Diagram-AAUBKEIU-BK82L5n5.js} +1 -1
  12. package/dist-ksadk/assets/channel-BSSOwFIb.js +1 -0
  13. package/dist-ksadk/assets/{chunk-2J33WTMH-DFgsEcc7.js → chunk-2J33WTMH-DLVdkeyQ.js} +1 -1
  14. package/dist-ksadk/assets/{chunk-4BX2VUAB-Dk1XGsDg.js → chunk-4BX2VUAB-BbwsYcbW.js} +1 -1
  15. package/dist-ksadk/assets/{chunk-55IACEB6-CyYG08Ez.js → chunk-55IACEB6-DOairxzw.js} +1 -1
  16. package/dist-ksadk/assets/{chunk-727SXJPM-Dj-o0foT.js → chunk-727SXJPM-hCO487gs.js} +1 -1
  17. package/dist-ksadk/assets/{chunk-AQP2D5EJ-M8cDZrZQ.js → chunk-AQP2D5EJ-XU8vDOuG.js} +1 -1
  18. package/dist-ksadk/assets/{chunk-FMBD7UC4-Mceczy0j.js → chunk-FMBD7UC4-PrapyfMu.js} +1 -1
  19. package/dist-ksadk/assets/{chunk-ND2GUHAM-dwTxQ3uL.js → chunk-ND2GUHAM-CboKhTZ3.js} +1 -1
  20. package/dist-ksadk/assets/chunk-QZHKN3VN-XXpdiwUL.js +1 -0
  21. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-C5HvGiyK.js +1 -0
  22. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-C5HvGiyK.js +1 -0
  23. package/dist-ksadk/assets/{cose-bilkent-S5V4N54A-Ch6hia5Y.js → cose-bilkent-S5V4N54A-_N8bJ-EU.js} +1 -1
  24. package/dist-ksadk/assets/{dagre-BM42HDAG-nrh587vF.js → dagre-BM42HDAG-FoDlo5J2.js} +1 -1
  25. package/dist-ksadk/assets/{diagram-2AECGRRQ-DgNb_Tw5.js → diagram-2AECGRRQ-BBp6ebBw.js} +1 -1
  26. package/dist-ksadk/assets/{diagram-5GNKFQAL-ND5Lir8O.js → diagram-5GNKFQAL-CqOvG1PR.js} +1 -1
  27. package/dist-ksadk/assets/{diagram-KO2AKTUF-CLrPFWcy.js → diagram-KO2AKTUF-O9T3t6ba.js} +1 -1
  28. package/dist-ksadk/assets/{diagram-LMA3HP47-D_Sgy27v.js → diagram-LMA3HP47-CGG8ekBO.js} +1 -1
  29. package/dist-ksadk/assets/{diagram-OG6HWLK6-QbrzvyWM.js → diagram-OG6HWLK6-4BmH1EEg.js} +1 -1
  30. package/dist-ksadk/assets/{dist-Ldf-oz8Y.js → dist-6kSZvCZh.js} +1 -1
  31. package/dist-ksadk/assets/{dist-ClZgJL0A.js → dist-B67uF2uK.js} +1 -1
  32. package/dist-ksadk/assets/{dist-CVN4jSSW.js → dist-BMKM66B4.js} +1 -1
  33. package/dist-ksadk/assets/{dist-DbpuiQKj.js → dist-BVzcWa6D.js} +1 -1
  34. package/dist-ksadk/assets/{dist-EhrdTAKL.js → dist-Bk1l05Ni.js} +1 -1
  35. package/dist-ksadk/assets/{dist-Q9_gg2Vb.js → dist-BkJjNih3.js} +1 -1
  36. package/dist-ksadk/assets/{dist-DzZB5tor.js → dist-BmuTWcm7.js} +1 -1
  37. package/dist-ksadk/assets/{dist-DRSyDPdG.js → dist-C2DKRFVK.js} +1 -1
  38. package/dist-ksadk/assets/{dist-D_ZZ4fV3.js → dist-CWiTDN_V.js} +1 -1
  39. package/dist-ksadk/assets/{dist-CMLwqcZ6.js → dist-CZ6C3x8B.js} +1 -1
  40. package/dist-ksadk/assets/{dist-DEJYL3UK.js → dist-CiZHB6ZW.js} +1 -1
  41. package/dist-ksadk/assets/{dist-CPRGtEH9.js → dist-Cp1_jKwf.js} +1 -1
  42. package/dist-ksadk/assets/{dist-DsvaqR-b.js → dist-Cwhk4lwI.js} +1 -1
  43. package/dist-ksadk/assets/{dist-B98JDMe6.js → dist-D5JGcxBx.js} +1 -1
  44. package/dist-ksadk/assets/{dist-BbS7HTJp.js → dist-D99wf6_X.js} +1 -1
  45. package/dist-ksadk/assets/{dist-JBDG5w09.js → dist-DCpZrjaK.js} +1 -1
  46. package/dist-ksadk/assets/{dist-DRYY8roY.js → dist-DI-oVAXw.js} +1 -1
  47. package/dist-ksadk/assets/{dist-haZBFH4L.js → dist-DLMjL01k.js} +1 -1
  48. package/dist-ksadk/assets/{dist-CKb66fZP.js → dist-DLeM1OCK.js} +1 -1
  49. package/dist-ksadk/assets/{dist-TIHF8jeZ.js → dist-DM0rEQPk.js} +1 -1
  50. package/dist-ksadk/assets/{dist-Dy6ODCG9.js → dist-DbaH3p5h.js} +1 -1
  51. package/dist-ksadk/assets/{dist-B7Z2ybmq.js → dist-S4klkK5W.js} +1 -1
  52. package/dist-ksadk/assets/{erDiagram-TEJ5UH35-DWsi2HhW.js → erDiagram-TEJ5UH35-oJhaci7S.js} +1 -1
  53. package/dist-ksadk/assets/eventmodeling-FCH6USID-CIgwHJLL.js +1 -0
  54. package/dist-ksadk/assets/{flowDiagram-I6XJVG4X-BAtVSiaU.js → flowDiagram-I6XJVG4X-DtTmUan-.js} +1 -1
  55. package/dist-ksadk/assets/{ganttDiagram-6RSMTGT7-jI1A45Ie.js → ganttDiagram-6RSMTGT7-BSsb_eij.js} +1 -1
  56. package/dist-ksadk/assets/gitGraph-WXDBUCRP-BVAJ7uo0.js +1 -0
  57. package/dist-ksadk/assets/{gitGraphDiagram-PVQCEYII-C3fW-u3c.js → gitGraphDiagram-PVQCEYII-BR5s6Pws.js} +1 -1
  58. package/dist-ksadk/assets/index-BH7-pC0B.js +165 -0
  59. package/dist-ksadk/assets/info-J43DQDTF-MT80V4ge.js +1 -0
  60. package/dist-ksadk/assets/{infoDiagram-5YYISTIA-7Fgxfiew.js → infoDiagram-5YYISTIA-DYPc5cvh.js} +1 -1
  61. package/dist-ksadk/assets/{ishikawaDiagram-YF4QCWOH-dXkKN_2f.js → ishikawaDiagram-YF4QCWOH-MoBdALDg.js} +1 -1
  62. package/dist-ksadk/assets/{journeyDiagram-JHISSGLW-Noo-i6Co.js → journeyDiagram-JHISSGLW-DgLiQT8l.js} +1 -1
  63. package/dist-ksadk/assets/{kanban-definition-UN3LZRKU-C-qkrNz8.js → kanban-definition-UN3LZRKU-CsFx112F.js} +1 -1
  64. package/dist-ksadk/assets/{katex-B907dXuX.js → katex-DRsiwpM2.js} +1 -1
  65. package/dist-ksadk/assets/{linear-CiSItak9.js → linear-TNRQ5Orv.js} +1 -1
  66. package/dist-ksadk/assets/{mermaid-parser.core-g7ZK2XzV.js → mermaid-parser.core-D2eMVOgo.js} +2 -2
  67. package/dist-ksadk/assets/{mindmap-definition-RKZ34NQL-KEpzYVDW.js → mindmap-definition-RKZ34NQL-BtByYFhL.js} +1 -1
  68. package/dist-ksadk/assets/packet-YPE3B663-BLKhbXZB.js +1 -0
  69. package/dist-ksadk/assets/pie-LRSECV5Y-DFOikjSY.js +1 -0
  70. package/dist-ksadk/assets/{pieDiagram-4H26LBE5-BetRBqce.js → pieDiagram-4H26LBE5-DPnuCB8c.js} +1 -1
  71. package/dist-ksadk/assets/{quadrantDiagram-W4KKPZXB-NTMW-2JW.js → quadrantDiagram-W4KKPZXB-miFpCPv4.js} +1 -1
  72. package/dist-ksadk/assets/radar-GUYGQ44K-095b1Ikw.js +1 -0
  73. package/dist-ksadk/assets/{requirementDiagram-4Y6WPE33-DGz7kAYq.js → requirementDiagram-4Y6WPE33-mjB_yYkW.js} +1 -1
  74. package/dist-ksadk/assets/{sankeyDiagram-5OEKKPKP-B1npa6g0.js → sankeyDiagram-5OEKKPKP-D7hSlZZZ.js} +1 -1
  75. package/dist-ksadk/assets/{sequenceDiagram-3UESZ5HK-CiiQg1kp.js → sequenceDiagram-3UESZ5HK-D9Cx6hC3.js} +1 -1
  76. package/dist-ksadk/assets/{stateDiagram-AJRCARHV-DeEoMo9D.js → stateDiagram-AJRCARHV-D_zrg47o.js} +1 -1
  77. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-J9kCb0nC.js +1 -0
  78. package/dist-ksadk/assets/{timeline-definition-PNZ67QCA-C4KoD7P2.js → timeline-definition-PNZ67QCA-CwSec0Wa.js} +1 -1
  79. package/dist-ksadk/assets/treeView-BLDUP644-yinfJEY6.js +1 -0
  80. package/dist-ksadk/assets/treemap-LRROVOQU-DosUqN1Q.js +1 -0
  81. package/dist-ksadk/assets/{vennDiagram-CIIHVFJN-DuDr8-7R.js → vennDiagram-CIIHVFJN-agCVobiF.js} +1 -1
  82. package/dist-ksadk/assets/wardley-L42UT6IY-Bvp7-5uH.js +1 -0
  83. package/dist-ksadk/assets/{wardleyDiagram-YWT4CUSO-C6phy1Vu.js → wardleyDiagram-YWT4CUSO-TmrlhWNt.js} +1 -1
  84. package/dist-ksadk/assets/{xychartDiagram-2RQKCTM6-Cx6jCs70.js → xychartDiagram-2RQKCTM6-DV71V-ah.js} +1 -1
  85. package/dist-ksadk/index.html +1 -1
  86. package/dist-lib/{ArtifactsPanel-D3AiN69_.js → ArtifactsPanel-DCn5q1OB.js} +1 -1
  87. package/dist-lib/{CodeBlock-CWHejqEk.js → CodeBlock-BGJr6bCf.js} +1 -1
  88. package/dist-lib/{MathMessageMarkdown-BlZXusY6.js → MathMessageMarkdown-DQPFplDT.js} +2 -2
  89. package/dist-lib/{NativeTerminalPanel-mQwtEFvo.js → NativeTerminalPanel-CjyPyYC4.js} +1 -1
  90. package/dist-lib/{WorkspacePanelContainer-D5WLGlO_.js → WorkspacePanelContainer-fvYVV4lp.js} +15 -17
  91. package/dist-lib/api/messages.d.ts +51 -0
  92. package/dist-lib/api/messages.d.ts.map +1 -0
  93. package/dist-lib/api/session.d.ts +20 -0
  94. package/dist-lib/api/session.d.ts.map +1 -1
  95. package/dist-lib/components.js +2 -2
  96. package/dist-lib/core/api/facade.d.ts +12 -0
  97. package/dist-lib/core/api/facade.d.ts.map +1 -1
  98. package/dist-lib/core/api/types.d.ts +38 -0
  99. package/dist-lib/core/api/types.d.ts.map +1 -1
  100. package/dist-lib/hooks/useSessionLifecycle.d.ts.map +1 -1
  101. package/dist-lib/runtime.js +255 -240
  102. package/dist-lib/utils/messages.d.ts +17 -0
  103. package/dist-lib/utils/messages.d.ts.map +1 -0
  104. package/package.json +1 -1
  105. package/dist-ksadk/assets/architecture-7EHR7CIX-ElkGISgr.js +0 -1
  106. package/dist-ksadk/assets/channel-95jCPDn-.js +0 -1
  107. package/dist-ksadk/assets/chunk-QZHKN3VN-DJz-BVY8.js +0 -1
  108. package/dist-ksadk/assets/classDiagram-4FO5ZUOK-DQhxN0zQ.js +0 -1
  109. package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-DQhxN0zQ.js +0 -1
  110. package/dist-ksadk/assets/eventmodeling-FCH6USID-R5MOzX8B.js +0 -1
  111. package/dist-ksadk/assets/gitGraph-WXDBUCRP-ycpCtFsu.js +0 -1
  112. package/dist-ksadk/assets/index-Bbbbu0em.js +0 -165
  113. package/dist-ksadk/assets/info-J43DQDTF-BG5UaFoK.js +0 -1
  114. package/dist-ksadk/assets/packet-YPE3B663-B4R_RXtl.js +0 -1
  115. package/dist-ksadk/assets/pie-LRSECV5Y-ZvqONtr7.js +0 -1
  116. package/dist-ksadk/assets/radar-GUYGQ44K-MPUTAFuT.js +0 -1
  117. package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-DdnBxj5o.js +0 -1
  118. package/dist-ksadk/assets/treeView-BLDUP644-BVT3-ekB.js +0 -1
  119. package/dist-ksadk/assets/treemap-LRROVOQU-DwsRqHk_.js +0 -1
  120. package/dist-ksadk/assets/wardley-L42UT6IY-Btn2OWZX.js +0 -1
  121. package/dist-lib/utils/run-state.d.ts +0 -3
  122. package/dist-lib/utils/run-state.d.ts.map +0 -1
@@ -1,5 +1,5 @@
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-D5WLGlO_.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-fvYVV4lp.js";
3
3
  import { t as w } from "./artifact-BfFsPe5A.js";
4
4
  import { X as T } from "lucide-react";
5
5
  import { Fragment as ne, jsx as E, jsxs as D } from "react/jsx-runtime";
@@ -2226,18 +2226,12 @@ function rn(e = [], t = []) {
2226
2226
  return Number.isFinite(n) && Number.isFinite(r) && n !== r ? n - r : Number(e?.Timestamp || 0) - Number(t?.Timestamp || 0);
2227
2227
  });
2228
2228
  }
2229
- function an(e = []) {
2230
- return (Array.isArray(e) ? e : []).reduce((e, t) => {
2231
- let n = Number(t.SeqId || 0);
2232
- return Number.isFinite(n) ? Math.max(e, n) : e;
2233
- }, 0);
2234
- }
2235
- function on(e) {
2229
+ function an(e) {
2236
2230
  return e?.EventType === "run_status" ? Pt.has(String(e.Content?.status || "").trim().toLowerCase()) : !1;
2237
2231
  }
2238
2232
  //#endregion
2239
2233
  //#region src/core/run/dispatcher.ts
2240
- var $ = !1, sn = new Set(["completed"]), cn = new Set([
2234
+ var $ = !1, on = new Set(["completed"]), sn = new Set([
2241
2235
  "failed",
2242
2236
  "error",
2243
2237
  "cancelled",
@@ -2245,7 +2239,7 @@ var $ = !1, sn = new Set(["completed"]), cn = new Set([
2245
2239
  "aborted",
2246
2240
  "incomplete"
2247
2241
  ]);
2248
- function ln(e) {
2242
+ function cn(e) {
2249
2243
  $ || ($ = !0, J.getState().patchMessages((t) => [...t, {
2250
2244
  id: e,
2251
2245
  role: "model",
@@ -2254,8 +2248,8 @@ function ln(e) {
2254
2248
  reasoning: ""
2255
2249
  }]));
2256
2250
  }
2257
- function un(e) {
2258
- let t = String(e || "").trim().toLowerCase(), n = sn.has(t) ? "completed" : cn.has(t) ? "error" : null;
2251
+ function ln(e) {
2252
+ let t = String(e || "").trim().toLowerCase(), n = on.has(t) ? "completed" : sn.has(t) ? "error" : null;
2259
2253
  n && J.getState().patchMessages((e) => e.map((e) => {
2260
2254
  if (!e.tools) return e;
2261
2255
  let t = !1, r = Object.fromEntries(Object.entries(e.tools).map(([e, r]) => r.status === "running" ? (t = !0, [e, {
@@ -2268,7 +2262,7 @@ function un(e) {
2268
2262
  } : e;
2269
2263
  }));
2270
2264
  }
2271
- function dn(e) {
2265
+ function un(e) {
2272
2266
  if (e.sessionId && z.getState().currentSessionId !== e.sessionId) {
2273
2267
  e.type === "stage_changed" && (e.stage === "completing" || e.stage === "error" || e.stage === "cancelled") && ($ = !1);
2274
2268
  return;
@@ -2294,28 +2288,28 @@ function dn(e) {
2294
2288
  }]);
2295
2289
  break;
2296
2290
  case "assistant_message_created":
2297
- ln(e.messageId);
2291
+ cn(e.messageId);
2298
2292
  break;
2299
2293
  case "text_delta":
2300
- ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2294
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2301
2295
  ...t,
2302
2296
  content: t.content + e.delta
2303
2297
  } : t));
2304
2298
  break;
2305
2299
  case "text_final":
2306
- ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2300
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2307
2301
  ...t,
2308
2302
  content: e.text
2309
2303
  } : t));
2310
2304
  break;
2311
2305
  case "reasoning_delta":
2312
- ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2306
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2313
2307
  ...t,
2314
2308
  reasoning: (t.reasoning || "") + e.delta
2315
2309
  } : t));
2316
2310
  break;
2317
2311
  case "tool_upsert":
2318
- ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2312
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2319
2313
  ...t,
2320
2314
  tools: {
2321
2315
  ...t.tools || {},
@@ -2334,7 +2328,7 @@ function dn(e) {
2334
2328
  } : t));
2335
2329
  break;
2336
2330
  case "tool_result":
2337
- ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2331
+ cn(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
2338
2332
  ...t,
2339
2333
  tools: {
2340
2334
  ...t.tools || {},
@@ -2394,7 +2388,7 @@ function dn(e) {
2394
2388
  }]), $ = !1;
2395
2389
  break;
2396
2390
  case "terminal":
2397
- un(e.status);
2391
+ ln(e.status);
2398
2392
  break;
2399
2393
  case "stream_event": {
2400
2394
  let t = e.sessionId || e.event.SessionId;
@@ -2421,12 +2415,12 @@ function dn(e) {
2421
2415
  }
2422
2416
  }
2423
2417
  }
2424
- function fn() {
2418
+ function dn() {
2425
2419
  $ = !1;
2426
2420
  }
2427
2421
  //#endregion
2428
2422
  //#region src/hooks/useRunAgent.ts
2429
- function pn(e) {
2423
+ function fn(e) {
2430
2424
  let t = M(/* @__PURE__ */ new Map()), n = M(() => {}), { agentId: r, apiFormats: i, agentFramework: a, selectedModel: o, selectedModelMetadata: s, thinkingMode: c, currentSessionIdRef: l, queuedDraftRef: u, onRunSettled: d, uiCapabilities: f } = e, p = A((e) => {
2431
2425
  e.updateConfig({
2432
2426
  agentId: r,
@@ -2447,7 +2441,7 @@ function pn(e) {
2447
2441
  f.RunLifecycle?.CheckpointResumePreview
2448
2442
  ]), m = A((n) => {
2449
2443
  let r = String(n || "new-session"), i = t.current.get(r);
2450
- return i ? p(i) : (i = new bt(e.api), p(i), i.subscribe(dn), t.current.set(r, i)), i;
2444
+ return i ? p(i) : (i = new bt(e.api), p(i), i.subscribe(un), t.current.set(r, i)), i;
2451
2445
  }, [e.api, p]);
2452
2446
  j(() => {
2453
2447
  for (let e of t.current.values()) p(e);
@@ -2457,7 +2451,7 @@ function pn(e) {
2457
2451
  }, [u]), g = A((e) => {
2458
2452
  let i = l.current, a = m(i);
2459
2453
  if (a.stage !== "idle") return !1;
2460
- fn(), _.getState().setMobileActionsOpen(!1), L.getState().setSessionStreaming(i, !0);
2454
+ dn(), _.getState().setMobileActionsOpen(!1), L.getState().setSessionStreaming(i, !0);
2461
2455
  let o = e.text.trim(), s = String(Date.now()), c = e.attachments.map((e) => ({
2462
2456
  name: e.name,
2463
2457
  url: URL.createObjectURL(e),
@@ -2539,7 +2533,7 @@ function pn(e) {
2539
2533
  resumeCheckpoint: A((e) => {
2540
2534
  let t = m(e.sessionId);
2541
2535
  if (t.stage !== "idle") return !1;
2542
- fn(), _.getState().setMobileActionsOpen(!1), L.getState().setSessionStreaming(e.sessionId, !0);
2536
+ dn(), _.getState().setMobileActionsOpen(!1), L.getState().setSessionStreaming(e.sessionId, !0);
2543
2537
  let r = t.resumeCheckpoint({
2544
2538
  ...e,
2545
2539
  onSettled: (e) => {
@@ -2549,13 +2543,13 @@ function pn(e) {
2549
2543
  return r || L.getState().setSessionStreaming(e.sessionId, !1), r;
2550
2544
  }, [m, d]),
2551
2545
  resetCompaction: A(() => {
2552
- fn();
2546
+ dn();
2553
2547
  }, [])
2554
2548
  };
2555
2549
  }
2556
2550
  //#endregion
2557
2551
  //#region src/hooks/useFeedback.ts
2558
- function mn(e) {
2552
+ function pn(e) {
2559
2553
  let { agentId: t, currentSessionId: n, isStreaming: r, api: i, submitDraft: a } = e;
2560
2554
  return {
2561
2555
  submitResponseFeedback: A(async (e) => {
@@ -2634,102 +2628,90 @@ function mn(e) {
2634
2628
  };
2635
2629
  }
2636
2630
  //#endregion
2637
- //#region src/utils/run-state.js
2638
- function hn(e) {
2639
- return String(e?.InvocationId || e?.invocation_id || e?.invocationId || "").trim();
2640
- }
2631
+ //#region src/utils/messages.js
2632
+ var mn = {
2633
+ running: "running",
2634
+ completed: "completed",
2635
+ failed: "error",
2636
+ paused: "paused",
2637
+ approved: "completed",
2638
+ denied: "completed"
2639
+ }, hn = {
2640
+ paused: "pending",
2641
+ approved: "approved",
2642
+ denied: "rejected"
2643
+ };
2641
2644
  function gn(e) {
2642
- let t = e?.Timestamp ?? e?.timestamp ?? e?.created_at ?? e?.CreatedAt;
2643
- if (typeof t == "number" && Number.isFinite(t)) return t > 1e11 ? t : t * 1e3;
2644
- if (typeof t == "string") {
2645
- let e = Date.parse(t);
2646
- return Number.isNaN(e) ? 0 : e;
2645
+ if (typeof e == "number") return e;
2646
+ if (typeof e == "string") {
2647
+ let t = Date.parse(e);
2648
+ if (Number.isFinite(t)) return t;
2647
2649
  }
2648
- return 0;
2650
+ return Date.now();
2649
2651
  }
2650
- var _n = new Set([
2651
- "in_progress",
2652
- "running",
2653
- "resuming",
2654
- "starting",
2655
- "queued",
2656
- "pending"
2657
- ]);
2658
- function vn(e) {
2659
- return String(e?.EventType || e?.event_type || "").trim();
2652
+ function _n(e) {
2653
+ if (typeof e == "string") return e;
2654
+ if (e && typeof e == "object") {
2655
+ if (typeof e.text == "string") return e.text;
2656
+ if (Array.isArray(e.parts)) return e.parts.map((e) => e && typeof e == "object" && typeof e.text == "string" ? e.text : "").join("");
2657
+ }
2658
+ return "";
2660
2659
  }
2661
- function yn(e = [], t = {}) {
2662
- let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = Array.isArray(e) ? e : [], a = Number.isFinite(Number(t.now)) ? Number(t.now) : Date.now(), o = Number.isFinite(Number(t.staleAfterMs)) ? Number(t.staleAfterMs) : 1800 * 1e3;
2663
- for (let e of i) {
2664
- let t = hn(e);
2665
- if (!t) continue;
2666
- let i = gn(e);
2667
- i && r.set(t, Math.max(r.get(t) || 0, i)), vn(e) === "run_status" && n.set(t, String(e?.Content?.status || e?.content?.status || "").trim());
2660
+ function vn(e) {
2661
+ let t = {};
2662
+ for (let n of e ?? []) {
2663
+ if (!n?.Name) continue;
2664
+ let e = mn[String(n.Status ?? "completed").toLowerCase()] ?? "completed", r = {
2665
+ name: n.Name,
2666
+ args: n.Args === void 0 ? "" : typeof n.Args == "string" ? n.Args : JSON.stringify(n.Args),
2667
+ status: e
2668
+ };
2669
+ n.Result !== void 0 && (r.output = typeof n.Result == "string" ? n.Result : JSON.stringify(n.Result)), n.ApprovalRequestId && (r.approvalRequestId = n.ApprovalRequestId, r.approvalStatus = hn[String(n.Status ?? "paused").toLowerCase()] ?? "pending"), n.ToolCallId && (r.previousResponseId = n.ToolCallId), t[n.Name] = r;
2668
2670
  }
2669
- return Array.from(n.entries()).filter(([e, t]) => {
2670
- let n = r.get(e) || 0, i = n > 0 && a - n > o;
2671
- return _n.has(t) && !i;
2672
- }).map(([e]) => e);
2671
+ return t;
2672
+ }
2673
+ function yn(e) {
2674
+ if (Array.isArray(e)) return e.map((e) => ({
2675
+ name: e.name || "",
2676
+ url: e.url || "",
2677
+ type: e.mime || "",
2678
+ fileUri: e.file_uri
2679
+ }));
2680
+ }
2681
+ function bn(e) {
2682
+ let t = e.Role === "assistant" ? "model" : e.Role || "user", n = e.ToolEvents?.length ? vn(e.ToolEvents) : void 0, r = yn(e.Attachments), i = e.Reasoning?.length ? e.Reasoning.map((e) => e.text).join("") : void 0, a = {
2683
+ id: e.MessageId || `msg-${e.SeqId ?? Math.random().toString(36).slice(2)}`,
2684
+ role: t,
2685
+ content: _n(e.Content),
2686
+ timestamp: gn(e.Timestamp),
2687
+ eventType: t === "user" ? "user_message" : "assistant_message",
2688
+ reasoning: i,
2689
+ tools: n,
2690
+ attachments: r
2691
+ };
2692
+ return e.MessageId && (a.eventId = e.MessageId), e.ResponseId && (a.responseId = e.ResponseId), e.TraceId && (a.traceId = e.TraceId), e.RootSpanId && (a.rootSpanId = e.RootSpanId), a;
2693
+ }
2694
+ function xn(e) {
2695
+ return e.map(bn);
2673
2696
  }
2674
2697
  //#endregion
2675
2698
  //#region src/utils/session-event-history.ts
2676
- function bn(e, t) {
2699
+ function Sn(e, t) {
2677
2700
  let n = Math.max(0, Number(e.offset) || 0), r = Math.max(0, Number(e.total) || 0);
2678
2701
  return n >= r ? null : {
2679
2702
  offset: n,
2680
2703
  limit: Math.min(Math.max(1, Number(t) || 1), r - n)
2681
2704
  };
2682
2705
  }
2683
- async function xn(e, t, n) {
2684
- let r = Math.max(1, Number(n?.pageSize) || 50), i = n?.shouldContinue || (() => !0), a = () => !i(), o = await t(e, {
2685
- offset: 0,
2686
- limit: 1
2687
- });
2688
- if (a()) return null;
2689
- let s = Math.max(0, Number(o.Total ?? o.Events?.length ?? 0) || 0);
2690
- if (s <= 1) return {
2691
- events: o.Events || [],
2692
- total: s,
2693
- offset: Number(o.Offset ?? 0),
2694
- limit: Number(o.Limit ?? o.Events?.length ?? 0)
2695
- };
2696
- let c = bn({
2697
- offset: 0,
2698
- total: s
2699
- }, r);
2700
- if (!c) return {
2701
- events: [],
2702
- total: s,
2703
- offset: 0,
2704
- limit: 0
2705
- };
2706
- let l = await t(e, c);
2707
- if (a()) return null;
2708
- let u = l.Events || [], d = u.length;
2709
- for (; d < s;) {
2710
- let n = bn({
2711
- offset: d,
2712
- total: s
2713
- }, r);
2714
- if (!n) break;
2715
- let i = await t(e, n);
2716
- if (a()) return null;
2717
- u = rn(i.Events || [], u), d += (i.Events || []).length;
2718
- }
2719
- return {
2720
- events: u,
2721
- total: s,
2722
- offset: d,
2723
- limit: u.length
2724
- };
2725
- }
2726
2706
  //#endregion
2727
2707
  //#region src/hooks/useSessionLifecycle.ts
2728
- var Sn = 9e4, Cn = 30, wn = 50, Tn = 500;
2729
- function En(e, t) {
2730
- return t.length ? e.length ? e.length >= t.length : !1 : !0;
2731
- }
2732
- function Dn(e) {
2708
+ var Cn = 9e4, wn = 30, Tn = 50, En = 500, Dn = new Set([
2709
+ "in_progress",
2710
+ "running",
2711
+ "resuming",
2712
+ "starting"
2713
+ ]);
2714
+ function On(e) {
2733
2715
  if (e.EventType !== "run_status") return null;
2734
2716
  let t = String(e.Content?.status || "").trim().toLowerCase();
2735
2717
  return t === "completed" ? {
@@ -2749,7 +2731,7 @@ function Dn(e) {
2749
2731
  phase: "后台长任务恢复失败"
2750
2732
  } : null;
2751
2733
  }
2752
- function On(e) {
2734
+ function kn(e) {
2753
2735
  let { agentId: t, api: n, isMobile: r, resetCompaction: i, uiCapabilities: a, disconnectRun: o } = e, s = M(e.currentSessionId), l = M(e.agentId), u = M(null), d = M(null), f = M(null), p = A(async (e, t, r) => {
2754
2736
  let i = r.filter((e) => c(e, !1, !1));
2755
2737
  if (!i.length) return;
@@ -2783,7 +2765,7 @@ function On(e) {
2783
2765
  u.current !== t || t.signal.aborted || t.abort();
2784
2766
  }, o = globalThis.setTimeout(() => {
2785
2767
  a();
2786
- }, Sn);
2768
+ }, Cn);
2787
2769
  try {
2788
2770
  let o = (await n.subscribeRunEvents({
2789
2771
  sessionId: e.sessionId,
@@ -2813,8 +2795,8 @@ function On(e) {
2813
2795
  }
2814
2796
  try {
2815
2797
  let t = JSON.parse(o);
2816
- u = rn(u, [t]), i ||= on(t), r ||= i, t.EventType === "run_checkpoint" && Q.getState().upsertSessionCheckpoint(e.sessionId, t);
2817
- let n = Dn(t);
2798
+ u = rn(u, [t]), i ||= an(t), r ||= i, t.EventType === "run_checkpoint" && Q.getState().upsertSessionCheckpoint(e.sessionId, t);
2799
+ let n = On(t);
2818
2800
  if (n && L.getState().updateActivity({
2819
2801
  sessionId: e.sessionId,
2820
2802
  status: n.status,
@@ -2825,8 +2807,6 @@ function On(e) {
2825
2807
  a();
2826
2808
  break;
2827
2809
  }
2828
- let c = nn(u);
2829
- En(c, J.getState().messages) && J.getState().setMessages(c);
2830
2810
  } catch (e) {
2831
2811
  console.warn("Failed to parse run event data", o, e);
2832
2812
  }
@@ -2842,18 +2822,30 @@ function On(e) {
2842
2822
  let t = () => s.current === e;
2843
2823
  z.getState().setCurrentSessionId(e), i(), u.current?.abort(), r && _.getState().setMobileSidebarOpen(!1);
2844
2824
  try {
2845
- let r = await xn(e, n.listSessionEvents, {
2846
- pageSize: Tn,
2847
- shouldContinue: t
2825
+ let r = await n.listSessionMessages(e, {
2826
+ agentId: l.current || void 0,
2827
+ includeReasoning: !0,
2828
+ includeToolEvents: !0,
2829
+ includeAttachments: !0
2830
+ });
2831
+ if (!t()) return;
2832
+ let i = xn(r.Messages);
2833
+ J.getState().setMessages(i), p(l.current, e, i);
2834
+ let o = r.LatestSeqId || 0;
2835
+ n.listSessionEvents(e, { limit: En }).then((n) => {
2836
+ if (!t()) return;
2837
+ let r = n.Events || [];
2838
+ z.getState().setSessionEventCache(e, {
2839
+ events: r,
2840
+ total: n.Total ?? 0,
2841
+ offset: (n.Offset ?? 0) + r.length,
2842
+ limit: n.Limit ?? 0
2843
+ });
2844
+ }).catch((e) => {
2845
+ console.warn("[SessionLifecycle] event cache load failed:", e);
2848
2846
  });
2849
- if (!r || (z.getState().setSessionEventCache(e, {
2850
- events: r.events,
2851
- total: r.total,
2852
- offset: r.offset,
2853
- limit: r.limit
2854
- }), !t())) return;
2855
- let i = F.getState().capabilities || a;
2856
- if (i.RunLifecycle.Enabled && i.RunLifecycle.Checkpoints ? (n.listSessionCheckpoints({
2847
+ let s = F.getState().capabilities || a;
2848
+ if (s.RunLifecycle.Enabled && s.RunLifecycle.Checkpoints ? (n.listSessionCheckpoints({
2857
2849
  agentId: l.current,
2858
2850
  sessionId: e
2859
2851
  }).then((t) => {
@@ -2867,26 +2859,21 @@ function On(e) {
2867
2859
  Q.getState().setSessionToolReceipts(e, t.ToolReceipts || []);
2868
2860
  }).catch((t) => {
2869
2861
  console.warn("[SessionLifecycle] tool receipt load failed:", t), Q.getState().setSessionToolReceipts(e, []);
2870
- })) : Q.getState().clearSessionCheckpoints(e), r.events) {
2871
- let n = r.events, a = nn(n);
2862
+ })) : Q.getState().clearSessionCheckpoints(e), s.RunLifecycle.Enabled && s.RunLifecycle.Resume) try {
2863
+ let r = await n.getSession(e);
2872
2864
  if (!t()) return;
2873
- J.getState().setMessages(a), p(l.current, e, a);
2874
- let o = yn(n, {
2875
- now: Date.now(),
2876
- staleAfterMs: 1800 * 1e3
2877
- }), s = an(n);
2878
- i.RunLifecycle.Enabled && i.RunLifecycle.Resume && o[0] && m({
2865
+ let i = String(r.ActiveRunStatus || "").toLowerCase();
2866
+ Dn.has(i) && r.ActiveInvocationId && m({
2879
2867
  sessionId: e,
2880
- invocationId: o[0],
2881
- afterSeqId: s,
2882
- initialEvents: n
2868
+ invocationId: r.ActiveInvocationId,
2869
+ afterSeqId: o,
2870
+ initialEvents: []
2883
2871
  });
2884
- } else {
2885
- if (!t()) return;
2886
- J.getState().setMessages([]), Q.getState().setSessionCheckpoints(e, []), Q.getState().setSessionToolReceipts(e, []);
2872
+ } catch (e) {
2873
+ console.warn("[SessionLifecycle] getSession for reconnect failed:", e);
2887
2874
  }
2888
2875
  } catch (e) {
2889
- console.error("Failed to load session events:", e);
2876
+ console.error("Failed to load session messages:", e);
2890
2877
  }
2891
2878
  }, [
2892
2879
  n,
@@ -2901,13 +2888,13 @@ function On(e) {
2901
2888
  r.sessionsAgentId && r.sessionsAgentId !== e && r.resetSessionPagination(e), z.getState().setLoadingSessions(!0);
2902
2889
  let i = await n.listSessions(e, {
2903
2890
  page: 1,
2904
- pageSize: Cn
2891
+ pageSize: wn
2905
2892
  });
2906
2893
  z.getState().upsertSessions(i.Sessions || [], {
2907
2894
  agentId: e,
2908
2895
  total: Number(i.Total ?? i.Sessions?.length ?? 0),
2909
2896
  page: Number(i.Page ?? 1),
2910
- pageSize: Number(i.PageSize ?? Cn),
2897
+ pageSize: Number(i.PageSize ?? wn),
2911
2898
  replace: !0
2912
2899
  });
2913
2900
  let a = z.getState().sessions, o = s.current, c = we(a, o || t || Se(e));
@@ -2923,11 +2910,11 @@ function On(e) {
2923
2910
  if (e.isLoadingSessions || !e.hasMoreSessions) return;
2924
2911
  let t = le({
2925
2912
  total: e.sessionsTotal,
2926
- pageSize: e.sessionsPageSize || Cn,
2913
+ pageSize: e.sessionsPageSize || wn,
2927
2914
  loadedPages: e.loadedPages
2928
2915
  });
2929
2916
  if (!t) return;
2930
- let r = e.sessionsPageSize || Cn, i = e.sessionsAgentId || l.current || "default-agent";
2917
+ let r = e.sessionsPageSize || wn, i = e.sessionsAgentId || l.current || "default-agent";
2931
2918
  try {
2932
2919
  z.getState().setLoadingSessions(!0);
2933
2920
  let a = await n.listSessions(i, {
@@ -2989,7 +2976,7 @@ function On(e) {
2989
2976
  loadOlderSessionEvents: A(async (e) => {
2990
2977
  let t = z.getState().eventCache[e];
2991
2978
  if (!t || t.isLoadingOlder) return;
2992
- let r = bn(t, wn);
2979
+ let r = Sn(t, Tn);
2993
2980
  if (r) try {
2994
2981
  z.getState().setSessionEventLoadingOlder(e, !0);
2995
2982
  let i = await n.listSessionEvents(e, r), a = i.Events || [], o = rn(a, t.events), c = t.offset + a.length;
@@ -3017,7 +3004,7 @@ function On(e) {
3017
3004
  }
3018
3005
  //#endregion
3019
3006
  //#region src/components/chat/ConnectedSidebar.tsx
3020
- function kn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSession: s, loadMoreSessions: c }) {
3007
+ function An({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSession: s, loadMoreSessions: c }) {
3021
3008
  let u = z((e) => e.sessions), d = z((e) => e.currentSessionId), f = z((e) => e.pinnedSessionIds), m = z((e) => e.isLoadingSessions), h = z((e) => e.hasMoreSessions), g = _((e) => e.sidebarOpen), v = _((e) => e.mobileSidebarOpen), { isMobile: y } = Pe(), b = t(e), { desktopSidebarVisible: ee } = ge({
3022
3009
  isMobile: y,
3023
3010
  desktopSidebarOpen: g,
@@ -3080,13 +3067,13 @@ function kn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSess
3080
3067
  }
3081
3068
  //#endregion
3082
3069
  //#region src/components/ui/dialog.tsx
3083
- var An = N.Root, jn = N.Portal, Mn = O.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ E(N.Overlay, {
3070
+ var jn = N.Root, Mn = N.Portal, Nn = O.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ E(N.Overlay, {
3084
3071
  ref: n,
3085
3072
  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),
3086
3073
  ...t
3087
3074
  }));
3088
- Mn.displayName = N.Overlay.displayName;
3089
- var Nn = O.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ D(jn, { children: [/* @__PURE__ */ E(Mn, {}), /* @__PURE__ */ D(N.Content, {
3075
+ Nn.displayName = N.Overlay.displayName;
3076
+ var Pn = O.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ D(Mn, { children: [/* @__PURE__ */ E(Nn, {}), /* @__PURE__ */ D(N.Content, {
3090
3077
  ref: r,
3091
3078
  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),
3092
3079
  ...n,
@@ -3098,50 +3085,50 @@ var Nn = O.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ *
3098
3085
  })]
3099
3086
  })]
3100
3087
  })] }));
3101
- Nn.displayName = N.Content.displayName;
3102
- var Pn = ({ className: e, ...t }) => /* @__PURE__ */ E("div", {
3088
+ Pn.displayName = N.Content.displayName;
3089
+ var Fn = ({ className: e, ...t }) => /* @__PURE__ */ E("div", {
3103
3090
  className: p("flex flex-col space-y-1.5 text-center sm:text-left", e),
3104
3091
  ...t
3105
3092
  });
3106
- Pn.displayName = "DialogHeader";
3107
- var Fn = ({ className: e, ...t }) => /* @__PURE__ */ E("div", {
3093
+ Fn.displayName = "DialogHeader";
3094
+ var In = ({ className: e, ...t }) => /* @__PURE__ */ E("div", {
3108
3095
  className: p("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e),
3109
3096
  ...t
3110
3097
  });
3111
- Fn.displayName = "DialogFooter";
3112
- var In = O.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ E(N.Title, {
3098
+ In.displayName = "DialogFooter";
3099
+ var Ln = O.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ E(N.Title, {
3113
3100
  ref: n,
3114
3101
  className: p("text-lg font-semibold leading-none tracking-tight", e),
3115
3102
  ...t
3116
3103
  }));
3117
- In.displayName = N.Title.displayName;
3118
- var Ln = O.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ E(N.Description, {
3104
+ Ln.displayName = N.Title.displayName;
3105
+ var Rn = O.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ E(N.Description, {
3119
3106
  ref: n,
3120
3107
  className: p("text-sm text-muted-foreground", e),
3121
3108
  ...t
3122
3109
  }));
3123
- Ln.displayName = N.Description.displayName;
3110
+ Rn.displayName = N.Description.displayName;
3124
3111
  //#endregion
3125
3112
  //#region src/components/chat/AttachmentPreview.tsx
3126
- function Rn(e, t) {
3113
+ function zn(e, t) {
3127
3114
  if (!(!t || e)) return {
3128
3115
  width: `min(${t.width}px, calc(100vw - 5rem))`,
3129
3116
  height: `min(${t.height}px, calc(100vh - 9rem))`
3130
3117
  };
3131
3118
  }
3132
- function zn(e, t) {
3119
+ function Bn(e, t) {
3133
3120
  if (!(!t || e)) return { width: `min(${t.width + 32}px, calc(100vw - 3rem))` };
3134
3121
  }
3135
- function Bn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onImageLoad: i }) {
3136
- return /* @__PURE__ */ E(An, {
3122
+ function Vn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onImageLoad: i }) {
3123
+ return /* @__PURE__ */ E(jn, {
3137
3124
  open: !!e?.url,
3138
3125
  onOpenChange: (e) => !e && r(),
3139
- children: /* @__PURE__ */ D(Nn, {
3126
+ children: /* @__PURE__ */ D(Pn, {
3140
3127
  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"),
3141
- style: zn(t, n),
3128
+ style: Bn(t, n),
3142
3129
  children: [/* @__PURE__ */ E("div", {
3143
3130
  className: "flex items-center gap-3 border-b border-slate-800 px-4 py-3 pr-16",
3144
- children: /* @__PURE__ */ E(In, {
3131
+ children: /* @__PURE__ */ E(Ln, {
3145
3132
  className: "truncate text-sm font-medium",
3146
3133
  children: e?.name || "附件预览"
3147
3134
  })
@@ -3151,7 +3138,7 @@ function Bn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onIma
3151
3138
  src: e.url,
3152
3139
  alt: e.name,
3153
3140
  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)]"),
3154
- style: Rn(t, n),
3141
+ style: zn(t, n),
3155
3142
  onLoad: (e) => {
3156
3143
  let t = e.currentTarget;
3157
3144
  i({
@@ -3170,7 +3157,7 @@ function Bn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onIma
3170
3157
  }
3171
3158
  //#endregion
3172
3159
  //#region src/utils/context.js
3173
- function Vn(e) {
3160
+ function Hn(e) {
3174
3161
  if (typeof e == "number" && Number.isFinite(e) && e > 0) return e;
3175
3162
  if (typeof e == "string" && e.trim()) {
3176
3163
  let t = Number(e);
@@ -3178,15 +3165,15 @@ function Vn(e) {
3178
3165
  }
3179
3166
  return null;
3180
3167
  }
3181
- function Hn(e) {
3168
+ function Un(e) {
3182
3169
  return /[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/u.test(e);
3183
3170
  }
3184
- function Un(e) {
3171
+ function Wn(e) {
3185
3172
  let t = String(e || "").trim();
3186
3173
  if (!t) return 0;
3187
3174
  let n = 0, r = 0;
3188
3175
  for (let e of t) {
3189
- if (Hn(e)) {
3176
+ if (Un(e)) {
3190
3177
  n += 1;
3191
3178
  continue;
3192
3179
  }
@@ -3194,24 +3181,24 @@ function Un(e) {
3194
3181
  }
3195
3182
  return Math.max(1, n + Math.ceil(r / 4));
3196
3183
  }
3197
- function Wn(e) {
3198
- if (!e) return 0;
3199
- if (e.role === "system") return e.eventType === "context_checkpoint" ? Un(e.summary || "") : 0;
3200
- let t = Un(e.content || "");
3201
- return e.tools && (t += Object.values(e.tools).reduce((e, t) => e + Un(t?.name || "") + Un(t?.args || "") + Un(t?.output || ""), 0)), t;
3202
- }
3203
3184
  function Gn(e) {
3204
- return e ? Vn(e.context_window_tokens) ?? Vn(e?.limits?.context_window_tokens) : null;
3185
+ if (!e) return 0;
3186
+ if (e.role === "system") return e.eventType === "context_checkpoint" ? Wn(e.summary || "") : 0;
3187
+ let t = Wn(e.content || "");
3188
+ return e.tools && (t += Object.values(e.tools).reduce((e, t) => e + Wn(t?.name || "") + Wn(t?.args || "") + Wn(t?.output || ""), 0)), t;
3205
3189
  }
3206
3190
  function Kn(e) {
3207
- return e ? Vn(e.auto_compact_threshold_percentage) ?? 84 : 84;
3191
+ return e ? Hn(e.context_window_tokens) ?? Hn(e?.limits?.context_window_tokens) : null;
3192
+ }
3193
+ function qn(e) {
3194
+ return e ? Hn(e.auto_compact_threshold_percentage) ?? 84 : 84;
3208
3195
  }
3209
- function qn({ messages: e, draftInput: t, selectedModel: n }) {
3210
- let r = Gn(n);
3196
+ function Jn({ messages: e, draftInput: t, selectedModel: n }) {
3197
+ let r = Kn(n);
3211
3198
  if (!r) return null;
3212
3199
  let i = [...e || []].reverse().find((e) => e?.role === "system" && e?.eventType === "context_checkpoint" && e?.status === "running");
3213
3200
  if (i) {
3214
- let e = Wn(i);
3201
+ let e = Gn(i);
3215
3202
  return {
3216
3203
  label: "正在压缩上下文…",
3217
3204
  phase: "compressing",
@@ -3220,10 +3207,10 @@ function qn({ messages: e, draftInput: t, selectedModel: n }) {
3220
3207
  percent: Math.min(100, Math.max(0, Math.round(e / r * 100)))
3221
3208
  };
3222
3209
  }
3223
- let a = (e || []).reduce((e, t) => e + Wn(t), 0) + Un(t || "");
3210
+ let a = (e || []).reduce((e, t) => e + Gn(t), 0) + Wn(t || "");
3224
3211
  if (a <= 0) return null;
3225
3212
  let o = Math.min(100, Math.max(0, Math.round(a / r * 100)));
3226
- return o >= Kn(n) ? {
3213
+ return o >= qn(n) ? {
3227
3214
  label: `估算上下文 ${o}% · 即将压缩`,
3228
3215
  phase: "warning",
3229
3216
  percent: o,
@@ -3239,8 +3226,8 @@ function qn({ messages: e, draftInput: t, selectedModel: n }) {
3239
3226
  }
3240
3227
  //#endregion
3241
3228
  //#region src/components/chat/ConnectedMessageList.tsx
3242
- function Jn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback: r, onRespondToApproval: i, onStopGeneration: a, onCancelRemote: o, checkpointResumeEnabled: s = !1, onResumeCheckpoint: c, onLoadOlderSessionEvents: l }) {
3243
- let u = J((e) => e.messages), d = z((e) => e.currentSessionId), f = L((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = L((e) => e.getSessionActivity(d)), h = Q((e) => e.getSessionCheckpoints(d)), g = z((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = I((e) => e.availableModels), b = I((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = M(null), S = M(!0), C = M(!1), w = M(0), T = M(f), O = M(!1), k = M(!0), re = ie(() => y.find((e) => e.id === b) || null, [y, b]), A = ie(() => qn({
3229
+ function Yn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback: r, onRespondToApproval: i, onStopGeneration: a, onCancelRemote: o, checkpointResumeEnabled: s = !1, onResumeCheckpoint: c, onLoadOlderSessionEvents: l }) {
3230
+ let u = J((e) => e.messages), d = z((e) => e.currentSessionId), f = L((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = L((e) => e.getSessionActivity(d)), h = Q((e) => e.getSessionCheckpoints(d)), g = z((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = I((e) => e.availableModels), b = I((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = M(null), S = M(!0), C = M(!1), w = M(0), T = M(f), O = M(!1), k = M(!0), re = ie(() => y.find((e) => e.id === b) || null, [y, b]), A = ie(() => Jn({
3244
3231
  messages: u,
3245
3232
  draftInput: v,
3246
3233
  selectedModel: re
@@ -3326,7 +3313,7 @@ function Jn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
3326
3313
  checkpoints: s ? h : [],
3327
3314
  onResumeCheckpoint: c,
3328
3315
  scrollRef: x
3329
- }), /* @__PURE__ */ E(Bn, {
3316
+ }), /* @__PURE__ */ E(Vn, {
3330
3317
  attachment: ee,
3331
3318
  isMobile: t,
3332
3319
  previewImageSize: te,
@@ -3338,7 +3325,7 @@ function Jn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
3338
3325
  }
3339
3326
  //#endregion
3340
3327
  //#region src/utils/attachment.ts
3341
- function Yn(e) {
3328
+ function Xn(e) {
3342
3329
  return [
3343
3330
  e.name,
3344
3331
  e.size,
@@ -3346,19 +3333,19 @@ function Yn(e) {
3346
3333
  e.type
3347
3334
  ].join(":");
3348
3335
  }
3349
- function Xn(e, t) {
3336
+ function Zn(e, t) {
3350
3337
  let n = /* @__PURE__ */ new Map();
3351
- for (let t of e) n.set(Yn(t), t);
3352
- for (let e of t) n.set(Yn(e), e);
3338
+ for (let t of e) n.set(Xn(t), t);
3339
+ for (let e of t) n.set(Xn(e), e);
3353
3340
  return Array.from(n.values());
3354
3341
  }
3355
- function Zn(e) {
3342
+ function Qn(e) {
3356
3343
  return Array.from(e.clipboardData.items || []).filter((e) => e.kind === "file").map((e) => e.getAsFile()).filter((e) => !!e);
3357
3344
  }
3358
3345
  //#endregion
3359
3346
  //#region src/components/chat/ConnectedComposer.tsx
3360
- function Qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRemote: r, isMobile: i }) {
3361
- let o = _((e) => e.input), s = _((e) => e.attachments), c = z((e) => e.currentSessionId), l = L((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = J((e) => e.messages), f = I((e) => e.availableModels), p = I((e) => e.selectedModel), m = M(null), h = M(null), g = ie(() => f.find((e) => e.id === p) || null, [f, p]), v = ie(() => qn({
3347
+ function $n({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRemote: r, isMobile: i }) {
3348
+ let o = _((e) => e.input), s = _((e) => e.attachments), c = z((e) => e.currentSessionId), l = L((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = J((e) => e.messages), f = I((e) => e.availableModels), p = I((e) => e.selectedModel), m = M(null), h = M(null), g = ie(() => f.find((e) => e.id === p) || null, [f, p]), v = ie(() => Jn({
3362
3349
  messages: d,
3363
3350
  draftInput: o,
3364
3351
  selectedModel: g
@@ -3375,7 +3362,7 @@ function Qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
3375
3362
  let b = (t) => {
3376
3363
  _.getState().setInput(t.target.value), t.target.style.height = "auto", t.target.style.height = `${Math.min(t.target.scrollHeight, e)}px`;
3377
3364
  }, ee = (e) => {
3378
- e.length && _.getState().setAttachments((t) => Xn(t, e));
3365
+ e.length && _.getState().setAttachments((t) => Zn(t, e));
3379
3366
  };
3380
3367
  return /* @__PURE__ */ E(a, {
3381
3368
  attachments: s,
@@ -3389,7 +3376,7 @@ function Qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
3389
3376
  onAppendAttachments: ee,
3390
3377
  onInputChange: b,
3391
3378
  onPaste: (e) => {
3392
- let t = Zn(e);
3379
+ let t = Qn(e);
3393
3380
  t.length && (e.preventDefault(), e.stopPropagation(), ee(t));
3394
3381
  },
3395
3382
  onRemoveAttachment: (e) => _.getState().setAttachments((t) => t.filter((t, n) => n !== e)),
@@ -3401,7 +3388,7 @@ function Qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
3401
3388
  }
3402
3389
  //#endregion
3403
3390
  //#region src/api/session.ts
3404
- async function $n(e, t) {
3391
+ async function er(e, t) {
3405
3392
  let n = await q("ListSessions", {
3406
3393
  AgentId: e,
3407
3394
  Page: t?.page,
@@ -3414,15 +3401,18 @@ async function $n(e, t) {
3414
3401
  PageSize: Number.isFinite(Number(n.PageSize)) ? Number(n.PageSize) : t?.pageSize ?? n.Sessions?.length ?? 0
3415
3402
  };
3416
3403
  }
3417
- async function er(e, t) {
3404
+ async function tr(e, t) {
3418
3405
  return (await q("CreateSession", { AgentId: e }, t)).Session;
3419
3406
  }
3420
- async function tr(e, t) {
3407
+ async function nr(e, t) {
3421
3408
  await q("DeleteSession", { SessionId: e }, t);
3422
3409
  }
3410
+ async function rr(e, t) {
3411
+ return (await q("GetSession", { SessionId: e }, t)).Session;
3412
+ }
3423
3413
  //#endregion
3424
3414
  //#region src/api/events.ts
3425
- async function nr(e, t) {
3415
+ async function ir(e, t) {
3426
3416
  let n = await q("ListSessionEvents", {
3427
3417
  SessionId: e,
3428
3418
  Offset: t?.offset,
@@ -3436,20 +3426,39 @@ async function nr(e, t) {
3436
3426
  };
3437
3427
  }
3438
3428
  //#endregion
3429
+ //#region src/api/messages.ts
3430
+ async function ar(e, t) {
3431
+ let n = await q("ListSessionMessages", {
3432
+ AgentId: t?.agentId,
3433
+ SessionId: e,
3434
+ AfterSeqId: t?.afterSeqId,
3435
+ Limit: t?.limit,
3436
+ IncludeReasoning: t?.includeReasoning,
3437
+ IncludeToolEvents: t?.includeToolEvents,
3438
+ IncludeAttachments: t?.includeAttachments
3439
+ }, t);
3440
+ return {
3441
+ Messages: n.Messages ?? [],
3442
+ LatestSeqId: Number.isFinite(Number(n.LatestSeqId)) ? Number(n.LatestSeqId) : 0,
3443
+ HasMore: !!n.HasMore,
3444
+ NextCursor: Number.isFinite(Number(n.NextCursor)) ? Number(n.NextCursor) : null
3445
+ };
3446
+ }
3447
+ //#endregion
3439
3448
  //#region src/api/run.ts
3440
- async function rr(e, t) {
3449
+ async function or(e, t) {
3441
3450
  return Re("RunAgent", e, t);
3442
3451
  }
3443
3452
  //#endregion
3444
3453
  //#region src/api/checkpoints.ts
3445
- async function ir(e, t) {
3454
+ async function sr(e, t) {
3446
3455
  let n = {
3447
3456
  AgentId: e.agentId,
3448
3457
  SessionId: e.sessionId
3449
3458
  };
3450
3459
  return e.runId && (n.RunId = e.runId), q("ListSessionCheckpoints", n, t);
3451
3460
  }
3452
- async function ar(e, t) {
3461
+ async function cr(e, t) {
3453
3462
  return q("GetCheckpointResumePreview", {
3454
3463
  AgentId: e.agentId,
3455
3464
  SessionId: e.sessionId,
@@ -3457,14 +3466,14 @@ async function ar(e, t) {
3457
3466
  CheckpointId: e.checkpointId
3458
3467
  }, t);
3459
3468
  }
3460
- async function or(e, t) {
3469
+ async function lr(e, t) {
3461
3470
  let n = {
3462
3471
  AgentId: e.agentId,
3463
3472
  SessionId: e.sessionId
3464
3473
  };
3465
3474
  return e.runId && (n.RunId = e.runId), e.checkpointId && (n.CheckpointId = e.checkpointId), q("ListToolReceipts", n, t);
3466
3475
  }
3467
- async function sr(e, t) {
3476
+ async function ur(e, t) {
3468
3477
  let n = {
3469
3478
  AgentId: e.agentId,
3470
3479
  SessionId: e.sessionId,
@@ -3476,23 +3485,23 @@ async function sr(e, t) {
3476
3485
  }
3477
3486
  //#endregion
3478
3487
  //#region src/api/workspace.ts
3479
- async function cr(e, t, n) {
3488
+ async function dr(e, t, n) {
3480
3489
  return q("ListWorkspaceFiles", {
3481
3490
  AgentId: e,
3482
3491
  Path: t,
3483
3492
  Recursive: n
3484
3493
  });
3485
3494
  }
3486
- async function lr(e) {
3495
+ async function fr(e) {
3487
3496
  return Ie("AddWorkspaceFile", e);
3488
3497
  }
3489
- async function ur(e, t) {
3498
+ async function pr(e, t) {
3490
3499
  return q("DeleteWorkspaceFile", {
3491
3500
  AgentId: e,
3492
3501
  Path: t
3493
3502
  });
3494
3503
  }
3495
- async function dr(e, t, n) {
3504
+ async function mr(e, t, n) {
3496
3505
  return Le("GetWorkspaceFileContent", {
3497
3506
  AgentId: e,
3498
3507
  FilePath: t
@@ -3503,38 +3512,44 @@ async function dr(e, t, n) {
3503
3512
  }
3504
3513
  //#endregion
3505
3514
  //#region src/api/upload.ts
3506
- async function fr(e, t) {
3515
+ async function hr(e, t) {
3507
3516
  return Ie("UploadFile", e, t);
3508
3517
  }
3509
3518
  //#endregion
3510
3519
  //#region src/core/api/facade.ts
3511
- var pr = class {
3520
+ var gr = class {
3512
3521
  async listSessions(e, t) {
3513
- return $n(e, t);
3522
+ return er(e, t);
3514
3523
  }
3515
3524
  async createSession(e, t) {
3516
- return { SessionId: (await er(e, t)).SessionId };
3525
+ return { SessionId: (await tr(e, t)).SessionId };
3517
3526
  }
3518
3527
  async deleteSession(e, t) {
3519
- await tr(e, t);
3528
+ await nr(e, t);
3529
+ }
3530
+ async getSession(e, t) {
3531
+ return rr(e, t);
3520
3532
  }
3521
3533
  async listSessionEvents(e, t) {
3522
- return nr(e, t);
3534
+ return ir(e, t);
3535
+ }
3536
+ async listSessionMessages(e, t) {
3537
+ return ar(e, t);
3523
3538
  }
3524
3539
  async listSessionCheckpoints(e, t) {
3525
- return ir(e, t);
3540
+ return sr(e, t);
3526
3541
  }
3527
3542
  async previewCheckpointResume(e, t) {
3528
- return ar(e, t);
3543
+ return cr(e, t);
3529
3544
  }
3530
3545
  async listToolReceipts(e, t) {
3531
- return or(e, t);
3546
+ return lr(e, t);
3532
3547
  }
3533
3548
  async runAgent(e, t) {
3534
- return rr(e, t);
3549
+ return or(e, t);
3535
3550
  }
3536
3551
  async resumeRun(e, t) {
3537
- return sr(e, t);
3552
+ return ur(e, t);
3538
3553
  }
3539
3554
  async subscribeRunEvents(e, t) {
3540
3555
  return ze("SubscribeRunEvents", {
@@ -3559,16 +3574,16 @@ var pr = class {
3559
3574
  await q("DeleteResponseFeedback", e, t);
3560
3575
  }
3561
3576
  async listWorkspaceFiles(e, t, n) {
3562
- return cr(e, t, n);
3577
+ return dr(e, t, n);
3563
3578
  }
3564
3579
  async addWorkspaceFile(e) {
3565
- return lr(e);
3580
+ return fr(e);
3566
3581
  }
3567
3582
  async deleteWorkspaceFile(e, t) {
3568
- await ur(e, t);
3583
+ await pr(e, t);
3569
3584
  }
3570
3585
  async getWorkspaceFileContent(e, t, n) {
3571
- return dr(e, t, n);
3586
+ return mr(e, t, n);
3572
3587
  }
3573
3588
  async listAgentModels(e) {
3574
3589
  return Ve(e);
@@ -3577,14 +3592,14 @@ var pr = class {
3577
3592
  return Be();
3578
3593
  }
3579
3594
  async uploadFile(e, t) {
3580
- return fr(e, t);
3595
+ return hr(e, t);
3581
3596
  }
3582
- }, mr = new pr(), hr = k.lazy(() => import("./ArtifactsPanel-D3AiN69_.js").then((e) => ({ default: e.ArtifactsPanel }))), gr = k.lazy(() => import("./NativeTerminalPanel-mQwtEFvo.js").then((e) => e.n).then((e) => ({ default: e.NativeTerminalPanel })));
3583
- function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3584
- let a = e || mr, o = F((e) => e.agentId), s = z((e) => e.currentSessionId), c = L((e) => e.isStreaming), l = _((e) => e.sidebarOpen), u = _((e) => e.mobileSidebarOpen), d = _((e) => e.mobileActionsOpen), f = F((e) => e.agentName), p = I((e) => e.selectedModel), m = I((e) => e.availableModels), h = I((e) => e.modelSource), v = I((e) => e.modelCatalogLoaded), te = I((e) => e.thinkingMode), x = F((e) => e.agentFramework), S = F((e) => e.workspaceFiles), C = F((e) => e.accessMode), T = _((e) => e.workspacePanelOpen), O = _((e) => e.workspacePanelWidth), k = _((e) => e.workspacePanelFullscreen), ie = F((e) => e.apiFormats), N = F((e) => e.capabilities), P = w((e) => e.visible && !!e.content), oe = M([]), se = M(null), { isMobile: R, viewportHeight: ce } = Pe(), le = _e({
3597
+ }, _r = new gr(), vr = k.lazy(() => import("./ArtifactsPanel-DCn5q1OB.js").then((e) => ({ default: e.ArtifactsPanel }))), yr = k.lazy(() => import("./NativeTerminalPanel-CjyPyYC4.js").then((e) => e.n).then((e) => ({ default: e.NativeTerminalPanel })));
3598
+ function br({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3599
+ let a = e || _r, o = F((e) => e.agentId), s = z((e) => e.currentSessionId), c = L((e) => e.isStreaming), l = _((e) => e.sidebarOpen), u = _((e) => e.mobileSidebarOpen), d = _((e) => e.mobileActionsOpen), f = F((e) => e.agentName), p = I((e) => e.selectedModel), m = I((e) => e.availableModels), h = I((e) => e.modelSource), v = I((e) => e.modelCatalogLoaded), te = I((e) => e.thinkingMode), x = F((e) => e.agentFramework), S = F((e) => e.workspaceFiles), C = F((e) => e.accessMode), T = _((e) => e.workspacePanelOpen), O = _((e) => e.workspacePanelWidth), k = _((e) => e.workspacePanelFullscreen), ie = F((e) => e.apiFormats), N = F((e) => e.capabilities), P = w((e) => e.visible && !!e.content), oe = M([]), se = M(null), { isMobile: R, viewportHeight: ce } = Pe(), le = _e({
3585
3600
  isMobile: R,
3586
3601
  viewportHeight: ce
3587
- }), { fetchSessions: ue, loadMoreSessions: de, loadSession: fe, loadOlderSessionEvents: pe, createNewSession: me, deleteSession: he, currentSessionIdRef: B, agentIdRef: V, runSubscriptionAbortRef: ge } = On({
3602
+ }), { fetchSessions: ue, loadMoreSessions: de, loadSession: fe, loadOlderSessionEvents: pe, createNewSession: me, deleteSession: he, currentSessionIdRef: B, agentIdRef: V, runSubscriptionAbortRef: ge } = kn({
3588
3603
  agentId: o,
3589
3604
  currentSessionId: s,
3590
3605
  isMobile: R,
@@ -3598,7 +3613,7 @@ function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3598
3613
  z.getState().clearSessionEventCache(e), ue(V.current, e);
3599
3614
  };
3600
3615
  queueMicrotask(t), window.setTimeout(t, 1800), window.setTimeout(t, 5e3);
3601
- }, [V, ue]), ye = m.find((e) => e.id === p) || null, { submitDraft: be, stopGeneration: xe, disconnectRun: Se, resumeCheckpoint: we } = pn({
3616
+ }, [V, ue]), ye = m.find((e) => e.id === p) || null, { submitDraft: be, stopGeneration: xe, disconnectRun: Se, resumeCheckpoint: we } = fn({
3602
3617
  agentId: o,
3603
3618
  currentSessionId: s,
3604
3619
  agentFramework: x,
@@ -3643,7 +3658,7 @@ function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3643
3658
  o,
3644
3659
  B,
3645
3660
  ve
3646
- ]), { submitResponseFeedback: De, deleteResponseFeedback: Oe, respondToApproval: Ae } = mn({
3661
+ ]), { submitResponseFeedback: De, deleteResponseFeedback: Oe, respondToApproval: Ae } = pn({
3647
3662
  agentId: o,
3648
3663
  currentSessionId: s,
3649
3664
  isStreaming: c,
@@ -3679,7 +3694,7 @@ function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3679
3694
  let Be = /* @__PURE__ */ D("div", {
3680
3695
  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",
3681
3696
  children: [
3682
- /* @__PURE__ */ E(kn, {
3697
+ /* @__PURE__ */ E(An, {
3683
3698
  uiCapabilities: N,
3684
3699
  createNewSession: me,
3685
3700
  deleteSession: he,
@@ -3721,7 +3736,7 @@ function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3721
3736
  nativeTerminal: N.NativeTerminal,
3722
3737
  workspaceEnabled: H,
3723
3738
  onOpenWorkspace: () => _.getState().setWorkspacePanelOpen(!0)
3724
- }) : /* @__PURE__ */ D(ne, { children: [/* @__PURE__ */ E(Jn, {
3739
+ }) : /* @__PURE__ */ D(ne, { children: [/* @__PURE__ */ E(Yn, {
3725
3740
  agentName: f,
3726
3741
  isMobile: R,
3727
3742
  onDeleteFeedback: Oe,
@@ -3732,7 +3747,7 @@ function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3732
3747
  checkpointResumeEnabled: N.RunLifecycle.Enabled && N.RunLifecycle.Checkpoints && N.RunLifecycle.CheckpointResume,
3733
3748
  onResumeCheckpoint: we,
3734
3749
  onLoadOlderSessionEvents: pe
3735
- }), /* @__PURE__ */ E(Qn, {
3750
+ }), /* @__PURE__ */ E($n, {
3736
3751
  composerMaxHeight: le,
3737
3752
  submitDraft: be,
3738
3753
  stopGeneration: Te,
@@ -3770,11 +3785,11 @@ function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3770
3785
  }),
3771
3786
  P && /* @__PURE__ */ E(re, {
3772
3787
  fallback: null,
3773
- children: /* @__PURE__ */ E(hr, {})
3788
+ children: /* @__PURE__ */ E(vr, {})
3774
3789
  }),
3775
3790
  ze ? /* @__PURE__ */ E(re, {
3776
3791
  fallback: null,
3777
- children: /* @__PURE__ */ E(gr, {
3792
+ children: /* @__PURE__ */ E(yr, {
3778
3793
  capability: N.NativeTerminal,
3779
3794
  open: !0,
3780
3795
  sessionId: s,
@@ -3787,14 +3802,14 @@ function _r({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
3787
3802
  }
3788
3803
  //#endregion
3789
3804
  //#region src/core/transport/sse-transport.ts
3790
- function vr(e, t) {
3805
+ function xr(e, t) {
3791
3806
  if (e.eventName === "__ping__") {
3792
3807
  L.getState().updateActivity({ countEvent: !1 });
3793
3808
  return;
3794
3809
  }
3795
3810
  t.onEvent(e);
3796
3811
  }
3797
- var yr = class {
3812
+ var Sr = class {
3798
3813
  protocol = "sse-post";
3799
3814
  async connect(e, t) {
3800
3815
  let n = (await Re(e.action, e.body || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
@@ -3814,7 +3829,7 @@ var yr = class {
3814
3829
  t.onComplete();
3815
3830
  return;
3816
3831
  }
3817
- vr(e, t);
3832
+ xr(e, t);
3818
3833
  }
3819
3834
  }
3820
3835
  }
@@ -3826,7 +3841,7 @@ var yr = class {
3826
3841
  a = !0, n.cancel().catch(() => {});
3827
3842
  };
3828
3843
  }
3829
- }, br = class {
3844
+ }, Cr = class {
3830
3845
  protocol = "sse-get";
3831
3846
  async connect(e, t) {
3832
3847
  let n = (await ze(e.action, e.params || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
@@ -3846,7 +3861,7 @@ var yr = class {
3846
3861
  t.onComplete();
3847
3862
  return;
3848
3863
  }
3849
- vr(e, t);
3864
+ xr(e, t);
3850
3865
  }
3851
3866
  }
3852
3867
  }
@@ -3860,4 +3875,4 @@ var yr = class {
3860
3875
  }
3861
3876
  };
3862
3877
  //#endregion
3863
- export { _r as AgentWorkbench, pr as ApiFacadeImpl, bt as RunEngineImpl, br as SseGetTransport, yr as SsePostTransport, st as createProtocol };
3878
+ export { br as AgentWorkbench, gr as ApiFacadeImpl, bt as RunEngineImpl, Cr as SseGetTransport, Sr as SsePostTransport, st as createProtocol };