@yuku123/z-team-component 0.2.96 → 0.2.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/{ChangeLogView-UtZs9fnU.js → ChangeLogView-Cij_dbtK.js} +1 -1
  2. package/dist/{ComponentDoc-Cs90mYYD.js → ComponentDoc-D_g8_3Sk.js} +272 -272
  3. package/dist/{InvitationManagementPage-DO5KdTEv.js → InvitationManagementPage-DQrF20an.js} +1 -1
  4. package/dist/{OnboardingPage-VCIkAfcm.js → OnboardingPage-DSOSfSxY.js} +2 -2
  5. package/dist/{ScheduledTasks-B6vhle2-.js → ScheduledTasks-oCjhW4-h.js} +6 -6
  6. package/dist/{SystemShell-DqsPB86y.js → SystemShell-DRWmhZ5b.js} +4 -4
  7. package/dist/{admin-logs-C41GxxsF.js → admin-logs-CBAWBP0r.js} +1 -1
  8. package/dist/{api-B8vn6FEm.js → api-BfXkqI__.js} +1 -1
  9. package/dist/{createWorkspaceWsHandler-8yd0dQd0.js → createWorkspaceWsHandler-VxJCh5Ku.js} +3 -3
  10. package/dist/{index-DZ3suczN.js → index--1VYswVn.js} +3 -3
  11. package/dist/{index-nolPC9iY.js → index-7Yt7n1MM.js} +1 -1
  12. package/dist/{index-M62ytbDx.js → index-BDo8EfFP.js} +3 -3
  13. package/dist/{index-C08-NdF4.js → index-BH1Hc8mE.js} +3 -3
  14. package/dist/{index-Cd0dc1YC.js → index-BJ1Ol5_Q.js} +3951 -3949
  15. package/dist/{index-B4WFtOSo.js → index-BSFunYpc.js} +1 -1
  16. package/dist/{index-Dl_HunmQ.js → index-BcVOrM95.js} +1 -1
  17. package/dist/{index-BbrKKpZ-.js → index-C-Y8o3TZ.js} +6 -6
  18. package/dist/{index-Bafh8kBr.js → index-C66pcW0o.js} +2 -2
  19. package/dist/{index-dWGN_KId.js → index-CAnDKER8.js} +2 -2
  20. package/dist/{index-n3scvHEr.js → index-CCfHEiPx.js} +6 -6
  21. package/dist/{index-DChgiyei.js → index-CFnBpPpD.js} +2 -2
  22. package/dist/{index-DchZ-GIF.js → index-CWDmoZ49.js} +3 -3
  23. package/dist/{index-CfFAMc6d.js → index-Cfh5vghk.js} +4 -4
  24. package/dist/{index-BHEuxZrD.js → index-CjPzrkw7.js} +1 -1
  25. package/dist/{index-D-OCxotz.js → index-D8MJXXfn.js} +3 -3
  26. package/dist/{index-CDe4EHql.js → index-D9aMeZTK.js} +1 -1
  27. package/dist/{index-DEfD9lsY.js → index-D9vWNaCA.js} +2 -2
  28. package/dist/{index-Tykj3IdY.js → index-Df5YwY5P.js} +2 -2
  29. package/dist/{index-C7Juj6AI.js → index-DjoOIZJF.js} +2 -2
  30. package/dist/{index-BDyI0H8l.js → index-DmjdD02T.js} +5 -5
  31. package/dist/{index-APttVhJ5.js → index-Dy5Kq2UA.js} +2 -2
  32. package/dist/{index-DarPcUXG.js → index-IptaFd0J.js} +1 -1
  33. package/dist/{index-C2Ui1Ie2.js → index-k6BqfJ0k.js} +3 -3
  34. package/dist/index.js +1 -1
  35. package/dist/{instance-CyNNye9_.js → instance-J7GVrkNv.js} +1 -1
  36. package/dist/{menuPermission-CM5FW2Cg.js → menuPermission-Cn7uOfDt.js} +3 -3
  37. package/dist/pages.js +1 -1
  38. package/dist/{send-default-agent-team-message-CfosCAf9.js → send-default-agent-team-message-QhZamw2_.js} +1 -1
  39. package/dist/{sso-user-FGhJ5XEz.js → sso-user-DhzgezFx.js} +1 -1
  40. package/dist/{training-BfFGwgru.js → training-CtS9c0gT.js} +1 -1
  41. package/dist/{webide-_V4cZM4d.js → webide-DfpdNPr8.js} +3 -3
  42. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { configureTodoStore as yr } from "@yuku123/z-task-component";
2
2
  import { create as gr } from "zustand";
3
- import { message as v, Row as se, Col as D, Typography as pe, Alert as ee, Card as F, Space as U, Input as B, Button as j, Table as ie, Drawer as Ze, Descriptions as z, Tag as E, Tooltip as Re, Modal as je, Statistic as X, Select as te, Tabs as Xe, Form as N, Upload as Sr, Popconfirm as Xt, Spin as bt, Radio as de, InputNumber as At, Empty as br } from "antd";
3
+ import { message as v, Row as se, Col as D, Typography as pe, Alert as ee, Card as F, Space as U, Input as B, Button as j, Table as ie, Drawer as Ze, Descriptions as z, Tag as E, Tooltip as Re, Modal as je, Statistic as X, Select as te, Tabs as Xe, Form as N, Upload as br, Popconfirm as Xt, Spin as St, Radio as de, InputNumber as At, Empty as Sr } from "antd";
4
4
  import { jsx as a, jsxs as p, Fragment as Lt } from "react/jsx-runtime";
5
5
  import { lazy as wr, Suspense as _r, useState as $, useEffect as Y, useRef as Fn } from "react";
6
6
  import { useLocation as Tr, useNavigate as Ye, useParams as qn, Routes as Bn, Route as ue, Navigate as Hn, useSearchParams as kr } from "react-router-dom";
@@ -18,7 +18,7 @@ function ln(e) {
18
18
  function he(e, t) {
19
19
  return q(e) === q(t);
20
20
  }
21
- function be(e) {
21
+ function Se(e) {
22
22
  const t = q(e);
23
23
  return t !== "" && t.startsWith("-");
24
24
  }
@@ -319,7 +319,7 @@ async function is(e) {
319
319
  function Kt() {
320
320
  Oe = 0, fe != null && (clearTimeout(fe), fe = null), V && (V.onclose = null, V.close(), V = null), Fe = 0, gt("disconnected"), Be = [], He = [];
321
321
  }
322
- const b = {
322
+ const S = {
323
323
  credentials: "include",
324
324
  // 强制标识为 XHR/fetch API 请求,使后端 SsoInterceptor 走 JSON 401 分支
325
325
  // 而不是返回 302 跳到 SSO 登录页(避免 fetch follow redirect 后拿到 SPA HTML 导致解析失败)
@@ -343,10 +343,10 @@ function ni() {
343
343
  function Ce(e = {}) {
344
344
  const t = (typeof localStorage < "u" ? localStorage.getItem(Ge) : "") || "";
345
345
  return {
346
- ...b,
346
+ ...S,
347
347
  ...e,
348
348
  headers: {
349
- ...b.headers || {},
349
+ ...S.headers || {},
350
350
  ...e.headers || {},
351
351
  ...t ? { "X-Indexer-Token": t } : {}
352
352
  }
@@ -399,11 +399,11 @@ async function g(e, t) {
399
399
  // 302 分支(跳登录页 ⇒ 200 + text/html ⇒ res.json() 抛错)。
400
400
  // init?.headers 在最后 ⇒ 调用方仍可用自己的 Accept 覆盖(如 SSE 的 text/event-stream)。
401
401
  Accept: "application/json",
402
- ...b.headers,
402
+ ...S.headers,
403
403
  "project-env": hs,
404
404
  ...t == null ? void 0 : t.headers
405
405
  };
406
- return await fetch(e, { ...b, ...t, headers: n });
406
+ return await fetch(e, { ...S, ...t, headers: n });
407
407
  } catch {
408
408
  const n = "无法连接服务器,请确认 Java 服务已启动(如 127.0.0.1:8080)且前端代理 /z-team 已配置";
409
409
  throw _e(n), { _apiUserError: !0, userMessage: n, message: n };
@@ -463,7 +463,7 @@ async function f(e, t) {
463
463
  }
464
464
  async function fs(e, t) {
465
465
  const n = await fetch("/kapi/z-ctc/api/ctc/authn/login", {
466
- ...b,
466
+ ...S,
467
467
  method: "POST",
468
468
  headers: { Accept: "application/json", "Content-Type": "application/json" },
469
469
  credentials: "include",
@@ -474,7 +474,7 @@ async function fs(e, t) {
474
474
  async function si(e) {
475
475
  const t = await fetch("/kapi/z-ctc/api/ctc/authn/whoami", {
476
476
  headers: { Accept: "application/json" },
477
- ...b,
477
+ ...S,
478
478
  credentials: "include"
479
479
  }), n = await f(
480
480
  t,
@@ -486,7 +486,7 @@ async function ys(e) {
486
486
  await f(
487
487
  await fetch("/kapi/z-ctc/api/ctc/authn/logout", {
488
488
  headers: { Accept: "application/json" },
489
- ...b,
489
+ ...S,
490
490
  method: "POST",
491
491
  credentials: "include"
492
492
  }),
@@ -497,11 +497,11 @@ async function ys(e) {
497
497
  } catch {
498
498
  }
499
499
  }
500
- const $e = /* @__PURE__ */ new Map(), gs = 300 * 1e3, Ss = 30 * 1e3;
500
+ const $e = /* @__PURE__ */ new Map(), gs = 300 * 1e3, bs = 30 * 1e3;
501
501
  async function ai(e, t) {
502
502
  const n = `${e}`, r = $e.get(n);
503
503
  if (r) {
504
- const s = r.failed ? Ss : gs;
504
+ const s = r.failed ? bs : gs;
505
505
  if (Date.now() - r.at < s)
506
506
  return { codes: r.codes, failed: r.failed };
507
507
  $e.delete(n);
@@ -527,17 +527,17 @@ async function ai(e, t) {
527
527
  return $e.set(n, { codes: [], failed: !0, at: Date.now() }), { codes: [], failed: !0 };
528
528
  }
529
529
  }
530
- async function bs(e = "", t) {
530
+ async function Ss(e = "", t) {
531
531
  const n = new URLSearchParams();
532
532
  e && n.set("token", e), t && n.set("create_time_start", t);
533
533
  const r = n.toString(), s = await g(
534
534
  `${y}/scenario-instances/${r ? `?${r}` : ""}`,
535
- b
535
+ S
536
536
  );
537
537
  return f(s, "获取项目列表失败");
538
538
  }
539
539
  async function oi(e = "") {
540
- const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/scenarios${t}`, b);
540
+ const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/scenarios${t}`, S);
541
541
  return f(n, "获取场景列表失败");
542
542
  }
543
543
  async function sr(e, t = "") {
@@ -545,7 +545,7 @@ async function sr(e, t = "") {
545
545
  ...e,
546
546
  extend_params: { ...e.extend_params, skip_init_task: "true" }
547
547
  }, s = await g(`${y}/scenario-instances/${n}`, {
548
- ...b,
548
+ ...S,
549
549
  method: "POST",
550
550
  headers: { "Content-Type": "application/json" },
551
551
  body: JSON.stringify(r)
@@ -607,7 +607,7 @@ async function ci(e, t) {
607
607
  const n = await g(
608
608
  `${y}/scenario-instances/${e}/llm-code`,
609
609
  {
610
- ...b,
610
+ ...S,
611
611
  method: "PUT",
612
612
  headers: { "Content-Type": "application/json" },
613
613
  body: JSON.stringify({ llmCode: t || null })
@@ -637,13 +637,13 @@ async function di(e, t, n) {
637
637
  async function Ts(e) {
638
638
  const t = await g(
639
639
  `${y}/scenario-instances/${e}/team/`,
640
- b
640
+ S
641
641
  );
642
642
  return f(t, "获取团队成员失败");
643
643
  }
644
644
  async function ks(e, t) {
645
645
  const n = await g(`${y}/scenario-instances/${e}/team/`, {
646
- ...b,
646
+ ...S,
647
647
  method: "POST",
648
648
  headers: { "Content-Type": "application/json" },
649
649
  body: JSON.stringify(t)
@@ -654,7 +654,7 @@ async function Is(e, t) {
654
654
  const n = await g(
655
655
  `${y}/scenario-instances/${e}/team/${t}`,
656
656
  {
657
- ...b,
657
+ ...S,
658
658
  method: "DELETE"
659
659
  }
660
660
  );
@@ -663,34 +663,34 @@ async function Is(e, t) {
663
663
  async function Cs(e) {
664
664
  const t = await g(
665
665
  `${y}/scenario-instances/${e}/team/available-agents`,
666
- b
666
+ S
667
667
  );
668
668
  return f(t, "获取Agent列表失败");
669
669
  }
670
670
  async function As(e) {
671
671
  const t = await g(
672
672
  `${y}/scenario-instances/${e}/team/available-humans`,
673
- b
673
+ S
674
674
  );
675
675
  return f(t, "获取用户列表失败");
676
676
  }
677
677
  async function $s(e) {
678
678
  const t = await g(
679
679
  `${y}/scenario-instances/${e}/skills`,
680
- b
680
+ S
681
681
  );
682
682
  return f(t, "获取技能列表失败");
683
683
  }
684
684
  async function xs(e) {
685
685
  const t = await g(
686
686
  `${y}/scenario-instances/${e}/all-skills`,
687
- b
687
+ S
688
688
  );
689
689
  return f(t, "获取全部技能列表失败");
690
690
  }
691
691
  async function vs(e, t) {
692
692
  const n = await g(`${y}/scenario-instances/${e}/skills`, {
693
- ...b,
693
+ ...S,
694
694
  method: "POST",
695
695
  headers: { "Content-Type": "application/json" },
696
696
  body: JSON.stringify({ skill_id: t })
@@ -701,7 +701,7 @@ async function Ps(e, t) {
701
701
  const n = await g(
702
702
  `${y}/scenario-instances/${e}/skills/${t}`,
703
703
  {
704
- ...b,
704
+ ...S,
705
705
  method: "DELETE"
706
706
  }
707
707
  );
@@ -711,7 +711,7 @@ async function Es(e, t) {
711
711
  const n = await g(
712
712
  `${y}/scenario-instances/${e}/agent-skills/refresh`,
713
713
  {
714
- ...b,
714
+ ...S,
715
715
  method: "POST",
716
716
  headers: { "Content-Type": "application/json" },
717
717
  body: JSON.stringify({ agent_skills_path: t })
@@ -723,23 +723,23 @@ async function Rs(e) {
723
723
  const t = await g(
724
724
  `${y}/scenario-instances/${e}/all-agent-skills/refresh`,
725
725
  {
726
- ...b,
726
+ ...S,
727
727
  method: "POST"
728
728
  }
729
729
  );
730
730
  return f(t, "刷新所有技能失败");
731
731
  }
732
- async function Sn(e, t = 50, n) {
732
+ async function bn(e, t = 50, n) {
733
733
  let r = `${y}/scenario-instances/${e}/messages?limit=${t}`;
734
734
  n && (r += `&before=${n}`);
735
- const s = await g(r, b);
735
+ const s = await g(r, S);
736
736
  return f(s, "加载聊天记录失败,请稍后重试");
737
737
  }
738
738
  async function Os(e, t, n = "") {
739
739
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
740
740
  `${y}/scenario-instances/${e}/messages/${t}/read${r}`,
741
741
  {
742
- ...b,
742
+ ...S,
743
743
  method: "POST"
744
744
  }
745
745
  );
@@ -749,7 +749,7 @@ async function ot(e, t, n = "") {
749
749
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
750
750
  `${y}/scenario-instances/${e}/messages${r}`,
751
751
  {
752
- ...b,
752
+ ...S,
753
753
  method: "POST",
754
754
  headers: { "Content-Type": "application/json" },
755
755
  body: JSON.stringify(t)
@@ -760,7 +760,7 @@ async function ot(e, t, n = "") {
760
760
  async function Ms(e, t) {
761
761
  const n = await g(
762
762
  `${y}/scenario-instances/${e}/cancel/${t}`,
763
- { ...b, method: "POST" }
763
+ { ...S, method: "POST" }
764
764
  ), r = await f(n, "取消失败");
765
765
  if (r != null && r.warning)
766
766
  throw new Error(String(r.warning));
@@ -769,33 +769,33 @@ async function Ms(e, t) {
769
769
  async function js(e, t) {
770
770
  const n = await g(
771
771
  `${y}/scenario-instances/${e}/cancel/${t}/queue`,
772
- { ...b, method: "POST" }
772
+ { ...S, method: "POST" }
773
773
  );
774
774
  return f(n, "停止队列失败");
775
775
  }
776
776
  async function Ns(e) {
777
777
  const t = await g(
778
778
  `${y}/scenario-instances/${e}/executions`,
779
- b
779
+ S
780
780
  );
781
781
  return f(t, "获取执行列表失败");
782
782
  }
783
- async function bn(e, t = "") {
783
+ async function Sn(e, t = "") {
784
784
  const n = t ? `?subdir=${encodeURIComponent(t)}` : "", r = await g(
785
785
  `${y}/scenario-instances/${e}/workspace/tree${n}`,
786
- b
786
+ S
787
787
  );
788
788
  return f(r, "获取文件树失败");
789
789
  }
790
790
  async function Us() {
791
- const e = await g(`${y}/workspace/env`, b);
791
+ const e = await g(`${y}/workspace/env`, S);
792
792
  return f(e, "获取环境信息失败");
793
793
  }
794
794
  async function zs(e) {
795
795
  const t = await g(
796
796
  `${y}/scenario-instances/${e}/workspace/sync-from-prod`,
797
797
  {
798
- ...b,
798
+ ...S,
799
799
  method: "POST",
800
800
  headers: { "Content-Type": "application/json" }
801
801
  }
@@ -807,7 +807,7 @@ async function Ls(e, t) {
807
807
  `${y}/scenario-instances/${e}/workspace/file?file_path=${encodeURIComponent(
808
808
  t
809
809
  )}`,
810
- b
810
+ S
811
811
  );
812
812
  return f(n, "获取文件内容失败");
813
813
  }
@@ -817,7 +817,7 @@ async function Ds(e, t, n) {
817
817
  t
818
818
  )}`,
819
819
  {
820
- ...b,
820
+ ...S,
821
821
  method: "POST",
822
822
  headers: { "Content-Type": "application/json" },
823
823
  body: JSON.stringify({ content: n })
@@ -829,7 +829,7 @@ async function Fs(e, t, n) {
829
829
  const r = await g(
830
830
  `${y}/scenario-instances/${e}/workspace/rename`,
831
831
  {
832
- ...b,
832
+ ...S,
833
833
  method: "PUT",
834
834
  headers: { "Content-Type": "application/json" },
835
835
  body: JSON.stringify({ old_path: t, new_name: n })
@@ -841,7 +841,7 @@ async function qs(e, t, n) {
841
841
  const r = await g(
842
842
  `${y}/scenario-instances/${e}/workspace/new-file`,
843
843
  {
844
- ...b,
844
+ ...S,
845
845
  method: "POST",
846
846
  headers: { "Content-Type": "application/json" },
847
847
  body: JSON.stringify({ parent_path: t, name: n })
@@ -853,7 +853,7 @@ async function Bs(e, t, n) {
853
853
  const r = await g(
854
854
  `${y}/scenario-instances/${e}/workspace/new-folder`,
855
855
  {
856
- ...b,
856
+ ...S,
857
857
  method: "POST",
858
858
  headers: { "Content-Type": "application/json" },
859
859
  body: JSON.stringify({ parent_path: t, name: n })
@@ -865,7 +865,7 @@ async function Hs(e, t) {
865
865
  const n = await g(
866
866
  `${y}/scenario-instances/${e}/workspace/delete`,
867
867
  {
868
- ...b,
868
+ ...S,
869
869
  method: "POST",
870
870
  headers: { "Content-Type": "application/json" },
871
871
  body: JSON.stringify({ path: t })
@@ -879,7 +879,7 @@ async function Ks(e, t, n) {
879
879
  const s = await g(
880
880
  `${y}/scenario-instances/${e}/workspace/upload-file`,
881
881
  {
882
- ...b,
882
+ ...S,
883
883
  method: "POST",
884
884
  body: r
885
885
  }
@@ -892,7 +892,7 @@ async function Gs(e, t, n) {
892
892
  const s = await g(
893
893
  `${y}/scenario-instances/${e}/workspace/upload-folder`,
894
894
  {
895
- ...b,
895
+ ...S,
896
896
  method: "POST",
897
897
  body: r
898
898
  }
@@ -904,7 +904,7 @@ async function Js(e, t) {
904
904
  `${y}/scenario-instances/${e}/workspace/download?file_path=${encodeURIComponent(
905
905
  t
906
906
  )}`,
907
- b
907
+ S
908
908
  );
909
909
  if (!n.ok) throw new Error("下载失败");
910
910
  return n.blob();
@@ -912,7 +912,7 @@ async function Js(e, t) {
912
912
  async function Vs(e, t = "") {
913
913
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
914
914
  `${y}/scenario-instances/${e}${n}`,
915
- b
915
+ S
916
916
  ), s = await f(r, "获取项目失败"), o = s.status === "FOUND" ? "FOUND" : "NOT_FOUND", i = s.scenario_instance ?? s.scenarioInstance ?? null;
917
917
  return {
918
918
  status: o,
@@ -933,7 +933,7 @@ async function Zs(e, t = "") {
933
933
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
934
934
  `${y}/scenario-instances/${e}/join-self${n}`,
935
935
  {
936
- ...b,
936
+ ...S,
937
937
  method: "POST"
938
938
  }
939
939
  ), s = await f(r, "加入工程失败");
@@ -944,7 +944,7 @@ async function Xs(e, t = "") {
944
944
  }
945
945
  async function Ys(e) {
946
946
  const t = await g(`${y}/scenario-instances/${e}`, {
947
- ...b,
947
+ ...S,
948
948
  method: "DELETE"
949
949
  });
950
950
  return f(t, "删除项目失败");
@@ -953,7 +953,7 @@ async function Qs(e, t, n = "") {
953
953
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
954
954
  `${y}/scenario-instances/${e}/fork${r}`,
955
955
  {
956
- ...b,
956
+ ...S,
957
957
  method: "POST",
958
958
  headers: { "Content-Type": "application/json" },
959
959
  body: JSON.stringify({ mode: t })
@@ -963,7 +963,7 @@ async function Qs(e, t, n = "") {
963
963
  }
964
964
  async function ea(e, t) {
965
965
  const n = await g(`${y}/scenario-instances/${e}`, {
966
- ...b,
966
+ ...S,
967
967
  method: "PATCH",
968
968
  headers: { "Content-Type": "application/json" },
969
969
  body: JSON.stringify(t)
@@ -974,7 +974,7 @@ async function ui(e) {
974
974
  const t = await g(
975
975
  `${y}/scenario-instances/${e}/retry-image-parse`,
976
976
  {
977
- ...b,
977
+ ...S,
978
978
  method: "POST",
979
979
  headers: { "Content-Type": "application/json" }
980
980
  }
@@ -988,7 +988,7 @@ async function ta(e, t, n = "") {
988
988
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
989
989
  `${y}/scenario-instances/${e}/task-sessions/${t}${r}`,
990
990
  {
991
- ...b,
991
+ ...S,
992
992
  method: "POST",
993
993
  headers: { "Content-Type": "application/json" }
994
994
  }
@@ -998,7 +998,7 @@ async function ta(e, t, n = "") {
998
998
  async function na(e, t, n = 50, r, s = "") {
999
999
  let o = `${y}/scenario-instances/${e}/task-sessions/${t}/messages?limit=${n}`;
1000
1000
  r && (o += `&before=${r}`), s && (o += `&token=${encodeURIComponent(s)}`);
1001
- const i = await g(o, b);
1001
+ const i = await g(o, S);
1002
1002
  return f(i, "获取任务消息失败");
1003
1003
  }
1004
1004
  async function ra(e, t, n, r = "", s) {
@@ -1007,7 +1007,7 @@ async function ra(e, t, n, r = "", s) {
1007
1007
  const c = await g(
1008
1008
  `${y}/scenario-instances/${e}/task-sessions/${t}/messages${o}`,
1009
1009
  {
1010
- ...b,
1010
+ ...S,
1011
1011
  method: "POST",
1012
1012
  headers: { "Content-Type": "application/json" },
1013
1013
  body: JSON.stringify(i)
@@ -1016,7 +1016,7 @@ async function ra(e, t, n, r = "", s) {
1016
1016
  return f(c, "发送任务消息失败");
1017
1017
  }
1018
1018
  async function pi(e = "") {
1019
- const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/admin/scenarios${t}`, b);
1019
+ const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/admin/scenarios${t}`, S);
1020
1020
  return f(n, "获取场景列表失败");
1021
1021
  }
1022
1022
  async function mi(e, t, n = "") {
@@ -1025,7 +1025,7 @@ async function mi(e, t, n = "") {
1025
1025
  e
1026
1026
  )}/identity/test-login${r}`,
1027
1027
  {
1028
- ...b,
1028
+ ...S,
1029
1029
  method: "POST",
1030
1030
  headers: { "Content-Type": "application/json" },
1031
1031
  body: JSON.stringify(t)
@@ -1036,7 +1036,7 @@ async function mi(e, t, n = "") {
1036
1036
  async function hi(e = "") {
1037
1037
  const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(
1038
1038
  `${y}/admin/agents/identity-envs${t}`,
1039
- b
1039
+ S
1040
1040
  );
1041
1041
  return f(n, "获取身份绑定环境列表失败");
1042
1042
  }
@@ -1045,13 +1045,13 @@ async function fi(e, t = "") {
1045
1045
  e && n.set("envCode", e), t && n.set("token", t);
1046
1046
  const r = n.toString() ? `?${n.toString()}` : "", s = await g(
1047
1047
  `${y}/admin/agents/ctc-members${r}`,
1048
- b
1048
+ S
1049
1049
  );
1050
1050
  return f(s, "获取成员列表失败") ?? [];
1051
1051
  }
1052
1052
  async function yi(e, t, n = "") {
1053
1053
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(`${y}/admin/agents/${e}/move${r}`, {
1054
- ...b,
1054
+ ...S,
1055
1055
  method: "POST",
1056
1056
  headers: { "Content-Type": "application/json" },
1057
1057
  body: JSON.stringify(t)
@@ -1059,19 +1059,19 @@ async function yi(e, t, n = "") {
1059
1059
  return f(s, "移动 Agent 分类失败");
1060
1060
  }
1061
1061
  async function gi(e = "") {
1062
- const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/admin/agents/models${t}`, b);
1062
+ const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/admin/agents/models${t}`, S);
1063
1063
  return f(n, "获取模型列表失败");
1064
1064
  }
1065
1065
  function nn(e) {
1066
1066
  const t = Object.entries(e).filter(([, n]) => n !== void 0 && n !== "").map(([n, r]) => `${n}=${encodeURIComponent(r)}`);
1067
1067
  return t.length ? `?${t.join("&")}` : "";
1068
1068
  }
1069
- async function Si(e, t = "") {
1069
+ async function bi(e, t = "") {
1070
1070
  const n = await g(
1071
1071
  `${y}/admin/agents/${encodeURIComponent(
1072
1072
  e
1073
1073
  )}/ontology${nn({ token: t })}`,
1074
- b
1074
+ S
1075
1075
  );
1076
1076
  return (await f(
1077
1077
  n,
@@ -1081,13 +1081,13 @@ async function Si(e, t = "") {
1081
1081
  nodeInfo: { ...s.nodeInfo, dataPrepareEnabled: !1 }
1082
1082
  }));
1083
1083
  }
1084
- async function bi(e, t = "") {
1084
+ async function Si(e, t = "") {
1085
1085
  const n = await g(
1086
1086
  `${y}/admin/agents/ontology/ontologies${nn({
1087
1087
  ontologyType: e,
1088
1088
  token: t
1089
1089
  })}`,
1090
- b
1090
+ S
1091
1091
  );
1092
1092
  return f(n, "获取本体列表失败") ?? [];
1093
1093
  }
@@ -1097,13 +1097,13 @@ async function wi(e, t = "") {
1097
1097
  ontologyCode: e,
1098
1098
  token: t
1099
1099
  })}`,
1100
- b
1100
+ S
1101
1101
  );
1102
1102
  return f(n, "获取知识列表失败") ?? [];
1103
1103
  }
1104
1104
  async function _i(e, t, n = "") {
1105
1105
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(`${y}/admin/skills/${e}/move${r}`, {
1106
- ...b,
1106
+ ...S,
1107
1107
  method: "POST",
1108
1108
  headers: { "Content-Type": "application/json" },
1109
1109
  body: JSON.stringify(t)
@@ -1115,19 +1115,19 @@ async function Ti(e = "", t = "") {
1115
1115
  e && n.append("keyword", e), t && n.append("token", t);
1116
1116
  const r = n.toString() ? `?${n.toString()}` : "", s = await g(
1117
1117
  `${y}/admin/profiles/ctc-staff${r}`,
1118
- b
1118
+ S
1119
1119
  );
1120
1120
  return f(s, "获取员工列表失败");
1121
1121
  }
1122
1122
  async function ki(e, t, n = "", r = "") {
1123
1123
  const s = new URLSearchParams();
1124
1124
  s.append("profileScope", e), s.append("memberType", t), n && s.append("scenarioCode", n), r && s.append("token", r);
1125
- const o = s.toString() ? `?${s.toString()}` : "", i = await g(`${y}/admin/profiles${o}`, b);
1125
+ const o = s.toString() ? `?${s.toString()}` : "", i = await g(`${y}/admin/profiles${o}`, S);
1126
1126
  return f(i, "获取画像列表失败");
1127
1127
  }
1128
1128
  async function Ii(e, t = "") {
1129
1129
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(`${y}/admin/profiles${n}`, {
1130
- ...b,
1130
+ ...S,
1131
1131
  method: "POST",
1132
1132
  headers: { "Content-Type": "application/json" },
1133
1133
  body: JSON.stringify(e)
@@ -1142,7 +1142,7 @@ async function Ci(e, t, n, r = "", s = "") {
1142
1142
  e
1143
1143
  )}/${encodeURIComponent(t)}/${encodeURIComponent(n)}${i}`,
1144
1144
  {
1145
- ...b,
1145
+ ...S,
1146
1146
  method: "DELETE"
1147
1147
  }
1148
1148
  );
@@ -1151,12 +1151,12 @@ async function Ci(e, t, n, r = "", s = "") {
1151
1151
  async function Ai(e = "", t = "") {
1152
1152
  const n = new URLSearchParams();
1153
1153
  e && n.append("scenarioCode", e), t && n.append("token", t);
1154
- const r = n.toString() ? `?${n.toString()}` : "", s = await g(`${y}/admin/human-on-calls${r}`, b);
1154
+ const r = n.toString() ? `?${n.toString()}` : "", s = await g(`${y}/admin/human-on-calls${r}`, S);
1155
1155
  return f(s, "获取值班信息失败");
1156
1156
  }
1157
1157
  async function $i(e, t, n, r = "") {
1158
1158
  const s = r ? `?token=${encodeURIComponent(r)}` : "", o = await g(`${y}/admin/human-on-calls/batch${s}`, {
1159
- ...b,
1159
+ ...S,
1160
1160
  method: "POST",
1161
1161
  headers: { "Content-Type": "application/json" },
1162
1162
  body: JSON.stringify({ scenarioCode: e, dayOfWeek: t, onCalls: n })
@@ -1168,7 +1168,7 @@ async function xi(e, t, n, r = "") {
1168
1168
  `${y}/admin/human-on-calls/${encodeURIComponent(
1169
1169
  e
1170
1170
  )}/${n}/${encodeURIComponent(t)}${s}`,
1171
- { ...b, method: "DELETE" }
1171
+ { ...S, method: "DELETE" }
1172
1172
  );
1173
1173
  return f(o, "删除值班信息失败");
1174
1174
  }
@@ -1178,7 +1178,7 @@ async function vi(e = {}, t = "") {
1178
1178
  const r = n.length > 0 ? `?${n.join("&")}` : "", s = await g(
1179
1179
  `${y}/admin/scenario-instances/refresh-all-skills${r}`,
1180
1180
  {
1181
- ...b,
1181
+ ...S,
1182
1182
  method: "POST"
1183
1183
  }
1184
1184
  );
@@ -1188,7 +1188,7 @@ async function Pi(e, t = "") {
1188
1188
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
1189
1189
  `${y}/admin/scenario-instances/${e}/refresh-skills${n}`,
1190
1190
  {
1191
- ...b,
1191
+ ...S,
1192
1192
  method: "POST"
1193
1193
  }
1194
1194
  );
@@ -1219,12 +1219,12 @@ function Ue(e) {
1219
1219
  };
1220
1220
  }
1221
1221
  async function Ei(e = "") {
1222
- const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/personal-agents${t}`, b), r = await f(n, "获取个人 Agent 列表失败");
1222
+ const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/personal-agents${t}`, S), r = await f(n, "获取个人 Agent 列表失败");
1223
1223
  return (Array.isArray(r) ? r : []).map((s) => Ue(s));
1224
1224
  }
1225
1225
  async function Ri(e, t = "") {
1226
1226
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(`${y}/personal-agents${n}`, {
1227
- ...b,
1227
+ ...S,
1228
1228
  method: "POST",
1229
1229
  headers: { "Content-Type": "application/json" },
1230
1230
  body: JSON.stringify({ display_name: e })
@@ -1235,7 +1235,7 @@ async function Ri(e, t = "") {
1235
1235
  }
1236
1236
  async function Oi(e, t, n, r, s = "") {
1237
1237
  const o = s ? `?token=${encodeURIComponent(s)}` : "", i = await g(`${y}/personal-agents/ensure${o}`, {
1238
- ...b,
1238
+ ...S,
1239
1239
  method: "POST",
1240
1240
  headers: { "Content-Type": "application/json" },
1241
1241
  body: JSON.stringify({
@@ -1251,14 +1251,14 @@ async function Oi(e, t, n, r, s = "") {
1251
1251
  }
1252
1252
  async function Mi(e, t = "") {
1253
1253
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(`${y}/personal-agents/${e}${n}`, {
1254
- ...b,
1254
+ ...S,
1255
1255
  method: "DELETE"
1256
1256
  });
1257
1257
  return f(r, "删除个人 Agent 失败");
1258
1258
  }
1259
1259
  async function ji(e, t, n = "") {
1260
1260
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(`${y}/personal-agents/${e}${r}`, {
1261
- ...b,
1261
+ ...S,
1262
1262
  method: "PUT",
1263
1263
  headers: { "Content-Type": "application/json" },
1264
1264
  body: JSON.stringify({ display_name: t })
@@ -1270,7 +1270,7 @@ async function ji(e, t, n = "") {
1270
1270
  async function Ni(e = "") {
1271
1271
  const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(
1272
1272
  `${y}/personal-agents/shared${t}`,
1273
- b
1273
+ S
1274
1274
  ), r = await f(
1275
1275
  n,
1276
1276
  "获取共享 Agent 列表失败"
@@ -1281,7 +1281,7 @@ async function Ni(e = "") {
1281
1281
  }
1282
1282
  async function Ui(e, t, n = "") {
1283
1283
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(`${y}/personal-agents/${e}/share${r}`, {
1284
- ...b,
1284
+ ...S,
1285
1285
  method: "PUT",
1286
1286
  headers: { "Content-Type": "application/json" },
1287
1287
  body: JSON.stringify({ shared: t })
@@ -1293,7 +1293,7 @@ async function Ui(e, t, n = "") {
1293
1293
  async function zi(e, t = "") {
1294
1294
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
1295
1295
  `${y}/personal-agents/${e}/sessions${n}`,
1296
- b
1296
+ S
1297
1297
  ), s = await f(
1298
1298
  r,
1299
1299
  "获取会话列表失败"
@@ -1308,7 +1308,7 @@ async function Li(e, t = "新会话", n = "", r) {
1308
1308
  const s = n ? `?token=${encodeURIComponent(n)}` : "", o = await g(
1309
1309
  `${y}/personal-agents/${e}/sessions${s}`,
1310
1310
  {
1311
- ...b,
1311
+ ...S,
1312
1312
  method: "POST",
1313
1313
  headers: { "Content-Type": "application/json" },
1314
1314
  body: JSON.stringify({
@@ -1349,7 +1349,7 @@ async function Di(e, t = "") {
1349
1349
  `${y}/personal-agents/sessions/search?keyword=${encodeURIComponent(
1350
1350
  e
1351
1351
  )}&limit=50${n}`,
1352
- b
1352
+ S
1353
1353
  ), s = await f(r, "搜索会话失败");
1354
1354
  return (Array.isArray(s) ? s : []).map((o) => {
1355
1355
  const i = o ?? {}, c = String(i.matchField || "title");
@@ -1363,7 +1363,7 @@ async function Di(e, t = "") {
1363
1363
  async function Fi(e = "") {
1364
1364
  const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(
1365
1365
  `${y}/personal-agents/sessions/all${t}`,
1366
- b
1366
+ S
1367
1367
  ), r = await f(n, "获取聊天记录失败");
1368
1368
  return (Array.isArray(r) ? r : []).map(Qe);
1369
1369
  }
@@ -1371,7 +1371,7 @@ async function qi(e, t, n = "", r) {
1371
1371
  const s = n ? `?token=${encodeURIComponent(n)}` : "", o = await g(
1372
1372
  `${y}/personal-agents/${e}/sessions/${t}${s}`,
1373
1373
  {
1374
- ...b,
1374
+ ...S,
1375
1375
  method: "PUT",
1376
1376
  headers: { "Content-Type": "application/json" },
1377
1377
  body: JSON.stringify(
@@ -1384,20 +1384,20 @@ async function qi(e, t, n = "", r) {
1384
1384
  );
1385
1385
  }
1386
1386
  async function Bi(e) {
1387
- const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/personal-agents/models${t}`, b);
1387
+ const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/personal-agents/models${t}`, S);
1388
1388
  return f(n, "获取模型列表失败");
1389
1389
  }
1390
1390
  async function Hi(e) {
1391
1391
  const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(
1392
1392
  `${y}/personal-agents/custom-models${t}`,
1393
- b
1393
+ S
1394
1394
  );
1395
1395
  return f(n, "获取自定义模型失败");
1396
1396
  }
1397
1397
  async function Ki(e, t, n = "") {
1398
1398
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
1399
1399
  `${y}/personal-agents/${e}/sessions/${t}${r}`,
1400
- { ...b, method: "DELETE" }
1400
+ { ...S, method: "DELETE" }
1401
1401
  );
1402
1402
  return f(s, "删除会话失败");
1403
1403
  }
@@ -1405,7 +1405,7 @@ async function Gi(e, t, n, r = "") {
1405
1405
  const s = r ? `?token=${encodeURIComponent(r)}` : "", o = await g(
1406
1406
  `${y}/personal-agents/${e}/sessions/${t}${s}`,
1407
1407
  {
1408
- ...b,
1408
+ ...S,
1409
1409
  method: "PUT",
1410
1410
  headers: { "Content-Type": "application/json" },
1411
1411
  body: JSON.stringify({ title: n })
@@ -1416,7 +1416,7 @@ async function Gi(e, t, n, r = "") {
1416
1416
  async function Ji(e, t, n = "") {
1417
1417
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
1418
1418
  `${y}/personal-agents/${e}/sessions/${t}/messages${r}`,
1419
- b
1419
+ S
1420
1420
  );
1421
1421
  return f(s, "获取消息历史失败");
1422
1422
  }
@@ -1424,22 +1424,22 @@ async function Vi(e, t, n, r, s, o, i, c, l, d) {
1424
1424
  const u = r ? `?token=${encodeURIComponent(r)}` : "", h = `${y}/personal-agents/${e}/sessions/${t}/chat/stream${u}`;
1425
1425
  try {
1426
1426
  const m = await fetch(h, {
1427
- ...b,
1427
+ ...S,
1428
1428
  method: "POST",
1429
1429
  headers: { Accept: "text/event-stream", "Content-Type": "application/json" },
1430
1430
  body: JSON.stringify(l ? { message: n, llmCode: l } : { message: n }),
1431
1431
  signal: d
1432
1432
  });
1433
1433
  if (!m.ok || !m.body) {
1434
- const S = await m.text().catch(() => "");
1435
- o(new Error(S || `HTTP ${m.status}`));
1434
+ const b = await m.text().catch(() => "");
1435
+ o(new Error(b || `HTTP ${m.status}`));
1436
1436
  return;
1437
1437
  }
1438
1438
  const C = m.body.getReader(), O = new TextDecoder();
1439
1439
  let _ = "", x = "";
1440
1440
  for (; ; ) {
1441
- const { done: S, value: A } = await C.read();
1442
- if (S) break;
1441
+ const { done: b, value: A } = await C.read();
1442
+ if (b) break;
1443
1443
  _ += O.decode(A, { stream: !0 });
1444
1444
  const k = _.split(`
1445
1445
  `);
@@ -1486,7 +1486,7 @@ async function Zi(e = {}) {
1486
1486
  n && t.set("name", n), r != null && r !== "" && t.set("scenarioInstanceId", String(r)), t.set("page", String(s)), t.set("size", String(o)), i && t.set("token", i);
1487
1487
  const c = t.toString(), l = await g(
1488
1488
  `${y}/admin/tasks${c ? `?${c}` : ""}`,
1489
- b
1489
+ S
1490
1490
  );
1491
1491
  return f(l, "获取任务列表失败");
1492
1492
  }
@@ -1501,7 +1501,7 @@ function aa(e) {
1501
1501
  async function Xi(e) {
1502
1502
  const t = await g(
1503
1503
  `${y}/admin/tool-call-logs/timeline${aa(e)}`,
1504
- b
1504
+ S
1505
1505
  );
1506
1506
  return f(t, "查询工具调用时间轴统计失败");
1507
1507
  }
@@ -1510,14 +1510,14 @@ async function Yi(e) {
1510
1510
  e.date && t.push(`date=${encodeURIComponent(e.date)}`), e.scenarioCode && t.push(`scenarioCode=${encodeURIComponent(e.scenarioCode)}`), e.token && t.push(`token=${encodeURIComponent(e.token)}`);
1511
1511
  const n = t.length > 0 ? `?${t.join("&")}` : "", r = await g(
1512
1512
  `${y}/admin/statistics/token-daily${n}`,
1513
- b
1513
+ S
1514
1514
  );
1515
1515
  return f(r, "获取 Token 单日统计失败");
1516
1516
  }
1517
1517
  async function Qi(e = "z-team") {
1518
1518
  const t = await g(
1519
1519
  `${y}/change-log/versions?repo=${encodeURIComponent(e)}`,
1520
- b
1520
+ S
1521
1521
  );
1522
1522
  return f(t, "获取变更日志版本列表失败");
1523
1523
  }
@@ -1526,14 +1526,14 @@ async function ec(e, t, n = "z-team") {
1526
1526
  e != null && r.set("versionId", String(e)), r.set("repo", n);
1527
1527
  const s = await g(
1528
1528
  `${y}/change-log/detail?${r.toString()}`,
1529
- b
1529
+ S
1530
1530
  );
1531
1531
  return f(s, "获取变更日志详情失败");
1532
1532
  }
1533
1533
  async function tc(e) {
1534
1534
  const t = await g(
1535
1535
  `${ps}/evolution/records/${e}/reset`,
1536
- { ...b, method: "POST" }
1536
+ { ...S, method: "POST" }
1537
1537
  );
1538
1538
  return f(t, "操作失败");
1539
1539
  }
@@ -1554,7 +1554,7 @@ async function nc(e) {
1554
1554
  scenario_code: e.scenarioCode,
1555
1555
  token: e.token
1556
1556
  })}`,
1557
- b
1557
+ S
1558
1558
  ), n = await f(
1559
1559
  t,
1560
1560
  "获取已关单实例列表失败"
@@ -1570,7 +1570,7 @@ async function rc(e) {
1570
1570
  scenario_code: e.scenarioCode,
1571
1571
  token: e.token
1572
1572
  })}`,
1573
- b
1573
+ S
1574
1574
  );
1575
1575
  return f(t, "获取 QA 评测总览失败");
1576
1576
  }
@@ -1579,7 +1579,7 @@ async function sc(e, t = "") {
1579
1579
  `${y}/admin/qa-eval/report/${e}/cancel${ae({
1580
1580
  token: t
1581
1581
  })}`,
1582
- { ...b, method: "POST" }
1582
+ { ...S, method: "POST" }
1583
1583
  );
1584
1584
  return f(n, "取消评测失败");
1585
1585
  }
@@ -1587,7 +1587,7 @@ async function ac(e, t, n = "") {
1587
1587
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
1588
1588
  `${y}/admin/scenario-templates/preview${r}`,
1589
1589
  {
1590
- ...b,
1590
+ ...S,
1591
1591
  method: "POST",
1592
1592
  headers: { "Content-Type": "application/json" },
1593
1593
  body: JSON.stringify({ html: e, data: t })
@@ -1599,7 +1599,7 @@ async function ac(e, t, n = "") {
1599
1599
  async function oc(e, t = "") {
1600
1600
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
1601
1601
  `${y}/tasks/${e}/human-assist${n}`,
1602
- { ...b, method: "GET" }
1602
+ { ...S, method: "GET" }
1603
1603
  );
1604
1604
  return f(r, "查询人机协助卡片失败");
1605
1605
  }
@@ -1607,7 +1607,7 @@ async function ic(e, t, n, r = "") {
1607
1607
  const s = r ? `?token=${encodeURIComponent(r)}` : "", o = await g(
1608
1608
  `${y}/scenario-instances/${e}/card-forms/${t}/submit${s}`,
1609
1609
  {
1610
- ...b,
1610
+ ...S,
1611
1611
  method: "POST",
1612
1612
  headers: { "Content-Type": "application/json" },
1613
1613
  body: JSON.stringify({ value: n })
@@ -1619,7 +1619,7 @@ async function cc(e, t, n = "") {
1619
1619
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(
1620
1620
  `${y}/tasks/${e}/submit-assist${r}`,
1621
1621
  {
1622
- ...b,
1622
+ ...S,
1623
1623
  method: "POST",
1624
1624
  headers: { "Content-Type": "application/json" },
1625
1625
  body: JSON.stringify({ value: t })
@@ -1633,7 +1633,7 @@ function lc(e) {
1633
1633
  async function dc(e = "") {
1634
1634
  const t = await g(
1635
1635
  `${y}/admin/runtime-monitor/schedule${ae({ token: e })}`,
1636
- b
1636
+ S
1637
1637
  );
1638
1638
  return f(t, "查询定时任务概览失败");
1639
1639
  }
@@ -1642,7 +1642,7 @@ async function uc(e) {
1642
1642
  t.set("scenarioCode", e.scenarioCode), e.startDate && t.set("startDate", e.startDate), e.endDate && t.set("endDate", e.endDate), e.creatorId && t.set("creatorId", e.creatorId), e.tagFilters && Object.keys(e.tagFilters).length > 0 && t.set("tagFilters", JSON.stringify(e.tagFilters)), e.groupBy && t.set("groupBy", e.groupBy), e.token && t.set("token", e.token);
1643
1643
  const n = await g(
1644
1644
  `${y}/admin/statistics/business?${t.toString()}`,
1645
- b
1645
+ S
1646
1646
  ), r = await f(n, "业务指标查询失败");
1647
1647
  return {
1648
1648
  total: Number((r == null ? void 0 : r.total) ?? 0),
@@ -1658,7 +1658,7 @@ async function pc(e, t = "") {
1658
1658
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
1659
1659
  `${y}/admin/scenario-tags/values/${e}${n}`,
1660
1660
  {
1661
- ...b,
1661
+ ...S,
1662
1662
  method: "DELETE"
1663
1663
  }
1664
1664
  );
@@ -1668,7 +1668,7 @@ async function mc(e, t, n) {
1668
1668
  const r = await g(
1669
1669
  `${y}/scenario-instances/${e}/workspace/git-clone`,
1670
1670
  {
1671
- ...b,
1671
+ ...S,
1672
1672
  method: "POST",
1673
1673
  headers: { "Content-Type": "application/json" },
1674
1674
  body: JSON.stringify({
@@ -1684,14 +1684,14 @@ async function mc(e, t, n) {
1684
1684
  async function hc() {
1685
1685
  const e = await g(
1686
1686
  `${y}/scenarios/biz-consult-domains`,
1687
- b
1687
+ S
1688
1688
  );
1689
1689
  return f(e, "获取业务域选项失败");
1690
1690
  }
1691
1691
  async function fc(e = "") {
1692
1692
  const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(
1693
1693
  `${y}/admin/statistics/current-dept${t}`,
1694
- b
1694
+ S
1695
1695
  );
1696
1696
  return f(n, "获取当前用户部门信息失败");
1697
1697
  }
@@ -1712,7 +1712,7 @@ async function yc(e) {
1712
1712
  task_id: e.taskId,
1713
1713
  token: e.token
1714
1714
  })}`,
1715
- b
1715
+ S
1716
1716
  );
1717
1717
  return f(t, "获取快照预览失败");
1718
1718
  }
@@ -1735,8 +1735,8 @@ async function ca(e, t) {
1735
1735
  function gc(e) {
1736
1736
  return ca(`/presets/${e}`, { method: "DELETE" });
1737
1737
  }
1738
- const Sc = nr;
1739
- async function bc(e) {
1738
+ const bc = nr;
1739
+ async function Sc(e) {
1740
1740
  const t = new FormData();
1741
1741
  t.append("file", e);
1742
1742
  const n = await g(`${y}/common/upload-video`, {
@@ -1756,7 +1756,7 @@ function wc() {
1756
1756
  async function _c(e) {
1757
1757
  const t = await g(
1758
1758
  `${y}/scenario-instances/${e}/interaction-mode`,
1759
- { ...b }
1759
+ { ...S }
1760
1760
  ), n = await f(
1761
1761
  t,
1762
1762
  "查询交互模式失败"
@@ -1767,7 +1767,7 @@ async function Tc(e, t) {
1767
1767
  const n = await g(
1768
1768
  `${y}/scenario-instances/${e}/interaction-mode`,
1769
1769
  {
1770
- ...b,
1770
+ ...S,
1771
1771
  method: "PUT",
1772
1772
  headers: { "Content-Type": "application/json" },
1773
1773
  body: JSON.stringify({ mode: t })
@@ -1838,7 +1838,7 @@ async function vc(e = "") {
1838
1838
  async function Pc(e = "") {
1839
1839
  const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(
1840
1840
  `${y}/admin/notify-channel/list${t}`,
1841
- b
1841
+ S
1842
1842
  ), r = await f(
1843
1843
  n,
1844
1844
  "获取消息渠道状态失败"
@@ -1847,7 +1847,7 @@ async function Pc(e = "") {
1847
1847
  }
1848
1848
  async function Ec(e, t = "") {
1849
1849
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(`${y}/admin/notify-channel/test${n}`, {
1850
- ...b,
1850
+ ...S,
1851
1851
  method: "POST",
1852
1852
  headers: { "Content-Type": "application/json" },
1853
1853
  body: JSON.stringify(e)
@@ -1862,7 +1862,7 @@ async function Rc(e, t = "") {
1862
1862
  page: e.page,
1863
1863
  size: e.size
1864
1864
  })}`,
1865
- b
1865
+ S
1866
1866
  );
1867
1867
  return f(n, "查询定时任务模版失败");
1868
1868
  }
@@ -1870,7 +1870,7 @@ async function Oc(e, t = "") {
1870
1870
  const n = await g(
1871
1871
  `${y}/admin/schedule-task${ae({ token: t })}`,
1872
1872
  {
1873
- ...b,
1873
+ ...S,
1874
1874
  method: "POST",
1875
1875
  headers: { "Content-Type": "application/json" },
1876
1876
  body: JSON.stringify(e)
@@ -1884,7 +1884,7 @@ async function Mc(e, t, n = "") {
1884
1884
  e
1885
1885
  )}${ae({ token: n })}`,
1886
1886
  {
1887
- ...b,
1887
+ ...S,
1888
1888
  method: "PUT",
1889
1889
  headers: { "Content-Type": "application/json" },
1890
1890
  body: JSON.stringify(t)
@@ -1898,7 +1898,7 @@ async function jc(e, t, n = "") {
1898
1898
  e
1899
1899
  )}/toggle${ae({ token: n })}`,
1900
1900
  {
1901
- ...b,
1901
+ ...S,
1902
1902
  method: "POST",
1903
1903
  headers: { "Content-Type": "application/json" },
1904
1904
  body: JSON.stringify({ enabled: t })
@@ -1911,7 +1911,7 @@ async function Nc(e, t = "") {
1911
1911
  `${y}/admin/schedule-task/${encodeURIComponent(
1912
1912
  e
1913
1913
  )}/activate${ae({ token: t })}`,
1914
- { ...b, method: "POST" }
1914
+ { ...S, method: "POST" }
1915
1915
  );
1916
1916
  return f(n, "激活模版失败");
1917
1917
  }
@@ -1920,7 +1920,7 @@ async function Uc(e, t = "") {
1920
1920
  `${y}/admin/schedule-task/${encodeURIComponent(
1921
1921
  e
1922
1922
  )}${ae({ token: t })}`,
1923
- { ...b, method: "DELETE" }
1923
+ { ...S, method: "DELETE" }
1924
1924
  );
1925
1925
  return f(n, "删除模版失败");
1926
1926
  }
@@ -1929,7 +1929,7 @@ async function zc(e, t = "") {
1929
1929
  `${y}/admin/schedule-task/${encodeURIComponent(
1930
1930
  e
1931
1931
  )}/run${ae({ token: t })}`,
1932
- { ...b, method: "POST" }
1932
+ { ...S, method: "POST" }
1933
1933
  );
1934
1934
  return f(n, "手动执行失败");
1935
1935
  }
@@ -1941,7 +1941,7 @@ async function Lc(e, t = "") {
1941
1941
  page: e.page,
1942
1942
  size: e.size
1943
1943
  })}`,
1944
- b
1944
+ S
1945
1945
  );
1946
1946
  return f(n, "查询运行记录失败");
1947
1947
  }
@@ -1949,7 +1949,7 @@ async function Dc(e, t, n, r, s = "") {
1949
1949
  const o = s ? `?token=${encodeURIComponent(s)}` : "", i = await g(
1950
1950
  `${y}/admin/permissions/users/${e}/roles${o}`,
1951
1951
  {
1952
- ...b,
1952
+ ...S,
1953
1953
  method: "PUT",
1954
1954
  headers: { "Content-Type": "application/json" },
1955
1955
  body: JSON.stringify({ staffName: t, accountNo: n, roleIds: r })
@@ -1960,24 +1960,24 @@ async function Dc(e, t, n, r, s = "") {
1960
1960
  async function Fc(e, t = "") {
1961
1961
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
1962
1962
  `${y}/admin/permissions/users/${e}/detail${n}`,
1963
- b
1963
+ S
1964
1964
  );
1965
1965
  return f(r, "获取用户授权详情失败");
1966
1966
  }
1967
1967
  async function qc(e = "") {
1968
- const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/admin/roles${t}`, b);
1968
+ const t = e ? `?token=${encodeURIComponent(e)}` : "", n = await g(`${y}/admin/roles${t}`, S);
1969
1969
  return f(n, "获取角色列表失败") ?? [];
1970
1970
  }
1971
1971
  async function Bc(e, t = "") {
1972
1972
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(
1973
1973
  `${y}/admin/roles/${e}${n}`,
1974
- b
1974
+ S
1975
1975
  );
1976
1976
  return f(r, "获取角色详情失败");
1977
1977
  }
1978
1978
  async function Hc(e, t = "") {
1979
1979
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(`${y}/admin/roles${n}`, {
1980
- ...b,
1980
+ ...S,
1981
1981
  method: "POST",
1982
1982
  headers: { "Content-Type": "application/json" },
1983
1983
  body: JSON.stringify(e)
@@ -1986,7 +1986,7 @@ async function Hc(e, t = "") {
1986
1986
  }
1987
1987
  async function Kc(e, t, n = "") {
1988
1988
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(`${y}/admin/roles/${e}${r}`, {
1989
- ...b,
1989
+ ...S,
1990
1990
  method: "PUT",
1991
1991
  headers: { "Content-Type": "application/json" },
1992
1992
  body: JSON.stringify(t)
@@ -1995,14 +1995,14 @@ async function Kc(e, t, n = "") {
1995
1995
  }
1996
1996
  async function Gc(e, t = "") {
1997
1997
  const n = t ? `?token=${encodeURIComponent(t)}` : "", r = await g(`${y}/admin/roles/${e}${n}`, {
1998
- ...b,
1998
+ ...S,
1999
1999
  method: "DELETE"
2000
2000
  });
2001
2001
  return f(r, "删除角色失败");
2002
2002
  }
2003
2003
  async function Jc(e, t, n = "") {
2004
2004
  const r = n ? `?token=${encodeURIComponent(n)}` : "", s = await g(`${y}/admin/roles/${e}/users${r}`, {
2005
- ...b,
2005
+ ...S,
2006
2006
  method: "PUT",
2007
2007
  headers: { "Content-Type": "application/json" },
2008
2008
  body: JSON.stringify({ users: t })
@@ -2134,7 +2134,7 @@ function Yc(e, t) {
2134
2134
  const s = e.task_id ?? null, o = Object.values(t).filter(
2135
2135
  (i) => s ? i.task_id === s : !i.task_id
2136
2136
  );
2137
- if (be(e.id) && r)
2137
+ if (Se(e.id) && r)
2138
2138
  return o.some((i) => !i.completed);
2139
2139
  for (const i of o) {
2140
2140
  if (i.completed || i.agentName !== e.sender_name)
@@ -2468,7 +2468,7 @@ function Jt(e) {
2468
2468
  )
2469
2469
  };
2470
2470
  }
2471
- function Sa(e, t) {
2471
+ function ba(e, t) {
2472
2472
  var o, i, c, l;
2473
2473
  const n = (o = e.sender_name) == null ? void 0 : o.trim();
2474
2474
  if (n)
@@ -2491,8 +2491,8 @@ function Sa(e, t) {
2491
2491
  }
2492
2492
  return r === "AGENT" ? "助手" : r === "HUMAN" ? "成员" : "";
2493
2493
  }
2494
- function St(e, t) {
2495
- const n = Sa(e, t);
2494
+ function bt(e, t) {
2495
+ const n = ba(e, t);
2496
2496
  return n === e.sender_name ? e : { ...e, sender_name: n };
2497
2497
  }
2498
2498
  const Pt = /* @__PURE__ */ new Map(), Et = /* @__PURE__ */ new Map(), Rt = /* @__PURE__ */ new Map();
@@ -2534,7 +2534,7 @@ function Mt(e) {
2534
2534
  const t = e.task_id;
2535
2535
  return t == null || kt(t, "0") <= 0;
2536
2536
  }
2537
- function ba(e) {
2537
+ function Sa(e) {
2538
2538
  if (!e) return !1;
2539
2539
  const t = e.cardForm;
2540
2540
  return !!(t && t.status === "pending");
@@ -2546,7 +2546,7 @@ function Cn(e) {
2546
2546
  try {
2547
2547
  const r = typeof n.ext == "string" ? JSON.parse(n.ext) : n.ext;
2548
2548
  if ((r == null ? void 0 : r.taskId) != null) {
2549
- if (ba(r))
2549
+ if (Sa(r))
2550
2550
  continue;
2551
2551
  t.add(q(r.taskId));
2552
2552
  }
@@ -2563,7 +2563,7 @@ function Cn(e) {
2563
2563
  });
2564
2564
  }
2565
2565
  function Vt(e, t) {
2566
- return e.map((n) => Jt(n)).map((n) => St(n, t));
2566
+ return e.map((n) => Jt(n)).map((n) => bt(n, t));
2567
2567
  }
2568
2568
  function wa(e, t, n) {
2569
2569
  return Vt(e, t).map((r) => ({
@@ -2578,7 +2578,7 @@ function _a(e, t, n) {
2578
2578
  if (t.sender_id == null)
2579
2579
  return null;
2580
2580
  const r = e.findIndex(
2581
- (o) => be(o.id) && o.sender_type === "AGENT" && o.sender_id === t.sender_id && (t.task_id ? o.task_id === t.task_id : !o.task_id) && n(o.content)
2581
+ (o) => Se(o.id) && o.sender_type === "AGENT" && o.sender_id === t.sender_id && (t.task_id ? o.task_id === t.task_id : !o.task_id) && n(o.content)
2582
2582
  );
2583
2583
  if (r === -1)
2584
2584
  return null;
@@ -2773,7 +2773,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
2773
2773
  e({ loading: !0 });
2774
2774
  const { token: r } = t();
2775
2775
  try {
2776
- const s = await bs(r, n), i = (Array.isArray(s) ? s : []).map((c) => Ae(c)).sort(
2776
+ const s = await Ss(r, n), i = (Array.isArray(s) ? s : []).map((c) => Ae(c)).sort(
2777
2777
  (c, l) => it(l.created_at) - it(c.created_at)
2778
2778
  );
2779
2779
  e({ projects: i, loading: !1 });
@@ -2889,7 +2889,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
2889
2889
  if (((m = l.currentProject) == null ? void 0 : m.id) !== r)
2890
2890
  return {};
2891
2891
  const d = l.projectCache[r] ?? ct(), u = { members: c }, h = l.messages.map(
2892
- (C) => St(C, c)
2892
+ (C) => bt(C, c)
2893
2893
  );
2894
2894
  return {
2895
2895
  members: c,
@@ -2968,7 +2968,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
2968
2968
  if (!n) return;
2969
2969
  const r = String(n.id);
2970
2970
  try {
2971
- const s = await Sn(n.id, Tn), o = s.messages || [], i = t().members, c = lt(
2971
+ const s = await bn(n.id, Tn), o = s.messages || [], i = t().members, c = lt(
2972
2972
  Cn(
2973
2973
  Vt(o, i).filter(Mt)
2974
2974
  )
@@ -2995,7 +2995,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
2995
2995
  if (!n || !s || r.length === 0) return;
2996
2996
  const o = r[0].id;
2997
2997
  try {
2998
- const i = await Sn(
2998
+ const i = await bn(
2999
2999
  n.id,
3000
3000
  Tn,
3001
3001
  o
@@ -3021,7 +3021,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3021
3021
  e({ pendingTeamChatContent: n }), t().requestChatScrollBottom("team", !0);
3022
3022
  },
3023
3023
  addMessage: (n) => {
3024
- var x, S;
3024
+ var x, b;
3025
3025
  const r = Jt(
3026
3026
  n
3027
3027
  );
@@ -3031,7 +3031,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3031
3031
  if (!we(s))
3032
3032
  return;
3033
3033
  const o = t();
3034
- let i = St(r, o.members);
3034
+ let i = bt(r, o.members);
3035
3035
  const c = String(r.sender_type || "HUMAN").toUpperCase() === "HUMAN", l = xt(o.members, o.currentUser) ?? null, d = String(r.scenario_instance_id ?? ""), u = (x = o.currentProject) != null && x.id ? String(o.currentProject.id) : "";
3036
3036
  if (d && d !== "0" && u && d !== u)
3037
3037
  return;
@@ -3050,7 +3050,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3050
3050
  ...i,
3051
3051
  is_own: !0,
3052
3052
  sender_id: i.sender_id ?? (l == null ? void 0 : l.id) ?? null,
3053
- sender_name: i.sender_name || ((S = o.currentUser) == null ? void 0 : S.display_name) || ""
3053
+ sender_name: i.sender_name || ((b = o.currentUser) == null ? void 0 : b.display_name) || ""
3054
3054
  });
3055
3055
  const O = h && !m && i.is_own === !0;
3056
3056
  let _ = null;
@@ -3234,7 +3234,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3234
3234
  return;
3235
3235
  const o = String(s.id);
3236
3236
  try {
3237
- const i = await bn(s.id, n);
3237
+ const i = await Sn(s.id, n);
3238
3238
  e((c) => {
3239
3239
  var l;
3240
3240
  return ((l = c.currentProject) == null ? void 0 : l.id) !== o ? {} : r ? {
@@ -3355,8 +3355,8 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3355
3355
  expandedProjectIds: [
3356
3356
  .../* @__PURE__ */ new Set([...i.expandedProjectIds, s])
3357
3357
  ]
3358
- }), h && t().loadFileTree()), e((S) => {
3359
- const A = S.projects.filter(
3358
+ }), h && t().loadFileTree()), e((b) => {
3359
+ const A = b.projects.filter(
3360
3360
  (T, M, K) => K.findIndex((I) => I.id === T.id) === M
3361
3361
  ), k = A.findIndex((T) => T.id === s);
3362
3362
  return {
@@ -3369,8 +3369,8 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3369
3369
  return;
3370
3370
  }
3371
3371
  const C = i.projectSwitchSeq + 1, O = o && !d ? [.../* @__PURE__ */ new Set([...i.expandedProjectIds, s])] : i.expandedProjectIds;
3372
- ((x = i.currentProject) == null ? void 0 : x.id) !== s && Kt(), e((S) => {
3373
- const A = S.projects.filter(
3372
+ ((x = i.currentProject) == null ? void 0 : x.id) !== s && Kt(), e((b) => {
3373
+ const A = b.projects.filter(
3374
3374
  (T, M, K) => K.findIndex((I) => I.id === T.id) === M
3375
3375
  ), k = A.findIndex((T) => T.id === s);
3376
3376
  return {
@@ -3438,12 +3438,12 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3438
3438
  const r = t().currentProject;
3439
3439
  if (!r) return;
3440
3440
  let s = n;
3441
- if (be(s)) {
3441
+ if (Se(s)) {
3442
3442
  await t().loadRunningExecutions();
3443
3443
  const c = (i = t().activeTaskChat) == null ? void 0 : i.taskId, l = c ? Object.values(t().runningExecutions).find(
3444
- (d) => he(d.task_id, c) && !be(d.executionId) && d.executionId !== "" && d.stepName !== "排队中"
3444
+ (d) => he(d.task_id, c) && !Se(d.executionId) && d.executionId !== "" && d.stepName !== "排队中"
3445
3445
  ) : Object.values(t().runningExecutions).find(
3446
- (d) => !be(d.executionId) && d.executionId !== "" && !d.task_id && d.stepName !== "排队中"
3446
+ (d) => !Se(d.executionId) && d.executionId !== "" && !d.task_id && d.stepName !== "排队中"
3447
3447
  );
3448
3448
  if (!l) {
3449
3449
  t().clearExecution(s);
@@ -3484,7 +3484,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3484
3484
  const o = { ...s.runningExecutions };
3485
3485
  if (n.taskId)
3486
3486
  for (const l of Object.keys(o))
3487
- be(l) && he((c = o[l]) == null ? void 0 : c.task_id, n.taskId) && delete o[l];
3487
+ Se(l) && he((c = o[l]) == null ? void 0 : c.task_id, n.taskId) && delete o[l];
3488
3488
  const i = vt(
3489
3489
  n.agentName,
3490
3490
  n.taskId,
@@ -3605,7 +3605,7 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3605
3605
  oe(o, s.errors.length > 0 ? "warning" : "success"), e((c) => ({ fileTreeVersion: c.fileTreeVersion + 1 }));
3606
3606
  const i = t().currentProject;
3607
3607
  if (i && i.id === n) {
3608
- const c = await bn(n, "");
3608
+ const c = await Sn(n, "");
3609
3609
  e((l) => ({
3610
3610
  fileTrees: { ...l.fileTrees, [n]: c || [] }
3611
3611
  }));
@@ -3641,14 +3641,14 @@ const pl = 3, ml = 4, hl = 5, $n = gr((e, t) => ({
3641
3641
  const i = r.task_id ?? q(o);
3642
3642
  if (!he(i, o))
3643
3643
  return;
3644
- const c = St(
3644
+ const c = bt(
3645
3645
  { ...r, task_id: i },
3646
3646
  t().members
3647
3647
  ), l = c.id;
3648
3648
  we(l) && e((h) => {
3649
3649
  let m = h.taskMessages;
3650
3650
  if (c.sender_type === "AGENT" && c.task_id && (m = m.filter(
3651
- (_) => !(be(_.id) && _.sender_type === "AGENT" && _.task_id === c.task_id)
3651
+ (_) => !(Se(_.id) && _.sender_type === "AGENT" && _.task_id === c.task_id)
3652
3652
  )), m.findIndex((_) => _.id === l) !== -1)
3653
3653
  return {
3654
3654
  taskMessages: dt(
@@ -3962,9 +3962,9 @@ Pa();
3962
3962
  const ne = (e) => {
3963
3963
  const t = wr(e);
3964
3964
  return (n) => /* @__PURE__ */ a(_r, { fallback: null, children: /* @__PURE__ */ a(t, { ...n }) });
3965
- }, Le = ne(() => import("./index-Cd0dc1YC.js").then((e) => e.ax)), Ea = ne(() => import("./index-BDyI0H8l.js")), Ra = ne(() => import("./index-Tykj3IdY.js")), Oa = ne(() => import("./index-C2Ui1Ie2.js")), Ma = ne(() => import("./index-D-OCxotz.js")), ja = ne(() => import("./index-DarPcUXG.js"));
3966
- ne(() => import("./index-BbrKKpZ-.js"));
3967
- const Na = ne(() => import("./index-C815hPWS.js")), Ua = ne(() => import("./index-BZCQSW-G.js")), za = ne(() => import("./index-DhDdFRHC.js")), La = ne(() => import("./index-nolPC9iY.js")), Da = ne(() => import("./index-Dl_HunmQ.js")), Fa = ne(() => import("./index-B_LJRFsK.js")), qa = ne(() => import("./index-APttVhJ5.js"));
3965
+ }, Le = ne(() => import("./index-BJ1Ol5_Q.js").then((e) => e.ax)), Ea = ne(() => import("./index-DmjdD02T.js")), Ra = ne(() => import("./index-Df5YwY5P.js")), Oa = ne(() => import("./index-k6BqfJ0k.js")), Ma = ne(() => import("./index-D8MJXXfn.js")), ja = ne(() => import("./index-IptaFd0J.js"));
3966
+ ne(() => import("./index-C-Y8o3TZ.js"));
3967
+ const Na = ne(() => import("./index-C815hPWS.js")), Ua = ne(() => import("./index-BZCQSW-G.js")), za = ne(() => import("./index-DhDdFRHC.js")), La = ne(() => import("./index-7Yt7n1MM.js")), Da = ne(() => import("./index-BcVOrM95.js")), Fa = ne(() => import("./index-B_LJRFsK.js")), qa = ne(() => import("./index-Dy5Kq2UA.js"));
3968
3968
  function gl({ forcedMode: e }) {
3969
3969
  const { pathname: t } = Tr(), n = t.replace(/\/+$/, "") || "/";
3970
3970
  return e === "system" ? /* @__PURE__ */ a(Le, { forcedChatMode: $a(n) }) : e === "dev" ? /* @__PURE__ */ a(Le, { forcedChatMode: "dev" }) : n === "/workspace" ? /* @__PURE__ */ a(Le, {}) : n === "/workspace/phone" ? /* @__PURE__ */ a(Ea, {}) : n === "/workspace/from-ticket" ? /* @__PURE__ */ a(Ra, {}) : n === "/workspace/from-scenario" ? /* @__PURE__ */ a(Oa, {}) : n === "/workspace/build-by-form" ? /* @__PURE__ */ a(Ma, {}) : n === "/scenario" ? /* @__PURE__ */ a(ja, {}) : n === "/admin" ? /* @__PURE__ */ a(Le, {}) : n === "/welcome" ? /* @__PURE__ */ a(Ua, {}) : n === "/portal" ? /* @__PURE__ */ a(za, {}) : n === "/chatdemo" ? /* @__PURE__ */ a(Na, {}) : n === "/embed/chat" || n.startsWith("/embed/chat/") ? /* @__PURE__ */ a(qa, {}) : n === "/change-log" ? /* @__PURE__ */ a(La, {}) : n === "/docs" ? /* @__PURE__ */ a(Da, {}) : n === "/download" ? /* @__PURE__ */ a(Fa, {}) : /* @__PURE__ */ a(Le, {});
@@ -4066,7 +4066,7 @@ function sn(e = {}) {
4066
4066
  userInfoKey: e.userInfoKey
4067
4067
  }), t;
4068
4068
  }
4069
- const H = sn(), Sl = sn(), mt = sn({ baseURL: "/api", timeout: 1e4 }), ht = (e) => e ? typeof e.total == "number" ? e.total : Array.isArray(e) ? e.length : Array.isArray(e.records) ? e.records.length : Array.isArray(e.data) ? e.data.length : 0 : 0, Wa = [
4069
+ const H = sn(), bl = sn(), mt = sn({ baseURL: "/api", timeout: 1e4 }), ht = (e) => e ? typeof e.total == "number" ? e.total : Array.isArray(e) ? e.length : Array.isArray(e.records) ? e.records.length : Array.isArray(e.data) ? e.data.length : 0 : 0, Wa = [
4070
4070
  {
4071
4071
  key: "ai",
4072
4072
  color: "violet",
@@ -4164,7 +4164,7 @@ const H = sn(), Sl = sn(), mt = sn({ baseURL: "/api", timeout: 1e4 }), ht = (e)
4164
4164
  }
4165
4165
  ]
4166
4166
  }
4167
- ], bl = () => {
4167
+ ], Sl = () => {
4168
4168
  const [e, t] = $({
4169
4169
  configCount: null,
4170
4170
  projectCount: null,
@@ -4366,29 +4366,29 @@ const Ct = "/mock-platform", Q = (e, t) => tt.get(`${Ct}${e}`, { params: t }).th
4366
4366
  }
4367
4367
  }, { Text: me, Paragraph: Ya } = pe, Rn = { GET: "green", POST: "blue", PUT: "orange", DELETE: "red", PATCH: "purple" };
4368
4368
  function Wt({ activeEnvCode: e }) {
4369
- const [t, n] = $([]), [r, s] = $(!1), [o, i] = $(null), [c, l] = $(!1), [d, u] = $(null), [h, m] = $(""), C = h.trim() ? t.filter((S) => `${S.path || ""} ${S.mock_code || ""}`.toLowerCase().includes(h.trim().toLowerCase())) : t;
4369
+ const [t, n] = $([]), [r, s] = $(!1), [o, i] = $(null), [c, l] = $(!1), [d, u] = $(null), [h, m] = $(""), C = h.trim() ? t.filter((b) => `${b.path || ""} ${b.mock_code || ""}`.toLowerCase().includes(h.trim().toLowerCase())) : t;
4370
4370
  Y(() => {
4371
4371
  O();
4372
4372
  }, [e]);
4373
4373
  const O = async () => {
4374
4374
  s(!0), i(null);
4375
4375
  try {
4376
- const S = await J.endpoints.list(e);
4377
- n(Array.isArray(S) ? S : []);
4378
- } catch (S) {
4379
- i((S == null ? void 0 : S.message) || "API unavailable"), n([]);
4376
+ const b = await J.endpoints.list(e);
4377
+ n(Array.isArray(b) ? b : []);
4378
+ } catch (b) {
4379
+ i((b == null ? void 0 : b.message) || "API unavailable"), n([]);
4380
4380
  } finally {
4381
4381
  s(!1);
4382
4382
  }
4383
- }, _ = (S) => `${window.location.origin}/api/mock/${S.env_code || e || "default"}${S.path || ""}`, x = [
4383
+ }, _ = (b) => `${window.location.origin}/api/mock/${b.env_code || e || "default"}${b.path || ""}`, x = [
4384
4384
  {
4385
4385
  title: "路径",
4386
4386
  dataIndex: "path",
4387
4387
  key: "path",
4388
4388
  width: 280,
4389
- render: (S, A) => /* @__PURE__ */ p(U, { children: [
4389
+ render: (b, A) => /* @__PURE__ */ p(U, { children: [
4390
4390
  /* @__PURE__ */ a(E, { color: Rn[A.method] || "default", children: A.method }),
4391
- /* @__PURE__ */ a(me, { code: !0, copyable: { text: S }, children: S })
4391
+ /* @__PURE__ */ a(me, { code: !0, copyable: { text: b }, children: b })
4392
4392
  ] })
4393
4393
  },
4394
4394
  { title: "编码", dataIndex: "mock_code", key: "mock_code", width: 160 },
@@ -4398,9 +4398,9 @@ function Wt({ activeEnvCode: e }) {
4398
4398
  key: "priority",
4399
4399
  width: 80,
4400
4400
  align: "center",
4401
- render: (S) => /* @__PURE__ */ p(E, { color: "blue", children: [
4401
+ render: (b) => /* @__PURE__ */ p(E, { color: "blue", children: [
4402
4402
  "P",
4403
- S || 5
4403
+ b || 5
4404
4404
  ] })
4405
4405
  },
4406
4406
  { title: "状态码", dataIndex: "status_code", key: "status_code", width: 80, align: "center" },
@@ -4410,8 +4410,8 @@ function Wt({ activeEnvCode: e }) {
4410
4410
  key: "delay_ms",
4411
4411
  width: 80,
4412
4412
  align: "center",
4413
- render: (S) => S > 0 ? /* @__PURE__ */ p(me, { type: "warning", children: [
4414
- S,
4413
+ render: (b) => b > 0 ? /* @__PURE__ */ p(me, { type: "warning", children: [
4414
+ b,
4415
4415
  "ms"
4416
4416
  ] }) : /* @__PURE__ */ a(me, { type: "secondary", children: "-" })
4417
4417
  },
@@ -4420,14 +4420,14 @@ function Wt({ activeEnvCode: e }) {
4420
4420
  dataIndex: "fault_type",
4421
4421
  key: "fault_type",
4422
4422
  width: 110,
4423
- render: (S) => S && S !== "NONE" ? /* @__PURE__ */ a(E, { color: "red", children: S }) : /* @__PURE__ */ a(me, { type: "secondary", children: "-" })
4423
+ render: (b) => b && b !== "NONE" ? /* @__PURE__ */ a(E, { color: "red", children: b }) : /* @__PURE__ */ a(me, { type: "secondary", children: "-" })
4424
4424
  },
4425
4425
  {
4426
4426
  title: "场景",
4427
4427
  dataIndex: "scenario_code",
4428
4428
  key: "scenario_code",
4429
4429
  width: 130,
4430
- render: (S) => S ? /* @__PURE__ */ a(E, { color: "purple", children: S }) : /* @__PURE__ */ a(me, { type: "secondary", children: "-" })
4430
+ render: (b) => b ? /* @__PURE__ */ a(E, { color: "purple", children: b }) : /* @__PURE__ */ a(me, { type: "secondary", children: "-" })
4431
4431
  },
4432
4432
  {
4433
4433
  title: "命中",
@@ -4435,7 +4435,7 @@ function Wt({ activeEnvCode: e }) {
4435
4435
  key: "hit_count",
4436
4436
  width: 80,
4437
4437
  align: "center",
4438
- render: (S) => /* @__PURE__ */ a(me, { strong: !0, children: S || 0 })
4438
+ render: (b) => /* @__PURE__ */ a(me, { strong: !0, children: b || 0 })
4439
4439
  },
4440
4440
  {
4441
4441
  title: "状态",
@@ -4443,14 +4443,14 @@ function Wt({ activeEnvCode: e }) {
4443
4443
  key: "status",
4444
4444
  width: 100,
4445
4445
  align: "center",
4446
- render: (S) => S === 1 ? /* @__PURE__ */ a(E, { color: "green", children: "启用" }) : /* @__PURE__ */ a(E, { children: "禁用" })
4446
+ render: (b) => b === 1 ? /* @__PURE__ */ a(E, { color: "green", children: "启用" }) : /* @__PURE__ */ a(E, { children: "禁用" })
4447
4447
  },
4448
4448
  {
4449
4449
  title: "操作",
4450
4450
  key: "action",
4451
4451
  width: 160,
4452
4452
  fixed: "right",
4453
- render: (S, A) => /* @__PURE__ */ p(U, { size: "small", children: [
4453
+ render: (b, A) => /* @__PURE__ */ p(U, { size: "small", children: [
4454
4454
  /* @__PURE__ */ a(Re, { title: "预览响应", children: /* @__PURE__ */ a(
4455
4455
  j,
4456
4456
  {
@@ -4495,18 +4495,18 @@ function Wt({ activeEnvCode: e }) {
4495
4495
  ] }) }),
4496
4496
  /* @__PURE__ */ a(D, { span: 6, children: /* @__PURE__ */ p(F, { children: [
4497
4497
  /* @__PURE__ */ a("strong", { children: "已启用" }),
4498
- /* @__PURE__ */ a("div", { style: { fontSize: 22, color: "#52c41a" }, children: t.filter((S) => S.status === 1).length })
4498
+ /* @__PURE__ */ a("div", { style: { fontSize: 22, color: "#52c41a" }, children: t.filter((b) => b.status === 1).length })
4499
4499
  ] }) }),
4500
4500
  /* @__PURE__ */ a(D, { span: 6, children: /* @__PURE__ */ p(F, { children: [
4501
4501
  /* @__PURE__ */ a("strong", { children: "已禁用" }),
4502
- /* @__PURE__ */ a("div", { style: { fontSize: 22, color: "#ff4d4f" }, children: t.filter((S) => S.status === 0).length })
4502
+ /* @__PURE__ */ a("div", { style: { fontSize: 22, color: "#ff4d4f" }, children: t.filter((b) => b.status === 0).length })
4503
4503
  ] }) }),
4504
4504
  /* @__PURE__ */ a(D, { span: 6, children: /* @__PURE__ */ p(F, { children: [
4505
4505
  /* @__PURE__ */ a("strong", { children: "总命中" }),
4506
4506
  /* @__PURE__ */ a("div", { style: {
4507
4507
  fontSize: 22,
4508
4508
  color: "#1890ff"
4509
- }, children: t.reduce((S, A) => S + (A.hit_count || 0), 0) })
4509
+ }, children: t.reduce((b, A) => b + (A.hit_count || 0), 0) })
4510
4510
  ] }) })
4511
4511
  ] }),
4512
4512
  /* @__PURE__ */ p(U, { style: { marginBottom: 16 }, children: [
@@ -4516,7 +4516,7 @@ function Wt({ activeEnvCode: e }) {
4516
4516
  allowClear: !0,
4517
4517
  placeholder: "按路径 / 编码过滤",
4518
4518
  style: { width: 220 },
4519
- onChange: (S) => m(S.target.value)
4519
+ onChange: (b) => m(b.target.value)
4520
4520
  }
4521
4521
  ),
4522
4522
  /* @__PURE__ */ a(j, { icon: /* @__PURE__ */ a(ce, {}), onClick: O, children: "刷新" })
@@ -4850,13 +4850,13 @@ function to() {
4850
4850
  )
4851
4851
  ] });
4852
4852
  }
4853
- const { Text: Se } = pe, zt = { PASS: "green", FAIL: "red", SKIP: "default" }, no = { P0: "red", P1: "orange", P2: "blue", P3: "default" };
4853
+ const { Text: be } = pe, zt = { PASS: "green", FAIL: "red", SKIP: "default" }, no = { P0: "red", P1: "orange", P2: "blue", P3: "default" };
4854
4854
  function ro() {
4855
4855
  const [e, t] = $([]), [n, r] = $(!1), [s, o] = $([]), [i, c] = $(!1), [l, d] = $(null), [u, h] = $(null), [m, C] = $(!1), [O, _] = $(""), x = O.trim() ? e.filter((T) => `${T.case_code || ""} ${T.case_name || ""} ${T.request_url || ""}`.toLowerCase().includes(O.trim().toLowerCase())) : e;
4856
4856
  Y(() => {
4857
- S();
4857
+ b();
4858
4858
  }, []);
4859
- const S = async () => {
4859
+ const b = async () => {
4860
4860
  r(!0);
4861
4861
  try {
4862
4862
  const T = await J.cases.list();
@@ -4869,7 +4869,7 @@ function ro() {
4869
4869
  }, A = async (T) => {
4870
4870
  try {
4871
4871
  const M = await J.cases.run(T.case_code);
4872
- d(M), c(!0), (M == null ? void 0 : M.status) === "PASS" ? v.success("用例通过") : v.error("用例失败: " + ((M == null ? void 0 : M.error) || (M == null ? void 0 : M.actualStatus))), S();
4872
+ d(M), c(!0), (M == null ? void 0 : M.status) === "PASS" ? v.success("用例通过") : v.error("用例失败: " + ((M == null ? void 0 : M.error) || (M == null ? void 0 : M.actualStatus))), b();
4873
4873
  } catch (M) {
4874
4874
  v.error("执行失败: " + (M == null ? void 0 : M.message));
4875
4875
  }
@@ -4880,7 +4880,7 @@ function ro() {
4880
4880
  }
4881
4881
  try {
4882
4882
  const T = await J.cases.runBatch(s);
4883
- h(T), C(!0), v.success(`批量执行完成: ${T == null ? void 0 : T.pass} 通过, ${T == null ? void 0 : T.fail} 失败`), S();
4883
+ h(T), C(!0), v.success(`批量执行完成: ${T == null ? void 0 : T.pass} 通过, ${T == null ? void 0 : T.fail} 失败`), b();
4884
4884
  } catch {
4885
4885
  v.error("批量执行失败");
4886
4886
  }
@@ -4890,7 +4890,7 @@ function ro() {
4890
4890
  dataIndex: "case_code",
4891
4891
  key: "case_code",
4892
4892
  width: 180,
4893
- render: (T) => /* @__PURE__ */ a(Se, { code: !0, children: T })
4893
+ render: (T) => /* @__PURE__ */ a(be, { code: !0, children: T })
4894
4894
  },
4895
4895
  { title: "名称", dataIndex: "case_name", key: "case_name", width: 220 },
4896
4896
  {
@@ -4912,7 +4912,7 @@ function ro() {
4912
4912
  dataIndex: "request_url",
4913
4913
  key: "request_url",
4914
4914
  ellipsis: !0,
4915
- render: (T) => /* @__PURE__ */ a(Se, { code: !0, children: T })
4915
+ render: (T) => /* @__PURE__ */ a(be, { code: !0, children: T })
4916
4916
  },
4917
4917
  {
4918
4918
  title: "优先级",
@@ -4936,10 +4936,10 @@ function ro() {
4936
4936
  width: 130,
4937
4937
  align: "center",
4938
4938
  render: (T, M) => /* @__PURE__ */ p(U, { size: "small", children: [
4939
- /* @__PURE__ */ a(Se, { type: "success", children: M.pass_count || 0 }),
4939
+ /* @__PURE__ */ a(be, { type: "success", children: M.pass_count || 0 }),
4940
4940
  "/",
4941
- /* @__PURE__ */ a(Se, { type: "danger", children: M.fail_count || 0 }),
4942
- /* @__PURE__ */ p(Se, { type: "secondary", children: [
4941
+ /* @__PURE__ */ a(be, { type: "danger", children: M.fail_count || 0 }),
4942
+ /* @__PURE__ */ p(be, { type: "secondary", children: [
4943
4943
  "(",
4944
4944
  M.run_count || 0,
4945
4945
  ")"
@@ -4984,7 +4984,7 @@ function ro() {
4984
4984
  onChange: (T) => _(T.target.value)
4985
4985
  }
4986
4986
  ),
4987
- /* @__PURE__ */ a(j, { icon: /* @__PURE__ */ a(ce, {}), onClick: S, children: "刷新" }),
4987
+ /* @__PURE__ */ a(j, { icon: /* @__PURE__ */ a(ce, {}), onClick: b, children: "刷新" }),
4988
4988
  /* @__PURE__ */ p(
4989
4989
  j,
4990
4990
  {
@@ -5047,7 +5047,7 @@ function ro() {
5047
5047
  /* @__PURE__ */ a(z.Item, { label: "错误信息", children: l.error || "-" })
5048
5048
  ] }),
5049
5049
  l.assertionResults && /* @__PURE__ */ p(Lt, { children: [
5050
- /* @__PURE__ */ a(Se, { strong: !0, children: "断言详情:" }),
5050
+ /* @__PURE__ */ a(be, { strong: !0, children: "断言详情:" }),
5051
5051
  /* @__PURE__ */ a(
5052
5052
  ie,
5053
5053
  {
@@ -5071,7 +5071,7 @@ function ro() {
5071
5071
  }
5072
5072
  )
5073
5073
  ] }),
5074
- /* @__PURE__ */ a(Se, { strong: !0, style: { marginTop: 16, display: "block" }, children: "响应体:" }),
5074
+ /* @__PURE__ */ a(be, { strong: !0, style: { marginTop: 16, display: "block" }, children: "响应体:" }),
5075
5075
  /* @__PURE__ */ a("pre", { style: {
5076
5076
  background: "#f5f5f5",
5077
5077
  padding: 12,
@@ -5171,8 +5171,8 @@ function so() {
5171
5171
  }
5172
5172
  }, O = async (x) => {
5173
5173
  try {
5174
- const S = await J.recordings.requests(x.recording_code);
5175
- c(x), d(Array.isArray(S) ? S : []), o(!0);
5174
+ const b = await J.recordings.requests(x.recording_code);
5175
+ c(x), d(Array.isArray(b) ? b : []), o(!0);
5176
5176
  } catch {
5177
5177
  v.error("加载失败");
5178
5178
  }
@@ -5213,13 +5213,13 @@ function so() {
5213
5213
  key: "action",
5214
5214
  width: 120,
5215
5215
  fixed: "right",
5216
- render: (x, S) => /* @__PURE__ */ a(U, { size: "small", children: /* @__PURE__ */ a(
5216
+ render: (x, b) => /* @__PURE__ */ a(U, { size: "small", children: /* @__PURE__ */ a(
5217
5217
  j,
5218
5218
  {
5219
5219
  size: "small",
5220
5220
  type: "link",
5221
5221
  icon: /* @__PURE__ */ a(on, {}),
5222
- onClick: () => O(S),
5222
+ onClick: () => O(b),
5223
5223
  children: "详情"
5224
5224
  }
5225
5225
  ) })
@@ -5349,7 +5349,7 @@ function oo() {
5349
5349
  const O = async () => {
5350
5350
  o(!0);
5351
5351
  try {
5352
- const [S, A] = await Promise.all([
5352
+ const [b, A] = await Promise.all([
5353
5353
  J.requestLogs.list({
5354
5354
  path: u || void 0,
5355
5355
  matched: m,
@@ -5357,42 +5357,42 @@ function oo() {
5357
5357
  }),
5358
5358
  J.requestLogs.stats().catch(() => null)
5359
5359
  ]);
5360
- t(Array.isArray(S) ? S : []), r(A);
5360
+ t(Array.isArray(b) ? b : []), r(A);
5361
5361
  } catch {
5362
5362
  v.warning("加载失败");
5363
5363
  } finally {
5364
5364
  o(!1);
5365
5365
  }
5366
- }, _ = (S) => {
5367
- c(S), d(!0);
5366
+ }, _ = (b) => {
5367
+ c(b), d(!0);
5368
5368
  }, x = [
5369
5369
  {
5370
5370
  title: "时间",
5371
5371
  dataIndex: "create_time",
5372
5372
  key: "create_time",
5373
5373
  width: 170,
5374
- render: (S) => S ? new Date(S).toLocaleString() : "-"
5374
+ render: (b) => b ? new Date(b).toLocaleString() : "-"
5375
5375
  },
5376
5376
  {
5377
5377
  title: "环境",
5378
5378
  dataIndex: "env_code",
5379
5379
  key: "env_code",
5380
5380
  width: 100,
5381
- render: (S) => /* @__PURE__ */ a(E, { children: S })
5381
+ render: (b) => /* @__PURE__ */ a(E, { children: b })
5382
5382
  },
5383
5383
  {
5384
5384
  title: "方法",
5385
5385
  dataIndex: "request_method",
5386
5386
  key: "request_method",
5387
5387
  width: 80,
5388
- render: (S) => /* @__PURE__ */ a(E, { color: "blue", children: S })
5388
+ render: (b) => /* @__PURE__ */ a(E, { color: "blue", children: b })
5389
5389
  },
5390
5390
  {
5391
5391
  title: "路径",
5392
5392
  dataIndex: "request_path",
5393
5393
  key: "request_path",
5394
5394
  ellipsis: !0,
5395
- render: (S) => /* @__PURE__ */ a(Pe, { code: !0, children: S })
5395
+ render: (b) => /* @__PURE__ */ a(Pe, { code: !0, children: b })
5396
5396
  },
5397
5397
  {
5398
5398
  title: "状态",
@@ -5400,7 +5400,7 @@ function oo() {
5400
5400
  key: "response_status",
5401
5401
  width: 90,
5402
5402
  align: "center",
5403
- render: (S) => S ? /* @__PURE__ */ a(E, { color: S >= 400 ? "red" : "green", children: S }) : "-"
5403
+ render: (b) => b ? /* @__PURE__ */ a(E, { color: b >= 400 ? "red" : "green", children: b }) : "-"
5404
5404
  },
5405
5405
  {
5406
5406
  title: "匹配",
@@ -5408,14 +5408,14 @@ function oo() {
5408
5408
  key: "matched",
5409
5409
  width: 90,
5410
5410
  align: "center",
5411
- render: (S) => S === 1 ? /* @__PURE__ */ a(E, { color: "green", children: "命中" }) : /* @__PURE__ */ a(E, { color: "red", children: "未匹配" })
5411
+ render: (b) => b === 1 ? /* @__PURE__ */ a(E, { color: "green", children: "命中" }) : /* @__PURE__ */ a(E, { color: "red", children: "未匹配" })
5412
5412
  },
5413
5413
  {
5414
5414
  title: "回退",
5415
5415
  dataIndex: "fallback_type",
5416
5416
  key: "fallback_type",
5417
5417
  width: 100,
5418
- render: (S) => S ? /* @__PURE__ */ a(E, { color: ao[S], children: S }) : "-"
5418
+ render: (b) => b ? /* @__PURE__ */ a(E, { color: ao[b], children: b }) : "-"
5419
5419
  },
5420
5420
  {
5421
5421
  title: "耗时",
@@ -5423,7 +5423,7 @@ function oo() {
5423
5423
  key: "duration_ms",
5424
5424
  width: 80,
5425
5425
  align: "center",
5426
- render: (S) => `${S || 0}ms`
5426
+ render: (b) => `${b || 0}ms`
5427
5427
  },
5428
5428
  {
5429
5429
  title: "Mock",
@@ -5431,13 +5431,13 @@ function oo() {
5431
5431
  key: "mock_code",
5432
5432
  width: 160,
5433
5433
  ellipsis: !0,
5434
- render: (S) => S ? /* @__PURE__ */ a(Pe, { code: !0, children: S }) : "-"
5434
+ render: (b) => b ? /* @__PURE__ */ a(Pe, { code: !0, children: b }) : "-"
5435
5435
  },
5436
5436
  {
5437
5437
  title: "操作",
5438
5438
  key: "action",
5439
5439
  width: 80,
5440
- render: (S, A) => /* @__PURE__ */ a(
5440
+ render: (b, A) => /* @__PURE__ */ a(
5441
5441
  j,
5442
5442
  {
5443
5443
  size: "small",
@@ -5495,7 +5495,7 @@ function oo() {
5495
5495
  allowClear: !0,
5496
5496
  style: { width: 240 },
5497
5497
  value: u,
5498
- onChange: (S) => h(S.target.value),
5498
+ onChange: (b) => h(b.target.value),
5499
5499
  onPressEnter: O
5500
5500
  }
5501
5501
  ),
@@ -5884,7 +5884,7 @@ function Tl({ onInsert: e, form: t, formField: n = "responseTemplate" }) {
5884
5884
  }
5885
5885
  const { TextArea: Nn } = B, { Text: Ee, Paragraph: co } = pe;
5886
5886
  function kl({ open: e, onClose: t, onSuccess: n, envOptions: r = [] }) {
5887
- const [s, o] = $(""), [i, c] = $(null), [l, d] = $(null), [u, h] = $(!1), [m, C] = $(null), [O, _] = $(!1), [x, S] = $("import"), [A] = N.useForm(), [k] = N.useForm(), P = () => {
5887
+ const [s, o] = $(""), [i, c] = $(null), [l, d] = $(null), [u, h] = $(!1), [m, C] = $(null), [O, _] = $(!1), [x, b] = $("import"), [A] = N.useForm(), [k] = N.useForm(), P = () => {
5888
5888
  o(""), c(null), d(null), C(null), A.resetFields(), k.resetFields();
5889
5889
  }, T = () => {
5890
5890
  P(), t();
@@ -6060,7 +6060,7 @@ function kl({ open: e, onClose: t, onSuccess: n, envOptions: r = [] }) {
6060
6060
  Xe,
6061
6061
  {
6062
6062
  activeKey: x,
6063
- onChange: S,
6063
+ onChange: b,
6064
6064
  style: { marginTop: 16 },
6065
6065
  items: [
6066
6066
  {
@@ -6130,7 +6130,7 @@ function lo(e) {
6130
6130
  }
6131
6131
  const { TextArea: Un } = B;
6132
6132
  function Il({ open: e, onClose: t, onSuccess: n, envOptions: r = [] }) {
6133
- const [s, o] = $("paste"), [i, c] = $(""), [l, d] = $(null), [u, h] = $(null), [m, C] = $(!1), [O, _] = $([]), [x, S] = $(!1), [A] = N.useForm(), k = Fn(null), P = () => {
6133
+ const [s, o] = $("paste"), [i, c] = $(""), [l, d] = $(null), [u, h] = $(null), [m, C] = $(!1), [O, _] = $([]), [x, b] = $(!1), [A] = N.useForm(), k = Fn(null), P = () => {
6134
6134
  c(""), d(null), h(null), _([]), A.resetFields();
6135
6135
  }, T = () => {
6136
6136
  P(), t();
@@ -6183,7 +6183,7 @@ function Il({ open: e, onClose: t, onSuccess: n, envOptions: r = [] }) {
6183
6183
  } catch {
6184
6184
  return;
6185
6185
  }
6186
- S(!0);
6186
+ b(!0);
6187
6187
  try {
6188
6188
  const G = (l.endpoints || []).map((W, an) => ({
6189
6189
  method: W.method,
@@ -6202,7 +6202,7 @@ function Il({ open: e, onClose: t, onSuccess: n, envOptions: r = [] }) {
6202
6202
  } catch (G) {
6203
6203
  v.error(String((G == null ? void 0 : G.message) || G));
6204
6204
  } finally {
6205
- S(!1);
6205
+ b(!1);
6206
6206
  }
6207
6207
  }, L = [
6208
6208
  {
@@ -6284,7 +6284,7 @@ function Il({ open: e, onClose: t, onSuccess: n, envOptions: r = [] }) {
6284
6284
  " 上传文件"
6285
6285
  ] }),
6286
6286
  children: /* @__PURE__ */ p(
6287
- Sr.Dragger,
6287
+ br.Dragger,
6288
6288
  {
6289
6289
  ref: k,
6290
6290
  accept: ".json,.yaml,.yml,application/json,text/yaml",
@@ -6424,7 +6424,7 @@ function ho() {
6424
6424
  }
6425
6425
  }
6426
6426
  });
6427
- }, S = async (I) => {
6427
+ }, b = async (I) => {
6428
6428
  try {
6429
6429
  const w = await H.post(`/subscribe/subscription/${I}/enable`);
6430
6430
  w && w.success !== !1 ? (v.success("已启用"), _()) : v.error((w == null ? void 0 : w.message) || "启用失败");
@@ -6634,7 +6634,7 @@ function ho() {
6634
6634
  type: "link",
6635
6635
  size: "small",
6636
6636
  icon: /* @__PURE__ */ a(en, {}),
6637
- onClick: () => S(w.id),
6637
+ onClick: () => b(w.id),
6638
6638
  children: "启用"
6639
6639
  }
6640
6640
  ),
@@ -6872,7 +6872,7 @@ const yo = [
6872
6872
  { value: "BEARER", label: "Bearer (Authorization: Bearer xxx)" },
6873
6873
  { value: "API_KEY", label: "API Key (Authorization: xxx)" },
6874
6874
  { value: "BASIC", label: "Basic (user:password base64)" }
6875
- ], So = [
6875
+ ], bo = [
6876
6876
  { label: "每 5 分钟", value: "0 */5 * * * ?" },
6877
6877
  { label: "每 15 分钟", value: "0 */15 * * * ?" },
6878
6878
  { label: "每小时", value: "0 0 * * * ?" },
@@ -6882,7 +6882,7 @@ const yo = [
6882
6882
  function Ln() {
6883
6883
  const { id: e } = qn(), t = Ye(), n = !!e, [r] = N.useForm(), [s, o] = $(!1), [i, c] = $(!1), [l, d] = $([]), [u, h] = $([]), m = N.useWatch("sourceType", r), C = N.useWatch("extractorType", r), O = N.useWatch("authType", r);
6884
6884
  Y(() => {
6885
- _(), x(), n && S();
6885
+ _(), x(), n && b();
6886
6886
  }, [e]);
6887
6887
  const _ = async () => {
6888
6888
  try {
@@ -6896,7 +6896,7 @@ function Ln() {
6896
6896
  h(Array.isArray(P) ? P.filter((T) => T.status === 1) : []);
6897
6897
  } catch {
6898
6898
  }
6899
- }, S = async () => {
6899
+ }, b = async () => {
6900
6900
  o(!0);
6901
6901
  try {
6902
6902
  const k = await H.get(`/subscribe/subscription/${e}`), P = (k == null ? void 0 : k.data) ?? k;
@@ -6942,7 +6942,7 @@ function Ln() {
6942
6942
  ] })
6943
6943
  }
6944
6944
  ),
6945
- /* @__PURE__ */ a(F, { children: /* @__PURE__ */ a(bt, { spinning: s, children: /* @__PURE__ */ p(
6945
+ /* @__PURE__ */ a(F, { children: /* @__PURE__ */ a(St, { spinning: s, children: /* @__PURE__ */ p(
6946
6946
  N,
6947
6947
  {
6948
6948
  form: r,
@@ -7057,7 +7057,7 @@ function Ln() {
7057
7057
  {
7058
7058
  style: { width: 140 },
7059
7059
  placeholder: "常用",
7060
- options: So,
7060
+ options: bo,
7061
7061
  onChange: (k) => r.setFieldValue("cronExpr", k),
7062
7062
  value: null
7063
7063
  }
@@ -7094,7 +7094,7 @@ function Ln() {
7094
7094
  ) }) })
7095
7095
  ] });
7096
7096
  }
7097
- const bo = {
7097
+ const So = {
7098
7098
  PENDING: "default",
7099
7099
  RUNNING: "processing",
7100
7100
  SUCCESS: "green",
@@ -7134,7 +7134,7 @@ function wo() {
7134
7134
  } catch {
7135
7135
  v.error("加载抽取项失败");
7136
7136
  }
7137
- }, _ = s.reduce((A, k) => A + (k.successCount || 0), 0), x = s.reduce((A, k) => A + (k.deadLetterCount || 0), 0), S = s.reduce((A, k) => A + (k.duplicateCount || 0), 0);
7137
+ }, _ = s.reduce((A, k) => A + (k.successCount || 0), 0), x = s.reduce((A, k) => A + (k.deadLetterCount || 0), 0), b = s.reduce((A, k) => A + (k.duplicateCount || 0), 0);
7138
7138
  return /* @__PURE__ */ p("div", { children: [
7139
7139
  /* @__PURE__ */ a(
7140
7140
  Ne,
@@ -7182,7 +7182,7 @@ function wo() {
7182
7182
  styles: { content: { color: "#cf1322" } }
7183
7183
  }
7184
7184
  ) }) }),
7185
- /* @__PURE__ */ a(D, { span: 6, children: /* @__PURE__ */ a(F, { children: /* @__PURE__ */ a(X, { title: "重复跳过", value: S }) }) })
7185
+ /* @__PURE__ */ a(D, { span: 6, children: /* @__PURE__ */ a(F, { children: /* @__PURE__ */ a(X, { title: "重复跳过", value: b }) }) })
7186
7186
  ] }),
7187
7187
  /* @__PURE__ */ p(se, { gutter: 16, children: [
7188
7188
  /* @__PURE__ */ a(D, { span: 12, children: /* @__PURE__ */ a(
@@ -7214,7 +7214,7 @@ function wo() {
7214
7214
  title: "状态",
7215
7215
  dataIndex: "status",
7216
7216
  width: 80,
7217
- render: (A) => /* @__PURE__ */ a(E, { color: bo[A], children: A })
7217
+ render: (A) => /* @__PURE__ */ a(E, { color: So[A], children: A })
7218
7218
  },
7219
7219
  {
7220
7220
  title: "拉取/成功/死信",
@@ -7445,9 +7445,9 @@ function Co() {
7445
7445
  const P = t.get("subscriptionId"), T = t.get("itemIds");
7446
7446
  P && (x(Number(P)), n.setFieldValue("sourceSubscriptionId", Number(P)), A(P)), T && O(T.split(",").map(Number).filter(Boolean));
7447
7447
  }, [t]), Y(() => {
7448
- S();
7448
+ b();
7449
7449
  }, []);
7450
- const S = async () => {
7450
+ const b = async () => {
7451
7451
  try {
7452
7452
  const P = await H.get("/subscribe/subscription/list"), T = (P == null ? void 0 : P.data) ?? P ?? [];
7453
7453
  l(Array.isArray(T) ? T.filter((M) => M.status === "VERIFIED") : []);
@@ -7538,7 +7538,7 @@ function Co() {
7538
7538
  )
7539
7539
  }
7540
7540
  ),
7541
- _ && /* @__PURE__ */ p(bt, { spinning: h, children: [
7541
+ _ && /* @__PURE__ */ p(St, { spinning: h, children: [
7542
7542
  /* @__PURE__ */ p("div", { style: { marginBottom: 8 }, children: [
7543
7543
  /* @__PURE__ */ p(E, { color: "blue", children: [
7544
7544
  "已选 ",
@@ -7658,16 +7658,16 @@ function $o() {
7658
7658
  const _ = i.trim();
7659
7659
  c(""), d(!0);
7660
7660
  const x = { seq: -1, role: "USER", content: _, createdAt: (/* @__PURE__ */ new Date()).toISOString() };
7661
- o((S) => [...S, x]);
7661
+ o((b) => [...b, x]);
7662
7662
  try {
7663
- const S = await H.post(`/project/${e}/chat`, { message: _ });
7664
- if (S && S.success !== !1) {
7665
- const k = (S.data ?? S).message;
7663
+ const b = await H.post(`/project/${e}/chat`, { message: _ });
7664
+ if (b && b.success !== !1) {
7665
+ const k = (b.data ?? b).message;
7666
7666
  o((P) => [...P.filter((M) => M.seq !== -1), ...k ? [k] : []]), setTimeout(h, 100);
7667
7667
  } else
7668
- v.error((S == null ? void 0 : S.message) || "发送失败");
7669
- } catch (S) {
7670
- v.error("发送失败: " + ((S == null ? void 0 : S.message) || ""));
7668
+ v.error((b == null ? void 0 : b.message) || "发送失败");
7669
+ } catch (b) {
7670
+ v.error("发送失败: " + ((b == null ? void 0 : b.message) || ""));
7671
7671
  } finally {
7672
7672
  d(!1);
7673
7673
  }
@@ -7679,7 +7679,7 @@ function $o() {
7679
7679
  v.error("操作失败");
7680
7680
  }
7681
7681
  };
7682
- if (!n) return /* @__PURE__ */ a("div", { style: { padding: 24 }, children: /* @__PURE__ */ a(bt, {}) });
7682
+ if (!n) return /* @__PURE__ */ a("div", { style: { padding: 24 }, children: /* @__PURE__ */ a(St, {}) });
7683
7683
  const O = Ao[n.status] || { color: "default", text: n.status };
7684
7684
  return /* @__PURE__ */ p("div", { style: { padding: 24, height: "calc(100vh - 64px)", display: "flex", flexDirection: "column", gap: 16 }, children: [
7685
7685
  /* @__PURE__ */ p(
@@ -7723,17 +7723,17 @@ function $o() {
7723
7723
  style: { flex: 1, display: "flex", flexDirection: "column" },
7724
7724
  styles: { body: { flex: 1, display: "flex", flexDirection: "column", padding: 0 } },
7725
7725
  children: [
7726
- /* @__PURE__ */ a("div", { ref: u, style: { flex: 1, overflow: "auto", padding: 16, background: "#fafafa" }, children: s.length === 0 ? /* @__PURE__ */ a(br, { description: "还没有消息, 跟 Agent 说点什么?" }) : /* @__PURE__ */ p(U, { orientation: "vertical", style: { width: "100%" }, size: "middle", children: [
7726
+ /* @__PURE__ */ a("div", { ref: u, style: { flex: 1, overflow: "auto", padding: 16, background: "#fafafa" }, children: s.length === 0 ? /* @__PURE__ */ a(Sr, { description: "还没有消息, 跟 Agent 说点什么?" }) : /* @__PURE__ */ p(U, { orientation: "vertical", style: { width: "100%" }, size: "middle", children: [
7727
7727
  s.map((_) => {
7728
- const x = Dn[_.role] || Dn.SYSTEM, S = _.role === "USER";
7728
+ const x = Dn[_.role] || Dn.SYSTEM, b = _.role === "USER";
7729
7729
  return /* @__PURE__ */ a("div", { style: {
7730
7730
  display: "flex",
7731
- justifyContent: S ? "flex-end" : "flex-start"
7731
+ justifyContent: b ? "flex-end" : "flex-start"
7732
7732
  }, children: /* @__PURE__ */ p("div", { style: {
7733
7733
  maxWidth: "70%",
7734
- background: S ? "#1677ff" : "#fff",
7735
- color: S ? "#fff" : "#000",
7736
- border: S ? "none" : "1px solid #e8e8e8",
7734
+ background: b ? "#1677ff" : "#fff",
7735
+ color: b ? "#fff" : "#000",
7736
+ border: b ? "none" : "1px solid #e8e8e8",
7737
7737
  borderRadius: 8,
7738
7738
  padding: "10px 14px",
7739
7739
  boxShadow: "0 1px 2px rgba(0,0,0,0.04)"
@@ -7764,7 +7764,7 @@ function $o() {
7764
7764
  borderRadius: 8,
7765
7765
  padding: "10px 14px"
7766
7766
  }, children: [
7767
- /* @__PURE__ */ a(bt, { size: "small" }),
7767
+ /* @__PURE__ */ a(St, { size: "small" }),
7768
7768
  " 思考中..."
7769
7769
  ] }) })
7770
7770
  ] }) }),
@@ -7818,7 +7818,7 @@ function xo() {
7818
7818
  const Al = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
7819
7819
  __proto__: null,
7820
7820
  default: xo
7821
- }, Symbol.toStringTag, { value: "Module" })), vo = "# z-team-component\n\nz-team(团队工作台)的**跨仓唯一前端面**:把「多模式工作台 / 模式切换 / z-opc 业务套件聚合 / 订阅域 / 项目域」\n这一整套团队工作台页面收敛成一个可复用的 React 组件包,由主壳(z-opc 主前端)挂载。\n\n- **npm 包名**:`@yuku123/z-team-component`\n- **宿主接入**:双入口 —— `.`(`ZTeamApp` / `SubscribeApp` / `ProjectApp`)与 `./pages`(`routes` / `appMeta` / `menuItems`)\n- **后端**:与 z-opc 主壳同源的 `/api/**`(axios `baseURL = '/api'`,Cookie 模式 `withCredentials`)\n- **技术栈**:React 19 + antd 6 + react-router-dom 7 + vite(**library mode**,双入口 `index` / `pages`,\n 基座与全部 `@yuku123/*` 一律 **external**,由消费方用自己的 node_modules 解析)\n\n> ⚠ z-team 是**主壳的总控包**:它自己不承载某个业务域,而是把 z-opc 的业务套件(`/ctc/*`、`/ai/*`、`/config/*` …)\n> 聚合进工作台外壳里渲染。所以本文档描述的是 **z-team 自身的能力**(工作台 / 模式切换 / 套件聚合 / 订阅 / 项目)。\n\n---\n\n## 一、能力概览\n\n### 1.1 顶层路由(`src/pages-manifest.ts` 的 `routes`)\n\n| 路由 | 组件 | 能力 |\n|------|------|------|\n| `/team/subscribe` | `SubscribeApp` | 订阅域:订阅列表 / 编辑 / 运行历史 |\n| `/team/project` | `ProjectApp` | 项目域:项目列表 / 创建 / 详情 |\n| `/team/docs` | `ComponentDocPage` | 本文件渲染页(左侧 240px TOC + 右侧正文) |\n| `/team/:rest*` | `ZTeamApp` | **兜底**:`ZTeamApp` 内部按 `useLocation().pathname` 懒加载分发到下面 15 个域 |\n\n`menuItems`:`/team/subscribe`(订阅)/ `/team/project`(项目)/ `/team/workspace`(工作台)/ `/team/docs`(组件文档,末项)。\n\n### 1.2 `ZTeamApp` 顶层分发(`src/zteam-adapter/App.tsx`)\n\n| pathname | 渲染的域 | 源文件 |\n|----------|----------|--------|\n| `/workspace` | 工作台 | `src/zteam/pages/workspace/index.tsx` |\n| `/workspace/phone` | 移动端工作台 | `src/zteam/pages/workspace/phone/index.tsx` |\n| `/workspace/from-ticket` | 从工单进入 | `src/zteam/pages/workspace/from-ticket.tsx` |\n| `/workspace/from-scenario` | 从场景进入 | `src/zteam/pages/workspace/from-scenario.tsx` |\n| `/workspace/build-by-form` | 表单构建 | `src/zteam/pages/workspace/build-by-form.tsx` |\n| `/scenario` | 场景 | `src/zteam/pages/scenario/index.tsx` |\n| `/admin` | 管理后台(走工作台外壳的 admin 分支) | `src/zteam/pages/admin/index.tsx` |\n| `/welcome` | 产品介绍 | `src/zteam/pages/welcome/index.tsx` |\n| `/portal` | 场景入口 | `src/zteam/pages/portal/index.tsx` |\n| `/chatdemo` | 聊天演示 | `src/zteam/pages/chatdemo/index.tsx` |\n| `/embed/chat` | 嵌入式聊天 | `src/zteam/pages/embed/chat/index.tsx` |\n| `/change-log` | 变更记录 | `src/zteam/pages/change-log/index.tsx` |\n| `/docs` | **操作手册页**(52KB 手写暗色主题页,**与本文件的组件文档页不是一回事**) | `src/zteam/pages/docs/index.tsx` |\n\n`src/zteam/pages/` 下共 **14 个域目录**:`admin` / `agenthub-digital-brain-test` / `change-log` / `chatdemo` /\n`docs` / `download` / `embed` / `login` / `note` / `phone` / `portal` / `scenario` / `welcome` / `workspace`。\n其中 `agenthub-digital-brain-test` / `download` / `login` / `note` **没有** `ZTeamApp` 顶层分支,\n由域内路由或别的入口进入。\n\n> **2026-11-07:`rpa` 域目录已删除(RPA 入口整体下线)。** RPA 是脚本中心(z-script)的产品皮,\n> 前端 tab / `/rpa/*` 路由 / 页面全部移除,执行能力留在脚本中心继续增强;老链接 `/rpa/*` 由主壳重定向到 `/workspace`。\n\n### 1.3 工作台模式切换(`src/zteam/pages/workspace/utils/chatMode.ts`)\n\n`ChatMode` 共 12 种:`personal` / `collaboration` / `smart` / `product` / `dev` / `test` / `ops` / `admin` /\n`system` / `life` / `training` / `knowledge`(默认 `collaboration`)。\n\n模式切换统一走 `history.push` 到对应顶层路由(`Layout/index.tsx` 的 `handleModeSwitch`):\n\n| 模式 | 落点 |\n|------|------|\n| `system` | `/ctc/4a/account`(z-opc 业务路径;已在业务路径上时不重复跳) |\n| `test` | `/test/qa/dashboard` |\n| `admin` | `/admin?mode=admin` |\n| 其余模式 | `/workspace?mode=xxx`(必须带 `?desktop=1`,否则窄视口会被重定向到移动端工作台) |\n\n模式持久化在 URL query 上(`?mode=xxx`,`replaceState` 不污染历史记录);\n`/admin*` → `admin`、`/ops/*` → `ops`、`/lc/*` → `dev` 由 `readModeFromUrl()` 自动识别。\n\n### 1.4 套件聚合(`src/zteam/pages/workspace/components/Layout/SystemShell.tsx`)\n\n`SystemShell` 用一张 `SYSTEM_ROUTES` 表把 **z-opc 的业务套件**接进工作台的右侧内容区,\n用 `matchSystemPath()` 做 pathname 匹配(精确 → 通配 `*` / 参数 `:param`),支持 `/ctc/*`、`/ai/*`、`/config/*`、\n`/task/*`、`/workflow/*`、`/schedule/*`、`/mist/*`、`/meta/*`、`/msg/*`、`/rpc/*`、`/kb/*`、`/product/*`、`/ops/*` 等前缀。\n\n## 二、导出面\n\n```js\n// 主入口(. 桶):工作台主壳 + 订阅 / 项目域 + 公共设施\nimport ZTeamApp, {SubscribeApp, ProjectApp, history, isTokenExpired, ComponentDocPage}\n from '@yuku123/z-team-component'\n\n// 宿主组装面(./pages 桶):路由清单 + 菜单\nimport {routes, appMeta, menuItems, ComponentDocPage} from '@yuku123/z-team-component/pages'\n```\n\n- `routes`:`/team/subscribe`、`/team/project`、`/team/docs`、`/team/:rest*`(兜底)。\n- `appMeta`:`{ title: 'Z-OPC 一人公司基建', short: 'team' }`。\n- `ComponentDocPage`:组件文档页,**主入口与 `./pages` 桶都具名导出**(名字全仓统一,主壳按这个名字取)。\n\n## 三、API 端点\n\n请求实例由 `src/common/services/api.js` 的 axios 工厂创建:`baseURL = '/api'`(可用 `configureBaseURL()` 改),\n`timeout = 15000`,`withCredentials = true`(**Cookie 模式,不设 Authorization Header**)。\n下表路径是 `src/common/services/`、`src/services/`、`src/subscribe/services/`、`src/project/services/` 里\n**实际调用**的路径(已补上 `/api` 前缀)。\n\n| 方法 | 路径 | 说明 |\n|---|---|---|\n| POST | `/api/ctc/authn/login` | 登录 |\n| GET | `/api/ctc/authn/my-tenants` | 我的租户 |\n| POST | `/api/ctc/authn/select-tenant` | 选择租户 |\n| POST | `/api/ctc/authn/switch-tenant` | 切换租户 |\n| GET | `/api/ctc/app-menu/tree` | 应用菜单树 |\n| GET/POST | `/api/ctc/ac/invitations`、`/accept`、`/redeem`、`/leave` | 邀请(加入 / 兑换 / 退出) |\n| GET/POST | `/api/ctc/ac/invitations/members`、`/members/{memberId}/remove`、`/{id}/revoke` | 邀请成员管理 |\n| GET/POST/PUT/DELETE | `/api/agent/team/workspace`、`/workspace/{id}` | Agent 团队工作区 |\n| GET | `/api/agent/team/workspace/list`、`/file-tree-by-path`、`/file-content` | 工作区列表 / 文件树 / 文件内容 |\n| GET/POST/PUT/DELETE | `/api/agent/team/work-item`、`/work-item/{id}` | 工作项 |\n| GET | `/api/agent/team/conversation/{conversationId}/work-items` | 会话下的工作项 |\n| POST | `/api/agent/skill/register`、`/heartbeat`、`/pull`、`/sync-logs` | 技能注册 / 心跳 / 拉取 / 日志回传 |\n| POST/GET | `/api/agent/skill/bind`、`/unbind`、`/bindings` | 技能绑定 |\n| GET/POST/DELETE | `/api/agent/instance/list`、`/get`、`/create`、`/create-container`、`/create-external`、`/destroy-container`、`/destroy-local-process`、`/agent-types`、`/health`、`/status` | Agent 实例(容器 / 外部 / 本地进程) |\n| POST/GET | `/api/bot/feedback`、`/feedback/recent`、`/feedback/score` | Bot 反馈 |\n| GET | `/api/skill/get`、`/api/skill/page` | 技能查询 |\n| GET/POST | `/api/task`、`/task/list`、`/task/complete`、`/task/move`、`/task/project/list` | 任务 |\n| GET/POST | `/api/project`、`/api/project/archive`、`/api/project/user/list` | 项目 |\n| GET/POST/PUT/DELETE | `/api/mock-platform/{environments,endpoints,scenarios,cases,recordings,...}` | Mock 平台(`z-script-web` 的 `MockPlatformController`) |\n| GET | `/api/{name}/list`、`/api/{name}/page`、`/api/{name}/byId` | 通用 CRUD 工厂(`makeApi(name)`,`src/common/services/api.js`) |\n\n各服务模块另有自己的探活端点(`/api/agentTeam/health`、`/api/ctcAc/health`、`/api/ctcAcDomain/health`、\n`/api/ctcSurl/health`、`/api/ctcUser/health`、`/api/job/health`、`/api/metaApp/health`、\n`/api/privateConfig/health`、`/api/webide/health`)。\n\n## 四、页面说明\n\n### 4.1 工作台(`src/zteam/pages/workspace/`)\n\n工作台是本包最大的域,含 `Layout`(顶栏 + 模式切换 + 内容区)、`ProductWorkbench` / `SmartWorkbench` /\n`DevWorkbench` / `OpsWorkbench` 等工作台壳,以及聊天、笔记、代码编辑、知识图谱等通用组件。\n\n### 4.2 套件聚合壳(`SystemShell`)\n\n工作台的「系统」模式用它把 z-opc 业务页面(账号 / 角色 / 应用 / 租户 / 组织 / 权限 / 短链 / 字典 / 审计 /\nwebide / Agent / LLM / MCP / 技能 / OSS / 任务 / 流程 / 调度 / 密钥 / 运维 等)渲染进工作台右侧内容区,\n而不是回到 z-opc 旧 Layout。\n\n### 4.3 订阅域(`src/subscribe/pages/`)\n\n`SubscribeApp` + `SubscriptionList` / `SubscriptionEdit` / `RunHistory`:订阅的列表、编辑与运行历史。\n\n### 4.4 项目域(`src/project/pages/`)\n\n`ProjectApp` + `ProjectList` / `ProjectCreate` / `ProjectDetail`:项目的列表、创建与详情。\n\n### 4.5 组件文档\n\n本文件。内容以 `?raw` 在编译期内联,零额外请求;左侧 240px TOC 随滚动联动。\n渲染用基座的 `ComponentDoc`(`@yuku123/z-frontend-common/ui`),不在本包重写 TOC / 两栏 / 滚动联动。\n\n## 五、配置\n\n| 配置项 | 默认值 | 说明 |\n|---|---|---|\n| `configureBaseURL(baseURL)` | `'/api'` | 改写 axios `baseURL`(`src/common/services/api.js`) |\n| 请求 `timeout` | `15000` | axios 实例默认值 |\n| `withCredentials` | `true` | Cookie 模式;**不设 Authorization Header** |\n| vite `external` | 25 个精确包 + 4 条前缀规则 | `react` / `react-dom` / `antd` / `@ant-design/icons` / `@yuku123/*` / `@zopc-mock/*` / `echarts/*` / `highlight.js/*` 等一律 external,**消费方必须自备** |\n| vite alias | `@` → `src/`、`@zteam` → `src/zteam/` | 仅 standalone 构建用;打包后路径已解析 |\n| 模式 URL 参数 | `?mode=xxx` | 持久化在 query 上;`collaboration` 是默认值,不写入 URL |\n| `?desktop=1` | — | 强制桌面版工作台(窄视口默认跳 `/workspace/phone`) |\n\n## 六、已知限制\n\n- **`/team/docs` 目前没有可达路径**:主壳 `z-opc-main-starter-frontend/src/domainRoutes.ts` 的 `DOMAINS` 数组里\n **没有注册 z-team 域**(截至 2026-10-23),所以 z-team 的 `routes` 清单还没有被主壳消费。\n ⇒ 需要主控决定是否接线(注册 z-team 域,或在主壳里显式挂 `ComponentDocPage`)。\n- **`ZTeamApp` 内部没有 `/team/docs` 分支**:它按**绝对 pathname** 分发(`/workspace`、`/scenario`、`/docs` …),\n 未知路径兜底渲染工作台。所以即使走了 `/team/:rest*` 兜底路由,`/team/docs` 也会落进工作台而不是文档页。\n (`ZTeamApp` 不在本批次的改动范围内,需要单独接线。)\n- **已有另一个「文档页」**:`src/zteam/pages/docs/index.tsx` 是 52KB 的手写暗色主题**操作手册**页,\n 路由是 `/docs`。它与本 §7 的**组件文档页**不是一回事(内容、样式、来源都不同),别混淆。\n- **本仓没有 `tsconfig.json`,构建不做类型检查**(`npm run build` = `vite build` + 产物守卫脚本)。\n 基座只发 JS 不发 `.d.ts`,`src/z-frontend-common-ui.d.ts` 是手写的最小声明;\n 新增基座组件时要同步补声明(当前该声明文件里**还没有** `ComponentDoc`,因为本包的文档页走的是 `.jsx`,不参与类型检查)。\n- **组件包必须 external 基座**:`@yuku123/z-frontend-common/ui` 在 dist 里保持裸 import,\n 消费方(主壳)必须自己装基座,否则会出现两份 UI 主题。\n- **工作台下的部分工作台壳仍在改造中**(`ProductWorkbench` / `SmartWorkbench` 等),页面结构可能继续变,\n 本文档只描述到「域 + 顶层路由 + 模式」这一层,域内二级页面未逐页展开。\n- **请求是 Cookie 模式**:后端 `SsoInterceptor` 靠 `Accept` / `Content-Type` 判断「是不是 API 请求」,\n 裸 `fetch` 不带 `Accept` 会被当成页面访问而 302 跳登录页(构建产物有 `guard-fetch-accept.mjs` 守卫)。\n\n## 七、变更记录\n\n| 版本 | 变更 |\n|---|---|\n| 0.2.30(未发布) | 新增组件文档页 `ComponentDocPage`(lead 008 §7):`src/DOC.md` + 基座 `ComponentDoc` 薄包装 + 菜单末项 `/team/docs` |\n| 0.2.30 | 工作台模式体系(13 种 `ChatMode`)+ `SystemShell` 套件聚合 + 订阅 / 项目双域 |\n";
7821
+ }, Symbol.toStringTag, { value: "Module" })), vo = "# z-team-component\n\nz-team(团队工作台)的**跨仓唯一前端面**:把「多模式工作台 / 模式切换 / z-opc 业务套件聚合 / 订阅域 / 项目域」\n这一整套团队工作台页面收敛成一个可复用的 React 组件包,由主壳(z-opc 主前端)挂载。\n\n- **npm 包名**:`@yuku123/z-team-component`\n- **宿主接入**:双入口 —— `.`(`ZTeamApp` / `SubscribeApp` / `ProjectApp`)与 `./pages`(`routes` / `appMeta` / `menuItems`)\n- **后端**:与 z-opc 主壳同源的 `/api/**`(axios `baseURL = '/api'`,Cookie 模式 `withCredentials`)\n- **技术栈**:React 19 + antd 6 + react-router-dom 7 + vite(**library mode**,双入口 `index` / `pages`,\n 基座与全部 `@yuku123/*` 一律 **external**,由消费方用自己的 node_modules 解析)\n\n> ⚠ z-team 是**主壳的总控包**:它自己不承载某个业务域,而是把 z-opc 的业务套件(`/ctc/*`、`/ai/*`、`/config/*` …)\n> 聚合进工作台外壳里渲染。所以本文档描述的是 **z-team 自身的能力**(工作台 / 模式切换 / 套件聚合 / 订阅 / 项目)。\n\n---\n\n## 一、能力概览\n\n### 1.1 顶层路由(`src/pages-manifest.ts` 的 `routes`)\n\n| 路由 | 组件 | 能力 |\n|------|------|------|\n| `/team/subscribe` | `SubscribeApp` | 订阅域:订阅列表 / 编辑 / 运行历史 |\n| `/team/project` | `ProjectApp` | 项目域:项目列表 / 创建 / 详情 |\n| `/team/docs` | `ComponentDocPage` | 本文件渲染页(左侧 240px TOC + 右侧正文) |\n| `/team/:rest*` | `ZTeamApp` | **兜底**:`ZTeamApp` 内部按 `useLocation().pathname` 懒加载分发到下面 15 个域 |\n\n`menuItems`:`/team/subscribe`(订阅)/ `/team/project`(项目)/ `/team/workspace`(工作台)/ `/team/docs`(组件文档,末项)。\n\n### 1.2 `ZTeamApp` 顶层分发(`src/zteam-adapter/App.tsx`)\n\n| pathname | 渲染的域 | 源文件 |\n|----------|----------|--------|\n| `/workspace` | 工作台 | `src/zteam/pages/workspace/index.tsx` |\n| `/workspace/phone` | 移动端工作台 | `src/zteam/pages/workspace/phone/index.tsx` |\n| `/workspace/from-ticket` | 从工单进入 | `src/zteam/pages/workspace/from-ticket.tsx` |\n| `/workspace/from-scenario` | 从场景进入 | `src/zteam/pages/workspace/from-scenario.tsx` |\n| `/workspace/build-by-form` | 表单构建 | `src/zteam/pages/workspace/build-by-form.tsx` |\n| `/scenario` | 场景 | `src/zteam/pages/scenario/index.tsx` |\n| `/admin` | 管理后台(走工作台外壳的 admin 分支) | `src/zteam/pages/admin/index.tsx` |\n| `/welcome` | 产品介绍 | `src/zteam/pages/welcome/index.tsx` |\n| `/portal` | 场景入口 | `src/zteam/pages/portal/index.tsx` |\n| `/chatdemo` | 聊天演示 | `src/zteam/pages/chatdemo/index.tsx` |\n| `/embed/chat` | 嵌入式聊天 | `src/zteam/pages/embed/chat/index.tsx` |\n| `/change-log` | 变更记录 | `src/zteam/pages/change-log/index.tsx` |\n| `/docs` | **操作手册页**(52KB 手写暗色主题页,**与本文件的组件文档页不是一回事**) | `src/zteam/pages/docs/index.tsx` |\n\n`src/zteam/pages/` 下共 **14 个域目录**:`admin` / `agenthub-digital-brain-test` / `change-log` / `chatdemo` /\n`docs` / `download` / `embed` / `login` / `note` / `phone` / `portal` / `scenario` / `welcome` / `workspace`。\n其中 `agenthub-digital-brain-test` / `download` / `login` / `note` **没有** `ZTeamApp` 顶层分支,\n由域内路由或别的入口进入。\n\n> **2026-11-07:`rpa` 域目录已删除(RPA 入口整体下线)。** RPA 是脚本中心(z-script)的产品皮,\n> 前端 tab / `/rpa/*` 路由 / 页面全部移除,执行能力留在脚本中心继续增强;老链接 `/rpa/*` 由主壳重定向到 `/workspace`。\n\n### 1.3 工作台模式切换(`src/zteam/pages/workspace/utils/chatMode.ts`)\n\n`ChatMode` 共 12 种:`personal` / `collaboration` / `smart` / `product` / `dev` / `test` / `ops` / `admin` /\n`system` / `life` / `training` / `knowledge`(默认 `collaboration`)。\n\n模式切换统一走 `history.push` 到对应顶层路由(`Layout/index.tsx` 的 `handleModeSwitch`):\n\n| 模式 | 落点 |\n|------|------|\n| `system` | `/ctc/4a/account`(z-opc 业务路径;已在业务路径上时不重复跳) |\n| `test` | `/test/qa/dashboard` |\n| `admin` | `/admin?mode=admin` |\n| 其余模式 | `/workspace?mode=xxx`(必须带 `?desktop=1`,否则窄视口会被重定向到移动端工作台) |\n\n模式持久化在 URL query 上(`?mode=xxx`,`replaceState` 不污染历史记录);\n`/admin*` → `admin`、`/ops/*` → `ops`、`/lc/*` → `dev` 由 `readModeFromUrl()` 自动识别。\n\n### 1.4 套件聚合(`src/zteam/pages/workspace/components/Layout/SystemShell.tsx`)\n\n`SystemShell` 用一张 `SYSTEM_ROUTES` 表把 **z-opc 的业务套件**接进工作台的右侧内容区,\n用 `matchSystemPath()` 做 pathname 匹配(精确 → 通配 `*` / 参数 `:param`),支持 `/ctc/*`、`/ai/*`、`/config/*`、\n`/task/*`、`/workflow/*`、`/schedule/*`、`/mist/*`、`/meta/*`、`/msg/*`、`/rpc/*`、`/kb/*`、`/product/*`、`/ops/*` 等前缀。\n\n## 二、导出面\n\n```js\n// 主入口(. 桶):工作台主壳 + 订阅 / 项目域 + 公共设施\nimport ZTeamApp, {SubscribeApp, ProjectApp, history, isTokenExpired, ComponentDocPage}\n from '@yuku123/z-team-component'\n\n// 宿主组装面(./pages 桶):路由清单 + 菜单\nimport {routes, appMeta, menuItems, ComponentDocPage} from '@yuku123/z-team-component/pages'\n```\n\n- `routes`:`/team/subscribe`、`/team/project`、`/team/docs`、`/team/:rest*`(兜底)。\n- `appMeta`:`{ title: 'Z-OPC 一人公司基建', short: 'team' }`。\n- `ComponentDocPage`:组件文档页,**主入口与 `./pages` 桶都具名导出**(名字全仓统一,主壳按这个名字取)。\n\n## 三、API 端点\n\n请求实例由 `src/common/services/api.js` 的 axios 工厂创建:`baseURL = '/api'`(可用 `configureBaseURL()` 改),\n`timeout = 15000`,`withCredentials = true`(**Cookie 模式,不设 Authorization Header**)。\n下表路径是 `src/common/services/`、`src/services/`、`src/subscribe/services/`、`src/project/services/` 里\n**实际调用**的路径(已补上 `/api` 前缀)。\n\n| 方法 | 路径 | 说明 |\n|---|---|---|\n| POST | `/api/ctc/authn/login` | 登录 |\n| GET | `/api/ctc/authn/my-tenants` | 我的租户 |\n| POST | `/api/ctc/authn/select-tenant` | 选择租户 |\n| POST | `/api/ctc/authn/switch-tenant` | 切换租户 |\n| GET | `/api/ctc/app-menu/tree` | 应用菜单树 |\n| GET/POST | `/api/ctc/ac/invitations`、`/accept`、`/redeem`、`/leave` | 邀请(加入 / 兑换 / 退出) |\n| GET/POST | `/api/ctc/ac/invitations/members`、`/members/{memberId}/remove`、`/{id}/revoke` | 邀请成员管理 |\n| GET/POST/PUT/DELETE | `/api/agent/team/workspace`、`/workspace/{id}` | Agent 团队工作区 |\n| GET | `/api/agent/team/workspace/list`、`/file-tree-by-path`、`/file-content` | 工作区列表 / 文件树 / 文件内容 |\n| GET/POST/PUT/DELETE | `/api/agent/team/work-item`、`/work-item/{id}` | 工作项 |\n| GET | `/api/agent/team/conversation/{conversationId}/work-items` | 会话下的工作项 |\n| POST | `/api/agent/skill/register`、`/heartbeat`、`/pull`、`/sync-logs` | 技能注册 / 心跳 / 拉取 / 日志回传 |\n| POST/GET | `/api/agent/skill/bind`、`/unbind`、`/bindings` | 技能绑定 |\n| GET/POST/DELETE | `/api/agent/instance/list`、`/get`、`/create`、`/create-container`、`/create-external`、`/destroy-container`、`/destroy-local-process`、`/agent-types`、`/health`、`/status` | Agent 实例(容器 / 外部 / 本地进程) |\n| POST/GET | `/api/bot/feedback`、`/feedback/recent`、`/feedback/score` | Bot 反馈 |\n| GET | `/api/skill/get`、`/api/skill/page` | 技能查询 |\n| GET/POST | `/api/task`、`/task/list`、`/task/complete`、`/task/move`、`/task/project/list` | 任务 |\n| GET/POST | `/api/project`、`/api/project/archive`、`/api/project/user/list` | 项目 |\n| GET/POST/PUT/DELETE | `/api/mock-platform/{environments,endpoints,scenarios,cases,recordings,...}` | Mock 平台(`z-script-web` 的 `MockPlatformController`) |\n| GET | `/api/{name}/list`、`/api/{name}/page`、`/api/{name}/byId` | 通用 CRUD 工厂(`makeApi(name)`,`src/common/services/api.js`) |\n\n各服务模块另有自己的探活端点(`/api/agentTeam/health`、`/api/ctcAc/health`、`/api/ctcAcDomain/health`、\n`/api/ctcSurl/health`、`/api/ctcUser/health`、`/api/job/health`、`/api/metaApp/health`、\n`/api/privateConfig/health`、`/api/webide/health`)。\n\n## 四、页面说明\n\n### 4.1 工作台(`src/zteam/pages/workspace/`)\n\n工作台是本包最大的域,含 `Layout`(顶栏 + 模式切换 + 内容区)、`ProductWorkbench` / `SmartWorkbench` /\n`DevWorkbench` / `OpsWorkbench` 等工作台壳,以及聊天、笔记、代码编辑、知识图谱等通用组件。\n\n### 4.2 套件聚合壳(`SystemShell`)\n\n工作台的「系统」模式用它把 z-opc 业务页面(账号 / 角色 / 应用 / 租户 / 组织 / 权限 / 短链 / 字典 / 审计 /\nwebide / Agent / LLM / MCP / 技能 / OSS / 任务 / 流程 / 调度 / 密钥 / 运维 等)渲染进工作台右侧内容区,\n而不是回到 z-opc 旧 Layout。\n\n### 4.3 订阅域(`src/subscribe/pages/`)\n\n`SubscribeApp` + `SubscriptionList` / `SubscriptionEdit` / `RunHistory`:订阅的列表、编辑与运行历史。\n\n### 4.4 项目域(`src/project/pages/`)\n\n`ProjectApp` + `ProjectList` / `ProjectCreate` / `ProjectDetail`:项目的列表、创建与详情。\n\n### 4.5 组件文档\n\n本文件。内容以 `?raw` 在编译期内联,零额外请求;左侧 240px TOC 随滚动联动。\n渲染用基座的 `ComponentDoc`(`@yuku123/z-frontend-common/ui`),不在本包重写 TOC / 两栏 / 滚动联动。\n\n## 五、配置\n\n| 配置项 | 默认值 | 说明 |\n|---|---|---|\n| `configureBaseURL(baseURL)` | `'/api'` | 改写 axios `baseURL`(`src/common/services/api.js`) |\n| 请求 `timeout` | `15000` | axios 实例默认值 |\n| `withCredentials` | `true` | Cookie 模式;**不设 Authorization Header** |\n| vite `external` | 25 个精确包 + 4 条前缀规则 | `react` / `react-dom` / `antd` / `@ant-design/icons` / `@yuku123/*` / `@zopc-mock/*` / `echarts/*` / `highlight.js/*` 等一律 external,**消费方必须自备** |\n| vite alias | `@` → `src/`、`@zteam` → `src/zteam/` | 仅 standalone 构建用;打包后路径已解析 |\n| 模式 URL 参数 | `?mode=xxx` | 持久化在 query 上;`collaboration` 是默认值,不写入 URL |\n| `?desktop=1` | — | 强制桌面版工作台(窄视口默认跳 `/workspace/phone`) |\n\n## 六、已知限制\n\n- **`/team/docs` 目前没有可达路径**:主壳 `z-opc-main-starter-frontend/src/domainRoutes.ts` 的 `DOMAINS` 数组里\n **没有注册 z-team 域**(截至 2026-10-23),所以 z-team 的 `routes` 清单还没有被主壳消费。\n ⇒ 需要主控决定是否接线(注册 z-team 域,或在主壳里显式挂 `ComponentDocPage`)。\n- **`ZTeamApp` 内部没有 `/team/docs` 分支**:它按**绝对 pathname** 分发(`/workspace`、`/scenario`、`/docs` …),\n 未知路径兜底渲染工作台。所以即使走了 `/team/:rest*` 兜底路由,`/team/docs` 也会落进工作台而不是文档页。\n (`ZTeamApp` 不在本批次的改动范围内,需要单独接线。)\n- **已有另一个「文档页」**:`src/zteam/pages/docs/index.tsx` 是 52KB 的手写暗色主题**操作手册**页,\n 路由是 `/docs`。它与本 §7 的**组件文档页**不是一回事(内容、样式、来源都不同),别混淆。\n- **本仓没有 `tsconfig.json`,构建不做类型检查**(`npm run build` = `vite build` + 产物守卫脚本)。\n 基座只发 JS 不发 `.d.ts`,`src/z-frontend-common-ui.d.ts` 是手写的最小声明;\n 新增基座组件时要同步补声明(当前该声明文件里**还没有** `ComponentDoc`,因为本包的文档页走的是 `.jsx`,不参与类型检查)。\n- **组件包必须 external 基座**:`@yuku123/z-frontend-common/ui` 在 dist 里保持裸 import,\n 消费方(主壳)必须自己装基座,否则会出现两份 UI 主题。\n- **工作台下的部分工作台壳仍在改造中**(`ProductWorkbench` / `SmartWorkbench` 等),页面结构可能继续变,\n 本文档只描述到「域 + 顶层路由 + 模式」这一层,域内二级页面未逐页展开。\n- **请求是 Cookie 模式**:后端 `SsoInterceptor` 靠 `Accept` / `Content-Type` 判断「是不是 API 请求」,\n 裸 `fetch` 不带 `Accept` 会被当成页面访问而 302 跳登录页(构建产物有 `guard-fetch-accept.mjs` 守卫)。\n\n## 七、变更记录\n\n| 版本 | 变更 |\n|---|---|\n| 0.2.96 | 协作壳本地车道(合并第 3 步):`hooks/useLocalLane.ts`(30s 轮询 + web 隧道 / Tauri 直连),Sidebar 单聊分区并列「本机任务」组(`ft_exclusive_force_desktop=1` 浏览器可验桌面链路),CollabPersonalHost chat 视图按 lane 渲染 LocalChatArea / PersonalChatArea |\n| 0.2.93 | 顶部「个人」tab 下线(协作侧栏单聊分区已承载个人会话);RPA 前端入口整体下线(ChatMode 移除 rpa / Layout tab 分支 / `/rpa/*` 路由 → 主壳重定向 `/workspace`;RpaShell 与 `pages/rpa/` 删除),执行能力留在脚本中心 |\n| 0.2.30(未发布) | 新增组件文档页 `ComponentDocPage`(lead 008 §7):`src/DOC.md` + 基座 `ComponentDoc` 薄包装 + 菜单末项 `/team/docs` |\n| 0.2.30 | 工作台模式体系(13 种 `ChatMode`)+ `SystemShell` 套件聚合 + 订阅 / 项目双域 |\n";
7822
7822
  function $l() {
7823
7823
  return /* @__PURE__ */ a(Kr, { markdown: vo, title: "组件文档 — Z-OPC 一人公司基建" });
7824
7824
  }
@@ -7830,7 +7830,7 @@ export {
7830
7830
  io as D,
7831
7831
  Wt as E,
7832
7832
  Tl as F,
7833
- bl as G,
7833
+ Sl as G,
7834
7834
  oo as H,
7835
7835
  to as I,
7836
7836
  ro as J,
@@ -7852,7 +7852,7 @@ export {
7852
7852
  gl as Z,
7853
7853
  Ei as _,
7854
7854
  ke as a,
7855
- Sa as a$,
7855
+ ba as a$,
7856
7856
  Ri as a0,
7857
7857
  Mi as a1,
7858
7858
  ji as a2,
@@ -7865,7 +7865,7 @@ export {
7865
7865
  Ti as a9,
7866
7866
  it as aA,
7867
7867
  kt as aB,
7868
- bn as aC,
7868
+ Sn as aC,
7869
7869
  ai as aD,
7870
7870
  qo as aE,
7871
7871
  Ls as aF,
@@ -7891,7 +7891,7 @@ export {
7891
7891
  el as aZ,
7892
7892
  nl as a_,
7893
7893
  ms as aa,
7894
- bc as ab,
7894
+ Sc as ab,
7895
7895
  pi as ac,
7896
7896
  uc as ad,
7897
7897
  fc as ae,
@@ -7916,7 +7916,7 @@ export {
7916
7916
  Di as ax,
7917
7917
  Vc as ay,
7918
7918
  fi as az,
7919
- Sl as b,
7919
+ bl as b,
7920
7920
  Hc as b$,
7921
7921
  al as b0,
7922
7922
  sl as b1,
@@ -7967,18 +7967,18 @@ export {
7967
7967
  ci as bj,
7968
7968
  ll as bk,
7969
7969
  f as bl,
7970
- Sn as bm,
7970
+ bn as bm,
7971
7971
  Ts as bn,
7972
7972
  as as bo,
7973
- Sc as bp,
7973
+ bc as bp,
7974
7974
  tc as bq,
7975
7975
  ui as br,
7976
7976
  mc as bs,
7977
7977
  ul as bt,
7978
7978
  or as bu,
7979
7979
  Bo as bv,
7980
- Si as bw,
7981
- bi as bx,
7980
+ bi as bw,
7981
+ Si as bx,
7982
7982
  wi as by,
7983
7983
  yi as bz,
7984
7984
  we as c,