@kingsoftcloud/ksadk-web 0.2.13 → 0.2.15
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 +18 -0
- package/dist-ksadk/assets/{ArtifactsPanel-BXcrygCd.js → ArtifactsPanel-BQycE-WQ.js} +1 -1
- package/dist-ksadk/assets/{CodeBlock-BcCOwv3F.js → CodeBlock-BBNgCUzs.js} +1 -1
- package/dist-ksadk/assets/{MathMessageMarkdown-Drzttgxm.js → MathMessageMarkdown-BX8whIUg.js} +1 -1
- package/dist-ksadk/assets/{MermaidBlock-mtRNvScL.js → MermaidBlock-D68B7zAv.js} +6 -6
- package/dist-ksadk/assets/{NativeTerminalPanel-LnQxyAZB.js → NativeTerminalPanel-CyV-mhO3.js} +1 -1
- package/dist-ksadk/assets/{arc-tHdp8jQa.js → arc-wHztMxfp.js} +1 -1
- package/dist-ksadk/assets/architecture-7EHR7CIX-CH1wnW5S.js +1 -0
- package/dist-ksadk/assets/{architectureDiagram-3BPJPVTR-iz_Q1z15.js → architectureDiagram-3BPJPVTR-HU4hsN_Y.js} +1 -1
- package/dist-ksadk/assets/{blockDiagram-GPEHLZMM-UGrJbhBA.js → blockDiagram-GPEHLZMM-DV_1dQBG.js} +1 -1
- package/dist-ksadk/assets/{c4Diagram-AAUBKEIU-CXQpIgbq.js → c4Diagram-AAUBKEIU-C5jN6E0t.js} +1 -1
- package/dist-ksadk/assets/channel-D20CB9hV.js +1 -0
- package/dist-ksadk/assets/{chunk-2J33WTMH-BALTkjHL.js → chunk-2J33WTMH-jhWShx0U.js} +1 -1
- package/dist-ksadk/assets/{chunk-4BX2VUAB-ljiuFwa0.js → chunk-4BX2VUAB-BkmP_YIR.js} +1 -1
- package/dist-ksadk/assets/{chunk-55IACEB6-CFNeHQBP.js → chunk-55IACEB6-B8cdnfio.js} +1 -1
- package/dist-ksadk/assets/{chunk-727SXJPM-C5E5qV45.js → chunk-727SXJPM-I_wsgg4B.js} +1 -1
- package/dist-ksadk/assets/{chunk-AQP2D5EJ-qfoH6flS.js → chunk-AQP2D5EJ-CrKE0CjY.js} +1 -1
- package/dist-ksadk/assets/{chunk-FMBD7UC4-DigwjG9R.js → chunk-FMBD7UC4-CnBM9mx-.js} +1 -1
- package/dist-ksadk/assets/{chunk-ND2GUHAM-XNYKkHA-.js → chunk-ND2GUHAM-CAGmrkrk.js} +1 -1
- package/dist-ksadk/assets/chunk-QZHKN3VN-BsgRgQ_j.js +1 -0
- package/dist-ksadk/assets/classDiagram-4FO5ZUOK-DjrplkNv.js +1 -0
- package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-DjrplkNv.js +1 -0
- package/dist-ksadk/assets/{cose-bilkent-S5V4N54A-DGqDRX9x.js → cose-bilkent-S5V4N54A-DQutYsST.js} +1 -1
- package/dist-ksadk/assets/{dagre-BM42HDAG-CbbJ_rI4.js → dagre-BM42HDAG-BbfWozVQ.js} +1 -1
- package/dist-ksadk/assets/{diagram-2AECGRRQ-C8n-HBnY.js → diagram-2AECGRRQ-DTYDG1S6.js} +1 -1
- package/dist-ksadk/assets/{diagram-5GNKFQAL-BIta1UbQ.js → diagram-5GNKFQAL-CKo851uX.js} +1 -1
- package/dist-ksadk/assets/{diagram-KO2AKTUF-CK9z9G5J.js → diagram-KO2AKTUF-BFGsk7gQ.js} +1 -1
- package/dist-ksadk/assets/{diagram-LMA3HP47-Be71txec.js → diagram-LMA3HP47-Cp5eKc5-.js} +1 -1
- package/dist-ksadk/assets/{diagram-OG6HWLK6-DGFaZ5wp.js → diagram-OG6HWLK6-BCAPtWc_.js} +1 -1
- package/dist-ksadk/assets/{dist-jXQ-bzWe.js → dist-5kdQ7HkY.js} +1 -1
- package/dist-ksadk/assets/{dist-CR5MGEiz.js → dist-BA3Q9tGs.js} +1 -1
- package/dist-ksadk/assets/{dist-CWYvp3zw.js → dist-BUqHxLuB.js} +1 -1
- package/dist-ksadk/assets/{dist-DtQF0aK1.js → dist-BXfxON4M.js} +1 -1
- package/dist-ksadk/assets/{dist-BiKbpujX.js → dist-Bs8kNZ5F.js} +1 -1
- package/dist-ksadk/assets/{dist-CogLyQpT.js → dist-BzRHvUmK.js} +1 -1
- package/dist-ksadk/assets/{dist-Da8ivwwd.js → dist-C0aKpK3w.js} +1 -1
- package/dist-ksadk/assets/{dist-D2IzCbzs.js → dist-CA6GPOEx.js} +1 -1
- package/dist-ksadk/assets/{dist-C1w53MwT.js → dist-CD2EXfJM.js} +1 -1
- package/dist-ksadk/assets/{dist-Db3ZLHDu.js → dist-CF83ONlc.js} +1 -1
- package/dist-ksadk/assets/{dist-CjOZLBw0.js → dist-COCV2kJ4.js} +1 -1
- package/dist-ksadk/assets/{dist-BW5Ld9f-.js → dist-CRqn22al.js} +1 -1
- package/dist-ksadk/assets/{dist-BKUR95NE.js → dist-CcGyKrol.js} +1 -1
- package/dist-ksadk/assets/{dist-DZH4wrvX.js → dist-Drg2mY7X.js} +1 -1
- package/dist-ksadk/assets/{dist-BPECOwEw.js → dist-DsEBYSvP.js} +1 -1
- package/dist-ksadk/assets/{dist-BhIBOiwD.js → dist-Dtq8mlk_.js} +1 -1
- package/dist-ksadk/assets/{dist-SfWTEVE-.js → dist-PKzzxEoN.js} +1 -1
- package/dist-ksadk/assets/{dist-oiCsxUDb.js → dist-Wc8ZbAXr.js} +1 -1
- package/dist-ksadk/assets/{dist-DW68jH2U.js → dist-XvtBlTf3.js} +1 -1
- package/dist-ksadk/assets/{dist-C_Z1-ZmA.js → dist-ZTH3VhoY.js} +1 -1
- package/dist-ksadk/assets/{dist-D51ocFDT.js → dist-bSp7j4JA.js} +1 -1
- package/dist-ksadk/assets/{dist-C5TwAg32.js → dist-ygPYPIzK.js} +1 -1
- package/dist-ksadk/assets/{erDiagram-TEJ5UH35-DxpQTwOK.js → erDiagram-TEJ5UH35-B4Ez_K8Y.js} +1 -1
- package/dist-ksadk/assets/eventmodeling-FCH6USID-B6kJGZGf.js +1 -0
- package/dist-ksadk/assets/{flowDiagram-I6XJVG4X-DtJfiVka.js → flowDiagram-I6XJVG4X-Cugogq8u.js} +1 -1
- package/dist-ksadk/assets/{ganttDiagram-6RSMTGT7-Cads5zt8.js → ganttDiagram-6RSMTGT7-BdL2Ptyi.js} +1 -1
- package/dist-ksadk/assets/gitGraph-WXDBUCRP-B16H8iV0.js +1 -0
- package/dist-ksadk/assets/{gitGraphDiagram-PVQCEYII-pVBGF0kC.js → gitGraphDiagram-PVQCEYII-LTIaD1oy.js} +1 -1
- package/dist-ksadk/assets/index-CyqLY8HK.js +165 -0
- package/dist-ksadk/assets/info-J43DQDTF-CuylbYl8.js +1 -0
- package/dist-ksadk/assets/{infoDiagram-5YYISTIA-DRnfow9x.js → infoDiagram-5YYISTIA-Irvk5ODn.js} +1 -1
- package/dist-ksadk/assets/{ishikawaDiagram-YF4QCWOH-Cj4f-Vgb.js → ishikawaDiagram-YF4QCWOH-DvhCdgB4.js} +1 -1
- package/dist-ksadk/assets/{journeyDiagram-JHISSGLW-CAlm8MAI.js → journeyDiagram-JHISSGLW-o1H3k05h.js} +1 -1
- package/dist-ksadk/assets/{kanban-definition-UN3LZRKU-Dad-GGF-.js → kanban-definition-UN3LZRKU-DwLQeiLo.js} +1 -1
- package/dist-ksadk/assets/{katex-C29J-Smv.js → katex-rVASVN_G.js} +1 -1
- package/dist-ksadk/assets/{linear-zSHuEM7v.js → linear-6iVzNmCz.js} +1 -1
- package/dist-ksadk/assets/{mermaid-parser.core-Cc12WCm1.js → mermaid-parser.core-XdJNoTgS.js} +2 -2
- package/dist-ksadk/assets/{mindmap-definition-RKZ34NQL-BaWEag7j.js → mindmap-definition-RKZ34NQL-CytBxVen.js} +1 -1
- package/dist-ksadk/assets/packet-YPE3B663-CkTX9qzg.js +1 -0
- package/dist-ksadk/assets/pie-LRSECV5Y-D-9Kb8fQ.js +1 -0
- package/dist-ksadk/assets/{pieDiagram-4H26LBE5-CUweZZ4V.js → pieDiagram-4H26LBE5-CaevpDml.js} +1 -1
- package/dist-ksadk/assets/{quadrantDiagram-W4KKPZXB-r6VGrgUe.js → quadrantDiagram-W4KKPZXB-DN8OUKGZ.js} +1 -1
- package/dist-ksadk/assets/radar-GUYGQ44K-9yNm6uCf.js +1 -0
- package/dist-ksadk/assets/{requirementDiagram-4Y6WPE33-CODRvc2-.js → requirementDiagram-4Y6WPE33-BCAqWjys.js} +1 -1
- package/dist-ksadk/assets/{sankeyDiagram-5OEKKPKP-Bfu8TihS.js → sankeyDiagram-5OEKKPKP-2dMQM1qM.js} +1 -1
- package/dist-ksadk/assets/{sequenceDiagram-3UESZ5HK-B0aTqv-7.js → sequenceDiagram-3UESZ5HK-C-bWXa4S.js} +1 -1
- package/dist-ksadk/assets/{stateDiagram-AJRCARHV-C5D586Kc.js → stateDiagram-AJRCARHV-D0W5apow.js} +1 -1
- package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-4EIKDL6E.js +1 -0
- package/dist-ksadk/assets/{timeline-definition-PNZ67QCA-BN9QGovG.js → timeline-definition-PNZ67QCA-BW_33mxy.js} +1 -1
- package/dist-ksadk/assets/treeView-BLDUP644-Bxe9I30V.js +1 -0
- package/dist-ksadk/assets/treemap-LRROVOQU-IPLUPBu2.js +1 -0
- package/dist-ksadk/assets/{vennDiagram-CIIHVFJN-DD2DPPQK.js → vennDiagram-CIIHVFJN-CNmwt6el.js} +1 -1
- package/dist-ksadk/assets/wardley-L42UT6IY-mW088A4m.js +1 -0
- package/dist-ksadk/assets/{wardleyDiagram-YWT4CUSO-BuRKU-mS.js → wardleyDiagram-YWT4CUSO-CzuRPILG.js} +1 -1
- package/dist-ksadk/assets/{xychartDiagram-2RQKCTM6-CRK8qmKq.js → xychartDiagram-2RQKCTM6-CuwrcJ7v.js} +1 -1
- package/dist-ksadk/index.html +1 -1
- package/dist-lib/api/checkpoints.d.ts +2 -2
- package/dist-lib/api/checkpoints.d.ts.map +1 -1
- package/dist-lib/hooks/useSessionLifecycle.d.ts.map +1 -1
- package/dist-lib/runtime.js +263 -235
- package/dist-lib/utils/session-event-history.d.ts +21 -0
- package/dist-lib/utils/session-event-history.d.ts.map +1 -0
- package/dist-lib/utils/session-events.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist-ksadk/assets/architecture-7EHR7CIX-ld802pvW.js +0 -1
- package/dist-ksadk/assets/channel-COAU2EGH.js +0 -1
- package/dist-ksadk/assets/chunk-QZHKN3VN-BvzsW0_z.js +0 -1
- package/dist-ksadk/assets/classDiagram-4FO5ZUOK-DFTBkc62.js +0 -1
- package/dist-ksadk/assets/classDiagram-v2-Q7XG4LA2-DFTBkc62.js +0 -1
- package/dist-ksadk/assets/eventmodeling-FCH6USID-CTWi3c6l.js +0 -1
- package/dist-ksadk/assets/gitGraph-WXDBUCRP-BUUNILpg.js +0 -1
- package/dist-ksadk/assets/index-BmYXEuwx.js +0 -165
- package/dist-ksadk/assets/info-J43DQDTF-Bp9uT-J8.js +0 -1
- package/dist-ksadk/assets/packet-YPE3B663-BrkZLyQL.js +0 -1
- package/dist-ksadk/assets/pie-LRSECV5Y-DjPUnz6v.js +0 -1
- package/dist-ksadk/assets/radar-GUYGQ44K-B4p0ZaJn.js +0 -1
- package/dist-ksadk/assets/stateDiagram-v2-BHNVJYJU-NgpS71EE.js +0 -1
- package/dist-ksadk/assets/treeView-BLDUP644-D52yTg0v.js +0 -1
- package/dist-ksadk/assets/treemap-LRROVOQU-BXzm9_qc.js +0 -1
- package/dist-ksadk/assets/wardley-L42UT6IY-jE2fE4jx.js +0 -1
package/dist-lib/runtime.js
CHANGED
|
@@ -1728,22 +1728,27 @@ var Q = N()((e, t) => ({
|
|
|
1728
1728
|
"cancelled",
|
|
1729
1729
|
"canceled",
|
|
1730
1730
|
"aborted"
|
|
1731
|
+
]), Ft = new Set([
|
|
1732
|
+
"tool_call",
|
|
1733
|
+
"tool_result",
|
|
1734
|
+
"stage_tool_call",
|
|
1735
|
+
"stage_tool_result"
|
|
1731
1736
|
]);
|
|
1732
|
-
function
|
|
1737
|
+
function It(e) {
|
|
1733
1738
|
return typeof e == "string" ? e : Array.isArray(e) ? e.map((e) => typeof e == "string" ? e : e && typeof e == "object" && typeof e.text == "string" ? e.text : "").join("") : "";
|
|
1734
1739
|
}
|
|
1735
|
-
function
|
|
1740
|
+
function Lt(e) {
|
|
1736
1741
|
let t = String(e || "").trim();
|
|
1737
1742
|
return t ? `/agentengine/api/v1/AttachmentContent?FileUri=${encodeURIComponent(t)}` : "";
|
|
1738
1743
|
}
|
|
1739
|
-
function
|
|
1744
|
+
function Rt(e) {
|
|
1740
1745
|
return String(e || "").match(/^data:([^;,]+)/)?.[1] || "";
|
|
1741
1746
|
}
|
|
1742
|
-
function
|
|
1747
|
+
function zt(e, t) {
|
|
1743
1748
|
let n = String(e || "").trim(), r = String(t || "").trim();
|
|
1744
1749
|
return !n || !r || n === r ? !0 : n.endsWith("/*") ? r.startsWith(n.slice(0, -1)) : r.endsWith("/*") ? n.startsWith(r.slice(0, -1)) : !1;
|
|
1745
1750
|
}
|
|
1746
|
-
function
|
|
1751
|
+
function Bt(e) {
|
|
1747
1752
|
let t = e?.Content?.parts || [], n = [], r = /* @__PURE__ */ new Map(), i = (e) => {
|
|
1748
1753
|
let t = `${e.fileUri || e.url || e.name}|${e.type}`;
|
|
1749
1754
|
r.has(t) || r.set(t, e);
|
|
@@ -1773,7 +1778,7 @@ function zt(e) {
|
|
|
1773
1778
|
let t = e.file_url.trim();
|
|
1774
1779
|
i({
|
|
1775
1780
|
name: e.filename || e.displayName || e.display_name || "attachment",
|
|
1776
|
-
url:
|
|
1781
|
+
url: Lt(t),
|
|
1777
1782
|
type: e.mime_type || e.mimeType || "application/octet-stream",
|
|
1778
1783
|
fileUri: t
|
|
1779
1784
|
});
|
|
@@ -1784,7 +1789,7 @@ function zt(e) {
|
|
|
1784
1789
|
t && i({
|
|
1785
1790
|
name: e.filename || e.displayName || e.display_name || "uploaded_image",
|
|
1786
1791
|
url: t,
|
|
1787
|
-
type: e.mime_type || e.mimeType ||
|
|
1792
|
+
type: e.mime_type || e.mimeType || Rt(t) || "image/*"
|
|
1788
1793
|
});
|
|
1789
1794
|
continue;
|
|
1790
1795
|
}
|
|
@@ -1792,7 +1797,7 @@ function zt(e) {
|
|
|
1792
1797
|
let t = String(e.fileData.fileUri || "").trim();
|
|
1793
1798
|
i({
|
|
1794
1799
|
name: e.fileData.displayName || "attachment",
|
|
1795
|
-
url:
|
|
1800
|
+
url: Lt(t),
|
|
1796
1801
|
type: e.fileData.mimeType || "application/octet-stream",
|
|
1797
1802
|
fileUri: t
|
|
1798
1803
|
});
|
|
@@ -1802,11 +1807,11 @@ function zt(e) {
|
|
|
1802
1807
|
for (let e of a) {
|
|
1803
1808
|
let t = String(e.file_uri || "").trim(), n = {
|
|
1804
1809
|
name: e.display_name || "attachment",
|
|
1805
|
-
url:
|
|
1810
|
+
url: Lt(t),
|
|
1806
1811
|
type: e.mime_type || "application/octet-stream",
|
|
1807
1812
|
fileUri: t
|
|
1808
1813
|
};
|
|
1809
|
-
!n.url && !n.fileUri && Array.from(r.values()).some((e) => e.name === n.name &&
|
|
1814
|
+
!n.url && !n.fileUri && Array.from(r.values()).some((e) => e.name === n.name && zt(e.type, n.type) && (e.url || e.fileUri)) || i(n);
|
|
1810
1815
|
}
|
|
1811
1816
|
let o = Array.from(r.values());
|
|
1812
1817
|
return {
|
|
@@ -1814,7 +1819,7 @@ function zt(e) {
|
|
|
1814
1819
|
attachments: o.length > 0 ? o : void 0
|
|
1815
1820
|
};
|
|
1816
1821
|
}
|
|
1817
|
-
function
|
|
1822
|
+
function Vt(e) {
|
|
1818
1823
|
let t = e?.Metadata?.responses_output;
|
|
1819
1824
|
if (!Array.isArray(t)) return {};
|
|
1820
1825
|
let n = Ke(), r = tt({
|
|
@@ -1861,22 +1866,22 @@ function Bt(e) {
|
|
|
1861
1866
|
...Object.keys(a).length > 0 ? { tools: a } : {}
|
|
1862
1867
|
};
|
|
1863
1868
|
}
|
|
1864
|
-
function
|
|
1869
|
+
function Ht(e, t, n) {
|
|
1865
1870
|
return t === "running" ? e === "prompt_too_long" ? "检测到上下文过长,正在自动压缩历史后重试" : "正在自动压缩上下文" : n ? e === "prompt_too_long" ? "上下文过长,系统已自动压缩历史并重试" : "系统已自动压缩较早的对话上下文" : t === "failed" ? "自动压缩上下文未完成" : e === "prompt_too_long" ? "已完成上下文压缩,并继续当前回复" : "已完成上下文压缩";
|
|
1866
1871
|
}
|
|
1867
|
-
function
|
|
1872
|
+
function Ut(e, t) {
|
|
1868
1873
|
return [
|
|
1869
1874
|
e,
|
|
1870
1875
|
t.content || "",
|
|
1871
1876
|
t.reasoning || ""
|
|
1872
1877
|
].join("\0");
|
|
1873
1878
|
}
|
|
1874
|
-
function
|
|
1879
|
+
function Wt(e) {
|
|
1875
1880
|
return e?.Metadata?.responses_mirror === !0 || String(e?.Metadata?.responses_mirror || "").trim().toLowerCase() === "true";
|
|
1876
1881
|
}
|
|
1877
|
-
function
|
|
1882
|
+
function Gt(e) {
|
|
1878
1883
|
if (e?.EventType !== "user_message") return "";
|
|
1879
|
-
let t =
|
|
1884
|
+
let t = Bt(e), n = (t.attachments || []).map((e) => [
|
|
1880
1885
|
e.name || "",
|
|
1881
1886
|
e.fileUri || "",
|
|
1882
1887
|
e.url || "",
|
|
@@ -1884,16 +1889,16 @@ function Wt(e) {
|
|
|
1884
1889
|
].join("")).sort().join("");
|
|
1885
1890
|
return [String(t.text || "").trim(), n].join("\0");
|
|
1886
1891
|
}
|
|
1887
|
-
function
|
|
1892
|
+
function Kt(e) {
|
|
1888
1893
|
return e?.EventType === "assistant_stream_snapshot";
|
|
1889
1894
|
}
|
|
1890
|
-
function
|
|
1895
|
+
function qt(e) {
|
|
1891
1896
|
let t = Number(e?.SeqId || 0);
|
|
1892
1897
|
if (Number.isFinite(t) && t > 0) return t;
|
|
1893
1898
|
let n = Number(e?.Timestamp || 0);
|
|
1894
1899
|
return Number.isFinite(n) ? n : 0;
|
|
1895
1900
|
}
|
|
1896
|
-
function
|
|
1901
|
+
function Jt(e) {
|
|
1897
1902
|
if (typeof e == "string") return e;
|
|
1898
1903
|
if (e == null) return "";
|
|
1899
1904
|
try {
|
|
@@ -1902,15 +1907,15 @@ function qt(e) {
|
|
|
1902
1907
|
return String(e);
|
|
1903
1908
|
}
|
|
1904
1909
|
}
|
|
1905
|
-
function
|
|
1910
|
+
function Yt(e) {
|
|
1906
1911
|
let t = String(e?.EventType || "");
|
|
1907
|
-
if (t
|
|
1908
|
-
let n = String(e.Metadata?.tool_name || e.Metadata?.name || e.Metadata?.function_name ||
|
|
1912
|
+
if (!Ft.has(t)) return null;
|
|
1913
|
+
let n = String(e.Metadata?.tool_name || e.Metadata?.name || e.Metadata?.function_name || It(e.Content?.parts) || "tool").trim() || "tool", r = {
|
|
1909
1914
|
name: n,
|
|
1910
1915
|
args: "",
|
|
1911
1916
|
status: "running"
|
|
1912
|
-
}, i = t === "tool_result" ? (() => {
|
|
1913
|
-
let t =
|
|
1917
|
+
}, i = t === "tool_result" || t === "stage_tool_result" ? (() => {
|
|
1918
|
+
let t = Jt(e.Metadata?.tool_output ?? e.Metadata?.output ?? e.Metadata?.result ?? It(e.Content?.parts));
|
|
1914
1919
|
return {
|
|
1915
1920
|
...r,
|
|
1916
1921
|
output: t,
|
|
@@ -1918,7 +1923,7 @@ function Jt(e) {
|
|
|
1918
1923
|
};
|
|
1919
1924
|
})() : {
|
|
1920
1925
|
...r,
|
|
1921
|
-
args:
|
|
1926
|
+
args: Jt(e.Metadata?.tool_args ?? e.Metadata?.arguments ?? e.Metadata?.args ?? {})
|
|
1922
1927
|
};
|
|
1923
1928
|
return {
|
|
1924
1929
|
id: e.EventId || String(Date.now() + Math.random()),
|
|
@@ -1929,7 +1934,7 @@ function Jt(e) {
|
|
|
1929
1934
|
tools: { [n]: i }
|
|
1930
1935
|
};
|
|
1931
1936
|
}
|
|
1932
|
-
function
|
|
1937
|
+
function Xt(e = {}, t = {}) {
|
|
1933
1938
|
let n = { ...e || {} };
|
|
1934
1939
|
for (let [e, r] of Object.entries(t || {})) n[e] = {
|
|
1935
1940
|
...n[e] || {},
|
|
@@ -1939,7 +1944,7 @@ function Yt(e = {}, t = {}) {
|
|
|
1939
1944
|
};
|
|
1940
1945
|
return n;
|
|
1941
1946
|
}
|
|
1942
|
-
function
|
|
1947
|
+
function Zt(e = {}, t = "") {
|
|
1943
1948
|
let n = String(t || "").trim().toLowerCase(), r = n === "completed" ? "completed" : Pt.has(n) ? "error" : "";
|
|
1944
1949
|
if (!r) return e;
|
|
1945
1950
|
let i = !1, a = {};
|
|
@@ -1949,10 +1954,10 @@ function Xt(e = {}, t = "") {
|
|
|
1949
1954
|
}) : a[t] = n;
|
|
1950
1955
|
return i ? a : e;
|
|
1951
1956
|
}
|
|
1952
|
-
function
|
|
1957
|
+
function Qt(e, t) {
|
|
1953
1958
|
return {
|
|
1954
1959
|
...e,
|
|
1955
|
-
reasoning:
|
|
1960
|
+
reasoning: $t(e.reasoning, t.reasoning),
|
|
1956
1961
|
tools: {
|
|
1957
1962
|
...e.tools || {},
|
|
1958
1963
|
...t.tools || {}
|
|
@@ -1965,11 +1970,11 @@ function Zt(e, t) {
|
|
|
1965
1970
|
id: t.responseId || t.reasoning || t.tools ? t.id : e.id
|
|
1966
1971
|
};
|
|
1967
1972
|
}
|
|
1968
|
-
function
|
|
1973
|
+
function $t(e = "", t = "") {
|
|
1969
1974
|
let n = String(e || ""), r = String(t || "");
|
|
1970
1975
|
return n ? !r || n.endsWith(r) ? n : r.startsWith(n) ? r : `${n}${r}` : r;
|
|
1971
1976
|
}
|
|
1972
|
-
function
|
|
1977
|
+
function en(e) {
|
|
1973
1978
|
return {
|
|
1974
1979
|
id: e.id,
|
|
1975
1980
|
role: "system",
|
|
@@ -1980,10 +1985,10 @@ function $t(e) {
|
|
|
1980
1985
|
summary: e.summary,
|
|
1981
1986
|
historical: e.historical,
|
|
1982
1987
|
timestamp: e.timestamp,
|
|
1983
|
-
content:
|
|
1988
|
+
content: Ht(e.trigger, e.status, e.historical)
|
|
1984
1989
|
};
|
|
1985
1990
|
}
|
|
1986
|
-
function
|
|
1991
|
+
function tn(e) {
|
|
1987
1992
|
let t = e?.EventType || "";
|
|
1988
1993
|
if (t === "run_status") return e.Content?.status === "failed" ? {
|
|
1989
1994
|
id: e.EventId || String(Date.now() + Math.random()),
|
|
@@ -2001,8 +2006,8 @@ function en(e) {
|
|
|
2001
2006
|
timestamp: e.Timestamp || Date.now()
|
|
2002
2007
|
} : null;
|
|
2003
2008
|
if (t === "context_checkpoint") {
|
|
2004
|
-
let t =
|
|
2005
|
-
return
|
|
2009
|
+
let t = Bt(e);
|
|
2010
|
+
return en({
|
|
2006
2011
|
id: e.EventId || String(Date.now() + Math.random()),
|
|
2007
2012
|
timestamp: e.Timestamp || Date.now(),
|
|
2008
2013
|
status: "completed",
|
|
@@ -2013,7 +2018,7 @@ function en(e) {
|
|
|
2013
2018
|
});
|
|
2014
2019
|
}
|
|
2015
2020
|
if (t === "reasoning") {
|
|
2016
|
-
let n =
|
|
2021
|
+
let n = Bt(e).text || It(e.Metadata?.reasoning);
|
|
2017
2022
|
return n ? {
|
|
2018
2023
|
id: e.EventId || String(Date.now() + Math.random()),
|
|
2019
2024
|
role: "model",
|
|
@@ -2023,9 +2028,9 @@ function en(e) {
|
|
|
2023
2028
|
eventType: t
|
|
2024
2029
|
} : null;
|
|
2025
2030
|
}
|
|
2026
|
-
if (t
|
|
2031
|
+
if (Ft.has(t)) return Yt(e);
|
|
2027
2032
|
if (t !== "user_message" && t !== "assistant_message" && t !== "assistant_stream_snapshot") return null;
|
|
2028
|
-
let n =
|
|
2033
|
+
let n = Bt(e), r = t === "assistant_message" ? Vt(e) : {};
|
|
2029
2034
|
if (!n.text && !n.attachments?.length && !r.reasoning && !r.tools) return null;
|
|
2030
2035
|
let i = String(e.Metadata?.response_id || e.Metadata?.ResponseId || "").trim(), a = String(e.Metadata?.trace_id || e.Metadata?.TraceId || "").trim(), o = String(e.Metadata?.root_span_id || e.Metadata?.rootSpanId || e.Metadata?.RootSpanId || "").trim();
|
|
2031
2036
|
return {
|
|
@@ -2042,7 +2047,7 @@ function en(e) {
|
|
|
2042
2047
|
...r
|
|
2043
2048
|
};
|
|
2044
2049
|
}
|
|
2045
|
-
function
|
|
2050
|
+
function nn(e = []) {
|
|
2046
2051
|
let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), s = Array.isArray(e) ? e : [], c = [];
|
|
2047
2052
|
for (let e of s) {
|
|
2048
2053
|
let t = String(e?.EventId || "").trim();
|
|
@@ -2054,30 +2059,30 @@ function tn(e = []) {
|
|
|
2054
2059
|
}
|
|
2055
2060
|
let l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Map();
|
|
2056
2061
|
for (let e of c) {
|
|
2057
|
-
if (e?.EventType !== "user_message" ||
|
|
2062
|
+
if (e?.EventType !== "user_message" || Wt(e)) {
|
|
2058
2063
|
if (e?.EventType === "assistant_message") {
|
|
2059
2064
|
let t = String(e.InvocationId || "").trim();
|
|
2060
2065
|
t && u.add(t);
|
|
2061
2066
|
}
|
|
2062
|
-
if (
|
|
2067
|
+
if (Kt(e)) {
|
|
2063
2068
|
let t = String(e.InvocationId || "").trim();
|
|
2064
2069
|
if (t) {
|
|
2065
2070
|
let n = d.get(t);
|
|
2066
|
-
(!n ||
|
|
2071
|
+
(!n || qt(e) >= qt(n)) && d.set(t, e);
|
|
2067
2072
|
}
|
|
2068
2073
|
}
|
|
2069
2074
|
continue;
|
|
2070
2075
|
}
|
|
2071
|
-
let t =
|
|
2076
|
+
let t = Gt(e);
|
|
2072
2077
|
t && l.add(t);
|
|
2073
2078
|
}
|
|
2074
2079
|
let f = c.filter((e) => {
|
|
2075
|
-
if (
|
|
2080
|
+
if (Kt(e)) {
|
|
2076
2081
|
let t = String(e.InvocationId || "").trim();
|
|
2077
2082
|
return t ? u.has(t) ? !1 : d.get(t) === e : !0;
|
|
2078
2083
|
}
|
|
2079
|
-
if (e?.EventType !== "user_message" || !
|
|
2080
|
-
let t =
|
|
2084
|
+
if (e?.EventType !== "user_message" || !Wt(e)) return !0;
|
|
2085
|
+
let t = Gt(e);
|
|
2081
2086
|
return !t || !l.has(t);
|
|
2082
2087
|
});
|
|
2083
2088
|
for (let e of f) {
|
|
@@ -2086,13 +2091,16 @@ function tn(e = []) {
|
|
|
2086
2091
|
"assistant_message",
|
|
2087
2092
|
"assistant_stream_snapshot",
|
|
2088
2093
|
"reasoning",
|
|
2089
|
-
"tool_call"
|
|
2094
|
+
"tool_call",
|
|
2095
|
+
"tool_result",
|
|
2096
|
+
"stage_tool_call",
|
|
2097
|
+
"stage_tool_result"
|
|
2090
2098
|
].includes(String(e.EventType || "")) && r.add(a), e.EventType === "run_status" && a && (t.set(a, String(e.Content?.status || "").trim()), n.set(a, e));
|
|
2091
2099
|
}
|
|
2092
2100
|
let p = [], m = /* @__PURE__ */ new Map(), h = null, g = /* @__PURE__ */ new Map(), _ = (e) => {
|
|
2093
2101
|
let t = String(e?.responseId || "").trim(), n = t ? m.get(t) : void 0;
|
|
2094
2102
|
if (n !== void 0) {
|
|
2095
|
-
p[n] =
|
|
2103
|
+
p[n] = Qt(p[n], e);
|
|
2096
2104
|
return;
|
|
2097
2105
|
}
|
|
2098
2106
|
t && m.set(t, p.length), p.push(e);
|
|
@@ -2102,13 +2110,13 @@ function tn(e = []) {
|
|
|
2102
2110
|
let n = String(e || "").trim();
|
|
2103
2111
|
if (!n) return {};
|
|
2104
2112
|
let r = g.get(n);
|
|
2105
|
-
return r ? (g.delete(n), { tools:
|
|
2113
|
+
return r ? (g.delete(n), { tools: Zt(r.tools, t.get(n)) }) : {};
|
|
2106
2114
|
};
|
|
2107
2115
|
for (let e of f) {
|
|
2108
2116
|
if (e.EventType === "run_status") continue;
|
|
2109
|
-
let t =
|
|
2117
|
+
let t = tn(e);
|
|
2110
2118
|
if (!t) continue;
|
|
2111
|
-
if (
|
|
2119
|
+
if (Ft.has(t.eventType)) {
|
|
2112
2120
|
let n = String(e.InvocationId || "").trim();
|
|
2113
2121
|
if (!n) {
|
|
2114
2122
|
v(), _(t);
|
|
@@ -2124,7 +2132,7 @@ function tn(e = []) {
|
|
|
2124
2132
|
invocationId: n
|
|
2125
2133
|
},
|
|
2126
2134
|
timestamp: Math.max(Number(r?.timestamp || 0), Number(t.timestamp || 0)),
|
|
2127
|
-
tools:
|
|
2135
|
+
tools: Xt(r?.tools, t.tools)
|
|
2128
2136
|
});
|
|
2129
2137
|
continue;
|
|
2130
2138
|
}
|
|
@@ -2142,7 +2150,7 @@ function tn(e = []) {
|
|
|
2142
2150
|
}
|
|
2143
2151
|
let n = t.eventType === "assistant_message" || t.eventType === "assistant_stream_snapshot";
|
|
2144
2152
|
if (n && h) {
|
|
2145
|
-
let n = String(e.InvocationId || "").trim(), r =
|
|
2153
|
+
let n = String(e.InvocationId || "").trim(), r = Ut(n, t);
|
|
2146
2154
|
if (t.eventType === "assistant_message" && n && a.has(r)) {
|
|
2147
2155
|
h = null;
|
|
2148
2156
|
continue;
|
|
@@ -2150,12 +2158,12 @@ function tn(e = []) {
|
|
|
2150
2158
|
t.eventType === "assistant_message" && n && a.add(r), _({
|
|
2151
2159
|
...t,
|
|
2152
2160
|
...y(n),
|
|
2153
|
-
reasoning:
|
|
2161
|
+
reasoning: $t(h.reasoning, t.reasoning)
|
|
2154
2162
|
}), h = null;
|
|
2155
2163
|
continue;
|
|
2156
2164
|
}
|
|
2157
2165
|
if (v(), n) {
|
|
2158
|
-
let n = String(e.InvocationId || "").trim(), r =
|
|
2166
|
+
let n = String(e.InvocationId || "").trim(), r = Ut(n, t);
|
|
2159
2167
|
if (t.eventType === "assistant_message" && n && a.has(r)) continue;
|
|
2160
2168
|
t.eventType === "assistant_message" && n && a.add(r), _({
|
|
2161
2169
|
...t,
|
|
@@ -2168,7 +2176,7 @@ function tn(e = []) {
|
|
|
2168
2176
|
v();
|
|
2169
2177
|
for (let [e, n] of g.entries()) _({
|
|
2170
2178
|
...n,
|
|
2171
|
-
tools:
|
|
2179
|
+
tools: Zt(n.tools, t.get(e))
|
|
2172
2180
|
});
|
|
2173
2181
|
for (let [e, a] of t.entries()) {
|
|
2174
2182
|
if (a !== "in_progress" || r.has(e) || !i.has(e)) continue;
|
|
@@ -2184,7 +2192,7 @@ function tn(e = []) {
|
|
|
2184
2192
|
}
|
|
2185
2193
|
return p.map(({ invocationId: e, ...t }) => t);
|
|
2186
2194
|
}
|
|
2187
|
-
function
|
|
2195
|
+
function rn(e = [], t = []) {
|
|
2188
2196
|
let n = [], r = /* @__PURE__ */ new Set();
|
|
2189
2197
|
for (let i of [...Array.isArray(e) ? e : [], ...Array.isArray(t) ? t : []]) {
|
|
2190
2198
|
let e = String(i?.EventId || "").trim();
|
|
@@ -2199,18 +2207,18 @@ function nn(e = [], t = []) {
|
|
|
2199
2207
|
return Number.isFinite(n) && Number.isFinite(r) && n !== r ? n - r : Number(e?.Timestamp || 0) - Number(t?.Timestamp || 0);
|
|
2200
2208
|
});
|
|
2201
2209
|
}
|
|
2202
|
-
function
|
|
2210
|
+
function an(e = []) {
|
|
2203
2211
|
return (Array.isArray(e) ? e : []).reduce((e, t) => {
|
|
2204
2212
|
let n = Number(t.SeqId || 0);
|
|
2205
2213
|
return Number.isFinite(n) ? Math.max(e, n) : e;
|
|
2206
2214
|
}, 0);
|
|
2207
2215
|
}
|
|
2208
|
-
function
|
|
2216
|
+
function on(e) {
|
|
2209
2217
|
return e?.EventType === "run_status" ? Pt.has(String(e.Content?.status || "").trim().toLowerCase()) : !1;
|
|
2210
2218
|
}
|
|
2211
2219
|
//#endregion
|
|
2212
2220
|
//#region src/core/run/dispatcher.ts
|
|
2213
|
-
var $ = !1,
|
|
2221
|
+
var $ = !1, sn = new Set(["completed"]), cn = new Set([
|
|
2214
2222
|
"failed",
|
|
2215
2223
|
"error",
|
|
2216
2224
|
"cancelled",
|
|
@@ -2218,7 +2226,7 @@ var $ = !1, on = new Set(["completed"]), sn = new Set([
|
|
|
2218
2226
|
"aborted",
|
|
2219
2227
|
"incomplete"
|
|
2220
2228
|
]);
|
|
2221
|
-
function
|
|
2229
|
+
function ln(e) {
|
|
2222
2230
|
$ || ($ = !0, q.getState().patchMessages((t) => [...t, {
|
|
2223
2231
|
id: e,
|
|
2224
2232
|
role: "model",
|
|
@@ -2227,8 +2235,8 @@ function cn(e) {
|
|
|
2227
2235
|
reasoning: ""
|
|
2228
2236
|
}]));
|
|
2229
2237
|
}
|
|
2230
|
-
function
|
|
2231
|
-
let t = String(e || "").trim().toLowerCase(), n =
|
|
2238
|
+
function un(e) {
|
|
2239
|
+
let t = String(e || "").trim().toLowerCase(), n = sn.has(t) ? "completed" : cn.has(t) ? "error" : null;
|
|
2232
2240
|
n && q.getState().patchMessages((e) => e.map((e) => {
|
|
2233
2241
|
if (!e.tools) return e;
|
|
2234
2242
|
let t = !1, r = Object.fromEntries(Object.entries(e.tools).map(([e, r]) => r.status === "running" ? (t = !0, [e, {
|
|
@@ -2241,7 +2249,7 @@ function ln(e) {
|
|
|
2241
2249
|
} : e;
|
|
2242
2250
|
}));
|
|
2243
2251
|
}
|
|
2244
|
-
function
|
|
2252
|
+
function dn(e) {
|
|
2245
2253
|
if (e.sessionId && R.getState().currentSessionId !== e.sessionId) {
|
|
2246
2254
|
e.type === "stage_changed" && (e.stage === "completing" || e.stage === "error" || e.stage === "cancelled") && ($ = !1);
|
|
2247
2255
|
return;
|
|
@@ -2267,28 +2275,28 @@ function un(e) {
|
|
|
2267
2275
|
}]);
|
|
2268
2276
|
break;
|
|
2269
2277
|
case "assistant_message_created":
|
|
2270
|
-
|
|
2278
|
+
ln(e.messageId);
|
|
2271
2279
|
break;
|
|
2272
2280
|
case "text_delta":
|
|
2273
|
-
|
|
2281
|
+
ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
|
|
2274
2282
|
...t,
|
|
2275
2283
|
content: t.content + e.delta
|
|
2276
2284
|
} : t));
|
|
2277
2285
|
break;
|
|
2278
2286
|
case "text_final":
|
|
2279
|
-
|
|
2287
|
+
ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
|
|
2280
2288
|
...t,
|
|
2281
2289
|
content: e.text
|
|
2282
2290
|
} : t));
|
|
2283
2291
|
break;
|
|
2284
2292
|
case "reasoning_delta":
|
|
2285
|
-
|
|
2293
|
+
ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
|
|
2286
2294
|
...t,
|
|
2287
2295
|
reasoning: (t.reasoning || "") + e.delta
|
|
2288
2296
|
} : t));
|
|
2289
2297
|
break;
|
|
2290
2298
|
case "tool_upsert":
|
|
2291
|
-
|
|
2299
|
+
ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
|
|
2292
2300
|
...t,
|
|
2293
2301
|
tools: {
|
|
2294
2302
|
...t.tools || {},
|
|
@@ -2307,7 +2315,7 @@ function un(e) {
|
|
|
2307
2315
|
} : t));
|
|
2308
2316
|
break;
|
|
2309
2317
|
case "tool_result":
|
|
2310
|
-
|
|
2318
|
+
ln(e.messageId), t.patchMessages((t) => t.map((t) => t.id === e.messageId ? {
|
|
2311
2319
|
...t,
|
|
2312
2320
|
tools: {
|
|
2313
2321
|
...t.tools || {},
|
|
@@ -2331,7 +2339,7 @@ function un(e) {
|
|
|
2331
2339
|
}]);
|
|
2332
2340
|
break;
|
|
2333
2341
|
case "compaction": {
|
|
2334
|
-
let n = `compaction-${Date.now()}`, r = e.phase === "start" ? "running" : e.phase === "failed" ? "failed" : "completed", i =
|
|
2342
|
+
let n = `compaction-${Date.now()}`, r = e.phase === "start" ? "running" : e.phase === "failed" ? "failed" : "completed", i = en({
|
|
2335
2343
|
id: n,
|
|
2336
2344
|
timestamp: Date.now(),
|
|
2337
2345
|
status: r,
|
|
@@ -2367,7 +2375,7 @@ function un(e) {
|
|
|
2367
2375
|
}]), $ = !1;
|
|
2368
2376
|
break;
|
|
2369
2377
|
case "terminal":
|
|
2370
|
-
|
|
2378
|
+
un(e.status);
|
|
2371
2379
|
break;
|
|
2372
2380
|
case "stream_event":
|
|
2373
2381
|
if (e.event.EventType === "run_checkpoint" && Q.getState().upsertSessionCheckpoint(e.sessionId || e.event.SessionId, e.event), e.event.EventType === "run_status") {
|
|
@@ -2392,12 +2400,12 @@ function un(e) {
|
|
|
2392
2400
|
break;
|
|
2393
2401
|
}
|
|
2394
2402
|
}
|
|
2395
|
-
function
|
|
2403
|
+
function fn() {
|
|
2396
2404
|
$ = !1;
|
|
2397
2405
|
}
|
|
2398
2406
|
//#endregion
|
|
2399
2407
|
//#region src/hooks/useRunAgent.ts
|
|
2400
|
-
function
|
|
2408
|
+
function pn(e) {
|
|
2401
2409
|
let t = j(/* @__PURE__ */ new Map()), n = j(() => {}), { agentId: r, apiFormats: i, agentFramework: a, selectedModel: o, selectedModelMetadata: s, thinkingMode: c, currentSessionIdRef: l, queuedDraftRef: u, onRunSettled: d, uiCapabilities: f } = e, p = k((e) => {
|
|
2402
2410
|
e.updateConfig({
|
|
2403
2411
|
agentId: r,
|
|
@@ -2418,7 +2426,7 @@ function fn(e) {
|
|
|
2418
2426
|
f.RunLifecycle?.CheckpointResumePreview
|
|
2419
2427
|
]), m = k((n) => {
|
|
2420
2428
|
let r = String(n || "new-session"), i = t.current.get(r);
|
|
2421
|
-
return i ? p(i) : (i = new xt(e.api), p(i), i.subscribe(
|
|
2429
|
+
return i ? p(i) : (i = new xt(e.api), p(i), i.subscribe(dn), t.current.set(r, i)), i;
|
|
2422
2430
|
}, [e.api, p]);
|
|
2423
2431
|
A(() => {
|
|
2424
2432
|
for (let e of t.current.values()) p(e);
|
|
@@ -2428,7 +2436,7 @@ function fn(e) {
|
|
|
2428
2436
|
}, [u]), g = k((e) => {
|
|
2429
2437
|
let i = l.current, a = m(i);
|
|
2430
2438
|
if (a.stage !== "idle") return !1;
|
|
2431
|
-
|
|
2439
|
+
fn(), _.getState().setMobileActionsOpen(!1), I.getState().setSessionStreaming(i, !0);
|
|
2432
2440
|
let o = e.text.trim(), s = String(Date.now()), c = e.attachments.map((e) => ({
|
|
2433
2441
|
name: e.name,
|
|
2434
2442
|
url: URL.createObjectURL(e),
|
|
@@ -2510,7 +2518,7 @@ function fn(e) {
|
|
|
2510
2518
|
resumeCheckpoint: k((e) => {
|
|
2511
2519
|
let t = m(e.sessionId);
|
|
2512
2520
|
if (t.stage !== "idle") return !1;
|
|
2513
|
-
|
|
2521
|
+
fn(), _.getState().setMobileActionsOpen(!1), I.getState().setSessionStreaming(e.sessionId, !0);
|
|
2514
2522
|
let r = t.resumeCheckpoint({
|
|
2515
2523
|
...e,
|
|
2516
2524
|
onSettled: (e) => {
|
|
@@ -2520,13 +2528,13 @@ function fn(e) {
|
|
|
2520
2528
|
return r || I.getState().setSessionStreaming(e.sessionId, !1), r;
|
|
2521
2529
|
}, [m, d]),
|
|
2522
2530
|
resetCompaction: k(() => {
|
|
2523
|
-
|
|
2531
|
+
fn();
|
|
2524
2532
|
}, [])
|
|
2525
2533
|
};
|
|
2526
2534
|
}
|
|
2527
2535
|
//#endregion
|
|
2528
2536
|
//#region src/hooks/useFeedback.ts
|
|
2529
|
-
function
|
|
2537
|
+
function mn(e) {
|
|
2530
2538
|
let { agentId: t, currentSessionId: n, isStreaming: r, api: i, submitDraft: a } = e;
|
|
2531
2539
|
return {
|
|
2532
2540
|
submitResponseFeedback: k(async (e) => {
|
|
@@ -2606,10 +2614,10 @@ function pn(e) {
|
|
|
2606
2614
|
}
|
|
2607
2615
|
//#endregion
|
|
2608
2616
|
//#region src/utils/run-state.js
|
|
2609
|
-
function
|
|
2617
|
+
function hn(e) {
|
|
2610
2618
|
return String(e?.InvocationId || e?.invocation_id || e?.invocationId || "").trim();
|
|
2611
2619
|
}
|
|
2612
|
-
function
|
|
2620
|
+
function gn(e) {
|
|
2613
2621
|
let t = e?.Timestamp ?? e?.timestamp ?? e?.created_at ?? e?.CreatedAt;
|
|
2614
2622
|
if (typeof t == "number" && Number.isFinite(t)) return t > 1e11 ? t : t * 1e3;
|
|
2615
2623
|
if (typeof t == "string") {
|
|
@@ -2618,16 +2626,16 @@ function hn(e) {
|
|
|
2618
2626
|
}
|
|
2619
2627
|
return 0;
|
|
2620
2628
|
}
|
|
2621
|
-
function
|
|
2629
|
+
function _n(e) {
|
|
2622
2630
|
return String(e?.EventType || e?.event_type || "").trim();
|
|
2623
2631
|
}
|
|
2624
|
-
function
|
|
2632
|
+
function vn(e = [], t = {}) {
|
|
2625
2633
|
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;
|
|
2626
2634
|
for (let e of i) {
|
|
2627
|
-
let t =
|
|
2635
|
+
let t = hn(e);
|
|
2628
2636
|
if (!t) continue;
|
|
2629
|
-
let i =
|
|
2630
|
-
i && r.set(t, Math.max(r.get(t) || 0, i)),
|
|
2637
|
+
let i = gn(e);
|
|
2638
|
+
i && r.set(t, Math.max(r.get(t) || 0, i)), _n(e) === "run_status" && n.set(t, String(e?.Content?.status || e?.content?.status || "").trim());
|
|
2631
2639
|
}
|
|
2632
2640
|
return Array.from(n.entries()).filter(([e, t]) => {
|
|
2633
2641
|
let n = r.get(e) || 0, i = n > 0 && a - n > o;
|
|
@@ -2635,12 +2643,48 @@ function _n(e = [], t = {}) {
|
|
|
2635
2643
|
}).map(([e]) => e);
|
|
2636
2644
|
}
|
|
2637
2645
|
//#endregion
|
|
2646
|
+
//#region src/utils/session-event-history.ts
|
|
2647
|
+
async function yn(e, t, n) {
|
|
2648
|
+
let r = Math.max(1, Number(n?.pageSize) || 50), i = n?.shouldContinue || (() => !0), a = () => !i(), o = await t(e, {
|
|
2649
|
+
offset: 0,
|
|
2650
|
+
limit: 1
|
|
2651
|
+
});
|
|
2652
|
+
if (a()) return null;
|
|
2653
|
+
let s = Math.max(0, Number(o.Total ?? o.Events?.length ?? 0) || 0);
|
|
2654
|
+
if (s <= 1) return {
|
|
2655
|
+
events: o.Events || [],
|
|
2656
|
+
total: s,
|
|
2657
|
+
offset: Number(o.Offset ?? 0),
|
|
2658
|
+
limit: Number(o.Limit ?? o.Events?.length ?? 0)
|
|
2659
|
+
};
|
|
2660
|
+
let c = Math.max(0, s - r), l = await t(e, {
|
|
2661
|
+
offset: c,
|
|
2662
|
+
limit: r
|
|
2663
|
+
});
|
|
2664
|
+
if (a()) return null;
|
|
2665
|
+
let u = l.Events || [];
|
|
2666
|
+
for (; c > 0;) {
|
|
2667
|
+
let n = Math.max(0, c - r), i = await t(e, {
|
|
2668
|
+
offset: n,
|
|
2669
|
+
limit: c - n
|
|
2670
|
+
});
|
|
2671
|
+
if (a()) return null;
|
|
2672
|
+
u = rn(i.Events || [], u), c = n;
|
|
2673
|
+
}
|
|
2674
|
+
return {
|
|
2675
|
+
events: u,
|
|
2676
|
+
total: s,
|
|
2677
|
+
offset: 0,
|
|
2678
|
+
limit: u.length
|
|
2679
|
+
};
|
|
2680
|
+
}
|
|
2681
|
+
//#endregion
|
|
2638
2682
|
//#region src/hooks/useSessionLifecycle.ts
|
|
2639
|
-
var
|
|
2640
|
-
function
|
|
2683
|
+
var bn = 9e4, xn = 30, Sn = 50, Cn = 500;
|
|
2684
|
+
function wn(e, t) {
|
|
2641
2685
|
return t.length ? e.length ? e.length >= t.length : !1 : !0;
|
|
2642
2686
|
}
|
|
2643
|
-
function
|
|
2687
|
+
function Tn(e) {
|
|
2644
2688
|
if (e.EventType !== "run_status") return null;
|
|
2645
2689
|
let t = String(e.Content?.status || "").trim().toLowerCase();
|
|
2646
2690
|
return t === "completed" ? {
|
|
@@ -2654,7 +2698,7 @@ function Sn(e) {
|
|
|
2654
2698
|
phase: "后台长任务失败"
|
|
2655
2699
|
} : null;
|
|
2656
2700
|
}
|
|
2657
|
-
function
|
|
2701
|
+
function En(e) {
|
|
2658
2702
|
let { agentId: t, api: n, isMobile: r, resetCompaction: i, uiCapabilities: a, disconnectRun: o } = e, s = j(e.currentSessionId), l = j(e.agentId), u = j(null), d = j(null), f = j(null), p = k(async (e, t, r) => {
|
|
2659
2703
|
let i = r.filter((e) => c(e, !1, !1));
|
|
2660
2704
|
if (!i.length) return;
|
|
@@ -2688,7 +2732,7 @@ function Cn(e) {
|
|
|
2688
2732
|
u.current !== t || t.signal.aborted || t.abort();
|
|
2689
2733
|
}, o = globalThis.setTimeout(() => {
|
|
2690
2734
|
a();
|
|
2691
|
-
},
|
|
2735
|
+
}, bn);
|
|
2692
2736
|
try {
|
|
2693
2737
|
let o = (await n.subscribeRunEvents({
|
|
2694
2738
|
sessionId: e.sessionId,
|
|
@@ -2718,8 +2762,8 @@ function Cn(e) {
|
|
|
2718
2762
|
}
|
|
2719
2763
|
try {
|
|
2720
2764
|
let t = JSON.parse(o);
|
|
2721
|
-
u =
|
|
2722
|
-
let n =
|
|
2765
|
+
u = rn(u, [t]), i ||= on(t), r ||= i, t.EventType === "run_checkpoint" && Q.getState().upsertSessionCheckpoint(e.sessionId, t);
|
|
2766
|
+
let n = Tn(t);
|
|
2723
2767
|
if (n && I.getState().updateActivity({
|
|
2724
2768
|
sessionId: e.sessionId,
|
|
2725
2769
|
status: n.status,
|
|
@@ -2730,8 +2774,8 @@ function Cn(e) {
|
|
|
2730
2774
|
a();
|
|
2731
2775
|
break;
|
|
2732
2776
|
}
|
|
2733
|
-
let c =
|
|
2734
|
-
|
|
2777
|
+
let c = nn(u);
|
|
2778
|
+
wn(c, q.getState().messages) && q.getState().setMessages(c);
|
|
2735
2779
|
} catch (e) {
|
|
2736
2780
|
console.warn("Failed to parse run event data", o, e);
|
|
2737
2781
|
}
|
|
@@ -2747,32 +2791,18 @@ function Cn(e) {
|
|
|
2747
2791
|
let t = () => s.current === e;
|
|
2748
2792
|
R.getState().setCurrentSessionId(e), i(), u.current?.abort(), r && _.getState().setMobileSidebarOpen(!1);
|
|
2749
2793
|
try {
|
|
2750
|
-
let r =
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
if (i = a <= 1 ? r : await n.listSessionEvents(e, {
|
|
2763
|
-
offset: o,
|
|
2764
|
-
limit: bn
|
|
2765
|
-
}), !t()) return;
|
|
2766
|
-
R.getState().setSessionEventCache(e, {
|
|
2767
|
-
events: i.Events || [],
|
|
2768
|
-
total: a,
|
|
2769
|
-
offset: Number(i.Offset ?? o),
|
|
2770
|
-
limit: Number(i.Limit ?? i.Events?.length ?? 0)
|
|
2771
|
-
});
|
|
2772
|
-
}
|
|
2773
|
-
if (!t()) return;
|
|
2774
|
-
let o = P.getState().capabilities || a;
|
|
2775
|
-
o.RunLifecycle.Enabled && o.RunLifecycle.Checkpoints ? (n.listSessionCheckpoints({
|
|
2794
|
+
let r = await yn(e, n.listSessionEvents, {
|
|
2795
|
+
pageSize: Cn,
|
|
2796
|
+
shouldContinue: t
|
|
2797
|
+
});
|
|
2798
|
+
if (!r || (R.getState().setSessionEventCache(e, {
|
|
2799
|
+
events: r.events,
|
|
2800
|
+
total: r.total,
|
|
2801
|
+
offset: r.offset,
|
|
2802
|
+
limit: r.limit
|
|
2803
|
+
}), !t())) return;
|
|
2804
|
+
let i = P.getState().capabilities || a;
|
|
2805
|
+
if (i.RunLifecycle.Enabled && i.RunLifecycle.Checkpoints ? (n.listSessionCheckpoints({
|
|
2776
2806
|
agentId: l.current,
|
|
2777
2807
|
sessionId: e
|
|
2778
2808
|
}).then((t) => {
|
|
@@ -2786,20 +2816,18 @@ function Cn(e) {
|
|
|
2786
2816
|
Q.getState().setSessionToolReceipts(e, t.ToolReceipts || []);
|
|
2787
2817
|
}).catch((t) => {
|
|
2788
2818
|
console.warn("[SessionLifecycle] tool receipt load failed:", t), Q.getState().setSessionToolReceipts(e, []);
|
|
2789
|
-
})) : Q.getState().clearSessionCheckpoints(e)
|
|
2790
|
-
|
|
2791
|
-
if (s?.Events) {
|
|
2792
|
-
let n = s.Events, r = tn(n);
|
|
2819
|
+
})) : Q.getState().clearSessionCheckpoints(e), r.events) {
|
|
2820
|
+
let n = r.events, a = nn(n);
|
|
2793
2821
|
if (!t()) return;
|
|
2794
|
-
q.getState().setMessages(
|
|
2795
|
-
let
|
|
2822
|
+
q.getState().setMessages(a), p(l.current, e, a);
|
|
2823
|
+
let o = vn(n, {
|
|
2796
2824
|
now: Date.now(),
|
|
2797
2825
|
staleAfterMs: 1800 * 1e3
|
|
2798
|
-
}),
|
|
2799
|
-
|
|
2826
|
+
}), s = an(n);
|
|
2827
|
+
i.RunLifecycle.Enabled && i.RunLifecycle.Resume && o[0] && m({
|
|
2800
2828
|
sessionId: e,
|
|
2801
|
-
invocationId:
|
|
2802
|
-
afterSeqId:
|
|
2829
|
+
invocationId: o[0],
|
|
2830
|
+
afterSeqId: s,
|
|
2803
2831
|
initialEvents: n
|
|
2804
2832
|
});
|
|
2805
2833
|
} else {
|
|
@@ -2822,13 +2850,13 @@ function Cn(e) {
|
|
|
2822
2850
|
r.sessionsAgentId && r.sessionsAgentId !== e && r.resetSessionPagination(e), R.getState().setLoadingSessions(!0);
|
|
2823
2851
|
let i = await n.listSessions(e, {
|
|
2824
2852
|
page: 1,
|
|
2825
|
-
pageSize:
|
|
2853
|
+
pageSize: xn
|
|
2826
2854
|
});
|
|
2827
2855
|
R.getState().upsertSessions(i.Sessions || [], {
|
|
2828
2856
|
agentId: e,
|
|
2829
2857
|
total: Number(i.Total ?? i.Sessions?.length ?? 0),
|
|
2830
2858
|
page: Number(i.Page ?? 1),
|
|
2831
|
-
pageSize: Number(i.PageSize ??
|
|
2859
|
+
pageSize: Number(i.PageSize ?? xn),
|
|
2832
2860
|
replace: !0
|
|
2833
2861
|
});
|
|
2834
2862
|
let a = R.getState().sessions, o = s.current, c = Te(a, o || t || Ce(e));
|
|
@@ -2844,11 +2872,11 @@ function Cn(e) {
|
|
|
2844
2872
|
if (e.isLoadingSessions || !e.hasMoreSessions) return;
|
|
2845
2873
|
let t = ue({
|
|
2846
2874
|
total: e.sessionsTotal,
|
|
2847
|
-
pageSize: e.sessionsPageSize ||
|
|
2875
|
+
pageSize: e.sessionsPageSize || xn,
|
|
2848
2876
|
loadedPages: e.loadedPages
|
|
2849
2877
|
});
|
|
2850
2878
|
if (!t) return;
|
|
2851
|
-
let r = e.sessionsPageSize ||
|
|
2879
|
+
let r = e.sessionsPageSize || xn, i = e.sessionsAgentId || l.current || "default-agent";
|
|
2852
2880
|
try {
|
|
2853
2881
|
R.getState().setLoadingSessions(!0);
|
|
2854
2882
|
let a = await n.listSessions(i, {
|
|
@@ -2910,20 +2938,20 @@ function Cn(e) {
|
|
|
2910
2938
|
loadOlderSessionEvents: k(async (e) => {
|
|
2911
2939
|
let t = R.getState().eventCache[e];
|
|
2912
2940
|
if (!t || t.offset <= 0 || t.isLoadingOlder) return;
|
|
2913
|
-
let r = Math.max(0, t.offset -
|
|
2941
|
+
let r = Math.max(0, t.offset - Sn), i = t.offset - r;
|
|
2914
2942
|
try {
|
|
2915
2943
|
R.getState().setSessionEventLoadingOlder(e, !0);
|
|
2916
2944
|
let a = await n.listSessionEvents(e, {
|
|
2917
2945
|
offset: r,
|
|
2918
2946
|
limit: i
|
|
2919
|
-
}), o =
|
|
2947
|
+
}), o = rn(a.Events || [], t.events);
|
|
2920
2948
|
if (R.getState().setSessionEventCache(e, {
|
|
2921
2949
|
events: o,
|
|
2922
2950
|
total: Number(a.Total ?? t.total),
|
|
2923
2951
|
offset: Number(a.Offset ?? r),
|
|
2924
2952
|
limit: o.length
|
|
2925
2953
|
}), s.current === e) {
|
|
2926
|
-
let t =
|
|
2954
|
+
let t = nn(o);
|
|
2927
2955
|
q.getState().setMessages(t), p(l.current, e, t);
|
|
2928
2956
|
}
|
|
2929
2957
|
} catch (e) {
|
|
@@ -2941,7 +2969,7 @@ function Cn(e) {
|
|
|
2941
2969
|
}
|
|
2942
2970
|
//#endregion
|
|
2943
2971
|
//#region src/components/chat/ConnectedSidebar.tsx
|
|
2944
|
-
function
|
|
2972
|
+
function Dn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSession: s, loadMoreSessions: c }) {
|
|
2945
2973
|
let u = R((e) => e.sessions), d = R((e) => e.currentSessionId), f = R((e) => e.pinnedSessionIds), m = R((e) => e.isLoadingSessions), h = R((e) => e.hasMoreSessions), g = _((e) => e.sidebarOpen), v = _((e) => e.mobileSidebarOpen), { isMobile: y } = Fe(), b = t(e), { desktopSidebarVisible: ee } = _e({
|
|
2946
2974
|
isMobile: y,
|
|
2947
2975
|
desktopSidebarOpen: g,
|
|
@@ -3004,13 +3032,13 @@ function wn({ uiCapabilities: e, createNewSession: n, deleteSession: a, loadSess
|
|
|
3004
3032
|
}
|
|
3005
3033
|
//#endregion
|
|
3006
3034
|
//#region src/components/ui/dialog.tsx
|
|
3007
|
-
var
|
|
3035
|
+
var On = M.Root, kn = M.Portal, An = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(M.Overlay, {
|
|
3008
3036
|
ref: n,
|
|
3009
3037
|
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),
|
|
3010
3038
|
...t
|
|
3011
3039
|
}));
|
|
3012
|
-
|
|
3013
|
-
var
|
|
3040
|
+
An.displayName = M.Overlay.displayName;
|
|
3041
|
+
var jn = D.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ E(kn, { children: [/* @__PURE__ */ T(An, {}), /* @__PURE__ */ E(M.Content, {
|
|
3014
3042
|
ref: r,
|
|
3015
3043
|
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),
|
|
3016
3044
|
...n,
|
|
@@ -3022,50 +3050,50 @@ var On = D.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ *
|
|
|
3022
3050
|
})]
|
|
3023
3051
|
})]
|
|
3024
3052
|
})] }));
|
|
3025
|
-
|
|
3026
|
-
var
|
|
3053
|
+
jn.displayName = M.Content.displayName;
|
|
3054
|
+
var Mn = ({ className: e, ...t }) => /* @__PURE__ */ T("div", {
|
|
3027
3055
|
className: p("flex flex-col space-y-1.5 text-center sm:text-left", e),
|
|
3028
3056
|
...t
|
|
3029
3057
|
});
|
|
3030
|
-
|
|
3031
|
-
var
|
|
3058
|
+
Mn.displayName = "DialogHeader";
|
|
3059
|
+
var Nn = ({ className: e, ...t }) => /* @__PURE__ */ T("div", {
|
|
3032
3060
|
className: p("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e),
|
|
3033
3061
|
...t
|
|
3034
3062
|
});
|
|
3035
|
-
|
|
3036
|
-
var
|
|
3063
|
+
Nn.displayName = "DialogFooter";
|
|
3064
|
+
var Pn = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(M.Title, {
|
|
3037
3065
|
ref: n,
|
|
3038
3066
|
className: p("text-lg font-semibold leading-none tracking-tight", e),
|
|
3039
3067
|
...t
|
|
3040
3068
|
}));
|
|
3041
|
-
|
|
3042
|
-
var
|
|
3069
|
+
Pn.displayName = M.Title.displayName;
|
|
3070
|
+
var Fn = D.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ T(M.Description, {
|
|
3043
3071
|
ref: n,
|
|
3044
3072
|
className: p("text-sm text-muted-foreground", e),
|
|
3045
3073
|
...t
|
|
3046
3074
|
}));
|
|
3047
|
-
|
|
3075
|
+
Fn.displayName = M.Description.displayName;
|
|
3048
3076
|
//#endregion
|
|
3049
3077
|
//#region src/components/chat/AttachmentPreview.tsx
|
|
3050
|
-
function
|
|
3078
|
+
function In(e, t) {
|
|
3051
3079
|
if (!(!t || e)) return {
|
|
3052
3080
|
width: `min(${t.width}px, calc(100vw - 5rem))`,
|
|
3053
3081
|
height: `min(${t.height}px, calc(100vh - 9rem))`
|
|
3054
3082
|
};
|
|
3055
3083
|
}
|
|
3056
|
-
function
|
|
3084
|
+
function Ln(e, t) {
|
|
3057
3085
|
if (!(!t || e)) return { width: `min(${t.width + 32}px, calc(100vw - 3rem))` };
|
|
3058
3086
|
}
|
|
3059
|
-
function
|
|
3060
|
-
return /* @__PURE__ */ T(
|
|
3087
|
+
function Rn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onImageLoad: i }) {
|
|
3088
|
+
return /* @__PURE__ */ T(On, {
|
|
3061
3089
|
open: !!e?.url,
|
|
3062
3090
|
onOpenChange: (e) => !e && r(),
|
|
3063
|
-
children: /* @__PURE__ */ E(
|
|
3091
|
+
children: /* @__PURE__ */ E(jn, {
|
|
3064
3092
|
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"),
|
|
3065
|
-
style:
|
|
3093
|
+
style: Ln(t, n),
|
|
3066
3094
|
children: [/* @__PURE__ */ T("div", {
|
|
3067
3095
|
className: "flex items-center gap-3 border-b border-slate-800 px-4 py-3 pr-16",
|
|
3068
|
-
children: /* @__PURE__ */ T(
|
|
3096
|
+
children: /* @__PURE__ */ T(Pn, {
|
|
3069
3097
|
className: "truncate text-sm font-medium",
|
|
3070
3098
|
children: e?.name || "附件预览"
|
|
3071
3099
|
})
|
|
@@ -3075,7 +3103,7 @@ function Fn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onIma
|
|
|
3075
3103
|
src: e.url,
|
|
3076
3104
|
alt: e.name,
|
|
3077
3105
|
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)]"),
|
|
3078
|
-
style:
|
|
3106
|
+
style: In(t, n),
|
|
3079
3107
|
onLoad: (e) => {
|
|
3080
3108
|
let t = e.currentTarget;
|
|
3081
3109
|
i({
|
|
@@ -3094,7 +3122,7 @@ function Fn({ attachment: e, isMobile: t, previewImageSize: n, onClose: r, onIma
|
|
|
3094
3122
|
}
|
|
3095
3123
|
//#endregion
|
|
3096
3124
|
//#region src/utils/context.js
|
|
3097
|
-
function
|
|
3125
|
+
function zn(e) {
|
|
3098
3126
|
if (typeof e == "number" && Number.isFinite(e) && e > 0) return e;
|
|
3099
3127
|
if (typeof e == "string" && e.trim()) {
|
|
3100
3128
|
let t = Number(e);
|
|
@@ -3102,15 +3130,15 @@ function In(e) {
|
|
|
3102
3130
|
}
|
|
3103
3131
|
return null;
|
|
3104
3132
|
}
|
|
3105
|
-
function
|
|
3133
|
+
function Bn(e) {
|
|
3106
3134
|
return /[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/u.test(e);
|
|
3107
3135
|
}
|
|
3108
|
-
function
|
|
3136
|
+
function Vn(e) {
|
|
3109
3137
|
let t = String(e || "").trim();
|
|
3110
3138
|
if (!t) return 0;
|
|
3111
3139
|
let n = 0, r = 0;
|
|
3112
3140
|
for (let e of t) {
|
|
3113
|
-
if (
|
|
3141
|
+
if (Bn(e)) {
|
|
3114
3142
|
n += 1;
|
|
3115
3143
|
continue;
|
|
3116
3144
|
}
|
|
@@ -3118,24 +3146,24 @@ function Rn(e) {
|
|
|
3118
3146
|
}
|
|
3119
3147
|
return Math.max(1, n + Math.ceil(r / 4));
|
|
3120
3148
|
}
|
|
3121
|
-
function
|
|
3149
|
+
function Hn(e) {
|
|
3122
3150
|
if (!e) return 0;
|
|
3123
|
-
if (e.role === "system") return e.eventType === "context_checkpoint" ?
|
|
3124
|
-
let t =
|
|
3125
|
-
return e.tools && (t += Object.values(e.tools).reduce((e, t) => e +
|
|
3151
|
+
if (e.role === "system") return e.eventType === "context_checkpoint" ? Vn(e.summary || "") : 0;
|
|
3152
|
+
let t = Vn(e.content || "");
|
|
3153
|
+
return e.tools && (t += Object.values(e.tools).reduce((e, t) => e + Vn(t?.name || "") + Vn(t?.args || "") + Vn(t?.output || ""), 0)), t;
|
|
3126
3154
|
}
|
|
3127
|
-
function
|
|
3128
|
-
return e ?
|
|
3155
|
+
function Un(e) {
|
|
3156
|
+
return e ? zn(e.context_window_tokens) ?? zn(e?.limits?.context_window_tokens) : null;
|
|
3129
3157
|
}
|
|
3130
|
-
function
|
|
3131
|
-
return e ?
|
|
3158
|
+
function Wn(e) {
|
|
3159
|
+
return e ? zn(e.auto_compact_threshold_percentage) ?? 84 : 84;
|
|
3132
3160
|
}
|
|
3133
|
-
function
|
|
3134
|
-
let r =
|
|
3161
|
+
function Gn({ messages: e, draftInput: t, selectedModel: n }) {
|
|
3162
|
+
let r = Un(n);
|
|
3135
3163
|
if (!r) return null;
|
|
3136
3164
|
let i = [...e || []].reverse().find((e) => e?.role === "system" && e?.eventType === "context_checkpoint" && e?.status === "running");
|
|
3137
3165
|
if (i) {
|
|
3138
|
-
let e =
|
|
3166
|
+
let e = Hn(i);
|
|
3139
3167
|
return {
|
|
3140
3168
|
label: "正在压缩上下文…",
|
|
3141
3169
|
phase: "compressing",
|
|
@@ -3144,10 +3172,10 @@ function Hn({ messages: e, draftInput: t, selectedModel: n }) {
|
|
|
3144
3172
|
percent: Math.min(100, Math.max(0, Math.round(e / r * 100)))
|
|
3145
3173
|
};
|
|
3146
3174
|
}
|
|
3147
|
-
let a = (e || []).reduce((e, t) => e +
|
|
3175
|
+
let a = (e || []).reduce((e, t) => e + Hn(t), 0) + Vn(t || "");
|
|
3148
3176
|
if (a <= 0) return null;
|
|
3149
3177
|
let o = Math.min(100, Math.max(0, Math.round(a / r * 100)));
|
|
3150
|
-
return o >=
|
|
3178
|
+
return o >= Wn(n) ? {
|
|
3151
3179
|
label: `估算上下文 ${o}% · 即将压缩`,
|
|
3152
3180
|
phase: "warning",
|
|
3153
3181
|
percent: o,
|
|
@@ -3163,8 +3191,8 @@ function Hn({ messages: e, draftInput: t, selectedModel: n }) {
|
|
|
3163
3191
|
}
|
|
3164
3192
|
//#endregion
|
|
3165
3193
|
//#region src/components/chat/ConnectedMessageList.tsx
|
|
3166
|
-
function
|
|
3167
|
-
let u = q((e) => e.messages), d = R((e) => e.currentSessionId), f = I((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = I((e) => e.getSessionActivity(d)), h = Q((e) => e.getSessionCheckpoints(d)), g = R((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = F((e) => e.availableModels), b = F((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = j(null), S = j(!0), C = j(!1), ne = j(0), w = j(f), D = j(!1), O = ae(() => y.find((e) => e.id === b) || null, [y, b]), ie = ae(() =>
|
|
3194
|
+
function Kn({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback: r, onRespondToApproval: i, onStopGeneration: a, onCancelRemote: o, checkpointResumeEnabled: s = !1, onResumeCheckpoint: c, onLoadOlderSessionEvents: l }) {
|
|
3195
|
+
let u = q((e) => e.messages), d = R((e) => e.currentSessionId), f = I((e) => !!(e.getSessionActivity(d) && e.isSessionStreaming(d))), p = I((e) => e.getSessionActivity(d)), h = Q((e) => e.getSessionCheckpoints(d)), g = R((e) => d ? e.eventCache[d] : null), v = _((e) => e.input), y = F((e) => e.availableModels), b = F((e) => e.selectedModel), ee = _((e) => e.previewAttachment), te = _((e) => e.previewImageSize), x = j(null), S = j(!0), C = j(!1), ne = j(0), w = j(f), D = j(!1), O = ae(() => y.find((e) => e.id === b) || null, [y, b]), ie = ae(() => Gn({
|
|
3168
3196
|
messages: u,
|
|
3169
3197
|
draftInput: v,
|
|
3170
3198
|
selectedModel: O
|
|
@@ -3230,7 +3258,7 @@ function Un({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
|
|
|
3230
3258
|
checkpoints: s ? h : [],
|
|
3231
3259
|
onResumeCheckpoint: c,
|
|
3232
3260
|
scrollRef: x
|
|
3233
|
-
}), /* @__PURE__ */ T(
|
|
3261
|
+
}), /* @__PURE__ */ T(Rn, {
|
|
3234
3262
|
attachment: ee,
|
|
3235
3263
|
isMobile: t,
|
|
3236
3264
|
previewImageSize: te,
|
|
@@ -3242,7 +3270,7 @@ function Un({ agentName: e, isMobile: t, onDeleteFeedback: n, onSubmitFeedback:
|
|
|
3242
3270
|
}
|
|
3243
3271
|
//#endregion
|
|
3244
3272
|
//#region src/utils/attachment.ts
|
|
3245
|
-
function
|
|
3273
|
+
function qn(e) {
|
|
3246
3274
|
return [
|
|
3247
3275
|
e.name,
|
|
3248
3276
|
e.size,
|
|
@@ -3250,19 +3278,19 @@ function Wn(e) {
|
|
|
3250
3278
|
e.type
|
|
3251
3279
|
].join(":");
|
|
3252
3280
|
}
|
|
3253
|
-
function
|
|
3281
|
+
function Jn(e, t) {
|
|
3254
3282
|
let n = /* @__PURE__ */ new Map();
|
|
3255
|
-
for (let t of e) n.set(
|
|
3256
|
-
for (let e of t) n.set(
|
|
3283
|
+
for (let t of e) n.set(qn(t), t);
|
|
3284
|
+
for (let e of t) n.set(qn(e), e);
|
|
3257
3285
|
return Array.from(n.values());
|
|
3258
3286
|
}
|
|
3259
|
-
function
|
|
3287
|
+
function Yn(e) {
|
|
3260
3288
|
return Array.from(e.clipboardData.items || []).filter((e) => e.kind === "file").map((e) => e.getAsFile()).filter((e) => !!e);
|
|
3261
3289
|
}
|
|
3262
3290
|
//#endregion
|
|
3263
3291
|
//#region src/components/chat/ConnectedComposer.tsx
|
|
3264
|
-
function
|
|
3265
|
-
let o = _((e) => e.input), s = _((e) => e.attachments), c = R((e) => e.currentSessionId), l = I((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = q((e) => e.messages), f = F((e) => e.availableModels), p = F((e) => e.selectedModel), m = j(null), h = j(null), g = ae(() => f.find((e) => e.id === p) || null, [f, p]), v = ae(() =>
|
|
3292
|
+
function Xn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRemote: r, isMobile: i }) {
|
|
3293
|
+
let o = _((e) => e.input), s = _((e) => e.attachments), c = R((e) => e.currentSessionId), l = I((e) => !!(e.getSessionActivity(c) && e.isSessionStreaming(c))), u = _((e) => e.queuedDrafts), d = q((e) => e.messages), f = F((e) => e.availableModels), p = F((e) => e.selectedModel), m = j(null), h = j(null), g = ae(() => f.find((e) => e.id === p) || null, [f, p]), v = ae(() => Gn({
|
|
3266
3294
|
messages: d,
|
|
3267
3295
|
draftInput: o,
|
|
3268
3296
|
selectedModel: g
|
|
@@ -3279,7 +3307,7 @@ function qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
|
|
|
3279
3307
|
let b = (t) => {
|
|
3280
3308
|
_.getState().setInput(t.target.value), t.target.style.height = "auto", t.target.style.height = `${Math.min(t.target.scrollHeight, e)}px`;
|
|
3281
3309
|
}, ee = (e) => {
|
|
3282
|
-
e.length && _.getState().setAttachments((t) =>
|
|
3310
|
+
e.length && _.getState().setAttachments((t) => Jn(t, e));
|
|
3283
3311
|
};
|
|
3284
3312
|
return /* @__PURE__ */ T(a, {
|
|
3285
3313
|
attachments: s,
|
|
@@ -3293,7 +3321,7 @@ function qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
|
|
|
3293
3321
|
onAppendAttachments: ee,
|
|
3294
3322
|
onInputChange: b,
|
|
3295
3323
|
onPaste: (e) => {
|
|
3296
|
-
let t =
|
|
3324
|
+
let t = Yn(e);
|
|
3297
3325
|
t.length && (e.preventDefault(), e.stopPropagation(), ee(t));
|
|
3298
3326
|
},
|
|
3299
3327
|
onRemoveAttachment: (e) => _.getState().setAttachments((t) => t.filter((t, n) => n !== e)),
|
|
@@ -3305,7 +3333,7 @@ function qn({ composerMaxHeight: e, submitDraft: t, stopGeneration: n, cancelRem
|
|
|
3305
3333
|
}
|
|
3306
3334
|
//#endregion
|
|
3307
3335
|
//#region src/api/session.ts
|
|
3308
|
-
async function
|
|
3336
|
+
async function Zn(e, t) {
|
|
3309
3337
|
let n = await K("ListSessions", {
|
|
3310
3338
|
AgentId: e,
|
|
3311
3339
|
Page: t?.page,
|
|
@@ -3318,15 +3346,15 @@ async function Jn(e, t) {
|
|
|
3318
3346
|
PageSize: Number.isFinite(Number(n.PageSize)) ? Number(n.PageSize) : t?.pageSize ?? n.Sessions?.length ?? 0
|
|
3319
3347
|
};
|
|
3320
3348
|
}
|
|
3321
|
-
async function
|
|
3349
|
+
async function Qn(e, t) {
|
|
3322
3350
|
return (await K("CreateSession", { AgentId: e }, t)).Session;
|
|
3323
3351
|
}
|
|
3324
|
-
async function
|
|
3352
|
+
async function $n(e, t) {
|
|
3325
3353
|
await K("DeleteSession", { SessionId: e }, t);
|
|
3326
3354
|
}
|
|
3327
3355
|
//#endregion
|
|
3328
3356
|
//#region src/api/events.ts
|
|
3329
|
-
async function
|
|
3357
|
+
async function er(e, t) {
|
|
3330
3358
|
let n = await K("ListSessionEvents", {
|
|
3331
3359
|
SessionId: e,
|
|
3332
3360
|
Offset: t?.offset,
|
|
@@ -3341,34 +3369,34 @@ async function Zn(e, t) {
|
|
|
3341
3369
|
}
|
|
3342
3370
|
//#endregion
|
|
3343
3371
|
//#region src/api/run.ts
|
|
3344
|
-
async function
|
|
3372
|
+
async function tr(e, t) {
|
|
3345
3373
|
return ze("RunAgent", e, t);
|
|
3346
3374
|
}
|
|
3347
3375
|
//#endregion
|
|
3348
3376
|
//#region src/api/checkpoints.ts
|
|
3349
|
-
async function
|
|
3377
|
+
async function nr(e, t) {
|
|
3350
3378
|
let n = {
|
|
3351
3379
|
AgentId: e.agentId,
|
|
3352
3380
|
SessionId: e.sessionId
|
|
3353
3381
|
};
|
|
3354
3382
|
return e.runId && (n.RunId = e.runId), K("ListSessionCheckpoints", n, t);
|
|
3355
3383
|
}
|
|
3356
|
-
async function
|
|
3357
|
-
return K("
|
|
3384
|
+
async function rr(e, t) {
|
|
3385
|
+
return K("GetCheckpointResumePreview", {
|
|
3358
3386
|
AgentId: e.agentId,
|
|
3359
3387
|
SessionId: e.sessionId,
|
|
3360
3388
|
RunId: e.runId,
|
|
3361
3389
|
CheckpointId: e.checkpointId
|
|
3362
3390
|
}, t);
|
|
3363
3391
|
}
|
|
3364
|
-
async function
|
|
3392
|
+
async function ir(e, t) {
|
|
3365
3393
|
let n = {
|
|
3366
3394
|
AgentId: e.agentId,
|
|
3367
3395
|
SessionId: e.sessionId
|
|
3368
3396
|
};
|
|
3369
3397
|
return e.runId && (n.RunId = e.runId), e.checkpointId && (n.CheckpointId = e.checkpointId), K("ListToolReceipts", n, t);
|
|
3370
3398
|
}
|
|
3371
|
-
async function
|
|
3399
|
+
async function ar(e, t) {
|
|
3372
3400
|
let n = {
|
|
3373
3401
|
AgentId: e.agentId,
|
|
3374
3402
|
SessionId: e.sessionId,
|
|
@@ -3380,23 +3408,23 @@ async function nr(e, t) {
|
|
|
3380
3408
|
}
|
|
3381
3409
|
//#endregion
|
|
3382
3410
|
//#region src/api/workspace.ts
|
|
3383
|
-
async function
|
|
3411
|
+
async function or(e, t, n) {
|
|
3384
3412
|
return K("ListWorkspaceFiles", {
|
|
3385
3413
|
AgentId: e,
|
|
3386
3414
|
Path: t,
|
|
3387
3415
|
Recursive: n
|
|
3388
3416
|
});
|
|
3389
3417
|
}
|
|
3390
|
-
async function
|
|
3418
|
+
async function sr(e) {
|
|
3391
3419
|
return Le("AddWorkspaceFile", e);
|
|
3392
3420
|
}
|
|
3393
|
-
async function
|
|
3421
|
+
async function cr(e, t) {
|
|
3394
3422
|
return K("DeleteWorkspaceFile", {
|
|
3395
3423
|
AgentId: e,
|
|
3396
3424
|
Path: t
|
|
3397
3425
|
});
|
|
3398
3426
|
}
|
|
3399
|
-
async function
|
|
3427
|
+
async function lr(e, t, n) {
|
|
3400
3428
|
return Re("GetWorkspaceFileContent", {
|
|
3401
3429
|
AgentId: e,
|
|
3402
3430
|
FilePath: t
|
|
@@ -3407,38 +3435,38 @@ async function or(e, t, n) {
|
|
|
3407
3435
|
}
|
|
3408
3436
|
//#endregion
|
|
3409
3437
|
//#region src/api/upload.ts
|
|
3410
|
-
async function
|
|
3438
|
+
async function ur(e, t) {
|
|
3411
3439
|
return Le("UploadFile", e, t);
|
|
3412
3440
|
}
|
|
3413
3441
|
//#endregion
|
|
3414
3442
|
//#region src/core/api/facade.ts
|
|
3415
|
-
var
|
|
3443
|
+
var dr = class {
|
|
3416
3444
|
async listSessions(e, t) {
|
|
3417
|
-
return
|
|
3445
|
+
return Zn(e, t);
|
|
3418
3446
|
}
|
|
3419
3447
|
async createSession(e, t) {
|
|
3420
|
-
return { SessionId: (await
|
|
3448
|
+
return { SessionId: (await Qn(e, t)).SessionId };
|
|
3421
3449
|
}
|
|
3422
3450
|
async deleteSession(e, t) {
|
|
3423
|
-
await
|
|
3451
|
+
await $n(e, t);
|
|
3424
3452
|
}
|
|
3425
3453
|
async listSessionEvents(e, t) {
|
|
3426
|
-
return
|
|
3454
|
+
return er(e, t);
|
|
3427
3455
|
}
|
|
3428
3456
|
async listSessionCheckpoints(e, t) {
|
|
3429
|
-
return
|
|
3457
|
+
return nr(e, t);
|
|
3430
3458
|
}
|
|
3431
3459
|
async previewCheckpointResume(e, t) {
|
|
3432
|
-
return
|
|
3460
|
+
return rr(e, t);
|
|
3433
3461
|
}
|
|
3434
3462
|
async listToolReceipts(e, t) {
|
|
3435
|
-
return
|
|
3463
|
+
return ir(e, t);
|
|
3436
3464
|
}
|
|
3437
3465
|
async runAgent(e, t) {
|
|
3438
|
-
return
|
|
3466
|
+
return tr(e, t);
|
|
3439
3467
|
}
|
|
3440
3468
|
async resumeRun(e, t) {
|
|
3441
|
-
return
|
|
3469
|
+
return ar(e, t);
|
|
3442
3470
|
}
|
|
3443
3471
|
async subscribeRunEvents(e, t) {
|
|
3444
3472
|
return Be("SubscribeRunEvents", {
|
|
@@ -3463,16 +3491,16 @@ var cr = class {
|
|
|
3463
3491
|
await K("DeleteResponseFeedback", e, t);
|
|
3464
3492
|
}
|
|
3465
3493
|
async listWorkspaceFiles(e, t, n) {
|
|
3466
|
-
return
|
|
3494
|
+
return or(e, t, n);
|
|
3467
3495
|
}
|
|
3468
3496
|
async addWorkspaceFile(e) {
|
|
3469
|
-
return
|
|
3497
|
+
return sr(e);
|
|
3470
3498
|
}
|
|
3471
3499
|
async deleteWorkspaceFile(e, t) {
|
|
3472
|
-
await
|
|
3500
|
+
await cr(e, t);
|
|
3473
3501
|
}
|
|
3474
3502
|
async getWorkspaceFileContent(e, t, n) {
|
|
3475
|
-
return
|
|
3503
|
+
return lr(e, t, n);
|
|
3476
3504
|
}
|
|
3477
3505
|
async listAgentModels(e) {
|
|
3478
3506
|
return He(e);
|
|
@@ -3481,14 +3509,14 @@ var cr = class {
|
|
|
3481
3509
|
return Ve();
|
|
3482
3510
|
}
|
|
3483
3511
|
async uploadFile(e, t) {
|
|
3484
|
-
return
|
|
3512
|
+
return ur(e, t);
|
|
3485
3513
|
}
|
|
3486
|
-
},
|
|
3487
|
-
function
|
|
3488
|
-
let a = e ||
|
|
3514
|
+
}, fr = new dr(), pr = O.lazy(() => import("./ArtifactsPanel-BCjpJZ9m.js").then((e) => ({ default: e.ArtifactsPanel }))), mr = O.lazy(() => import("./NativeTerminalPanel-C1LtiwB7.js").then((e) => e.n).then((e) => ({ default: e.NativeTerminalPanel })));
|
|
3515
|
+
function hr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
3516
|
+
let a = e || fr, o = P((e) => e.agentId), s = R((e) => e.currentSessionId), c = I((e) => e.isStreaming), l = _((e) => e.sidebarOpen), u = _((e) => e.mobileSidebarOpen), d = _((e) => e.mobileActionsOpen), f = P((e) => e.agentName), p = F((e) => e.selectedModel), m = F((e) => e.availableModels), h = F((e) => e.modelSource), v = F((e) => e.modelCatalogLoaded), te = F((e) => e.thinkingMode), x = P((e) => e.agentFramework), S = P((e) => e.workspaceFiles), C = P((e) => e.accessMode), w = _((e) => e.workspacePanelOpen), D = _((e) => e.workspacePanelWidth), O = _((e) => e.workspacePanelFullscreen), ae = P((e) => e.apiFormats), M = P((e) => e.capabilities), N = ne((e) => e.visible && !!e.content), se = j([]), ce = j(null), { isMobile: L, viewportHeight: le } = Fe(), ue = ve({
|
|
3489
3517
|
isMobile: L,
|
|
3490
3518
|
viewportHeight: le
|
|
3491
|
-
}), { fetchSessions: de, loadMoreSessions: fe, loadSession: pe, loadOlderSessionEvents: me, createNewSession: he, deleteSession: ge, currentSessionIdRef: z, agentIdRef: B, runSubscriptionAbortRef: _e } =
|
|
3519
|
+
}), { fetchSessions: de, loadMoreSessions: fe, loadSession: pe, loadOlderSessionEvents: me, createNewSession: he, deleteSession: ge, currentSessionIdRef: z, agentIdRef: B, runSubscriptionAbortRef: _e } = En({
|
|
3492
3520
|
agentId: o,
|
|
3493
3521
|
currentSessionId: s,
|
|
3494
3522
|
isMobile: L,
|
|
@@ -3502,7 +3530,7 @@ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
|
3502
3530
|
R.getState().clearSessionEventCache(e), de(B.current, e);
|
|
3503
3531
|
};
|
|
3504
3532
|
queueMicrotask(t), window.setTimeout(t, 1800), window.setTimeout(t, 5e3);
|
|
3505
|
-
}, [B, de]), be = m.find((e) => e.id === p) || null, { submitDraft: xe, stopGeneration: Se, disconnectRun: Ce, resumeCheckpoint: Te } =
|
|
3533
|
+
}, [B, de]), be = m.find((e) => e.id === p) || null, { submitDraft: xe, stopGeneration: Se, disconnectRun: Ce, resumeCheckpoint: Te } = pn({
|
|
3506
3534
|
agentId: o,
|
|
3507
3535
|
currentSessionId: s,
|
|
3508
3536
|
agentFramework: x,
|
|
@@ -3547,7 +3575,7 @@ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
|
3547
3575
|
o,
|
|
3548
3576
|
z,
|
|
3549
3577
|
ye
|
|
3550
|
-
]), { submitResponseFeedback: Oe, deleteResponseFeedback: ke, respondToApproval: je } =
|
|
3578
|
+
]), { submitResponseFeedback: Oe, deleteResponseFeedback: ke, respondToApproval: je } = mn({
|
|
3551
3579
|
agentId: o,
|
|
3552
3580
|
currentSessionId: s,
|
|
3553
3581
|
isStreaming: c,
|
|
@@ -3583,7 +3611,7 @@ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
|
3583
3611
|
let Ve = /* @__PURE__ */ E("div", {
|
|
3584
3612
|
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",
|
|
3585
3613
|
children: [
|
|
3586
|
-
/* @__PURE__ */ T(
|
|
3614
|
+
/* @__PURE__ */ T(Dn, {
|
|
3587
3615
|
uiCapabilities: M,
|
|
3588
3616
|
createNewSession: he,
|
|
3589
3617
|
deleteSession: ge,
|
|
@@ -3625,7 +3653,7 @@ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
|
3625
3653
|
nativeTerminal: M.NativeTerminal,
|
|
3626
3654
|
workspaceEnabled: V,
|
|
3627
3655
|
onOpenWorkspace: () => _.getState().setWorkspacePanelOpen(!0)
|
|
3628
|
-
}) : /* @__PURE__ */ E(re, { children: [/* @__PURE__ */ T(
|
|
3656
|
+
}) : /* @__PURE__ */ E(re, { children: [/* @__PURE__ */ T(Kn, {
|
|
3629
3657
|
agentName: f,
|
|
3630
3658
|
isMobile: L,
|
|
3631
3659
|
onDeleteFeedback: ke,
|
|
@@ -3636,7 +3664,7 @@ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
|
3636
3664
|
checkpointResumeEnabled: M.RunLifecycle.Enabled && M.RunLifecycle.Checkpoints && M.RunLifecycle.CheckpointResume,
|
|
3637
3665
|
onResumeCheckpoint: Te,
|
|
3638
3666
|
onLoadOlderSessionEvents: me
|
|
3639
|
-
}), /* @__PURE__ */ T(
|
|
3667
|
+
}), /* @__PURE__ */ T(Xn, {
|
|
3640
3668
|
composerMaxHeight: ue,
|
|
3641
3669
|
submitDraft: xe,
|
|
3642
3670
|
stopGeneration: Ee,
|
|
@@ -3674,11 +3702,11 @@ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
|
3674
3702
|
}),
|
|
3675
3703
|
N && /* @__PURE__ */ T(ie, {
|
|
3676
3704
|
fallback: null,
|
|
3677
|
-
children: /* @__PURE__ */ T(
|
|
3705
|
+
children: /* @__PURE__ */ T(pr, {})
|
|
3678
3706
|
}),
|
|
3679
3707
|
Be ? /* @__PURE__ */ T(ie, {
|
|
3680
3708
|
fallback: null,
|
|
3681
|
-
children: /* @__PURE__ */ T(
|
|
3709
|
+
children: /* @__PURE__ */ T(mr, {
|
|
3682
3710
|
capability: M.NativeTerminal,
|
|
3683
3711
|
open: !0,
|
|
3684
3712
|
sessionId: s,
|
|
@@ -3691,14 +3719,14 @@ function fr({ apiAdapter: e, initialSurface: r = "chat", routeShell: i } = {}) {
|
|
|
3691
3719
|
}
|
|
3692
3720
|
//#endregion
|
|
3693
3721
|
//#region src/core/transport/sse-transport.ts
|
|
3694
|
-
function
|
|
3722
|
+
function gr(e, t) {
|
|
3695
3723
|
if (e.eventName === "__ping__") {
|
|
3696
3724
|
I.getState().updateActivity({ countEvent: !1 });
|
|
3697
3725
|
return;
|
|
3698
3726
|
}
|
|
3699
3727
|
t.onEvent(e);
|
|
3700
3728
|
}
|
|
3701
|
-
var
|
|
3729
|
+
var _r = class {
|
|
3702
3730
|
protocol = "sse-post";
|
|
3703
3731
|
async connect(e, t) {
|
|
3704
3732
|
let n = (await ze(e.action, e.body || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
|
|
@@ -3718,7 +3746,7 @@ var mr = class {
|
|
|
3718
3746
|
t.onComplete();
|
|
3719
3747
|
return;
|
|
3720
3748
|
}
|
|
3721
|
-
|
|
3749
|
+
gr(e, t);
|
|
3722
3750
|
}
|
|
3723
3751
|
}
|
|
3724
3752
|
}
|
|
@@ -3730,7 +3758,7 @@ var mr = class {
|
|
|
3730
3758
|
a = !0, n.cancel().catch(() => {});
|
|
3731
3759
|
};
|
|
3732
3760
|
}
|
|
3733
|
-
},
|
|
3761
|
+
}, vr = class {
|
|
3734
3762
|
protocol = "sse-get";
|
|
3735
3763
|
async connect(e, t) {
|
|
3736
3764
|
let n = (await Be(e.action, e.params || {}, { signal: e.signal })).getReader(), r = new TextDecoder(), i = "", a = !1;
|
|
@@ -3750,7 +3778,7 @@ var mr = class {
|
|
|
3750
3778
|
t.onComplete();
|
|
3751
3779
|
return;
|
|
3752
3780
|
}
|
|
3753
|
-
|
|
3781
|
+
gr(e, t);
|
|
3754
3782
|
}
|
|
3755
3783
|
}
|
|
3756
3784
|
}
|
|
@@ -3764,4 +3792,4 @@ var mr = class {
|
|
|
3764
3792
|
}
|
|
3765
3793
|
};
|
|
3766
3794
|
//#endregion
|
|
3767
|
-
export {
|
|
3795
|
+
export { hr as AgentWorkbench, dr as ApiFacadeImpl, xt as RunEngineImpl, vr as SseGetTransport, _r as SsePostTransport, ct as createProtocol };
|