@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.
- package/CHANGELOG.md +14 -0
- package/dist-ksadk/assets/{ArtifactsPanel-xCGwbyKe.js → ArtifactsPanel-C0meuOdi.js} +1 -1
- package/dist-ksadk/assets/{CodeBlock-_d8IhXK6.js → CodeBlock-BbI4HPtJ.js} +1 -1
- package/dist-ksadk/assets/{MathMessageMarkdown-Dq5U0t0L.js → MathMessageMarkdown-DMLQYoLp.js} +1 -1
- package/dist-ksadk/assets/{MermaidBlock-BGEGRy9j.js → MermaidBlock-DCR8WZ17.js} +6 -6
- package/dist-ksadk/assets/{NativeTerminalPanel-D9YIBBoT.js → NativeTerminalPanel-CKUvWhUz.js} +1 -1
- package/dist-ksadk/assets/{arc-C-aJXEEz.js → arc-bj2rZnP5.js} +1 -1
- package/dist-ksadk/assets/architecture-7EHR7CIX-Cr6Xz1_c.js +1 -0
- package/dist-ksadk/assets/{architectureDiagram-3BPJPVTR-BS__hbBP.js → architectureDiagram-3BPJPVTR-2u1ltDIj.js} +1 -1
- package/dist-ksadk/assets/{blockDiagram-GPEHLZMM-BL-uLGOT.js → blockDiagram-GPEHLZMM-D6fvdK20.js} +1 -1
- package/dist-ksadk/assets/{c4Diagram-AAUBKEIU-BY64KkO8.js → c4Diagram-AAUBKEIU-BK82L5n5.js} +1 -1
- package/dist-ksadk/assets/channel-BSSOwFIb.js +1 -0
- package/dist-ksadk/assets/{chunk-2J33WTMH-DFgsEcc7.js → chunk-2J33WTMH-DLVdkeyQ.js} +1 -1
- package/dist-ksadk/assets/{chunk-4BX2VUAB-Dk1XGsDg.js → chunk-4BX2VUAB-BbwsYcbW.js} +1 -1
- package/dist-ksadk/assets/{chunk-55IACEB6-CyYG08Ez.js → chunk-55IACEB6-DOairxzw.js} +1 -1
- package/dist-ksadk/assets/{chunk-727SXJPM-Dj-o0foT.js → chunk-727SXJPM-hCO487gs.js} +1 -1
- package/dist-ksadk/assets/{chunk-AQP2D5EJ-M8cDZrZQ.js → chunk-AQP2D5EJ-XU8vDOuG.js} +1 -1
- package/dist-ksadk/assets/{chunk-FMBD7UC4-Mceczy0j.js → chunk-FMBD7UC4-PrapyfMu.js} +1 -1
- package/dist-ksadk/assets/{chunk-ND2GUHAM-dwTxQ3uL.js → chunk-ND2GUHAM-CboKhTZ3.js} +1 -1
- package/dist-ksadk/assets/chunk-QZHKN3VN-XXpdiwUL.js +1 -0
- package/dist-ksadk/assets/classDiagram-4FO5ZUOK-C5HvGiyK.js +1 -0
- package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-C5HvGiyK.js +1 -0
- package/dist-ksadk/assets/{cose-bilkent-S5V4N54A-Ch6hia5Y.js → cose-bilkent-S5V4N54A-_N8bJ-EU.js} +1 -1
- package/dist-ksadk/assets/{dagre-BM42HDAG-nrh587vF.js → dagre-BM42HDAG-FoDlo5J2.js} +1 -1
- package/dist-ksadk/assets/{diagram-2AECGRRQ-DgNb_Tw5.js → diagram-2AECGRRQ-BBp6ebBw.js} +1 -1
- package/dist-ksadk/assets/{diagram-5GNKFQAL-ND5Lir8O.js → diagram-5GNKFQAL-CqOvG1PR.js} +1 -1
- package/dist-ksadk/assets/{diagram-KO2AKTUF-CLrPFWcy.js → diagram-KO2AKTUF-O9T3t6ba.js} +1 -1
- package/dist-ksadk/assets/{diagram-LMA3HP47-D_Sgy27v.js → diagram-LMA3HP47-CGG8ekBO.js} +1 -1
- package/dist-ksadk/assets/{diagram-OG6HWLK6-QbrzvyWM.js → diagram-OG6HWLK6-4BmH1EEg.js} +1 -1
- package/dist-ksadk/assets/{dist-Ldf-oz8Y.js → dist-6kSZvCZh.js} +1 -1
- package/dist-ksadk/assets/{dist-ClZgJL0A.js → dist-B67uF2uK.js} +1 -1
- package/dist-ksadk/assets/{dist-CVN4jSSW.js → dist-BMKM66B4.js} +1 -1
- package/dist-ksadk/assets/{dist-DbpuiQKj.js → dist-BVzcWa6D.js} +1 -1
- package/dist-ksadk/assets/{dist-EhrdTAKL.js → dist-Bk1l05Ni.js} +1 -1
- package/dist-ksadk/assets/{dist-Q9_gg2Vb.js → dist-BkJjNih3.js} +1 -1
- package/dist-ksadk/assets/{dist-DzZB5tor.js → dist-BmuTWcm7.js} +1 -1
- package/dist-ksadk/assets/{dist-DRSyDPdG.js → dist-C2DKRFVK.js} +1 -1
- package/dist-ksadk/assets/{dist-D_ZZ4fV3.js → dist-CWiTDN_V.js} +1 -1
- package/dist-ksadk/assets/{dist-CMLwqcZ6.js → dist-CZ6C3x8B.js} +1 -1
- package/dist-ksadk/assets/{dist-DEJYL3UK.js → dist-CiZHB6ZW.js} +1 -1
- package/dist-ksadk/assets/{dist-CPRGtEH9.js → dist-Cp1_jKwf.js} +1 -1
- package/dist-ksadk/assets/{dist-DsvaqR-b.js → dist-Cwhk4lwI.js} +1 -1
- package/dist-ksadk/assets/{dist-B98JDMe6.js → dist-D5JGcxBx.js} +1 -1
- package/dist-ksadk/assets/{dist-BbS7HTJp.js → dist-D99wf6_X.js} +1 -1
- package/dist-ksadk/assets/{dist-JBDG5w09.js → dist-DCpZrjaK.js} +1 -1
- package/dist-ksadk/assets/{dist-DRYY8roY.js → dist-DI-oVAXw.js} +1 -1
- package/dist-ksadk/assets/{dist-haZBFH4L.js → dist-DLMjL01k.js} +1 -1
- package/dist-ksadk/assets/{dist-CKb66fZP.js → dist-DLeM1OCK.js} +1 -1
- package/dist-ksadk/assets/{dist-TIHF8jeZ.js → dist-DM0rEQPk.js} +1 -1
- package/dist-ksadk/assets/{dist-Dy6ODCG9.js → dist-DbaH3p5h.js} +1 -1
- package/dist-ksadk/assets/{dist-B7Z2ybmq.js → dist-S4klkK5W.js} +1 -1
- package/dist-ksadk/assets/{erDiagram-TEJ5UH35-DWsi2HhW.js → erDiagram-TEJ5UH35-oJhaci7S.js} +1 -1
- package/dist-ksadk/assets/eventmodeling-FCH6USID-CIgwHJLL.js +1 -0
- package/dist-ksadk/assets/{flowDiagram-I6XJVG4X-BAtVSiaU.js → flowDiagram-I6XJVG4X-DtTmUan-.js} +1 -1
- package/dist-ksadk/assets/{ganttDiagram-6RSMTGT7-jI1A45Ie.js → ganttDiagram-6RSMTGT7-BSsb_eij.js} +1 -1
- package/dist-ksadk/assets/gitGraph-WXDBUCRP-BVAJ7uo0.js +1 -0
- package/dist-ksadk/assets/{gitGraphDiagram-PVQCEYII-C3fW-u3c.js → gitGraphDiagram-PVQCEYII-BR5s6Pws.js} +1 -1
- package/dist-ksadk/assets/index-BH7-pC0B.js +165 -0
- package/dist-ksadk/assets/info-J43DQDTF-MT80V4ge.js +1 -0
- package/dist-ksadk/assets/{infoDiagram-5YYISTIA-7Fgxfiew.js → infoDiagram-5YYISTIA-DYPc5cvh.js} +1 -1
- package/dist-ksadk/assets/{ishikawaDiagram-YF4QCWOH-dXkKN_2f.js → ishikawaDiagram-YF4QCWOH-MoBdALDg.js} +1 -1
- package/dist-ksadk/assets/{journeyDiagram-JHISSGLW-Noo-i6Co.js → journeyDiagram-JHISSGLW-DgLiQT8l.js} +1 -1
- package/dist-ksadk/assets/{kanban-definition-UN3LZRKU-C-qkrNz8.js → kanban-definition-UN3LZRKU-CsFx112F.js} +1 -1
- package/dist-ksadk/assets/{katex-B907dXuX.js → katex-DRsiwpM2.js} +1 -1
- package/dist-ksadk/assets/{linear-CiSItak9.js → linear-TNRQ5Orv.js} +1 -1
- package/dist-ksadk/assets/{mermaid-parser.core-g7ZK2XzV.js → mermaid-parser.core-D2eMVOgo.js} +2 -2
- package/dist-ksadk/assets/{mindmap-definition-RKZ34NQL-KEpzYVDW.js → mindmap-definition-RKZ34NQL-BtByYFhL.js} +1 -1
- package/dist-ksadk/assets/packet-YPE3B663-BLKhbXZB.js +1 -0
- package/dist-ksadk/assets/pie-LRSECV5Y-DFOikjSY.js +1 -0
- package/dist-ksadk/assets/{pieDiagram-4H26LBE5-BetRBqce.js → pieDiagram-4H26LBE5-DPnuCB8c.js} +1 -1
- package/dist-ksadk/assets/{quadrantDiagram-W4KKPZXB-NTMW-2JW.js → quadrantDiagram-W4KKPZXB-miFpCPv4.js} +1 -1
- package/dist-ksadk/assets/radar-GUYGQ44K-095b1Ikw.js +1 -0
- package/dist-ksadk/assets/{requirementDiagram-4Y6WPE33-DGz7kAYq.js → requirementDiagram-4Y6WPE33-mjB_yYkW.js} +1 -1
- package/dist-ksadk/assets/{sankeyDiagram-5OEKKPKP-B1npa6g0.js → sankeyDiagram-5OEKKPKP-D7hSlZZZ.js} +1 -1
- package/dist-ksadk/assets/{sequenceDiagram-3UESZ5HK-CiiQg1kp.js → sequenceDiagram-3UESZ5HK-D9Cx6hC3.js} +1 -1
- package/dist-ksadk/assets/{stateDiagram-AJRCARHV-DeEoMo9D.js → stateDiagram-AJRCARHV-D_zrg47o.js} +1 -1
- package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-J9kCb0nC.js +1 -0
- package/dist-ksadk/assets/{timeline-definition-PNZ67QCA-C4KoD7P2.js → timeline-definition-PNZ67QCA-CwSec0Wa.js} +1 -1
- package/dist-ksadk/assets/treeView-BLDUP644-yinfJEY6.js +1 -0
- package/dist-ksadk/assets/treemap-LRROVOQU-DosUqN1Q.js +1 -0
- package/dist-ksadk/assets/{vennDiagram-CIIHVFJN-DuDr8-7R.js → vennDiagram-CIIHVFJN-agCVobiF.js} +1 -1
- package/dist-ksadk/assets/wardley-L42UT6IY-Bvp7-5uH.js +1 -0
- package/dist-ksadk/assets/{wardleyDiagram-YWT4CUSO-C6phy1Vu.js → wardleyDiagram-YWT4CUSO-TmrlhWNt.js} +1 -1
- package/dist-ksadk/assets/{xychartDiagram-2RQKCTM6-Cx6jCs70.js → xychartDiagram-2RQKCTM6-DV71V-ah.js} +1 -1
- package/dist-ksadk/index.html +1 -1
- package/dist-lib/{ArtifactsPanel-D3AiN69_.js → ArtifactsPanel-DCn5q1OB.js} +1 -1
- package/dist-lib/{CodeBlock-CWHejqEk.js → CodeBlock-BGJr6bCf.js} +1 -1
- package/dist-lib/{MathMessageMarkdown-BlZXusY6.js → MathMessageMarkdown-DQPFplDT.js} +2 -2
- package/dist-lib/{NativeTerminalPanel-mQwtEFvo.js → NativeTerminalPanel-CjyPyYC4.js} +1 -1
- package/dist-lib/{WorkspacePanelContainer-D5WLGlO_.js → WorkspacePanelContainer-fvYVV4lp.js} +15 -17
- package/dist-lib/api/messages.d.ts +51 -0
- package/dist-lib/api/messages.d.ts.map +1 -0
- package/dist-lib/api/session.d.ts +20 -0
- package/dist-lib/api/session.d.ts.map +1 -1
- package/dist-lib/components.js +2 -2
- package/dist-lib/core/api/facade.d.ts +12 -0
- package/dist-lib/core/api/facade.d.ts.map +1 -1
- package/dist-lib/core/api/types.d.ts +38 -0
- package/dist-lib/core/api/types.d.ts.map +1 -1
- package/dist-lib/hooks/useSessionLifecycle.d.ts.map +1 -1
- package/dist-lib/runtime.js +255 -240
- package/dist-lib/utils/messages.d.ts +17 -0
- package/dist-lib/utils/messages.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist-ksadk/assets/architecture-7EHR7CIX-ElkGISgr.js +0 -1
- package/dist-ksadk/assets/channel-95jCPDn-.js +0 -1
- package/dist-ksadk/assets/chunk-QZHKN3VN-DJz-BVY8.js +0 -1
- package/dist-ksadk/assets/classDiagram-4FO5ZUOK-DQhxN0zQ.js +0 -1
- package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-DQhxN0zQ.js +0 -1
- package/dist-ksadk/assets/eventmodeling-FCH6USID-R5MOzX8B.js +0 -1
- package/dist-ksadk/assets/gitGraph-WXDBUCRP-ycpCtFsu.js +0 -1
- package/dist-ksadk/assets/index-Bbbbu0em.js +0 -165
- package/dist-ksadk/assets/info-J43DQDTF-BG5UaFoK.js +0 -1
- package/dist-ksadk/assets/packet-YPE3B663-B4R_RXtl.js +0 -1
- package/dist-ksadk/assets/pie-LRSECV5Y-ZvqONtr7.js +0 -1
- package/dist-ksadk/assets/radar-GUYGQ44K-MPUTAFuT.js +0 -1
- package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-DdnBxj5o.js +0 -1
- package/dist-ksadk/assets/treeView-BLDUP644-BVT3-ekB.js +0 -1
- package/dist-ksadk/assets/treemap-LRROVOQU-DwsRqHk_.js +0 -1
- package/dist-ksadk/assets/wardley-L42UT6IY-Btn2OWZX.js +0 -1
- package/dist-lib/utils/run-state.d.ts +0 -3
- package/dist-lib/utils/run-state.d.ts.map +0 -1
package/dist-lib/runtime.js
CHANGED
|
@@ -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-
|
|
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,
|
|
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
|
|
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
|
|
2258
|
-
let t = String(e || "").trim().toLowerCase(), n =
|
|
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
|
|
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
|
-
|
|
2291
|
+
cn(e.messageId);
|
|
2298
2292
|
break;
|
|
2299
2293
|
case "text_delta":
|
|
2300
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
2418
|
+
function dn() {
|
|
2425
2419
|
$ = !1;
|
|
2426
2420
|
}
|
|
2427
2421
|
//#endregion
|
|
2428
2422
|
//#region src/hooks/useRunAgent.ts
|
|
2429
|
-
function
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2546
|
+
dn();
|
|
2553
2547
|
}, [])
|
|
2554
2548
|
};
|
|
2555
2549
|
}
|
|
2556
2550
|
//#endregion
|
|
2557
2551
|
//#region src/hooks/useFeedback.ts
|
|
2558
|
-
function
|
|
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/
|
|
2638
|
-
|
|
2639
|
-
|
|
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
|
-
|
|
2643
|
-
if (typeof
|
|
2644
|
-
|
|
2645
|
-
|
|
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
|
|
2650
|
+
return Date.now();
|
|
2649
2651
|
}
|
|
2650
|
-
|
|
2651
|
-
"
|
|
2652
|
-
"
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
"
|
|
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
|
|
2662
|
-
let
|
|
2663
|
-
for (let
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
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
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
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
|
|
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
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
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
|
|
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
|
-
},
|
|
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 ||=
|
|
2817
|
-
let n =
|
|
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
|
|
2846
|
-
|
|
2847
|
-
|
|
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
|
-
|
|
2850
|
-
|
|
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),
|
|
2871
|
-
let
|
|
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
|
-
|
|
2874
|
-
|
|
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:
|
|
2881
|
-
afterSeqId:
|
|
2882
|
-
initialEvents:
|
|
2868
|
+
invocationId: r.ActiveInvocationId,
|
|
2869
|
+
afterSeqId: o,
|
|
2870
|
+
initialEvents: []
|
|
2883
2871
|
});
|
|
2884
|
-
}
|
|
2885
|
-
|
|
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
|
|
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:
|
|
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 ??
|
|
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 ||
|
|
2913
|
+
pageSize: e.sessionsPageSize || wn,
|
|
2927
2914
|
loadedPages: e.loadedPages
|
|
2928
2915
|
});
|
|
2929
2916
|
if (!t) return;
|
|
2930
|
-
let r = e.sessionsPageSize ||
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
3089
|
-
var
|
|
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
|
-
|
|
3102
|
-
var
|
|
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
|
-
|
|
3107
|
-
var
|
|
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
|
-
|
|
3112
|
-
var
|
|
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
|
-
|
|
3118
|
-
var
|
|
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
|
-
|
|
3110
|
+
Rn.displayName = N.Description.displayName;
|
|
3124
3111
|
//#endregion
|
|
3125
3112
|
//#region src/components/chat/AttachmentPreview.tsx
|
|
3126
|
-
function
|
|
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
|
|
3119
|
+
function Bn(e, t) {
|
|
3133
3120
|
if (!(!t || e)) return { width: `min(${t.width + 32}px, calc(100vw - 3rem))` };
|
|
3134
3121
|
}
|
|
3135
|
-
function
|
|
3136
|
-
return /* @__PURE__ */ E(
|
|
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(
|
|
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:
|
|
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(
|
|
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:
|
|
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
|
|
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
|
|
3168
|
+
function Un(e) {
|
|
3182
3169
|
return /[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/u.test(e);
|
|
3183
3170
|
}
|
|
3184
|
-
function
|
|
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 (
|
|
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
|
-
|
|
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 ?
|
|
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
|
|
3210
|
-
let r =
|
|
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 =
|
|
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 +
|
|
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 >=
|
|
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
|
|
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(() =>
|
|
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(
|
|
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
|
|
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
|
|
3336
|
+
function Zn(e, t) {
|
|
3350
3337
|
let n = /* @__PURE__ */ new Map();
|
|
3351
|
-
for (let t of e) n.set(
|
|
3352
|
-
for (let e of t) n.set(
|
|
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
|
|
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
|
|
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(() =>
|
|
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) =>
|
|
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 =
|
|
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
|
|
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
|
|
3404
|
+
async function tr(e, t) {
|
|
3418
3405
|
return (await q("CreateSession", { AgentId: e }, t)).Session;
|
|
3419
3406
|
}
|
|
3420
|
-
async function
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
3495
|
+
async function fr(e) {
|
|
3487
3496
|
return Ie("AddWorkspaceFile", e);
|
|
3488
3497
|
}
|
|
3489
|
-
async function
|
|
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
|
|
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
|
|
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
|
|
3520
|
+
var gr = class {
|
|
3512
3521
|
async listSessions(e, t) {
|
|
3513
|
-
return
|
|
3522
|
+
return er(e, t);
|
|
3514
3523
|
}
|
|
3515
3524
|
async createSession(e, t) {
|
|
3516
|
-
return { SessionId: (await
|
|
3525
|
+
return { SessionId: (await tr(e, t)).SessionId };
|
|
3517
3526
|
}
|
|
3518
3527
|
async deleteSession(e, t) {
|
|
3519
|
-
await
|
|
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
|
|
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
|
|
3540
|
+
return sr(e, t);
|
|
3526
3541
|
}
|
|
3527
3542
|
async previewCheckpointResume(e, t) {
|
|
3528
|
-
return
|
|
3543
|
+
return cr(e, t);
|
|
3529
3544
|
}
|
|
3530
3545
|
async listToolReceipts(e, t) {
|
|
3531
|
-
return
|
|
3546
|
+
return lr(e, t);
|
|
3532
3547
|
}
|
|
3533
3548
|
async runAgent(e, t) {
|
|
3534
|
-
return
|
|
3549
|
+
return or(e, t);
|
|
3535
3550
|
}
|
|
3536
3551
|
async resumeRun(e, t) {
|
|
3537
|
-
return
|
|
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
|
|
3577
|
+
return dr(e, t, n);
|
|
3563
3578
|
}
|
|
3564
3579
|
async addWorkspaceFile(e) {
|
|
3565
|
-
return
|
|
3580
|
+
return fr(e);
|
|
3566
3581
|
}
|
|
3567
3582
|
async deleteWorkspaceFile(e, t) {
|
|
3568
|
-
await
|
|
3583
|
+
await pr(e, t);
|
|
3569
3584
|
}
|
|
3570
3585
|
async getWorkspaceFileContent(e, t, n) {
|
|
3571
|
-
return
|
|
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
|
|
3595
|
+
return hr(e, t);
|
|
3581
3596
|
}
|
|
3582
|
-
},
|
|
3583
|
-
function
|
|
3584
|
-
let a = 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 } =
|
|
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 } =
|
|
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 } =
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
3788
|
+
children: /* @__PURE__ */ E(vr, {})
|
|
3774
3789
|
}),
|
|
3775
3790
|
ze ? /* @__PURE__ */ E(re, {
|
|
3776
3791
|
fallback: null,
|
|
3777
|
-
children: /* @__PURE__ */ E(
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
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 {
|
|
3878
|
+
export { br as AgentWorkbench, gr as ApiFacadeImpl, bt as RunEngineImpl, Cr as SseGetTransport, Sr as SsePostTransport, st as createProtocol };
|