@fgbg/mdocs 1.3.31 → 1.4.0

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 (83) hide show
  1. package/README.md +1 -1
  2. package/agent-skills/changelog/SKILL.md +31 -0
  3. package/agent-skills/usage-onboarding-ai/SKILL.md +17 -5
  4. package/agent-skills/usage-settings/SKILL.md +1 -1
  5. package/dist/server/agent/Agent/run-manager.js +316 -0
  6. package/dist/server/agent/Agent/run-manager.js.map +1 -0
  7. package/dist/server/agent/Agent/run-manager.test.js +122 -0
  8. package/dist/server/agent/Agent/run-manager.test.js.map +1 -0
  9. package/dist/server/agent/Agent/run-store.js +141 -0
  10. package/dist/server/agent/Agent/run-store.js.map +1 -0
  11. package/dist/server/agent/Agent/run-store.test.js +64 -0
  12. package/dist/server/agent/Agent/run-store.test.js.map +1 -0
  13. package/dist/server/agent/Agent/run.js +2 -2
  14. package/dist/server/agent/Agent/run.js.map +1 -1
  15. package/dist/server/agent/Agent/system-prompt.js +9 -7
  16. package/dist/server/agent/Agent/system-prompt.js.map +1 -1
  17. package/dist/server/agent/Agent/tool-call-ui.js +1 -0
  18. package/dist/server/agent/Agent/tool-call-ui.js.map +1 -1
  19. package/dist/server/agent/Agent/tool-ui-effects.js +28 -7
  20. package/dist/server/agent/Agent/tool-ui-effects.js.map +1 -1
  21. package/dist/server/agent/Agent/tools-registry.js +2 -2
  22. package/dist/server/agent/Agent/tools-registry.js.map +1 -1
  23. package/dist/server/agent/Agent/tools-registry.test.js +2 -1
  24. package/dist/server/agent/Agent/tools-registry.test.js.map +1 -1
  25. package/dist/server/agent/Agent/tools-template.js +3 -2
  26. package/dist/server/agent/Agent/tools-template.js.map +1 -1
  27. package/dist/server/agent/Agent/tools-thinking.js +33 -0
  28. package/dist/server/agent/Agent/tools-thinking.js.map +1 -0
  29. package/dist/server/agent/Agent/tools-user-skills.js +50 -39
  30. package/dist/server/agent/Agent/tools-user-skills.js.map +1 -1
  31. package/dist/server/agent/Agent/user-skills.js +11 -5
  32. package/dist/server/agent/Agent/user-skills.js.map +1 -1
  33. package/dist/server/agent/Config/config.js +47 -0
  34. package/dist/server/agent/Config/config.js.map +1 -1
  35. package/dist/server/agent/Config/config.test.js +29 -0
  36. package/dist/server/agent/Config/config.test.js.map +1 -1
  37. package/dist/server/app.js +3 -0
  38. package/dist/server/app.js.map +1 -1
  39. package/dist/server/db/repositories/agent-model-config.repo.js +6 -4
  40. package/dist/server/db/repositories/agent-model-config.repo.js.map +1 -1
  41. package/dist/server/db/repositories/agent-user-skill.repo.js +7 -5
  42. package/dist/server/db/repositories/agent-user-skill.repo.js.map +1 -1
  43. package/dist/server/db/repositories/agent-user-skill.repo.test.js +31 -0
  44. package/dist/server/db/repositories/agent-user-skill.repo.test.js.map +1 -0
  45. package/dist/server/db/schema.js +20 -0
  46. package/dist/server/db/schema.js.map +1 -1
  47. package/dist/server/routes/agent.routes.js +108 -18
  48. package/dist/server/routes/agent.routes.js.map +1 -1
  49. package/dist/server/search/document-index-manager.js +51 -8
  50. package/dist/server/search/document-index-manager.js.map +1 -1
  51. package/dist/server/search/document-index-manager.test.js +78 -2
  52. package/dist/server/search/document-index-manager.test.js.map +1 -1
  53. package/dist/shared/file-type-policy.js +1 -1
  54. package/dist/shared/file-type-policy.js.map +1 -1
  55. package/dist/shared/file-type-policy.test.js +3 -2
  56. package/dist/shared/file-type-policy.test.js.map +1 -1
  57. package/dist/web/assets/AgentChatPanel-_IV-LAS4.js +42 -0
  58. package/dist/web/assets/{AiWriteWorkbench-Dq0aCk5c.js → AiWriteWorkbench-DzJAmRHY.js} +3 -3
  59. package/dist/web/assets/{DiagramEditor-NtNY3sZL-DHC7qgkW.js → DiagramEditor-NtNY3sZL-KWdKFFEL.js} +1 -1
  60. package/dist/web/assets/{DocChrome-7KIXAHsE.js → DocChrome-CtT7xOl6.js} +4 -4
  61. package/dist/web/assets/{DocumentEditor-CmIk_VBn.js → DocumentEditor-CrU6HKmU.js} +1 -1
  62. package/dist/web/assets/{HtmlEditor-REIKOoam.js → HtmlEditor-BBcreXJD.js} +1 -1
  63. package/dist/web/assets/{MergeView-DCgxAslc.js → MergeView-LV_hny8a.js} +1 -1
  64. package/dist/web/assets/{PlaygroundPage-Cz9TMo7h.js → PlaygroundPage-Bo9rM8MY.js} +1 -1
  65. package/dist/web/assets/SettingsPage-D09P0j48.js +21 -0
  66. package/dist/web/assets/SheetEditor-BPTMQ2s5.css +1 -0
  67. package/dist/web/assets/SheetEditor-Dyk-jpRL.js +26 -0
  68. package/dist/web/assets/{Toolbar-ClbpubYi.js → Toolbar-C1HmC2Qc.js} +1 -1
  69. package/dist/web/assets/{VisitorPickerModal-D4xmZbNY.js → VisitorPickerModal-Cx03Papl.js} +1 -1
  70. package/dist/web/assets/{check-CuLfkkz7.js → check-BAYRiedE.js} +1 -1
  71. package/dist/web/assets/{copy-CjAdouag.js → copy-J9XXv57X.js} +1 -1
  72. package/dist/web/assets/{file-type-policy-C6Nun42Q.js → file-type-policy-aRrzC4LZ.js} +1 -1
  73. package/dist/web/assets/{index-DAhW-QRN.js → index-Btfv_3-Q.js} +46 -46
  74. package/dist/web/assets/{italic-cqqPz-_Q.js → italic-BfR6fH81.js} +1 -1
  75. package/dist/web/assets/{meta2dEngine-BD2XbzaV-CNHknbe2.js → meta2dEngine-BD2XbzaV-MY1Hyyeh.js} +1 -1
  76. package/dist/web/assets/{plus-DkLh2brQ.js → plus-DvWl4lHk.js} +1 -1
  77. package/dist/web/assets/{react-Dj2vqPq5.js → react-C7aGt3wN.js} +3 -3
  78. package/dist/web/index.html +1 -1
  79. package/package.json +1 -1
  80. package/dist/web/assets/AgentChatPanel-e1h0rqbg.js +0 -42
  81. package/dist/web/assets/SettingsPage-DsLbUPt-.js +0 -21
  82. package/dist/web/assets/SheetEditor-Bkxxf3ly.js +0 -26
  83. package/dist/web/assets/SheetEditor-DbT_K_Ia.css +0 -1
@@ -9,6 +9,7 @@ import { rebuildAllDirty, removeIndex, rebuildDocument } from "./document-index-
9
9
  import { searchDocuments } from "./search.service.js";
10
10
  const testDbRef = vi.hoisted(() => ({ db: null }));
11
11
  const contentByPath = vi.hoisted(() => new Map());
12
+ const embeddedPlainTexts = vi.hoisted(() => []);
12
13
  const JIEBA = Jieba.withDict(dict);
13
14
  function tok(text) {
14
15
  return JIEBA.cutForSearch(text, true).join(" ");
@@ -65,7 +66,9 @@ vi.mock("../logger/logger.js", () => ({
65
66
  /** 本文件测 FTS;语义路 no-op,避免拉 GGUF */
66
67
  vi.mock("./embedding-store.js", () => ({
67
68
  deleteEmbeddingChunks: () => { },
68
- upsertDocumentEmbeddings: async () => { },
69
+ upsertDocumentEmbeddings: async (input) => {
70
+ embeddedPlainTexts.push(input.plainText);
71
+ },
69
72
  querySemanticNeighbors: async () => [],
70
73
  }));
71
74
  function insertFtsDoc(opts) {
@@ -74,7 +77,7 @@ function insertFtsDoc(opts) {
74
77
  db.prepare(`INSERT INTO documents (
75
78
  document_id, domain_id, relative_path, display_name, owner_visitor_id,
76
79
  created_by, updated_by, content_hash, created_at, updated_at, permission, file_type, is_dirty
77
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'md', 0)`).run(opts.documentId, opts.domainId, opts.relativePath, opts.displayName, opts.ownerVisitorId, opts.ownerVisitorId, opts.ownerVisitorId, "hash", now, now, opts.permission);
80
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0)`).run(opts.documentId, opts.domainId, opts.relativePath, opts.displayName, opts.ownerVisitorId, opts.ownerVisitorId, opts.ownerVisitorId, "hash", now, now, opts.permission, opts.fileType ?? "md");
78
81
  if (opts.title !== undefined) {
79
82
  const r = db
80
83
  .prepare(`INSERT INTO documents_fts_title(title, document_id, display_name, relative_path, domain_id, owner_visitor_id, permission)
@@ -107,6 +110,7 @@ describe("Search functionality", () => {
107
110
  db.exec("DELETE FROM audit_logs");
108
111
  db.exec("DELETE FROM document_invites");
109
112
  contentByPath.clear();
113
+ embeddedPlainTexts.length = 0;
110
114
  });
111
115
  it("should index documents and search works", async () => {
112
116
  createDocument({
@@ -150,6 +154,78 @@ describe("Search functionality", () => {
150
154
  });
151
155
  expect(results).toEqual([]);
152
156
  });
157
+ it("indexes sheet title, tab, columns and cell values for FTS and embeddings", async () => {
158
+ const sheet = JSON.stringify({
159
+ version: 2,
160
+ activeSheetId: "s1",
161
+ sheets: [
162
+ {
163
+ id: "s1",
164
+ name: "华东预算",
165
+ columns: [
166
+ { id: "c1", name: "项目" },
167
+ { id: "c2", name: "金额" },
168
+ ],
169
+ rows: [{ id: "r1", cells: { c1: "服务器续费", c2: "8600" } }],
170
+ },
171
+ ],
172
+ });
173
+ contentByPath.set("budget.sheet", sheet);
174
+ const created = createDocument({
175
+ actorVisitorId: "test-actor",
176
+ fileName: "budget.sheet",
177
+ displayName: "年度费用表",
178
+ content: sheet,
179
+ fileType: "sheet",
180
+ domainId: "default",
181
+ parentId: null,
182
+ });
183
+ await rebuildAllDirty();
184
+ expect((await searchDocuments({
185
+ query: "服务器续费",
186
+ visitorId: "test-actor",
187
+ domainId: "default",
188
+ mode: "keyword",
189
+ })).map((item) => item.documentId)).toEqual([created.documentId]);
190
+ expect((await searchDocuments({
191
+ query: "年度费用表",
192
+ visitorId: "test-actor",
193
+ domainId: "default",
194
+ mode: "keyword",
195
+ })).map((item) => item.documentId)).toEqual([created.documentId]);
196
+ expect(embeddedPlainTexts.join("\n")).toContain("华东预算");
197
+ expect(embeddedPlainTexts.join("\n")).toContain("项目");
198
+ expect(embeddedPlainTexts.join("\n")).toContain("服务器续费");
199
+ expect(embeddedPlainTexts.join("\n")).not.toContain("activeSheetId");
200
+ });
201
+ it("backfills a clean sheet that predates sheet indexing", async () => {
202
+ contentByPath.set("legacy.sheet", JSON.stringify({
203
+ version: 2,
204
+ activeSheetId: "s1",
205
+ sheets: [{
206
+ id: "s1",
207
+ name: "旧表",
208
+ columns: [{ id: "c1", name: "备注" }],
209
+ rows: [{ id: "r1", cells: { c1: "历史库存盘点" } }],
210
+ }],
211
+ }));
212
+ insertFtsDoc({
213
+ documentId: "legacy-sheet",
214
+ domainId: "default",
215
+ displayName: "旧工作簿",
216
+ relativePath: "legacy.sheet",
217
+ ownerVisitorId: "owner-a",
218
+ permission: Permission.PUBLIC_READ,
219
+ fileType: "sheet",
220
+ });
221
+ expect(await rebuildAllDirty()).toBe(1);
222
+ expect((await searchDocuments({
223
+ query: "历史库存盘点",
224
+ visitorId: "owner-a",
225
+ domainId: "default",
226
+ mode: "keyword",
227
+ })).map((item) => item.documentId)).toEqual(["legacy-sheet"]);
228
+ });
153
229
  it("title-only hit ranks and returns displayName snippet", async () => {
154
230
  insertFtsDoc({
155
231
  documentId: "title-only",
@@ -1 +1 @@
1
- {"version":3,"file":"document-index-manager.test.js","sourceRoot":"","sources":["../../../src/server/search/document-index-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-index-manager.test.js","sourceRoot":"","sources":["../../../src/server/search/document-index-manager.test.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ const POLICY_TABLE = {
34
34
  treeVisible: true,
35
35
  treeInclude: true,
36
36
  movable: true,
37
- ftsIndex: false,
37
+ ftsIndex: true,
38
38
  graphExtract: false,
39
39
  graphWalkStruct: false,
40
40
  pathExt: '.sheet',
@@ -1 +1 @@
1
- {"version":3,"file":"file-type-policy.js","sourceRoot":"","sources":["../../src/shared/file-type-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-type-policy.js","sourceRoot":"","sources":["../../src/shared/file-type-policy.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,8 @@ describe("file-type-policy", () => {
22
22
  expect(p.comments).toBe(true);
23
23
  expect(p.editor).toBeUndefined();
24
24
  });
25
- it("派生查询不含 html 进 FTS / graph walk", () => {
26
- expect(ftsIndexTypes()).toEqual([FILE_TYPE.DOCUMENT]);
25
+ it("派生查询仅 md、sheet 进 FTS,html 不进入", () => {
26
+ expect(ftsIndexTypes()).toEqual([FILE_TYPE.DOCUMENT, FILE_TYPE.SHEET]);
27
27
  expect(graphWalkIncludeTypes()).toEqual([
28
28
  FILE_TYPE.DOCUMENT,
29
29
  FILE_TYPE.FOLDER,
@@ -42,6 +42,7 @@ describe("file-type-policy", () => {
42
42
  expect(p.treeVisible).toBe(true);
43
43
  expect(p.movable).toBe(true);
44
44
  expect(p.pathExt).toBe(".sheet");
45
+ expect(p.ftsIndex).toBe(true);
45
46
  expect(p.writeNormalize).toBe("raw");
46
47
  expect(p.draftKind).toBe("sheet");
47
48
  expect(p.aiWrite).toBe(false);
@@ -1 +1 @@
1
- {"version":3,"file":"file-type-policy.test.js","sourceRoot":"","sources":["../../src/shared/file-type-policy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-type-policy.test.js","sourceRoot":"","sources":["../../src/shared/file-type-policy.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/diagram-BF8g9yg4.js","assets/ui-CEFkTVnG.js","assets/react-vendor-BVS1XoFi.js","assets/motion-BAXVQJfN.js"])))=>i.map(i=>d[i]);
2
+ import{r as o,j as e,_ as Jt,b as Qt}from"./react-vendor-BVS1XoFi.js";import{o as G,av as es,aR as ts,aS as wt,aT as ss,N as St,C as ns,aU as Ct,X as we,aV as gt,aW as as,aX as rs,aY as oe,_ as xt,aZ as is,a_ as yt,aF as os,a$ as be,b0 as ls,b1 as cs,b2 as ds,b3 as us,b4 as At,b5 as ms,b6 as ps,b7 as fs,b8 as hs,b9 as gs}from"./index-Btfv_3-Q.js";import{C as It}from"./check-BAYRiedE.js";import{C as _t,a as Rt}from"./copy-J9XXv57X.js";import{P as xs}from"./plus-DvWl4lHk.js";import{ar as ys,ah as js}from"./ui-CEFkTVnG.js";import"./diagram-BF8g9yg4.js";import"./motion-BAXVQJfN.js";/**
3
+ * @license lucide-react v0.562.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */const ks=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ns=G("arrow-down",ks);/**
8
+ * @license lucide-react v0.562.0 - ISC
9
+ *
10
+ * This source code is licensed under the ISC license.
11
+ * See the LICENSE file in the root directory of this source tree.
12
+ */const bs=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],vs=G("history",bs);/**
13
+ * @license lucide-react v0.562.0 - ISC
14
+ *
15
+ * This source code is licensed under the ISC license.
16
+ * See the LICENSE file in the root directory of this source tree.
17
+ */const ws=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Ss=G("maximize-2",ws);/**
18
+ * @license lucide-react v0.562.0 - ISC
19
+ *
20
+ * This source code is licensed under the ISC license.
21
+ * See the LICENSE file in the root directory of this source tree.
22
+ */const Cs=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],As=G("minimize-2",Cs);/**
23
+ * @license lucide-react v0.562.0 - ISC
24
+ *
25
+ * This source code is licensed under the ISC license.
26
+ * See the LICENSE file in the root directory of this source tree.
27
+ */const Is=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],_s=G("pencil",Is);/**
28
+ * @license lucide-react v0.562.0 - ISC
29
+ *
30
+ * This source code is licensed under the ISC license.
31
+ * See the LICENSE file in the root directory of this source tree.
32
+ */const Rs=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]],Ms=G("pin",Rs);/**
33
+ * @license lucide-react v0.562.0 - ISC
34
+ *
35
+ * This source code is licensed under the ISC license.
36
+ * See the LICENSE file in the root directory of this source tree.
37
+ */const Es=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],Ds=G("zoom-in",Es);/**
38
+ * @license lucide-react v0.562.0 - ISC
39
+ *
40
+ * This source code is licensed under the ISC license.
41
+ * See the LICENSE file in the root directory of this source tree.
42
+ */const $s=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],zs=G("zoom-out",$s),Pe=5;function Ts(a){const s=o.useRef(!0),l=o.useRef(null),[d,f]=o.useState([]),[y,w]=o.useState(!1),[j,A]=o.useState(null);o.useEffect(()=>(s.current=!0,()=>{s.current=!1}),[]),o.useEffect(()=>{(async()=>{try{const p=await es();if(!s.current)return;f(p)}catch(p){if(!s.current)return;A(p instanceof Error?p.message:String(p))}})()},[]),o.useEffect(()=>{if(!y)return;function p(x){const S=l.current;!S||S.contains(x.target)||w(!1)}function u(x){x.key==="Escape"&&w(!1)}return document.addEventListener("mousedown",p),document.addEventListener("keydown",u),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",u)}},[y]);const g=d.filter(p=>a.selectedNames.includes(p.name));function I(p){if(a.disabled)return;const u=new Set(a.selectedNames);if(u.has(p))u.delete(p);else{if(u.size>=Pe)return;u.add(p)}a.onChange([...u])}return d.length===0&&!j?null:e.jsxs("div",{className:"mdocs-agent-skill-ref",ref:l,children:[e.jsxs("div",{className:"mdocs-agent-skill-ref-bar",children:[e.jsxs("div",{className:"mdocs-agent-skill-ref-anchor",children:[y&&d.length>0?e.jsxs("div",{className:"mdocs-agent-skill-popover",role:"listbox","aria-label":"选择 Skill",children:[e.jsxs("div",{className:"mdocs-agent-skill-popover-hint",children:["选择要引用的 Skill(最多 ",Pe," 个)"]}),e.jsx("ul",{className:"mdocs-agent-skill-popover-list",children:d.map(p=>{const u=a.selectedNames.includes(p.name),x=!u&&a.selectedNames.length>=Pe;return e.jsx("li",{children:e.jsxs("button",{type:"button",role:"option","aria-selected":u,className:"mdocs-agent-skill-popover-item"+(u?" mdocs-agent-skill-popover-item-on":""),disabled:a.disabled||x,onClick:()=>I(p.name),children:[e.jsx("span",{className:"mdocs-agent-skill-popover-check","aria-hidden":!0,children:u?"✓":""}),e.jsxs("span",{className:"mdocs-agent-skill-popover-text",children:[e.jsx("span",{className:"mdocs-agent-skill-popover-name",children:p.name}),p.description?e.jsx("span",{className:"mdocs-agent-skill-popover-desc",children:p.description}):e.jsx("span",{className:"mdocs-agent-skill-popover-desc mdocs-agent-skill-popover-desc-muted",children:"无简介"})]})]})},p.id)})})]}):null,e.jsxs("button",{type:"button",className:"mdocs-agent-skill-ref-toggle"+(y?" mdocs-agent-skill-ref-toggle-open":""),disabled:a.disabled||d.length===0,onClick:()=>w(p=>!p),"aria-expanded":y,"aria-haspopup":"listbox",title:"引用 Skill",children:["Skill",g.length>0?` · ${g.length}`:""]})]}),g.map(p=>e.jsxs("button",{type:"button",className:"mdocs-agent-skill-chip mdocs-agent-skill-chip-on",disabled:a.disabled,onClick:()=>I(p.name),title:"移除引用",children:[p.name,e.jsx("span",{"aria-hidden":!0,children:" ×"})]},p.name))]}),j?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:j}):null]})}const qs=/^[A-Za-z0-9_]+$/;function Fs(a){const{block:s,onResolved:l}=a,[d,f]=o.useState(s.initialName),[y,w]=o.useState(s.initialDescription),[j,A]=o.useState(s.initialBody),[g,I]=o.useState(!1),[p,u]=o.useState(null),[x,S]=o.useState(1),M=o.useRef(!1),N=o.useRef(l);N.current=l;const b=s.status==="open",F=o.useRef(0);o.useEffect(()=>{if(!b)return;M.current=!1;const _=new Date(s.expiresAt).getTime(),Ce=Date.now(),le=Math.max(_-Ce,1);F.current=le,S(1);const Q=()=>{const te=_-Date.now(),O=Math.max(0,Math.min(1,te/le));S(O),te<=0&&!M.current&&(M.current=!0,ts(s.requestId).catch(()=>{}).finally(()=>{N.current(s.requestId,"expired")}))};Q();const ce=window.setInterval(Q,100);return()=>window.clearInterval(ce)},[b,s.expiresAt,s.requestId]);async function $(){if(g||!b)return;const _=d.trim();if(!_){u("名称不能为空");return}if(!qs.test(_)){u("名称仅允许英文、数字、下划线");return}if(!j.trim()){u("正文不能为空");return}I(!0),u(null);try{await ss(s.requestId,{name:_,description:y.trim(),body:j}),l(s.requestId,"submitted",_)}catch{l(s.requestId,"failed")}finally{I(!1)}}async function W(){if(!(g||!b)){I(!0),u(null),M.current=!0;try{await wt(s.requestId),l(s.requestId,"cancelled")}catch{l(s.requestId,"failed")}finally{I(!1)}}}const E=Math.max(0,Math.ceil(x*F.current/1e3));return e.jsxs("div",{className:"mdocs-agent-choice-card mdocs-agent-skill-form-card"+(b?"":" mdocs-agent-choice-card-done"),children:[e.jsxs("div",{className:"mdocs-agent-choice-head",children:[e.jsx("p",{className:"mdocs-agent-choice-title",children:s.title}),b?e.jsxs("span",{className:"mdocs-agent-choice-timer","aria-live":"polite",children:[E,"s"]}):null]}),b?e.jsx("div",{className:"mdocs-agent-choice-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(x*100),children:e.jsx("div",{className:"mdocs-agent-choice-progress-bar",style:{transform:`scaleX(${x})`}})}):null,s.status==="submitted"?e.jsxs("p",{className:"mdocs-agent-choice-result",children:["已提交",s.submittedName?`:${s.submittedName}`:""]}):null,s.status==="cancelled"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已取消"}):null,s.status==="expired"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已超时,表单已失效"}):null,s.status==="failed"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"提交失败或已失效"}):null,b?e.jsxs("div",{className:"mdocs-agent-skill-form-fields",children:[e.jsxs("label",{className:"mdocs-agent-skill-form-field",children:[e.jsx("span",{children:"名称(英文数字下划线)"}),e.jsx("input",{type:"text",value:d,onChange:_=>f(_.target.value),maxLength:64,disabled:g,autoComplete:"off",spellCheck:!1})]}),e.jsxs("label",{className:"mdocs-agent-skill-form-field",children:[e.jsx("span",{children:"简介"}),e.jsx("input",{type:"text",value:y,onChange:_=>w(_.target.value),maxLength:200,disabled:g})]}),e.jsxs("label",{className:"mdocs-agent-skill-form-field",children:[e.jsx("span",{children:"正文"}),e.jsx("textarea",{value:j,onChange:_=>A(_.target.value),rows:8,disabled:g})]}),p?e.jsx("p",{className:"mdocs-agent-skill-form-error",children:p}):null,e.jsxs("div",{className:"mdocs-agent-skill-form-actions",children:[e.jsx("button",{type:"button",className:"mdocs-agent-skill-form-cancel",disabled:g,onClick:()=>void W(),children:"取消"}),e.jsx("button",{type:"button",disabled:g,onClick:()=>void $(),children:g?"提交中…":s.mode==="create"?"创建":"保存"})]})]}):null]})}function We(a){var s;return a==null||typeof a=="boolean"?"":typeof a=="string"||typeof a=="number"?String(a):Array.isArray(a)?a.map(We).join(""):typeof a=="object"&&"props"in a?We((s=a.props)==null?void 0:s.children):""}function Ls(a){return a?/\blanguage-mermaid\b|\bmermaid\b/i.test(a):!1}function Ps(a){const s=Array.isArray(a)?a:[a];for(const l of s){if(l==null||typeof l!="object"||!("props"in l))continue;const d=l.props;if(!(!d||!Ls(d.className)))return We(d.children).replace(/\n$/,"")}return null}const Bs=.4,Os=4,ve=.2;let Be=null;function Ws(){return Be||(Be=Jt(()=>import("./diagram-BF8g9yg4.js").then(a=>a.z),__vite__mapDeps([0,1,2,3])).then(a=>{const s=a.default;return s.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral",fontFamily:"ui-sans-serif, system-ui, sans-serif"}),s})),Be}const Hs=32,J=new Map;function jt(a){return J.get(a)??null}function Ks(a,s){for(J.has(a)&&J.delete(a),J.set(a,s);J.size>Hs;){const l=J.keys().next().value;if(l==null)break;J.delete(l)}}function Oe(a){return Math.min(Os,Math.max(Bs,a))}function Us(a){const[s,l]=o.useState(1),[d,f]=o.useState({x:0,y:0}),y=o.useRef(null),[w,j]=o.useState(!1);o.useEffect(()=>{const u=S=>{S.key==="Escape"&&a.onClose()};window.addEventListener("keydown",u);const x=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",u),document.body.style.overflow=x}},[a.onClose]);function A(u){u.button===0&&(u.currentTarget.setPointerCapture(u.pointerId),y.current={pointerId:u.pointerId,startX:u.clientX,startY:u.clientY,originX:d.x,originY:d.y},j(!0))}function g(u){const x=y.current;!x||x.pointerId!==u.pointerId||f({x:x.originX+(u.clientX-x.startX),y:x.originY+(u.clientY-x.startY)})}function I(u){const x=y.current;if(!(!x||x.pointerId!==u.pointerId)){y.current=null,j(!1);try{u.currentTarget.releasePointerCapture(u.pointerId)}catch{}}}function p(u){u.preventDefault();const x=u.deltaY>0?-ve:ve;l(S=>Oe(Number((S+x).toFixed(2))))}return Qt.createPortal(e.jsxs("div",{className:"mdocs-agent-mermaid-float",role:"dialog","aria-modal":"true","aria-label":"Mermaid 图预览",children:[e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-backdrop","aria-label":"关闭预览",onClick:a.onClose}),e.jsxs("div",{className:"mdocs-agent-mermaid-float-chrome",children:[e.jsxs("div",{className:"mdocs-agent-mermaid-float-tools",children:[e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:()=>l(u=>Oe(Number((u-ve).toFixed(2)))),title:"缩小","aria-label":"缩小",children:e.jsx(zs,{size:16,"aria-hidden":!0})}),e.jsxs("span",{className:"mdocs-agent-mermaid-float-scale",children:[Math.round(s*100),"%"]}),e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:()=>l(u=>Oe(Number((u+ve).toFixed(2)))),title:"放大","aria-label":"放大",children:e.jsx(Ds,{size:16,"aria-hidden":!0})}),e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:()=>{l(1),f({x:0,y:0})},title:"重置",children:"重置"}),e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:a.onClose,title:"关闭","aria-label":"关闭",children:e.jsx(we,{size:16,"aria-hidden":!0})})]}),e.jsx("div",{className:w?"mdocs-agent-mermaid-float-stage is-dragging":"mdocs-agent-mermaid-float-stage",onPointerDown:A,onPointerMove:g,onPointerUp:I,onPointerCancel:I,onWheel:p,children:e.jsx("div",{className:"mdocs-agent-mermaid-float-canvas",style:{transform:`translate(calc(-50% + ${d.x}px), calc(-50% + ${d.y}px)) scale(${s})`},dangerouslySetInnerHTML:{__html:a.svg}})}),e.jsx("p",{className:"mdocs-agent-mermaid-float-hint",children:"拖动平移 · 滚轮缩放 · Esc 关闭"})]})]}),document.body)}function Xs(a){const s=o.useId().replace(/:/g,""),[l,d]=o.useState("diagram"),[f,y]=o.useState(()=>jt(a.source.trim())),[w,j]=o.useState(null),[A,g]=o.useState(!1),[I,p]=o.useState(!1),u=o.useRef(null),x=a.source.trim(),S=o.useMemo(()=>x,[x]);o.useEffect(()=>()=>{u.current!=null&&window.clearTimeout(u.current)},[]),o.useEffect(()=>{if(l!=="diagram")return;if(!S){y(null),j(null);return}const N=jt(S);if(N){y(N),j(null);return}let b=!1;const F=window.setTimeout(()=>{(async()=>{try{const $=await Ws();if(b)return;const W=`mdocs-agent-mmd-${s}-${Date.now()}`,{svg:E}=await $.render(W,S);if(b)return;Ks(S,E),y(E),j(null)}catch($){if(b)return;y(null),j($ instanceof Error?$.message:"Mermaid 渲染失败")}})()},200);return()=>{b=!0,window.clearTimeout(F)}},[l,S,s]);async function M(){!x||!await Ct(x)||(g(!0),u.current!=null&&window.clearTimeout(u.current),u.current=window.setTimeout(()=>g(!1),1500))}return e.jsxs("div",{className:"mdocs-agent-mermaid",children:[e.jsxs("div",{className:"mdocs-agent-mermaid-toolbar",children:[e.jsxs("div",{className:"mdocs-agent-mermaid-toggle",role:"group","aria-label":"Mermaid 显示模式",children:[e.jsxs("button",{type:"button",className:l==="diagram"?"mdocs-agent-mermaid-toggle-btn is-active":"mdocs-agent-mermaid-toggle-btn",onClick:()=>d("diagram"),"aria-pressed":l==="diagram",title:"图谱",children:[e.jsx(St,{size:14,"aria-hidden":!0}),e.jsx("span",{children:"图谱"})]}),e.jsxs("button",{type:"button",className:l==="code"?"mdocs-agent-mermaid-toggle-btn is-active":"mdocs-agent-mermaid-toggle-btn",onClick:()=>d("code"),"aria-pressed":l==="code",title:"代码",children:[e.jsx(ns,{size:14,"aria-hidden":!0}),e.jsx("span",{children:"代码"})]})]}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-md-copy mdocs-agent-mermaid-copy",onClick:()=>void M(),"aria-label":A?"已复制":"复制代码",title:A?"已复制":"复制",children:A?e.jsx(It,{size:14,"aria-hidden":!0}):e.jsx(_t,{size:14,"aria-hidden":!0})})]}),l==="diagram"?e.jsx("div",{className:"mdocs-agent-mermaid-diagram",children:w?e.jsxs("div",{className:"mdocs-agent-mermaid-error",role:"alert",children:[e.jsx("p",{children:"无法渲染该图,可切换到代码查看源码。"}),e.jsx("pre",{children:w})]}):f?e.jsx("div",{className:"mdocs-agent-mermaid-svg mdocs-agent-mermaid-svg-hit",role:"button",tabIndex:0,onClick:()=>p(!0),onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),p(!0))},title:"点击放大预览","aria-label":"点击放大预览 Mermaid 图",children:e.jsx("span",{className:"mdocs-agent-mermaid-svg-inner",dangerouslySetInnerHTML:{__html:f}})}):e.jsx("div",{className:"mdocs-agent-mermaid-loading",children:"渲染中…"})}):e.jsx("div",{className:"mdocs-agent-panel-md-pre-wrap mdocs-agent-mermaid-code",children:e.jsx("pre",{children:a.codeChildren??e.jsx("code",{className:"language-mermaid",children:x})})}),I&&f?e.jsx(Us,{svg:f,onClose:()=>p(!1)}):null]})}const Gs=o.memo(Xs,(a,s)=>a.source===s.source);function Ys(a){const[s,l]=o.useState(()=>Date.now());return o.useEffect(()=>{if(!a)return;const d=window.setInterval(()=>l(Date.now()),1e3);return()=>window.clearInterval(d)},[a]),s}function Vs(a,s){if(!a.startedAt)return null;const l=a.endedAt??s;return Math.max(1,Math.round((l-a.startedAt)/1e3))}function Se(a,s=Date.now()){let l=!1;const d=a.map(f=>f.type==="thinking"&&f.startedAt&&!f.endedAt?(l=!0,{...f,endedAt:s}):f);return l?d:a}function Zs(a){const{block:s,live:l,now:d}=a;if(!s.text)return null;const f=Vs(s,d),y=f!=null?l?`思考中 ${f}s`:`思考 ${f}s`:"思考";return e.jsxs("details",{className:"mdocs-agent-panel-think-fold",children:[e.jsxs("summary",{children:[e.jsx("span",{className:"mdocs-agent-think-label"+(l?" live":""),children:y}),e.jsx(Rt,{size:14,strokeWidth:1.8,className:"mdocs-agent-think-chevron"})]}),e.jsx("pre",{className:"mdocs-agent-panel-think-body",children:s.text})]})}function He(a){var s;return a==null||typeof a=="boolean"?"":typeof a=="string"||typeof a=="number"?String(a):Array.isArray(a)?a.map(He).join(""):typeof a=="object"&&"props"in a?He((s=a.props)==null?void 0:s.children):""}function Js(a){const[s,l]=o.useState(!1),d=o.useRef(null),f=o.useRef(null),y=He(a.children).replace(/\n$/,"");o.useEffect(()=>()=>{d.current!=null&&window.clearTimeout(d.current)},[]);async function w(j){var p,u,x;j.preventDefault(),j.stopPropagation();const g=(((x=(u=(p=f.current)==null?void 0:p.querySelector("pre"))==null?void 0:u.innerText)==null?void 0:x.replace(/\n$/,""))??"")||y;!g||!await Ct(g)||(l(!0),d.current!=null&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>l(!1),1500))}return e.jsxs("div",{className:"mdocs-agent-panel-md-pre-wrap",ref:f,children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-md-copy",onClick:j=>void w(j),"aria-label":s?"已复制":"复制代码",title:s?"已复制":"复制",children:s?e.jsx(It,{size:14,"aria-hidden":!0}):e.jsx(_t,{size:14,"aria-hidden":!0})}),e.jsx("pre",{children:a.children})]})}function Qs(a){const s=Ps(a.children);return s!=null?e.jsx(Gs,{source:s,codeChildren:a.children}):e.jsx(Js,{children:a.children})}const en={pre:({children:a})=>e.jsx(Qs,{children:a})},kt=o.memo(function(s){return e.jsx("div",{className:"mdocs-agent-panel-md",children:e.jsx(ys,{remarkPlugins:[js],components:en,children:s.children})})}),tn=["如何发布文档?","草稿是什么?","如何创建工作空间?"],sn=["润色当前文稿","补写开头引言","把这段改得更简洁"];function Nt(a,s){return s.map((l,d)=>{const f=l.skillNames&&l.skillNames.length>0?l.skillNames:l.skillIds&&l.skillIds.length>0?l.skillIds:void 0;return{id:`h-${a}-${d}-${l.role}`,role:l.role,content:l.content,skillNames:f}})}function nn(a,s){const l=Se(a).slice(),d=l[l.length-1];return(d==null?void 0:d.type)==="text"?l[l.length-1]={type:"text",text:d.text+s}:l.push({type:"text",text:s}),l}function an(a,s){const l=Date.now(),d=a.slice(),f=d[d.length-1];return(f==null?void 0:f.type)==="thinking"&&!f.endedAt?d[d.length-1]={type:"thinking",text:f.text+s,startedAt:f.startedAt??l}:d.push({type:"thinking",text:s,startedAt:l}),d}function rn(a,s){const l=Se(a).slice(),d=l.findIndex(f=>f.type==="tool_call"&&f.toolCallId===s.toolCallId);if(d>=0){const f=l[d];l[d]={...f,...s,detail:s.detail??f.detail}}else l.push(s);return l}function bt(a){return a!=null&&a.length?a.filter(s=>s.type==="text").map(s=>s.text).join(""):""}function on(a){return!!(a!=null&&a.some(s=>s.type==="thinking"&&s.text.length>0))}function ln(a){const s=new Date(a);if(Number.isNaN(s.getTime()))return"";const l=new Date;return s.getFullYear()===l.getFullYear()&&s.getMonth()===l.getMonth()&&s.getDate()===l.getDate()?s.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):s.toLocaleDateString(void 0,{month:"2-digit",day:"2-digit"})}function vt(a){if(a>=1e3){const s=a/1e3;return`${s>=10?Math.round(s):Math.round(s*10)/10}K`}return String(a)}function cn(a){const{block:s,onResolved:l}=a,[d,f]=o.useState(""),[y,w]=o.useState(!1),[j,A]=o.useState(1),g=o.useRef(!1),I=o.useRef(l);I.current=l;const p=s.status==="open",u=o.useRef(0);o.useEffect(()=>{if(!p)return;g.current=!1;const N=new Date(s.expiresAt).getTime(),b=Date.now(),F=Math.max(N-b,1);u.current=F,A(1);const $=()=>{const E=N-Date.now(),_=Math.max(0,Math.min(1,E/F));A(_),E<=0&&!g.current&&(g.current=!0,hs(s.requestId).catch(()=>{}).finally(()=>{I.current(s.requestId,"","expired")}))};$();const W=window.setInterval($,100);return()=>window.clearInterval(W)},[p,s.expiresAt,s.requestId]);async function x(N){const b=N.trim();if(!(!b||y||!p)){w(!0);try{await gs(s.requestId,b),l(s.requestId,b,"selected")}catch{l(s.requestId,b,"failed")}finally{w(!1)}}}async function S(){if(!(y||!p)){w(!0),g.current=!0;try{await At(s.requestId),l(s.requestId,"","cancelled")}catch{l(s.requestId,"","failed")}finally{w(!1)}}}const M=Math.max(0,Math.ceil(j*u.current/1e3));return e.jsxs("div",{className:"mdocs-agent-choice-card"+(p?"":" mdocs-agent-choice-card-done"),children:[e.jsxs("div",{className:"mdocs-agent-choice-head",children:[e.jsx("p",{className:"mdocs-agent-choice-title",children:s.title}),p?e.jsxs("span",{className:"mdocs-agent-choice-timer","aria-live":"polite",children:[M,"s"]}):null]}),p?e.jsx("div",{className:"mdocs-agent-choice-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(j*100),children:e.jsx("div",{className:"mdocs-agent-choice-progress-bar",style:{transform:`scaleX(${j})`}})}):null,s.status==="selected"&&s.selected?e.jsxs("p",{className:"mdocs-agent-choice-result",children:["已选择:",s.selected]}):null,s.status==="cancelled"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已取消"}):null,s.status==="expired"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已超时,选择已失效"}):null,s.status==="failed"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"提交失败或已失效"}):null,p?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mdocs-agent-choice-options",children:s.options.map(N=>e.jsx("button",{type:"button",className:"mdocs-agent-choice-option",disabled:y,onClick:()=>void x(N),children:N},N))}),e.jsxs("div",{className:"mdocs-agent-choice-custom",children:[e.jsx("input",{value:d,disabled:y,placeholder:"或输入自己的内容…",onChange:N=>f(N.target.value),onKeyDown:N=>{N.key==="Enter"&&(N.preventDefault(),x(d))}}),e.jsx("button",{type:"button",disabled:y||!d.trim(),onClick:()=>void x(d),children:"提交"})]}),e.jsx("div",{className:"mdocs-agent-choice-footer",children:e.jsx("button",{type:"button",className:"mdocs-agent-choice-cancel",disabled:y,onClick:()=>void S(),children:"取消"})})]}):null]})}function dn(a){const f=2*Math.PI*8.75,y=Math.min(100,Math.max(0,a.percent)),w=f*(1-y/100),j=y>=90?"danger":y>=70?"warn":"ok",A=`上下文 ${y}% · 已用 ${vt(a.used)} / ${vt(a.limit)} tokens`;return e.jsx("span",{className:"mdocs-agent-panel-context mdocs-agent-panel-context-"+j,"data-tooltip":A,"aria-label":A,role:"img",tabIndex:0,children:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 20 20","aria-hidden":!0,children:[e.jsx("circle",{className:"mdocs-agent-panel-context-track",cx:20/2,cy:20/2,r:8.75,fill:"none",strokeWidth:2.5}),e.jsx("circle",{className:"mdocs-agent-panel-context-value",cx:20/2,cy:20/2,r:8.75,fill:"none",strokeWidth:2.5,strokeLinecap:"round",strokeDasharray:f,strokeDashoffset:w,transform:`rotate(-90 ${20/2} ${20/2})`})]})})}function un(a){var s;for(const l of a)if(!(l.role!=="assistant"||!((s=l.blocks)!=null&&s.length))){for(const d of l.blocks)if((d.type==="choice_card"||d.type==="skill_form_card")&&d.status==="open")return!0}return!1}const kn=o.forwardRef(function(s,l){const{open:d,onClose:f,visitorName:y,anchorStyle:w,fullscreen:j,onToggleFullscreen:A,domainId:g,domains:I=[],localizeDomainName:p,documentId:u,documentTitle:x,documentPath:S,graphFileId:M,graphLabel:N,onOpenDocument:b,onTreeChanged:F,onDocumentOverwritten:$,onOpenCoding:W,embedded:E=!1,mode:_="normal",workingMarkdown:Ce,baseMarkdown:le,onMarkdownSet:Q,onSendingChange:ce,onSessionId:te}=s,O=_==="coding"?"coding":"normal",z=O==="coding",Mt=((y==null?void 0:y.trim().charAt(0))||"我").toUpperCase(),[ee,H]=o.useState(!1),[Y,Ke]=o.useState("current"),[Ue,Et]=o.useState({}),[Dt,se]=o.useState(null),[Xe,Ge]=o.useState(""),[k,de]=o.useState(null),[$t,ue]=o.useState(null),[K,C]=o.useState([]),[ne,ae]=o.useState(null),[me,Ye]=o.useState([]),[zt,Ve]=o.useState(!1),[pe,fe]=o.useState(""),[re,Ae]=o.useState([]),[Ze,Ie]=o.useState(!1),[v,U]=o.useState(!1),[Je,q]=o.useState(null),[he,Qe]=o.useState(null),[_e,V]=o.useState(!1),[X,et]=o.useState(!1),Tt=o.useRef(null),ge=o.useRef(null),R=o.useRef(null),T=o.useRef(null),xe=o.useRef(null),tt=o.useRef(0),Z=o.useRef(!0),[qt,Re]=o.useState(!1),Ft=Ys(v),Me=o.useRef(K);Me.current=K;const st=!!(u!=null&&u.trim())&&!Ze,Lt=(x==null?void 0:x.trim())||"当前文档",nt=(S==null?void 0:S.trim())||"",Ee=!!(M!=null&&M.trim())&&!Ze,Pt=(N==null?void 0:N.trim())||"当前图谱";o.useEffect(()=>{Ie(!1)},[u,M]);function De(t){return tt.current+=1,`${t}-${tt.current}`}const at=120;function rt(t){return t.scrollHeight-t.scrollTop-t.clientHeight}function ye(){const t=ge.current;t&&(t.scrollTop=t.scrollHeight,Re(!1))}function L(){Z.current&&ye()}function Bt(){const t=ge.current;if(!t)return;const n=rt(t);Z.current=n<=48,Re(n>at)}function Ot(){Z.current=!0,ye()}o.useLayoutEffect(()=>{L();const t=ge.current;t&&Re(rt(t)>at)},[K]);async function it(){Ve(!0);try{const t=await cs(O,z?u:void 0);Ye(t.sessions),ne||ae(t.lastOpenedSessionId)}catch{}finally{Ve(!1)}}async function $e(){try{const t=await ls();Qe(t)}catch{}}async function ot(){try{const t=await gt();de(t),ue(null)}catch(t){de(null),ue(t instanceof Error?t.message:String(t))}}const je=o.useRef(ce);je.current=ce;const ke=o.useRef(te);ke.current=te,o.useEffect(()=>{var t;(t=je.current)==null||t.call(je,v)},[v]),o.useEffect(()=>{var t;(t=ke.current)==null||t.call(ke,ne)},[ne]),o.useEffect(()=>{var n;if(!d){H(!1),(n=R.current)==null||n.abort(),R.current=null;return}let t=!1;return(async()=>{try{const r=await gt();t||(de(r),ue(null))}catch(r){t||(de(null),ue(r instanceof Error?r.message:String(r)))}})(),$e(),()=>{t=!0}},[d]);const Ne=z?`coding:${u??""}`:"normal",lt=o.useRef(Ne);o.useEffect(()=>{if(!d)return;const t=lt.current!==Ne;lt.current=Ne;let n=!1;return(async()=>{try{const r=await as(O,z?u:void 0);if(n)return;ae(r.sessionId),C(m=>!t&&m.length>0&&!r.activeRun?m:Nt(r.sessionId,r.messages)),r.activeRun&&(r.activeRun.status==="running"||r.activeRun.status==="waiting_user")&&Ht(r.activeRun)}catch{}})(),()=>{n=!0}},[d,Ne]),o.useEffect(()=>{!d||!ee||it()},[d,ee]),o.useEffect(()=>()=>{var t;(t=R.current)==null||t.abort()},[]);function ze(){if(!X){if(un(Me.current)){V(!0);return}V(!1),f()}}async function Wt(){var m;if(X)return;et(!0);const t=Me.current,n=[];for(const i of t)if(!(i.role!=="assistant"||!i.blocks))for(const c of i.blocks)c.type==="choice_card"&&c.status==="open"&&n.push(At(c.requestId).catch(()=>{})),c.type==="skill_form_card"&&c.status==="open"&&n.push(wt(c.requestId).catch(()=>{}));const r=T.current;r&&n.push(be(r).catch(()=>{})),await Promise.all(n),(m=R.current)==null||m.abort(),T.current=null,U(!1),C(i=>i.map(c=>c.role!=="assistant"||!c.blocks?c:{...c,blocks:c.blocks.map(h=>h.type==="choice_card"&&h.status==="open"?{...h,status:"cancelled"}:h.type==="skill_form_card"&&h.status==="open"?{...h,status:"cancelled"}:h)})),V(!1),et(!1),f()}const Te=o.useRef(ze);Te.current=ze,o.useImperativeHandle(l,()=>({requestClose:()=>Te.current()}),[]),o.useEffect(()=>{if(!d){V(!1);return}const t=n=>{if(n.key==="Escape"){if(_e){X||V(!1);return}if(ee){H(!1);return}Te.current()}};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[d,ee,_e,X]);function ct(t,n){let r=!1;return n.type==="run_started"?(T.current=n.runId,ae(n.sessionId),!1):(n.type==="text_delta"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=nn(i.blocks??[],n.text);return{...i,blocks:c,content:bt(c)}})),requestAnimationFrame(()=>L())):n.type==="thinking_delta"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=an(i.blocks??[],n.text);return{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="sources"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=(i.blocks??[]).slice(),h=c[c.length-1];return(h==null?void 0:h.type)==="sources"?c[c.length-1]={type:"sources",items:n.items}:c.push({type:"sources",items:n.items}),{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="document_table"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=[...i.blocks??[],{type:"document_table",title:n.title,rows:n.rows}];return{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="document_card"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=[...i.blocks??[],{type:"document_card",documentId:n.documentId,title:n.title,path:n.path,preview:n.preview}];return{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="tool_notice"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=[...i.blocks??[],{type:"tool_notice",toolName:n.toolName,text:n.text}];return{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="tool_call"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=rn(i.blocks??[],{type:"tool_call",toolCallId:n.toolCallId,toolName:n.toolName,label:n.label,status:n.status,detail:n.detail});return{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="choice_card"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=[...i.blocks??[],{type:"choice_card",requestId:n.requestId,title:n.title,options:n.options,expiresAt:n.expiresAt,status:"open"}];return{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="choice_expired"?C(m=>m.map(i=>i.id!==t||!i.blocks?i:{...i,blocks:i.blocks.map(c=>c.type==="choice_card"&&c.requestId===n.requestId&&c.status==="open"?{...c,status:"expired"}:c)})):n.type==="skill_form_card"?(C(m=>m.map(i=>{if(i.id!==t)return i;const c=[...i.blocks??[],{type:"skill_form_card",requestId:n.requestId,mode:n.mode,title:n.title,currentName:n.currentName,initialName:n.initialName,initialDescription:n.initialDescription,initialBody:n.initialBody,expiresAt:n.expiresAt,status:"open"}];return{...i,blocks:c}})),requestAnimationFrame(()=>L())):n.type==="skill_form_expired"?C(m=>m.map(i=>i.id!==t||!i.blocks?i:{...i,blocks:i.blocks.map(c=>c.type==="skill_form_card"&&c.requestId===n.requestId&&c.status==="open"?{...c,status:"expired"}:c)})):n.type==="markdown_set"?Q==null||Q(n.markdown):n.type==="tree_changed"?F==null||F():n.type==="document_overwritten"?$==null||$({documentId:n.documentId,headCommitId:n.headCommitId}):n.type==="open_coding"?W==null||W({documentId:n.documentId,displayName:n.displayName}):n.type==="context_usage"?Qe({percent:n.percent,used:n.used,limit:n.limit}):n.type==="error"?(r=!0,q(n.message)):n.type==="done"&&(T.current=null),r)}async function Ht(t){var i;(i=R.current)==null||i.abort();const n=new AbortController;R.current=n,T.current=t.runId;const r=De("a");xe.current=r,Z.current=!0,C(c=>{var D;const h=c[c.length-1];return(h==null?void 0:h.role)==="assistant"&&!h.content&&!((D=h.blocks)!=null&&D.length)?(xe.current=h.id,c):[...c,{id:r,role:"assistant",content:""}]});const m=xe.current??r;U(!0),q(null);try{let c=!1;await rs(t.runId,{afterSeq:0,signal:n.signal,onEvent:h=>{ct(m,h)&&(c=!0)}}),!n.signal.aborted&&!c&&Ae([])}catch(c){if(n.signal.aborted)return;q(c instanceof Error?c.message:String(c))}finally{C(c=>c.map(h=>h.id===m&&h.blocks?{...h,blocks:Se(h.blocks)}:h)),R.current===n&&(R.current=null),T.current||U(!1)}}async function qe(t){var c;const n=t.trim();if(!n||v)return;if(!(k!=null&&k.enabled)){q((k==null?void 0:k.reason)==="missing_api_key"?"请先配置 API Key":(k==null?void 0:k.reason)==="skills_missing"?"手册 skills 未就绪,请确认已构建 agent-skills":"助手暂不可用");return}(c=R.current)==null||c.abort();const r=new AbortController;R.current=r;const m={id:De("u"),role:"user",content:n,skillNames:re.length>0?[...re]:void 0},i=De("a");xe.current=i,Z.current=!0,C(h=>[...h,m,{id:i,role:"assistant",content:""}]),fe(""),U(!0),q(null),H(!1),requestAnimationFrame(()=>{ye(),requestAnimationFrame(ye)});try{let h=!1;await us(n,{mode:O,skillNames:re.length>0?re:void 0,...z?{documentId:u??null,workingMarkdown:Ce,baseMarkdown:le}:{references:{domainId:(g==null?void 0:g.trim())||void 0,documentId:!Ee&&st?u.trim():void 0,graphFileId:Ee?M.trim():void 0}},signal:r.signal,onEvent:D=>{ct(i,D)&&(h=!0)}}),!r.signal.aborted&&!h&&Ae([])}catch(h){if(r.signal.aborted)return;q(h instanceof Error?h.message:String(h))}finally{C(h=>h.map(D=>D.id===i&&D.blocks?{...D,blocks:Se(D.blocks)}:D)),R.current===r&&(R.current=null),T.current||U(!1)}}async function Kt(){var n;(n=R.current)==null||n.abort();const t=T.current;T.current=null,U(!1),t&&be(t).catch(()=>{}),q(null),H(!1);try{const r=await ds(O,z?u:void 0,g??null);ae(r.sessionId),C([]),fe(""),Z.current=!0,$e(),it()}catch(r){q(r instanceof Error?r.message:String(r))}}async function Ut(t){var r;if(t===ne){H(!1);return}(r=R.current)==null||r.abort();const n=T.current;T.current=null,U(!1),n&&be(n).catch(()=>{}),q(null);try{const m=await ms(t,O,z?u:void 0);ae(m.sessionId),C(Nt(m.sessionId,m.messages)),fe(""),H(!1),se(null),Z.current=!0,requestAnimationFrame(()=>L()),$e()}catch(m){q(m instanceof Error?m.message:String(m))}}function dt(t){Ye(n=>{const r=n.map(m=>m.id===t.id?{...m,...t}:m);return r.sort((m,i)=>{const c=m.pinned===!0,h=i.pinned===!0;return c!==h?c?-1:1:m.updatedAt<i.updatedAt?1:m.updatedAt>i.updatedAt?-1:0}),r})}async function Xt(t){if(!v)try{const n=await ps(t.id,t.pinned!==!0,O);dt(n)}catch(n){q(n instanceof Error?n.message:String(n))}}function Gt(t){se(t.id),Ge(t.title)}async function ut(t){const n=Xe.trim();if(se(null),!!n)try{const r=await fs(t,n,O);dt(r)}catch(r){q(r instanceof Error?r.message:String(r))}}const Yt=t=>{const n=I.find(r=>r.domainId===t);return n?p?p(n.domainName):n.domainName:t===oe?"default":t},ie=o.useMemo(()=>Y==="all"||!g?me:me.filter(t=>(t.domainId||oe)===g),[me,Y,g]),mt=o.useMemo(()=>ie.filter(t=>t.pinned===!0),[ie]),Vt=o.useMemo(()=>{var r;const t=new Map;for(const m of ie){const i=((r=m.domainId)==null?void 0:r.trim())||oe,c=t.get(i);c?c.push(m):t.set(i,[m])}const n=(g==null?void 0:g.trim())||oe;return Array.from(t.entries()).map(([m,i])=>({id:m,items:i,label:Yt(m)})).sort((m,i)=>m.id===n?-1:i.id===n?1:m.label.localeCompare(i.label,"zh"))},[ie,I,p,g]);function pt(t){return Ue[t]!==void 0?!Ue[t]:Y==="all"?t===((g==null?void 0:g.trim())||oe):!0}function Zt(t){Et(n=>{const r=pt(t);return{...n,[t]:r}})}function Fe(t){!t||!b||b(t)}function ft(t){const n=Dt===t.id;return e.jsxs("div",{className:"mdocs-agent-panel-history-item"+(t.id===ne?" active":""),children:[n?e.jsx("input",{className:"mdocs-agent-panel-history-rename",value:Xe,autoFocus:!0,maxLength:80,"aria-label":"重命名会话",onChange:r=>Ge(r.target.value),onClick:r=>r.stopPropagation(),onKeyDown:r=>{r.key==="Enter"?(r.preventDefault(),ut(t.id)):r.key==="Escape"&&se(null)},onBlur:()=>void ut(t.id)}):e.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-open",disabled:v,onClick:()=>void Ut(t.id),children:[e.jsx("span",{className:"mdocs-agent-panel-history-title",children:t.title}),e.jsx("span",{className:"mdocs-agent-panel-history-time",children:ln(t.updatedAt)})]}),e.jsxs("div",{className:"mdocs-agent-panel-history-actions",children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-history-action"+(t.pinned?" pinned":""),title:t.pinned?"取消置顶":"置顶","aria-label":t.pinned?"取消置顶":"置顶",disabled:v,onClick:r=>{r.stopPropagation(),Xt(t)},children:e.jsx(Ms,{size:14,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-history-action",title:"重命名","aria-label":"重命名",disabled:v||n,onClick:r=>{r.stopPropagation(),Gt(t)},children:e.jsx(_s,{size:14,strokeWidth:1.8})})]})]})}if(!d)return null;const Le=(k==null?void 0:k.reason)==="missing_api_key",ht=$t??(k&&!k.enabled&&!Le?k.reason==="skills_missing"?"skills 未就绪":"助手暂不可用":null);return e.jsxs("div",{ref:Tt,className:"mdocs-agent-panel"+(E?" mdocs-agent-panel--embedded":j?" mdocs-agent-panel--fullscreen":""),role:E?void 0:"dialog","aria-label":z?"mdocs 帮写助手":"mdocs 智能助手","aria-modal":E?void 0:j?!0:void 0,style:E||j?void 0:w,children:[e.jsxs("header",{className:"mdocs-agent-panel-header",children:[e.jsxs("div",{className:"mdocs-agent-panel-title",children:[e.jsx("img",{src:xt,alt:"",className:"mdocs-agent-panel-title-logo"}),e.jsx("span",{children:z?"mdocs 帮写助手":"mdocs 智能助手"})]}),e.jsxs("div",{className:"mdocs-agent-panel-actions",children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"新会话","aria-label":"新会话",disabled:v,onClick:()=>void Kt(),children:e.jsx(xs,{size:16,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn"+(ee?" active":""),title:"历史会话","aria-label":"历史会话",onClick:()=>H(t=>!t),children:e.jsx(vs,{size:16,strokeWidth:1.8})}),E||!A?null:e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:j?"退出全屏":"全屏","aria-label":j?"退出全屏":"全屏",onClick:A,children:j?e.jsx(As,{size:16,strokeWidth:1.8}):e.jsx(Ss,{size:16,strokeWidth:1.8})}),E?null:e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"关闭","aria-label":"关闭",onClick:ze,children:e.jsx(we,{size:16,strokeWidth:1.8})})]})]}),ee?e.jsxs("div",{className:"mdocs-agent-panel-history",children:[e.jsxs("div",{className:"mdocs-agent-panel-history-head",children:[e.jsx("span",{children:"历史会话"}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-history-back",onClick:()=>{H(!1),se(null)},children:"返回对话"})]}),e.jsxs("div",{className:"mdocs-agent-panel-history-filters",role:"tablist","aria-label":"按工作空间筛选",children:[e.jsx("button",{type:"button",role:"tab","aria-selected":Y==="current",className:"mdocs-agent-panel-history-filter"+(Y==="current"?" active":""),onClick:()=>Ke("current"),children:"当前工作空间"}),e.jsx("button",{type:"button",role:"tab","aria-selected":Y==="all",className:"mdocs-agent-panel-history-filter"+(Y==="all"?" active":""),onClick:()=>Ke("all"),children:"全部"})]}),zt?e.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"加载中…"}):me.length===0?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mdocs-agent-panel-history-empty",children:"暂无历史会话"}),e.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"发一条消息后会出现在这里"})]}):ie.length===0?e.jsx("p",{className:"mdocs-agent-panel-history-empty",children:"此工作空间暂无会话"}):e.jsxs("div",{className:"mdocs-agent-panel-history-list",children:[mt.length>0?e.jsxs("section",{className:"mdocs-agent-panel-history-section",children:[e.jsx("div",{className:"mdocs-agent-panel-history-section-label",children:"Pinned"}),e.jsx("ul",{children:mt.map(t=>e.jsx("li",{children:ft(t)},t.id))})]}):null,Vt.map(t=>{const n=pt(t.id);return e.jsxs("section",{className:"mdocs-agent-panel-history-folder",children:[e.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-folder-head","aria-expanded":n,onClick:()=>Zt(t.id),children:[n?e.jsx(is,{size:14,strokeWidth:1.8}):e.jsx(Rt,{size:14,strokeWidth:1.8}),e.jsx("span",{className:"mdocs-agent-panel-history-folder-name",children:t.label}),e.jsx("span",{className:"mdocs-agent-panel-history-folder-count",children:t.items.length})]}),n?e.jsx("ul",{children:t.items.map(r=>e.jsx("li",{children:ft(r)},r.id))}):null]},t.id)})]})]}):e.jsxs("div",{className:"mdocs-agent-panel-body",children:[e.jsxs("div",{className:"mdocs-agent-panel-scroll-wrap",children:[e.jsx("div",{className:"mdocs-agent-panel-welcome",ref:ge,onScroll:Bt,children:K.length===0?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mdocs-agent-panel-hello",children:z?"你好,我是 mdocs 帮写助手":"你好,我是 mdocs 智能助手"}),e.jsx("p",{className:"mdocs-agent-panel-desc",children:z?"这里专注改稿:你说怎么写,我更新右侧提案;按段接受或拒绝后,再点「完成并写回」。答疑、建目录、搜文档请用右下角「智能助手」。":"我能答疑、搜文档、整理结构,也能帮你写全文;需要按段精细改稿,请点文档顶栏「帮写」。"}),Le?e.jsx(yt,{onConfigured:ot}):ht?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:ht}):e.jsx("div",{className:"mdocs-agent-panel-chips",children:(z?sn:tn).map(t=>e.jsx("button",{type:"button",className:"mdocs-agent-panel-chip",onClick:()=>void qe(t),disabled:v||!(k!=null&&k.enabled),children:t},t))})]}):e.jsx("div",{className:"mdocs-agent-panel-messages",children:K.map(t=>{var n;return e.jsxs("div",{className:"mdocs-agent-panel-msg"+(t.role==="user"?" mdocs-agent-panel-msg-user":" mdocs-agent-panel-msg-assistant"),children:[t.role==="assistant"?e.jsx("div",{className:"mdocs-agent-panel-avatar mdocs-agent-panel-avatar-ai","aria-hidden":!0,children:e.jsx("img",{src:xt,alt:""})}):null,e.jsxs("div",{className:"mdocs-agent-panel-msg-bubble",children:[t.role==="user"&&t.skillNames&&t.skillNames.length>0?e.jsxs("div",{className:"mdocs-agent-msg-skills",children:["Skill ×",t.skillNames.length]}):null,t.role==="assistant"?t.blocks&&t.blocks.length>0?e.jsxs("div",{className:"mdocs-agent-panel-timeline",children:[t.blocks.map((r,m)=>{if(r.type==="thinking")return e.jsx(Zs,{block:r,live:v&&!r.endedAt,now:Ft},`${t.id}-th-${m}`);if(r.type==="text")return r.text?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(kt,{children:r.text})},`${t.id}-t-${m}`):null;if(r.type==="sources")return r.items.length===0?null:e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:["已阅读 ",r.items.length," 个页面"]}),e.jsx("ol",{className:"mdocs-agent-panel-sources-list",children:r.items.map(i=>e.jsx("li",{children:e.jsx("a",{href:i.url,target:"_blank",rel:"noreferrer",children:i.name})},i.id))})]})},`${t.id}-s-${m}`);if(r.type==="tool_call"){const i=r.status==="running"?"进行中":r.status==="error"?"失败":"完成";return e.jsxs("div",{className:`mdocs-agent-panel-block mdocs-agent-tool-call mdocs-agent-tool-call-${r.status}`,children:[e.jsxs("div",{className:"mdocs-agent-tool-call-head",children:[e.jsx("span",{className:"mdocs-agent-tool-call-status","aria-hidden":!0}),e.jsx("span",{className:"mdocs-agent-tool-call-label",children:r.label}),e.jsx("span",{className:"mdocs-agent-tool-call-badge",children:i})]}),r.detail?e.jsx("p",{className:"mdocs-agent-tool-call-detail",children:r.detail}):null]},`${t.id}-tc-${r.toolCallId}`)}if(r.type==="tool_notice")return e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx("p",{className:"mdocs-agent-panel-tool-notice",children:r.text})},`${t.id}-n-${m}`);if(r.type==="choice_card")return e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(cn,{block:r,onResolved:(i,c,h)=>{C(D=>D.map(P=>P.id!==t.id||!P.blocks?P:{...P,blocks:P.blocks.map(B=>B.type==="choice_card"&&B.requestId===i?{...B,status:h,selected:h==="selected"?c:B.selected}:B)}))}})},`${t.id}-ch-${m}`);if(r.type==="skill_form_card")return e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(Fs,{block:r,onResolved:(i,c,h)=>{C(D=>D.map(P=>P.id!==t.id||!P.blocks?P:{...P,blocks:P.blocks.map(B=>B.type==="skill_form_card"&&B.requestId===i?{...B,status:c,submittedName:c==="submitted"?h:B.submittedName}:B)}))}})},`${t.id}-sf-${m}`);if(r.type==="document_card"){const i=`${window.location.origin}${window.location.pathname}#/doc/${r.documentId}`;return e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",open:!0,children:[e.jsxs("summary",{children:[e.jsxs("button",{type:"button",className:"mdocs-agent-panel-doc-link",onClick:c=>{c.preventDefault(),c.stopPropagation(),Fe(r.documentId)},children:["《",r.title,"》"]}),e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:"打开文档"})]}),e.jsxs("div",{className:"mdocs-agent-panel-doc-card-body",children:[r.path?e.jsx("p",{className:"mdocs-agent-panel-doc-card-path",children:r.path}):null,e.jsx("p",{className:"mdocs-agent-panel-doc-card-path",children:e.jsx("a",{href:i,className:"mdocs-agent-panel-doc-link",onClick:c=>{c.preventDefault(),Fe(r.documentId)},children:i})}),r.preview?e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview",children:r.preview}):e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview muted",children:"(无正文预览)"})]})]})},`${t.id}-c-${m}`)}return e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:[r.title,e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:r.rows.length===0?"无结果":`${r.rows.length} 条`})]}),e.jsx("div",{className:"mdocs-agent-panel-doc-table-wrap",children:r.rows.length===0?e.jsx("p",{className:"mdocs-agent-panel-doc-table-empty",children:"无结果"}):e.jsxs("table",{className:"mdocs-agent-panel-doc-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"文章名字"}),e.jsx("th",{children:"文章内容"})]})}),e.jsx("tbody",{children:r.rows.map(i=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx("button",{type:"button",className:"mdocs-agent-panel-doc-link",onClick:()=>Fe(i.documentId),children:i.title})}),e.jsx("td",{children:i.summary||"-"})]},i.documentId))})]})})]})},`${t.id}-d-${m}`)}),v&&t.id===((n=K[K.length-1])==null?void 0:n.id)&&!bt(t.blocks)&&!on(t.blocks)?e.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}):null]}):t.content?e.jsx(kt,{children:t.content}):v?e.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}):null:t.content]}),t.role==="user"?e.jsx("div",{className:"mdocs-agent-panel-avatar mdocs-agent-panel-avatar-user","aria-hidden":!0,children:Mt}):null]},t.id)})})}),qt?e.jsxs("button",{type:"button",className:"mdocs-chat-jump-bottom",onClick:Ot,title:"回到底部","aria-label":"回到底部",children:[e.jsx(Ns,{size:14,strokeWidth:2,"aria-hidden":!0}),e.jsx("span",{children:"置底"})]}):null]}),Je?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:Je}):null,Le&&K.length>0?e.jsx(yt,{onConfigured:ot}):null,e.jsx(Ts,{selectedNames:re,onChange:Ae,disabled:v||!(k!=null&&k.enabled)}),e.jsxs("div",{className:"mdocs-agent-panel-input-wrap",children:[z?null:Ee?e.jsxs("div",{className:"mdocs-agent-doc-ref mdocs-agent-graph-ref",children:[e.jsx(St,{size:15,strokeWidth:1.75,className:"mdocs-agent-doc-ref-icon","aria-hidden":!0}),e.jsxs("div",{className:"mdocs-agent-doc-ref-text",children:[e.jsx("span",{className:"mdocs-agent-doc-ref-title",children:Pt}),e.jsx("span",{className:"mdocs-agent-doc-ref-path",children:"图谱(只读)"})]}),e.jsx("button",{type:"button",className:"mdocs-agent-doc-ref-unlink",title:"取消引用","aria-label":"取消引用当前图谱",disabled:v,onClick:()=>Ie(!0),children:e.jsx(we,{size:14,strokeWidth:2,"aria-hidden":!0})})]}):st?e.jsxs("div",{className:"mdocs-agent-doc-ref",children:[e.jsx(os,{size:15,strokeWidth:1.75,className:"mdocs-agent-doc-ref-icon","aria-hidden":!0}),e.jsxs("div",{className:"mdocs-agent-doc-ref-text",children:[e.jsx("span",{className:"mdocs-agent-doc-ref-title",children:Lt}),nt?e.jsx("span",{className:"mdocs-agent-doc-ref-path",children:nt}):null]}),e.jsx("button",{type:"button",className:"mdocs-agent-doc-ref-unlink",title:"取消引用","aria-label":"取消引用当前文档",disabled:v,onClick:()=>Ie(!0),children:e.jsx(we,{size:14,strokeWidth:2,"aria-hidden":!0})})]}):null,e.jsxs("div",{className:"mdocs-agent-panel-input-body",children:[e.jsx("textarea",{className:"mdocs-agent-panel-input",rows:2,placeholder:k!=null&&k.enabled?z?"说说要写什么…":"把你的问题告诉我…":"请先配置 API Key",value:pe,disabled:v||!(k!=null&&k.enabled),onChange:t=>fe(t.target.value),onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),qe(pe))}}),he?e.jsx(dn,{percent:he.percent,used:he.used,limit:he.limit}):null,e.jsx("button",{type:"button",className:v?"mdocs-agent-panel-send mdocs-agent-panel-send-stop":"mdocs-agent-panel-send",disabled:v?!1:!(k!=null&&k.enabled)||!pe.trim(),onClick:()=>{var t;if(v){const n=T.current;(t=R.current)==null||t.abort(),T.current=null,U(!1),n&&be(n).catch(()=>{});return}qe(pe)},title:v?"停止":"发送","aria-label":v?"停止":"发送",children:v?"■":"↑"})]})]}),e.jsx("p",{className:"mdocs-agent-panel-footnote",children:"内容由 AI 生成,仅供参考"})]}),_e?e.jsx("div",{className:"mdocs-agent-close-confirm-backdrop",role:"presentation",onClick:()=>{X||V(!1)},children:e.jsxs("div",{className:"mdocs-message-dialog mdocs-agent-close-confirm",role:"dialog","aria-modal":"true","aria-labelledby":"mdocs-agent-close-confirm-title",onClick:t=>t.stopPropagation(),children:[e.jsx("h3",{id:"mdocs-agent-close-confirm-title",className:"mdocs-message-dialog-title",children:"有待处理的倒计时"}),e.jsx("p",{className:"mdocs-message-dialog-body",children:"当前还有选择卡或 Skill 表单在倒计时。强制关闭会取消这些操作并退出助手;也可以继续等待完成后再关。"}),e.jsxs("div",{className:"mdocs-message-dialog-actions mdocs-agent-close-confirm-actions",children:[e.jsx("button",{type:"button",className:"secondary",disabled:X,onClick:()=>V(!1),children:"继续等待"}),e.jsx("button",{type:"button",disabled:X,onClick:()=>void Wt(),children:X?"关闭中…":"强制关闭并退出"})]})]})}):null]})});export{kn as AgentChatPanel};
@@ -1,7 +1,7 @@
1
- import{r as d,j as i}from"./react-vendor-BVS1XoFi.js";import{Z as O,ar as X,aQ as Y}from"./index-DAhW-QRN.js";import{AgentChatPanel as _}from"./AgentChatPanel-e1h0rqbg.js";import"./ui-CEFkTVnG.js";import"./motion-BAXVQJfN.js";import"./diagram-BF8g9yg4.js";import"./check-CuLfkkz7.js";import"./copy-CjAdouag.js";import"./plus-DkLh2brQ.js";function U(e){return e===""?[]:e.split(`
1
+ import{r as d,j as i}from"./react-vendor-BVS1XoFi.js";import{_ as O,M as X,aQ as Y}from"./index-Btfv_3-Q.js";import{AgentChatPanel as Z}from"./AgentChatPanel-_IV-LAS4.js";import"./ui-CEFkTVnG.js";import"./motion-BAXVQJfN.js";import"./diagram-BF8g9yg4.js";import"./check-BAYRiedE.js";import"./copy-J9XXv57X.js";import"./plus-DvWl4lHk.js";function U(e){return e===""?[]:e.split(`
2
2
  `)}function ee(e){return e.join(`
3
3
  `)}function V(e,s){const r=U(e),n=U(s),o=r.length,a=n.length,l=Array.from({length:o+1},()=>Array.from({length:a+1},()=>0));for(let k=o-1;k>=0;k--)for(let g=a-1;g>=0;g--)r[k]===n[g]?l[k][g]=l[k+1][g+1]+1:l[k][g]=Math.max(l[k+1][g],l[k][g+1]);const x=[];let u=0,h=0;for(;u<o||h<a;)if(u<o&&h<a&&r[u]===n[h])x.push({kind:"eq",oi:u,ni:h}),u++,h++;else if(h<a&&(u===o||l[u][h+1]>=l[u+1][h]))x.push({kind:"ins",oi:u,ni:h}),h++;else if(u<o)x.push({kind:"del",oi:u,ni:h}),u++;else break;const M=[];let c=0,y=0;for(;c<x.length;){if(x[c].kind==="eq"){c++;continue}const k=x[c].oi,g=x[c].ni,T=[],m=[];let E=k,I=g;for(;c<x.length&&x[c].kind!=="eq";){const L=x[c];L.kind==="del"?(T.push(r[L.oi]),E=L.oi+1):(m.push(n[L.ni]),I=L.ni+1),c++}M.push({id:`h${y++}`,oldStart:k,oldEnd:E,newStart:g,newEnd:I,oldLines:T,newLines:m})}return M}function ne(e,s){const r=U(e);return ee([...r.slice(0,s.oldStart),...s.newLines,...r.slice(s.oldEnd)])}function G(e){const s=[];for(const r of e){const n=s[s.length-1];r.kind==="same"&&(n==null?void 0:n.kind)==="same"?s[s.length-1]={kind:"same",lines:[...n.lines,...r.lines],key:n.key}:s.push(r)}return s}function J(e){let s=0;return e.map(r=>{if(r.kind!=="hunk")return r;const n={...r,hunkIndex:s,key:`h-${r.hunk.id}-${s}`};return s+=1,n})}function te(e,s){const r=e.map(n=>n.kind!=="hunk"||n.hunk.id!==s?n:{kind:"same",lines:n.hunk.oldLines.slice(),key:`s-rej-${n.hunk.id}`});return J(G(r))}function se(e,s,r){let n=0,o=!1;const a=[];for(const l of e){if(l.kind==="same"){a.push(l);continue}if(l.hunk.id===s){o=!0,n=r.length-l.hunk.oldLines.length,a.push({kind:"same",lines:r.slice(),key:`s-acc-${l.hunk.id}`});continue}if(!o||n===0){a.push(l);continue}a.push({...l,hunk:{...l.hunk,oldStart:l.hunk.oldStart+n,oldEnd:l.hunk.oldEnd+n}})}return J(G(a))}function A(e){return e===""?[]:e.split(`
4
4
  `)}function H(e){return e.join(`
5
- `)}function ie(e,s){const r=A(e),n=[];let o=0;return s.forEach((a,l)=>{a.oldStart>o&&n.push({kind:"same",lines:r.slice(o,a.oldStart),key:`s-${o}-${a.oldStart}`}),n.push({kind:"hunk",hunk:a,hunkIndex:l,key:`h-${a.id}-${l}`}),o=a.oldEnd}),o<r.length?n.push({kind:"same",lines:r.slice(o),key:`s-${o}-end`}):s.length===0&&r.length===0&&n.push({kind:"same",lines:[],key:"s-empty"}),n}function Q(e){const s=[],r=[];for(const n of e)n.kind==="same"?s.push(H(n.lines)):r.push(H(n.hunk.newLines));return{sameTexts:s,newTexts:r}}function Z(e,s){const r=[];let n=0,o=0;for(const a of e)if(a.kind==="same"){const l=s.sameTexts[n++]??"";r.push(...A(l))}else{const l=s.newTexts[o++]??"";r.push(...A(l))}return H(r)}function re(e){return e.oldLines.length===0?"add":e.newLines.length===0?"del":"mod"}function z(e){const s=Math.max(1,A(e.value).length);return i.jsxs("div",{className:`mdocs-ai-write-line ${e.className}`,children:[i.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),i.jsx("textarea",{className:"mdocs-ai-write-inline-edit",value:e.value,rows:s,spellCheck:!1,"aria-label":e["aria-label"],onChange:r=>e.onChange(r.target.value),onBlur:()=>e.onBlurFlush()})]})}function le(e){const s=!!e.sending,[r,n]=d.useState(0),[o,a]=d.useState(null),[l,x]=d.useState({sameTexts:[],newTexts:[]}),[u,h]=d.useState([]),M=d.useRef(!1),c=d.useRef(!1),y=d.useRef([]),k=d.useRef(l);k.current=l,y.current=u;const g=d.useMemo(()=>e.proposedMd==null||e.proposedMd===e.currentMd?[]:V(e.currentMd,e.proposedMd),[e.currentMd,e.proposedMd]),T=!s&&(u.length>0?u.some(t=>t.kind==="hunk"):g.length>0);d.useEffect(()=>{if(s){h([]),M.current=!1,c.current=!1;return}if(e.proposedMd==null||e.proposedMd===e.currentMd){h([]),M.current=!1,c.current=!1;return}if(c.current){c.current=!1;return}const t=V(e.currentMd,e.proposedMd);if(t.length===0){h([]);return}const f=ie(e.currentMd,t);h(f),M.current=!1,x(Q(f))},[s,e.proposedMd,e.currentMd]);const m=d.useMemo(()=>u.filter(t=>t.kind==="hunk").map(t=>t.hunk),[u]);d.useEffect(()=>{if(m.length===0){n(0);return}n(t=>Math.min(t,m.length-1))},[m.length]);const E=o??r;function I(){return Z(y.current,k.current)}function L(){if(!T||y.current.length===0)return e.proposedMd;const t=I();return M.current=!1,t===e.currentMd?(c.current=!1,e.onProposedChange(null),null):(t!==e.proposedMd&&(c.current=!0,e.onProposedChange(t)),t)}function $(t){const f=y.current.find(F=>F.kind==="hunk"&&F.hunk.id===t.id);if(!f)return;const b=k.current.newTexts[f.hunkIndex],j=b!=null?A(b):t.newLines.slice(),P={...t,newLines:j},C=I();if(M.current=!1,C===e.currentMd){c.current=!1,h([]),e.onProposedChange(null);return}const v=ne(e.currentMd,P),p=se(y.current,t.id,j),K=p.some(F=>F.kind==="hunk");c.current=!0,h(p),x(Q(p)),e.onCurrentChange(v),!K||C===v?(c.current=!1,e.onProposedChange(null)):e.onProposedChange(C)}function R(t){const f=y.current.find(v=>v.kind==="hunk"&&v.hunk.id===t.id);if(!f)return;const b={sameTexts:k.current.sameTexts.slice(),newTexts:k.current.newTexts.slice()};b.newTexts[f.hunkIndex]=H(t.oldLines);const j=Z(y.current,b),P=te(y.current,t.id),C=P.some(v=>v.kind==="hunk");M.current=!1,c.current=!0,h(P),x(Q(P)),!C||j===e.currentMd?(c.current=!1,e.onProposedChange(null)):e.onProposedChange(j)}function q(){const t=I();M.current=!1,c.current=!1,e.onCurrentChange(t),e.onProposedChange(null)}function D(){M.current=!1,c.current=!1,e.onProposedChange(null)}function N(t){m.length!==0&&n(f=>{const b=(f+t+m.length)%m.length,j=document.getElementById(`mdocs-ai-hunk-${b}`);return j==null||j.scrollIntoView({block:"center",behavior:"smooth"}),b})}function S(t,f){M.current=!0,x(b=>{const j=b.sameTexts.slice();return j[t]=f,{...b,sameTexts:j}})}function W(t,f){M.current=!0,x(b=>{const j=b.newTexts.slice();return j[t]=f,{...b,newTexts:j}})}const w=m[E]??null;let B=0;return i.jsxs("div",{className:"mdocs-ai-write-md-pane",children:[i.jsxs("div",{className:"mdocs-ai-write-diff-toolbar",children:[i.jsx("span",{className:"mdocs-ai-write-diff-count",children:s?"接收中·编辑我的稿":m.length===0?e.proposedMd?"与提案一致(可编辑)":"Markdown 源码(可编辑)":`${m.length} 处变更(可改提案)`}),!s&&m.length>0?i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"mdocs-ai-write-diff-accept-all",onClick:q,children:"全部接受"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-diff-reject-all",onClick:D,children:"全部拒绝"})]}):null]}),T&&u.length>0?i.jsxs("div",{className:"mdocs-ai-write-inline",role:"document",children:[u.map(t=>{if(t.kind==="same"){const C=B++,v=l.sameTexts[C]??H(t.lines);return i.jsx("div",{className:"mdocs-ai-write-inline-same",children:i.jsx(z,{className:"ctx",value:v,"aria-label":"提案相同行",onChange:p=>S(C,p),onBlurFlush:()=>L()})},t.key)}const f=t.hunk,b=re(f),j=t.hunkIndex===E,P=l.newTexts[t.hunkIndex]??H(f.newLines);return i.jsxs("div",{id:`mdocs-ai-hunk-${t.hunkIndex}`,className:`mdocs-ai-write-inline-hunk mdocs-ai-write-inline-hunk-${b}`+(j?" is-active":""),onMouseEnter:()=>a(t.hunkIndex),onMouseLeave:()=>a(null),onClick:()=>n(t.hunkIndex),children:[i.jsxs("div",{className:"mdocs-ai-write-hunk-hover",hidden:o!==t.hunkIndex,children:[i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:C=>{C.stopPropagation(),R(f)},children:"拒绝"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:C=>{C.stopPropagation(),$(f)},children:"接受"})]}),i.jsx("pre",{className:"mdocs-ai-write-hunk-pre",children:f.oldLines.map((C,v)=>i.jsxs("div",{className:"mdocs-ai-write-line del mdocs-ai-write-line-readonly",children:[i.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),i.jsx("span",{className:"mdocs-ai-write-code",children:C||" "})]},`o${v}`))}),f.newLines.length>0||P!==""||b!=="del"?i.jsx(z,{className:"add",value:P,"aria-label":"提案新增行",onChange:C=>W(t.hunkIndex,C),onBlurFlush:()=>L()}):null]},t.key)}),w?i.jsxs("div",{className:"mdocs-ai-write-float-nav",role:"toolbar","aria-label":"变更导航",children:[i.jsx("button",{type:"button","aria-label":"上一段",onClick:()=>N(-1),children:"↑"}),i.jsxs("span",{children:[E+1," / ",m.length]}),i.jsx("button",{type:"button","aria-label":"下一段",onClick:()=>N(1),children:"↓"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:()=>R(w),children:"拒绝"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:()=>$(w),children:"接受"})]}):null]}):i.jsx("textarea",{className:"mdocs-ai-write-editor",value:e.currentMd,onChange:t=>e.onCurrentChange(t.target.value),spellCheck:!1,placeholder:`# 标题
5
+ `)}function ie(e,s){const r=A(e),n=[];let o=0;return s.forEach((a,l)=>{a.oldStart>o&&n.push({kind:"same",lines:r.slice(o,a.oldStart),key:`s-${o}-${a.oldStart}`}),n.push({kind:"hunk",hunk:a,hunkIndex:l,key:`h-${a.id}-${l}`}),o=a.oldEnd}),o<r.length?n.push({kind:"same",lines:r.slice(o),key:`s-${o}-end`}):s.length===0&&r.length===0&&n.push({kind:"same",lines:[],key:"s-empty"}),n}function Q(e){const s=[],r=[];for(const n of e)n.kind==="same"?s.push(H(n.lines)):r.push(H(n.hunk.newLines));return{sameTexts:s,newTexts:r}}function _(e,s){const r=[];let n=0,o=0;for(const a of e)if(a.kind==="same"){const l=s.sameTexts[n++]??"";r.push(...A(l))}else{const l=s.newTexts[o++]??"";r.push(...A(l))}return H(r)}function re(e){return e.oldLines.length===0?"add":e.newLines.length===0?"del":"mod"}function z(e){const s=Math.max(1,A(e.value).length);return i.jsxs("div",{className:`mdocs-ai-write-line ${e.className}`,children:[i.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),i.jsx("textarea",{className:"mdocs-ai-write-inline-edit",value:e.value,rows:s,spellCheck:!1,"aria-label":e["aria-label"],onChange:r=>e.onChange(r.target.value),onBlur:()=>e.onBlurFlush()})]})}function le(e){const s=!!e.sending,[r,n]=d.useState(0),[o,a]=d.useState(null),[l,x]=d.useState({sameTexts:[],newTexts:[]}),[u,h]=d.useState([]),M=d.useRef(!1),c=d.useRef(!1),y=d.useRef([]),k=d.useRef(l);k.current=l,y.current=u;const g=d.useMemo(()=>e.proposedMd==null||e.proposedMd===e.currentMd?[]:V(e.currentMd,e.proposedMd),[e.currentMd,e.proposedMd]),T=!s&&(u.length>0?u.some(t=>t.kind==="hunk"):g.length>0);d.useEffect(()=>{if(s){h([]),M.current=!1,c.current=!1;return}if(e.proposedMd==null||e.proposedMd===e.currentMd){h([]),M.current=!1,c.current=!1;return}if(c.current){c.current=!1;return}const t=V(e.currentMd,e.proposedMd);if(t.length===0){h([]);return}const f=ie(e.currentMd,t);h(f),M.current=!1,x(Q(f))},[s,e.proposedMd,e.currentMd]);const m=d.useMemo(()=>u.filter(t=>t.kind==="hunk").map(t=>t.hunk),[u]);d.useEffect(()=>{if(m.length===0){n(0);return}n(t=>Math.min(t,m.length-1))},[m.length]);const E=o??r;function I(){return _(y.current,k.current)}function L(){if(!T||y.current.length===0)return e.proposedMd;const t=I();return M.current=!1,t===e.currentMd?(c.current=!1,e.onProposedChange(null),null):(t!==e.proposedMd&&(c.current=!0,e.onProposedChange(t)),t)}function $(t){const f=y.current.find(F=>F.kind==="hunk"&&F.hunk.id===t.id);if(!f)return;const b=k.current.newTexts[f.hunkIndex],j=b!=null?A(b):t.newLines.slice(),P={...t,newLines:j},C=I();if(M.current=!1,C===e.currentMd){c.current=!1,h([]),e.onProposedChange(null);return}const v=ne(e.currentMd,P),p=se(y.current,t.id,j),K=p.some(F=>F.kind==="hunk");c.current=!0,h(p),x(Q(p)),e.onCurrentChange(v),!K||C===v?(c.current=!1,e.onProposedChange(null)):e.onProposedChange(C)}function R(t){const f=y.current.find(v=>v.kind==="hunk"&&v.hunk.id===t.id);if(!f)return;const b={sameTexts:k.current.sameTexts.slice(),newTexts:k.current.newTexts.slice()};b.newTexts[f.hunkIndex]=H(t.oldLines);const j=_(y.current,b),P=te(y.current,t.id),C=P.some(v=>v.kind==="hunk");M.current=!1,c.current=!0,h(P),x(Q(P)),!C||j===e.currentMd?(c.current=!1,e.onProposedChange(null)):e.onProposedChange(j)}function q(){const t=I();M.current=!1,c.current=!1,e.onCurrentChange(t),e.onProposedChange(null)}function D(){M.current=!1,c.current=!1,e.onProposedChange(null)}function N(t){m.length!==0&&n(f=>{const b=(f+t+m.length)%m.length,j=document.getElementById(`mdocs-ai-hunk-${b}`);return j==null||j.scrollIntoView({block:"center",behavior:"smooth"}),b})}function S(t,f){M.current=!0,x(b=>{const j=b.sameTexts.slice();return j[t]=f,{...b,sameTexts:j}})}function W(t,f){M.current=!0,x(b=>{const j=b.newTexts.slice();return j[t]=f,{...b,newTexts:j}})}const w=m[E]??null;let B=0;return i.jsxs("div",{className:"mdocs-ai-write-md-pane",children:[i.jsxs("div",{className:"mdocs-ai-write-diff-toolbar",children:[i.jsx("span",{className:"mdocs-ai-write-diff-count",children:s?"接收中·编辑我的稿":m.length===0?e.proposedMd?"与提案一致(可编辑)":"Markdown 源码(可编辑)":`${m.length} 处变更(可改提案)`}),!s&&m.length>0?i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"mdocs-ai-write-diff-accept-all",onClick:q,children:"全部接受"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-diff-reject-all",onClick:D,children:"全部拒绝"})]}):null]}),T&&u.length>0?i.jsxs("div",{className:"mdocs-ai-write-inline",role:"document",children:[u.map(t=>{if(t.kind==="same"){const C=B++,v=l.sameTexts[C]??H(t.lines);return i.jsx("div",{className:"mdocs-ai-write-inline-same",children:i.jsx(z,{className:"ctx",value:v,"aria-label":"提案相同行",onChange:p=>S(C,p),onBlurFlush:()=>L()})},t.key)}const f=t.hunk,b=re(f),j=t.hunkIndex===E,P=l.newTexts[t.hunkIndex]??H(f.newLines);return i.jsxs("div",{id:`mdocs-ai-hunk-${t.hunkIndex}`,className:`mdocs-ai-write-inline-hunk mdocs-ai-write-inline-hunk-${b}`+(j?" is-active":""),onMouseEnter:()=>a(t.hunkIndex),onMouseLeave:()=>a(null),onClick:()=>n(t.hunkIndex),children:[i.jsxs("div",{className:"mdocs-ai-write-hunk-hover",hidden:o!==t.hunkIndex,children:[i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:C=>{C.stopPropagation(),R(f)},children:"拒绝"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:C=>{C.stopPropagation(),$(f)},children:"接受"})]}),i.jsx("pre",{className:"mdocs-ai-write-hunk-pre",children:f.oldLines.map((C,v)=>i.jsxs("div",{className:"mdocs-ai-write-line del mdocs-ai-write-line-readonly",children:[i.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),i.jsx("span",{className:"mdocs-ai-write-code",children:C||" "})]},`o${v}`))}),f.newLines.length>0||P!==""||b!=="del"?i.jsx(z,{className:"add",value:P,"aria-label":"提案新增行",onChange:C=>W(t.hunkIndex,C),onBlurFlush:()=>L()}):null]},t.key)}),w?i.jsxs("div",{className:"mdocs-ai-write-float-nav",role:"toolbar","aria-label":"变更导航",children:[i.jsx("button",{type:"button","aria-label":"上一段",onClick:()=>N(-1),children:"↑"}),i.jsxs("span",{children:[E+1," / ",m.length]}),i.jsx("button",{type:"button","aria-label":"下一段",onClick:()=>N(1),children:"↓"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:()=>R(w),children:"拒绝"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:()=>$(w),children:"接受"})]}):null]}):i.jsx("textarea",{className:"mdocs-ai-write-editor",value:e.currentMd,onChange:t=>e.onCurrentChange(t.target.value),spellCheck:!1,placeholder:`# 标题
6
6
 
7
- 在此编辑 Markdown 源码…`})]})}function xe(e){const[s,r]=d.useState(e.initialMarkdown),[n,o]=d.useState(null),[a]=d.useState(e.initialMarkdown),[l,x]=d.useState(e.displayName||"未命名"),[u,h]=d.useState(null),[M,c]=d.useState(!1),[y,k]=d.useState(null),[g,T]=d.useState(!1),[m,E]=d.useState(null),I=d.useRef(null);if(d.useEffect(()=>{e.open&&(r(e.initialMarkdown),o(null),x(e.displayName||"未命名"),k(null))},[e.open,e.initialMarkdown,e.displayName,e.documentId]),!e.open)return null;const L=n!=null&&n!==s?V(s,n):[];function $(N){return new Promise(S=>{I.current=S,E({message:N.message,confirmLabel:N.confirmLabel??"确定",cancelLabel:N.cancelLabel??"返回",danger:N.danger??!1})})}function R(N){const S=I.current;I.current=null,E(null),S==null||S(N)}async function q(){if(!await $({message:"是否回写",confirmLabel:"确认",cancelLabel:"返回"}))return;let S=s;L.length>0&&(S=n??s,r(S),o(null)),T(!0);const W=!e.documentId;try{const w=await e.onComplete({markdown:S,documentId:e.documentId,displayName:l.trim()||"未命名"}),B=w&&typeof w=="object"&&typeof w.documentId=="string"?w.documentId.trim():"";if(W&&B&&u)try{await Y(u,B)}catch{}e.onClose()}catch(w){if(w!=null&&w.silent||w instanceof Error&&w.message==="cancelled")return;k(w instanceof Error?w.message:String(w))}finally{T(!1)}}async function D(){(s!==a||n!=null)&&!await $({message:"取消帮写?未写回的修改将丢失。",confirmLabel:"放弃修改",danger:!0})||e.onClose()}return i.jsxs("div",{className:"mdocs-ai-write-overlay",role:"dialog","aria-modal":"true","aria-label":"帮写",children:[i.jsxs("header",{className:"mdocs-ai-write-header",children:[i.jsxs("div",{className:"mdocs-ai-write-header-left",children:[i.jsx("img",{src:O,alt:"",className:"mdocs-ai-write-title-logo"}),i.jsx("strong",{children:"帮写"}),i.jsx("input",{className:"mdocs-ai-write-title",value:l,onChange:N=>x(N.target.value),"aria-label":"文档标题"})]}),i.jsxs("div",{className:"mdocs-ai-write-header-actions",children:[i.jsx("button",{type:"button",onClick:()=>void D(),disabled:g||m!=null,children:"取消"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-primary",onClick:()=>void q(),disabled:g||m!=null,children:g?"写回中…":"完成并写回"})]})]}),y?i.jsx("p",{className:"mdocs-ai-write-error",children:y}):null,i.jsxs("div",{className:"mdocs-ai-write-body",children:[i.jsx("section",{className:"mdocs-ai-write-chat",children:i.jsx(_,{embedded:!0,open:!0,mode:"coding",documentId:e.documentId,workingMarkdown:s,baseMarkdown:a,onMarkdownSet:o,onSendingChange:c,onSessionId:h,onClose:e.onClose})}),i.jsx(le,{currentMd:s,proposedMd:n,sending:M,onCurrentChange:r,onProposedChange:o})]}),m?i.jsx(X,{message:m.message,confirmLabel:m.confirmLabel,cancelLabel:m.cancelLabel,danger:m.danger,onConfirm:()=>R(!0),onCancel:()=>R(!1)}):null]})}export{xe as AiWriteWorkbench};
7
+ 在此编辑 Markdown 源码…`})]})}function xe(e){const[s,r]=d.useState(e.initialMarkdown),[n,o]=d.useState(null),[a]=d.useState(e.initialMarkdown),[l,x]=d.useState(e.displayName||"未命名"),[u,h]=d.useState(null),[M,c]=d.useState(!1),[y,k]=d.useState(null),[g,T]=d.useState(!1),[m,E]=d.useState(null),I=d.useRef(null);if(d.useEffect(()=>{e.open&&(r(e.initialMarkdown),o(null),x(e.displayName||"未命名"),k(null))},[e.open,e.initialMarkdown,e.displayName,e.documentId]),!e.open)return null;const L=n!=null&&n!==s?V(s,n):[];function $(N){return new Promise(S=>{I.current=S,E({message:N.message,confirmLabel:N.confirmLabel??"确定",cancelLabel:N.cancelLabel??"返回",danger:N.danger??!1})})}function R(N){const S=I.current;I.current=null,E(null),S==null||S(N)}async function q(){if(!await $({message:"是否回写",confirmLabel:"确认",cancelLabel:"返回"}))return;let S=s;L.length>0&&(S=n??s,r(S),o(null)),T(!0);const W=!e.documentId;try{const w=await e.onComplete({markdown:S,documentId:e.documentId,displayName:l.trim()||"未命名"}),B=w&&typeof w=="object"&&typeof w.documentId=="string"?w.documentId.trim():"";if(W&&B&&u)try{await Y(u,B)}catch{}e.onClose()}catch(w){if(w!=null&&w.silent||w instanceof Error&&w.message==="cancelled")return;k(w instanceof Error?w.message:String(w))}finally{T(!1)}}async function D(){(s!==a||n!=null)&&!await $({message:"取消帮写?未写回的修改将丢失。",confirmLabel:"放弃修改",danger:!0})||e.onClose()}return i.jsxs("div",{className:"mdocs-ai-write-overlay",role:"dialog","aria-modal":"true","aria-label":"帮写",children:[i.jsxs("header",{className:"mdocs-ai-write-header",children:[i.jsxs("div",{className:"mdocs-ai-write-header-left",children:[i.jsx("img",{src:O,alt:"",className:"mdocs-ai-write-title-logo"}),i.jsx("strong",{children:"帮写"}),i.jsx("input",{className:"mdocs-ai-write-title",value:l,onChange:N=>x(N.target.value),"aria-label":"文档标题"})]}),i.jsxs("div",{className:"mdocs-ai-write-header-actions",children:[i.jsx("button",{type:"button",onClick:()=>void D(),disabled:g||m!=null,children:"取消"}),i.jsx("button",{type:"button",className:"mdocs-ai-write-primary",onClick:()=>void q(),disabled:g||m!=null,children:g?"写回中…":"完成并写回"})]})]}),y?i.jsx("p",{className:"mdocs-ai-write-error",children:y}):null,i.jsxs("div",{className:"mdocs-ai-write-body",children:[i.jsx("section",{className:"mdocs-ai-write-chat",children:i.jsx(Z,{embedded:!0,open:!0,mode:"coding",documentId:e.documentId,workingMarkdown:s,baseMarkdown:a,onMarkdownSet:o,onSendingChange:c,onSessionId:h,onClose:e.onClose})}),i.jsx(le,{currentMd:s,proposedMd:n,sending:M,onCurrentChange:r,onProposedChange:o})]}),m?i.jsx(X,{message:m.message,confirmLabel:m.confirmLabel,cancelLabel:m.cancelLabel,danger:m.danger,onConfirm:()=>R(!0),onCancel:()=>R(!1)}):null]})}export{xe as AiWriteWorkbench};
@@ -1,2 +1,2 @@
1
- import{Q as I,S as H,T as F,U as O,V as G}from"./react-Dj2vqPq5.js";import{r as c,j as e}from"./react-vendor-BVS1XoFi.js";import{ensureMeta2dShapes as X,generateSvgFromMeta2d as Q,generateSvgFromDiagram as Y}from"./meta2dEngine-BD2XbzaV-CNHknbe2.js";import{M as _}from"./meta2d-DP4Vt_ZE.js";import"./editor-DBWWidi3.js";import"./ui-CEFkTVnG.js";import"./motion-BAXVQJfN.js";import"./diagram-BF8g9yg4.js";import"./index-DAhW-QRN.js";import"./plus-DkLh2brQ.js";import"./copy-CjAdouag.js";import"./check-CuLfkkz7.js";let q=0;const P=new Set;function $(n){return P.add(n),()=>{P.delete(n)}}function M(){return q}function J(){q++,P.forEach(n=>n())}function z(n){let t=null;try{const[r]=I();t=r}catch{}const i=t;if(!i)throw new Error("[useEditorLocale] No editor found. Pass an editor instance or use this hook inside an <Editor> tree.");return c.useSyncExternalStore($,M,M),{setLocale:c.useCallback(r=>{i.setLocale(r),J()},[i]),t:c.useCallback((r,u)=>i.t(r,u),[i])}}const K={Activity:"meta2d.palette.groups.activity",Basic:"meta2d.palette.groups.basic","Fault tree":"meta2d.palette.groups.faultTree",Flow:"meta2d.palette.groups.flow","Sequence & class":"meta2d.palette.groups.sequenceClass"};function W(n){return`meta2d.palette.${n}`}const s={background:"#fff",color:"#1f1f1f",height:60,lineWidth:1,textColor:"#1f1f1f",width:120};function U(){return[{group:"Basic",key:"square",label:"Square",pen:{...s,height:100,name:"square",text:"",width:100}},{group:"Basic",key:"rect",label:"Rectangle",pen:{...s,name:"rectangle",text:"Rectangle"}},{group:"Basic",key:"roundRect",label:"Rounded",pen:{...s,borderRadius:.2,name:"rectangle",text:"Rounded"}},{group:"Basic",key:"circle",label:"Circle",pen:{...s,height:80,name:"circle",text:"Circle",width:80}},{group:"Basic",key:"triangle",label:"Triangle",pen:{...s,height:90,name:"triangle",text:"Triangle",width:100}},{group:"Basic",key:"diamond",label:"Diamond",pen:{...s,height:100,name:"diamond",text:"Decision",width:100}},{group:"Basic",key:"pentagon",label:"Pentagon",pen:{...s,height:100,name:"pentagon",text:"Pentagon",width:100}},{group:"Basic",key:"hexagon",label:"Hexagon",pen:{...s,height:100,name:"hexagon",text:"Hexagon",width:100}},{group:"Basic",key:"pentagram",label:"Star",pen:{...s,height:100,name:"pentagram",text:"",width:100}},{group:"Basic",key:"leftArrow",label:"Left arrow",pen:{height:60,name:"leftArrow",width:120}},{group:"Basic",key:"rightArrow",label:"Right arrow",pen:{height:60,name:"rightArrow",width:120}},{group:"Basic",key:"twowayArrow",label:"Two-way",pen:{height:60,name:"twowayArrow",width:150}},{group:"Basic",key:"cloud",label:"Cloud",pen:{height:100,name:"cloud",width:100}},{group:"Basic",key:"message",label:"Message",pen:{height:100,name:"message",textTop:-.1,width:100}},{group:"Basic",key:"file",label:"File",pen:{height:100,name:"file",width:80}},{group:"Basic",key:"cube",label:"Cube",pen:{height:100,name:"cube",width:60,z:.25}},{group:"Basic",key:"people",label:"Actor",pen:{height:100,name:"people",width:70}},{group:"Basic",key:"text",label:"Text",pen:{...s,background:"transparent",color:"transparent",height:32,name:"text",text:"text",width:120}},{group:"Basic",key:"line",label:"Line",pen:{color:"#1f1f1f",height:1,lineWidth:1,name:"line",width:160}},{group:"Flow",key:"flowTerminal",label:"Terminal",pen:{...s,borderRadius:.5,height:40,name:"rectangle",text:"Start / End",width:120}},{group:"Flow",key:"flowProcess",label:"Process",pen:{...s,height:40,name:"rectangle",text:"Process",width:120}},{group:"Flow",key:"flowDecision",label:"Decision",pen:{...s,height:60,name:"diamond",text:"Decision",width:120}},{group:"Flow",key:"flowData",label:"Data",pen:{...s,name:"flowData",offsetX:.14,text:"Data"}},{group:"Flow",key:"flowPrepare",label:"Prepare",pen:{...s,height:50,name:"hexagon",text:"Prepare",width:120}},{group:"Flow",key:"flowSubprocess",label:"Subprocess",pen:{...s,height:50,name:"flowSubprocess",text:"Subprocess",width:120}},{group:"Flow",key:"flowDb",label:"Database",pen:{...s,height:100,name:"flowDb",text:"DB",width:80}},{group:"Flow",key:"flowDocument",label:"Document",pen:{...s,height:100,name:"flowDocument",text:"Document",width:120}},{group:"Flow",key:"flowInternalStorage",label:"Int. storage",pen:{...s,height:80,name:"flowInternalStorage",text:"Internal",width:120}},{group:"Flow",key:"flowExternStorage",label:"Ext. storage",pen:{...s,height:80,name:"flowExternStorage",text:"External",width:120}},{group:"Flow",key:"flowQueue",label:"Queue",pen:{...s,height:100,name:"flowQueue",text:"Queue",width:100}},{group:"Flow",key:"flowManually",label:"Manual input",pen:{...s,height:80,name:"flowManually",text:"Manual",width:120}},{group:"Flow",key:"flowDisplay",label:"Display",pen:{...s,height:80,name:"flowDisplay",text:"Display",width:120}},{group:"Flow",key:"flowParallel",label:"Parallel",pen:{...s,height:50,name:"flowParallel",text:"Parallel",width:120}},{group:"Flow",key:"flowComment",label:"Comment",pen:{...s,height:100,name:"flowComment",text:"Note",width:100}},{group:"Activity",key:"actStart",label:"Start",pen:{background:"#555",height:30,lineWidth:0,name:"circle",text:"",width:30}},{group:"Activity",key:"actFinal",label:"Final",pen:{height:30,name:"activityFinal",width:30}},{group:"Activity",key:"actStep",label:"Action",pen:{...s,borderRadius:.25,height:50,name:"rectangle",text:"Action",width:120}},{group:"Activity",key:"actMerge",label:"Merge",pen:{...s,height:50,name:"diamond",text:"Merge",width:120}},{group:"Activity",key:"swimlaneV",label:"Swimlane V",pen:{height:500,lineTop:.08,name:"swimlaneV",text:"Swimlane",textBaseline:"top",textTop:20,width:200}},{group:"Activity",key:"swimlaneH",label:"Swimlane H",pen:{height:200,lineLeft:.08,name:"swimlaneH",text:"Swimlane",textAlign:"left",textLeft:.04,textWidth:.01,width:500}},{group:"Activity",key:"forkV",label:"Fork V",pen:{fillStyle:"#555",height:150,name:"forkV",strokeStyle:"transparent",text:"",width:10}},{group:"Activity",key:"forkH",label:"Fork H",pen:{fillStyle:"#555",height:10,name:"forkH",strokeStyle:"transparent",text:"",width:150}},{group:"Sequence & class",key:"lifeline",label:"Lifeline",pen:{height:400,name:"lifeline",text:"Object",textHeight:50,width:150}},{group:"Sequence & class",key:"sequenceFocus",label:"Activation",pen:{height:200,name:"sequenceFocus",text:"",width:12}},{group:"Sequence & class",key:"simpleClass",label:"Simple class",pen:{height:200,list:[{text:`- name: string
1
+ import{Q as I,S as H,T as F,U as O,V as G}from"./react-C7aGt3wN.js";import{r as c,j as e}from"./react-vendor-BVS1XoFi.js";import{ensureMeta2dShapes as X,generateSvgFromMeta2d as Q,generateSvgFromDiagram as Y}from"./meta2dEngine-BD2XbzaV-MY1Hyyeh.js";import{M as _}from"./meta2d-DP4Vt_ZE.js";import"./editor-DBWWidi3.js";import"./ui-CEFkTVnG.js";import"./motion-BAXVQJfN.js";import"./diagram-BF8g9yg4.js";import"./index-Btfv_3-Q.js";import"./plus-DvWl4lHk.js";import"./copy-J9XXv57X.js";import"./check-BAYRiedE.js";let q=0;const P=new Set;function $(n){return P.add(n),()=>{P.delete(n)}}function M(){return q}function J(){q++,P.forEach(n=>n())}function z(n){let t=null;try{const[r]=I();t=r}catch{}const i=t;if(!i)throw new Error("[useEditorLocale] No editor found. Pass an editor instance or use this hook inside an <Editor> tree.");return c.useSyncExternalStore($,M,M),{setLocale:c.useCallback(r=>{i.setLocale(r),J()},[i]),t:c.useCallback((r,u)=>i.t(r,u),[i])}}const K={Activity:"meta2d.palette.groups.activity",Basic:"meta2d.palette.groups.basic","Fault tree":"meta2d.palette.groups.faultTree",Flow:"meta2d.palette.groups.flow","Sequence & class":"meta2d.palette.groups.sequenceClass"};function W(n){return`meta2d.palette.${n}`}const s={background:"#fff",color:"#1f1f1f",height:60,lineWidth:1,textColor:"#1f1f1f",width:120};function U(){return[{group:"Basic",key:"square",label:"Square",pen:{...s,height:100,name:"square",text:"",width:100}},{group:"Basic",key:"rect",label:"Rectangle",pen:{...s,name:"rectangle",text:"Rectangle"}},{group:"Basic",key:"roundRect",label:"Rounded",pen:{...s,borderRadius:.2,name:"rectangle",text:"Rounded"}},{group:"Basic",key:"circle",label:"Circle",pen:{...s,height:80,name:"circle",text:"Circle",width:80}},{group:"Basic",key:"triangle",label:"Triangle",pen:{...s,height:90,name:"triangle",text:"Triangle",width:100}},{group:"Basic",key:"diamond",label:"Diamond",pen:{...s,height:100,name:"diamond",text:"Decision",width:100}},{group:"Basic",key:"pentagon",label:"Pentagon",pen:{...s,height:100,name:"pentagon",text:"Pentagon",width:100}},{group:"Basic",key:"hexagon",label:"Hexagon",pen:{...s,height:100,name:"hexagon",text:"Hexagon",width:100}},{group:"Basic",key:"pentagram",label:"Star",pen:{...s,height:100,name:"pentagram",text:"",width:100}},{group:"Basic",key:"leftArrow",label:"Left arrow",pen:{height:60,name:"leftArrow",width:120}},{group:"Basic",key:"rightArrow",label:"Right arrow",pen:{height:60,name:"rightArrow",width:120}},{group:"Basic",key:"twowayArrow",label:"Two-way",pen:{height:60,name:"twowayArrow",width:150}},{group:"Basic",key:"cloud",label:"Cloud",pen:{height:100,name:"cloud",width:100}},{group:"Basic",key:"message",label:"Message",pen:{height:100,name:"message",textTop:-.1,width:100}},{group:"Basic",key:"file",label:"File",pen:{height:100,name:"file",width:80}},{group:"Basic",key:"cube",label:"Cube",pen:{height:100,name:"cube",width:60,z:.25}},{group:"Basic",key:"people",label:"Actor",pen:{height:100,name:"people",width:70}},{group:"Basic",key:"text",label:"Text",pen:{...s,background:"transparent",color:"transparent",height:32,name:"text",text:"text",width:120}},{group:"Basic",key:"line",label:"Line",pen:{color:"#1f1f1f",height:1,lineWidth:1,name:"line",width:160}},{group:"Flow",key:"flowTerminal",label:"Terminal",pen:{...s,borderRadius:.5,height:40,name:"rectangle",text:"Start / End",width:120}},{group:"Flow",key:"flowProcess",label:"Process",pen:{...s,height:40,name:"rectangle",text:"Process",width:120}},{group:"Flow",key:"flowDecision",label:"Decision",pen:{...s,height:60,name:"diamond",text:"Decision",width:120}},{group:"Flow",key:"flowData",label:"Data",pen:{...s,name:"flowData",offsetX:.14,text:"Data"}},{group:"Flow",key:"flowPrepare",label:"Prepare",pen:{...s,height:50,name:"hexagon",text:"Prepare",width:120}},{group:"Flow",key:"flowSubprocess",label:"Subprocess",pen:{...s,height:50,name:"flowSubprocess",text:"Subprocess",width:120}},{group:"Flow",key:"flowDb",label:"Database",pen:{...s,height:100,name:"flowDb",text:"DB",width:80}},{group:"Flow",key:"flowDocument",label:"Document",pen:{...s,height:100,name:"flowDocument",text:"Document",width:120}},{group:"Flow",key:"flowInternalStorage",label:"Int. storage",pen:{...s,height:80,name:"flowInternalStorage",text:"Internal",width:120}},{group:"Flow",key:"flowExternStorage",label:"Ext. storage",pen:{...s,height:80,name:"flowExternStorage",text:"External",width:120}},{group:"Flow",key:"flowQueue",label:"Queue",pen:{...s,height:100,name:"flowQueue",text:"Queue",width:100}},{group:"Flow",key:"flowManually",label:"Manual input",pen:{...s,height:80,name:"flowManually",text:"Manual",width:120}},{group:"Flow",key:"flowDisplay",label:"Display",pen:{...s,height:80,name:"flowDisplay",text:"Display",width:120}},{group:"Flow",key:"flowParallel",label:"Parallel",pen:{...s,height:50,name:"flowParallel",text:"Parallel",width:120}},{group:"Flow",key:"flowComment",label:"Comment",pen:{...s,height:100,name:"flowComment",text:"Note",width:100}},{group:"Activity",key:"actStart",label:"Start",pen:{background:"#555",height:30,lineWidth:0,name:"circle",text:"",width:30}},{group:"Activity",key:"actFinal",label:"Final",pen:{height:30,name:"activityFinal",width:30}},{group:"Activity",key:"actStep",label:"Action",pen:{...s,borderRadius:.25,height:50,name:"rectangle",text:"Action",width:120}},{group:"Activity",key:"actMerge",label:"Merge",pen:{...s,height:50,name:"diamond",text:"Merge",width:120}},{group:"Activity",key:"swimlaneV",label:"Swimlane V",pen:{height:500,lineTop:.08,name:"swimlaneV",text:"Swimlane",textBaseline:"top",textTop:20,width:200}},{group:"Activity",key:"swimlaneH",label:"Swimlane H",pen:{height:200,lineLeft:.08,name:"swimlaneH",text:"Swimlane",textAlign:"left",textLeft:.04,textWidth:.01,width:500}},{group:"Activity",key:"forkV",label:"Fork V",pen:{fillStyle:"#555",height:150,name:"forkV",strokeStyle:"transparent",text:"",width:10}},{group:"Activity",key:"forkH",label:"Fork H",pen:{fillStyle:"#555",height:10,name:"forkH",strokeStyle:"transparent",text:"",width:150}},{group:"Sequence & class",key:"lifeline",label:"Lifeline",pen:{height:400,name:"lifeline",text:"Object",textHeight:50,width:150}},{group:"Sequence & class",key:"sequenceFocus",label:"Activation",pen:{height:200,name:"sequenceFocus",text:"",width:12}},{group:"Sequence & class",key:"simpleClass",label:"Simple class",pen:{height:200,list:[{text:`- name: string
2
2
  + setName(name: string): void`}],name:"simpleClass",text:"ClassName",textAlign:"center",textBaseline:"top",textHeight:200,textTop:10,width:270}},{group:"Sequence & class",key:"interfaceClass",label:"Class",pen:{height:200,list:[{text:"- name: string"},{text:"+ setName(name: string): void"}],name:"interfaceClass",text:"ClassName",textAlign:"center",textBaseline:"top",textHeight:200,textTop:10,width:270}},{group:"Fault tree",key:"andGate",label:"AND gate",pen:{height:150,name:"andGate",width:100}},{group:"Fault tree",key:"orGate",label:"OR gate",pen:{height:150,name:"orGate",width:100}},{group:"Fault tree",key:"basicEvent",label:"Basic event",pen:{height:150,name:"basicEvent",width:100}},{group:"Fault tree",key:"xorGate",label:"XOR gate",pen:{height:150,name:"xorGate",width:100}},{group:"Fault tree",key:"votingGate",label:"Voting gate",pen:{height:150,name:"votingGate",width:100}}]}function V(n){return G(structuredClone(n))}function Z(n){const t=new Map;for(const i of n){const r=t.get(i.group)??[];r.push(i),t.set(i.group,r)}return Array.from(t.entries())}function ee({name:n}){const t={fill:"#fff",stroke:"#1f1f1f",strokeWidth:1.2};return n==="circle"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("circle",{cx:"14",cy:"14",r:"10",...t})}):n==="diamond"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("polygon",{points:"14,3 25,14 14,25 3,14",...t})}):n==="triangle"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("polygon",{points:"14,4 25,24 3,24",...t})}):n==="pentagon"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("polygon",{points:"14,3 25,12 21,25 7,25 3,12",...t})}):n==="hexagon"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("polygon",{points:"8,4 20,4 25,14 20,24 8,24 3,14",...t})}):n==="pentagram"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("polygon",{points:"14,3 17,11 26,11 18,16 21,25 14,20 7,25 10,16 2,11 11,11",...t})}):n==="line"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("line",{x1:"4",x2:"24",y1:"14",y2:"14",...t})}):n==="text"?e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("text",{dominantBaseline:"middle",fill:"#1f1f1f",fontSize:"14",textAnchor:"middle",x:"14",y:"15",children:"T"})}):e.jsx("svg",{height:"24",viewBox:"0 0 28 28",width:"24",children:e.jsx("rect",{height:"14",rx:"2",width:"20",x:"4",y:"7",...t})})}function te({disabled:n,engineRef:t,item:i,t:r}){const u=()=>{const a=t.current;if(!(!a||n))try{a.canvas.addCaches=[V(i.pen)]}catch{}};return e.jsxs("div",{draggable:!n,onClick:a=>{a.stopPropagation(),u()},onDragStart:a=>{if(n){a.preventDefault();return}const f=JSON.stringify(V(i.pen));a.dataTransfer.setData("Meta2d",f),a.dataTransfer.setData("Text",f),a.dataTransfer.effectAllowed="copy"},onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),u())},role:"button",style:{alignItems:"center",border:"1px solid #efefef",borderRadius:6,cursor:n?"not-allowed":"grab",display:"flex",flexDirection:"column",gap:4,justifyContent:"center",minHeight:56,opacity:n?.5:1,outline:"none",padding:6},tabIndex:n?-1:0,title:`${r(W(i.key))||i.label} — drag or click to add`,children:[e.jsx(ee,{name:String(i.pen.name??"rectangle")}),e.jsx("span",{style:{fontSize:11},children:r(W(i.key))||i.label})]})}function ne({disabled:n,engineRef:t}){const{t:i}=z(),r=c.useMemo(()=>Z(U()),[]);return e.jsxs("aside",{style:{borderRight:"1px solid #f0f0f0",flexShrink:0,maxHeight:"100%",overflowX:"hidden",overflowY:"auto",overscrollBehavior:"contain",padding:12,touchAction:"pan-y",width:240},children:[e.jsx("div",{style:{fontSize:13,fontWeight:600,marginBottom:4},children:i("meta2d.palette.title")}),e.jsx("div",{style:{color:"#8c8c8c",fontSize:12,marginBottom:12},children:i("meta2d.palette.hint")}),r.map(([u,a])=>e.jsxs("div",{style:{marginBottom:12},children:[e.jsx("div",{style:{color:"#8c8c8c",fontSize:12,marginBottom:6},children:i(K[u]||u)}),e.jsx("div",{style:{display:"grid",gap:8,gridTemplateColumns:"repeat(2, minmax(0, 1fr))"},children:a.map(f=>e.jsx(te,{disabled:n,engineRef:t,item:f,t:i},f.key))})]},u))]})}const N={borderLeft:"1px solid #f0f0f0",flexShrink:0,maxHeight:"100%",overflowX:"hidden",overflowY:"auto",overscrollBehavior:"contain",touchAction:"pan-y",width:220},A={color:"#8c8c8c",fontSize:12,marginBottom:4},D={borderBottom:"1px solid #f0f0f0",padding:"10px 12px"},y={alignItems:"center",display:"flex",gap:6,marginBottom:6},w={background:"#fafafa",border:"1px solid #e5e5e5",borderRadius:4,fontSize:12,height:28,outline:"none",padding:"0 6px"},b={color:"#8c8c8c",fontSize:11,minWidth:22},T={background:"#fff",border:"1px solid #d9d9d9",borderRadius:4,cursor:"pointer",fontSize:11,minWidth:48,padding:"4px 8px"},le=120;function ie({engine:n}){const{t}=z(),[i,r]=c.useState(null),[u,a]=c.useState(null),[f,v]=c.useState(""),p=c.useRef(null),j=c.useRef(null),B=c.useCallback((l,d)=>{!n||l===null||l===void 0||n.setValue({id:l,text:d},{render:!0})},[n]),k=c.useCallback(l=>{if(!l||l.length!==1){p.current&&(clearTimeout(p.current),p.current=null),r(null),a(null),v(""),j.current=null;return}const d=l[0];if((d.globalAlpha===null||d.globalAlpha===void 0)&&(d.globalAlpha=1),d.id!==j.current&&(p.current&&(clearTimeout(p.current),p.current=null),j.current=d.id,v(d.text??"")),r(d),n)try{a(n.getPenRect(d))}catch{a(null)}},[n]),C=c.useCallback(()=>{p.current&&(clearTimeout(p.current),p.current=null),r(null),a(null),v(""),j.current=null},[]);if(c.useEffect(()=>{if(n)return n.on("active",k),n.on("inactive",C),()=>{n.off("active",k),n.off("inactive",C),p.current&&(clearTimeout(p.current),p.current=null)}},[n,k,C]),!i||!n)return e.jsx("aside",{style:N,children:e.jsx("div",{style:{color:"#bbb",fontSize:12,padding:16,textAlign:"center"},children:t("meta2d.props.empty")})});const h=(l,d)=>{const m={id:i.id};m[l]=d,l==="dash"&&(m.lineDash=[void 0,[5,5]][d]),l!=="text"&&r(S=>S&&{...S,...m}),n.setValue(m,{render:!0})},o=l=>{v(l);const d=i.id;p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{p.current=null,B(d,l)},le)},x=()=>{p.current&&(clearTimeout(p.current),p.current=null),B(i.id,f)},g=(l,d)=>{if(!u)return;const m={id:i.id};m[l]=d,n.setValue(m,{render:!0}),a(S=>S?{...S,[l]:d}:null)},R=l=>{l(n),n.render(!0)};return e.jsxs("aside",{style:N,children:[e.jsxs("div",{style:D,children:[e.jsx("div",{style:A,children:t("meta2d.props.text")}),e.jsx("div",{style:y,children:e.jsx("input",{onBlur:x,onChange:l=>o(l.target.value),onKeyDown:l=>{l.stopPropagation(),l.key==="Enter"&&(l.preventDefault(),l.target.blur())},style:{...w,flex:1,width:"100%"},type:"text",value:f})})]}),e.jsxs("div",{style:D,children:[e.jsx("div",{style:{...A,marginBottom:6},children:t("meta2d.props.appearance")}),e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:t("meta2d.props.color")}),e.jsx("input",{onChange:l=>h("color",l.target.value),style:{...w,flex:1},type:"color",value:i.color||"#1f1f1f"})]}),e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:t("meta2d.props.bg")}),e.jsx("input",{onChange:l=>h("background",l.target.value),style:{...w,flex:1},type:"color",value:i.background||"#ffffff"})]}),e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:t("meta2d.props.dash")}),e.jsxs("select",{onChange:l=>h("dash",Number(l.target.value)),style:{...w,flex:1},value:String(i.dash??0),children:[e.jsx("option",{value:"0",children:t("meta2d.props.solid")}),e.jsx("option",{value:"1",children:t("meta2d.props.dashLine")})]})]}),e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:t("meta2d.props.radius")}),e.jsx("input",{max:1,min:0,onChange:l=>h("borderRadius",Number(l.target.value)),step:.01,style:{...w,flex:1},type:"range",value:String(i.borderRadius??0)}),e.jsx("span",{style:{color:"#8c8c8c",fontSize:11,width:32},children:i.borderRadius??0})]}),e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:t("meta2d.props.alpha")}),e.jsx("input",{max:1,min:0,onChange:l=>h("globalAlpha",Number(l.target.value)),step:.01,style:{...w,flex:1},type:"range",value:String(i.globalAlpha??1)}),e.jsx("span",{style:{color:"#8c8c8c",fontSize:11,width:32},children:(i.globalAlpha??1).toFixed(2)})]})]}),e.jsxs("div",{style:D,children:[e.jsx("div",{style:{...A,marginBottom:6},children:t("meta2d.props.position")}),[["X","x"],["Y","y"],["W","width"],["H","height"]].map(([l,d])=>e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:l}),e.jsx("input",{onChange:m=>g(d,Number(m.target.value)),style:{...w,flex:1},type:"number",value:u?u[d]:0})]},d))]}),e.jsxs("div",{style:D,children:[e.jsx("div",{style:{...A,marginBottom:6},children:t("meta2d.props.textAlign")}),e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:t("meta2d.props.h")}),e.jsxs("select",{onChange:l=>h("textAlign",l.target.value),style:{...w,flex:1},value:i.textAlign||"center",children:[e.jsx("option",{value:"left",children:t("meta2d.props.left")}),e.jsx("option",{value:"center",children:t("meta2d.props.center")}),e.jsx("option",{value:"right",children:t("meta2d.props.right")})]})]}),e.jsxs("div",{style:y,children:[e.jsx("span",{style:b,children:t("meta2d.props.v")}),e.jsxs("select",{onChange:l=>h("textBaseline",l.target.value),style:{...w,flex:1},value:i.textBaseline||"middle",children:[e.jsx("option",{value:"top",children:t("meta2d.props.topAlign")}),e.jsx("option",{value:"middle",children:t("meta2d.props.middle")}),e.jsx("option",{value:"bottom",children:t("meta2d.props.bottomAlign")})]})]})]}),e.jsxs("div",{style:D,children:[e.jsx("div",{style:{...A,marginBottom:6},children:t("meta2d.props.layer")}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[e.jsx("button",{onClick:()=>R(l=>l.top()),style:T,type:"button",children:t("meta2d.props.top")}),e.jsx("button",{onClick:()=>R(l=>l.up()),style:T,type:"button",children:t("meta2d.props.up")}),e.jsx("button",{onClick:()=>R(l=>l.down()),style:T,type:"button",children:t("meta2d.props.down")}),e.jsx("button",{onClick:()=>R(l=>l.bottom()),style:T,type:"button",children:t("meta2d.props.bottom")})]})]})]})}const L={background:"#fff",border:"1px solid #d9d9d9",borderRadius:6,cursor:"pointer",minWidth:68,padding:"6px 12px"},E={...L,fontSize:12,minWidth:52,padding:"4px 10px"};function re(n){c.useEffect(()=>{const t=document.documentElement,i=document.body,r=t.style.overflow,u=i.style.overflow;return t.style.overflow="hidden",i.style.overflow="hidden",()=>{t.style.overflow=r,i.style.overflow=u}},[n])}function ye({diagram:n,onClose:t,onSave:i}){const{t:r}=z(),u=c.useRef(null),a=c.useRef(null),f=c.useRef(n),v=c.useRef(t),[p,j]=c.useState(null),[B,k]=c.useState(!1);re(!0),c.useLayoutEffect(()=>{v.current=t}),c.useEffect(()=>{if(!u.current)return;X();const o=new _(u.current,{grid:!0,rule:!1});a.current=o,j(o);try{const g=f.current;g!=null&&g.trim()?o.open(JSON.parse(g)):o.open(H()),F(o.data()),o.render(!0)}catch{o.open(H()),F(o.data()),o.render(!0)}const x=g=>{g.key==="Escape"&&v.current()};return window.addEventListener("keydown",x),()=>{window.removeEventListener("keydown",x);try{o.destroy()}catch{}a.current=null}},[]);const C=async()=>{const o=a.current;if(o){k(!0);try{F(o.data()),o.render(!0);const x=O(o.data()),g=JSON.stringify(x);i(g,await Q(o)||await Y(g)||'<svg xmlns="http://www.w3.org/2000/svg" width="320" height="180" viewBox="0 0 320 180"><rect width="100%" height="100%" fill="#fafafa" stroke="#eee"/></svg>')}finally{k(!1)}}},h=o=>{const x=a.current;x&&o(x)};return e.jsx("div",{onClick:t,style:{alignItems:"center",background:"rgb(0 0 0 / 35%)",display:"flex",inset:0,justifyContent:"center",overflow:"hidden",position:"fixed",zIndex:1e3},children:e.jsxs("div",{onClick:o=>o.stopPropagation(),onWheel:o=>o.stopPropagation(),style:{background:"#fff",borderRadius:10,boxShadow:"0 12px 30px rgb(0 0 0 / 20%)",display:"flex",flexDirection:"column",height:"86vh",maxHeight:"100%",maxWidth:"1200px",overflow:"hidden",width:"92vw"},children:[e.jsxs("div",{style:{alignItems:"center",borderBottom:"1px solid #f0f0f0",display:"flex",flexWrap:"wrap",gap:8,justifyContent:"space-between",padding:"10px 14px"},children:[e.jsx("span",{style:{fontWeight:600},children:r("meta2d.editor.title")}),e.jsxs("div",{style:{alignItems:"center",display:"flex",flexWrap:"wrap",gap:8},children:[e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[e.jsx("button",{onClick:()=>h(o=>o.undo()),style:E,title:`${r("meta2d.editor.undo")} (Ctrl+Z)`,type:"button",children:r("meta2d.editor.undo")}),e.jsx("button",{onClick:()=>h(o=>o.redo()),style:E,title:`${r("meta2d.editor.redo")} (Ctrl+Y)`,type:"button",children:r("meta2d.editor.redo")}),e.jsx("button",{onClick:()=>h(o=>o.delete()),style:E,title:r("meta2d.editor.delete"),type:"button",children:r("meta2d.editor.delete")}),e.jsx("button",{onClick:()=>h(o=>o.fitView(!0)),style:E,title:r("meta2d.editor.fit"),type:"button",children:r("meta2d.editor.fit")}),e.jsx("button",{onClick:()=>h(o=>{o.scale(1),o.centerView()}),style:E,title:r("meta2d.editor.zoom100"),type:"button",children:r("meta2d.editor.zoom100")})]}),e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx("button",{onClick:t,style:L,type:"button",children:r("meta2d.editor.close")}),e.jsx("button",{disabled:B,onClick:()=>void C(),style:{...L,background:"#1677ff",border:"none",color:"#fff"},type:"button",children:r(B?"meta2d.editor.saving":"meta2d.editor.save")})]})]})]}),e.jsxs("div",{style:{display:"flex",flex:1,minHeight:0,overflow:"hidden"},children:[e.jsx(ne,{engineRef:a}),e.jsx("div",{ref:u,style:{flex:1,minHeight:0,minWidth:0}}),e.jsx(ie,{engine:p})]})]})})}export{ye as DiagramEditor};