@fgbg/mdocs 0.8.16 → 0.8.19

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 (107) hide show
  1. package/README.md +114 -76
  2. package/agent-skills/changelog/SKILL.md +21 -1
  3. package/agent-skills/index/SKILL.md +1 -1
  4. package/agent-skills/index.json +4 -4
  5. package/agent-skills/usage-agent-dev-loop/SKILL.md +7 -7
  6. package/agent-skills/usage-onboarding-ai/SKILL.md +98 -29
  7. package/agent-skills/usage-settings/SKILL.md +4 -4
  8. package/dist/server/agent/Agent/almost-empty.js +15 -0
  9. package/dist/server/agent/Agent/almost-empty.js.map +1 -0
  10. package/dist/server/agent/Agent/almost-empty.test.js +20 -0
  11. package/dist/server/agent/Agent/almost-empty.test.js.map +1 -0
  12. package/dist/server/agent/Agent/choice-pending.js +71 -0
  13. package/dist/server/agent/Agent/choice-pending.js.map +1 -0
  14. package/dist/server/agent/Agent/choice-pending.test.js +58 -0
  15. package/dist/server/agent/Agent/choice-pending.test.js.map +1 -0
  16. package/dist/server/agent/Agent/run.js +49 -3
  17. package/dist/server/agent/Agent/run.js.map +1 -1
  18. package/dist/server/agent/Agent/system-prompt.js +6 -5
  19. package/dist/server/agent/Agent/system-prompt.js.map +1 -1
  20. package/dist/server/agent/Agent/tools-account.js +16 -3
  21. package/dist/server/agent/Agent/tools-account.js.map +1 -1
  22. package/dist/server/agent/Agent/tools-choice.js +70 -0
  23. package/dist/server/agent/Agent/tools-choice.js.map +1 -0
  24. package/dist/server/agent/Agent/tools-coding.js +6 -3
  25. package/dist/server/agent/Agent/tools-coding.js.map +1 -1
  26. package/dist/server/agent/Agent/tools-overwrite.js +158 -0
  27. package/dist/server/agent/Agent/tools-overwrite.js.map +1 -0
  28. package/dist/server/routes/agent.routes.js +54 -0
  29. package/dist/server/routes/agent.routes.js.map +1 -1
  30. package/dist/server/search/document-index-manager.js +11 -8
  31. package/dist/server/search/document-index-manager.js.map +1 -1
  32. package/dist/web/assets/AgentChatPanel-CLKeiDeR.js +1 -0
  33. package/dist/web/assets/AiWriteWorkbench-Ecp214S5.js +6 -0
  34. package/dist/web/assets/DiagramEditor-BTRe45TX-DzJEhM4C.js +2 -0
  35. package/dist/web/assets/DocumentEditor-NPbbAape.js +21 -0
  36. package/dist/web/assets/{MergeView-BqQuuHxp.js → MergeView-BnWbq08U.js} +2 -2
  37. package/dist/web/assets/PlaygroundPage-BSGipUkC.js +8 -0
  38. package/dist/web/assets/SettingsPage-OklrFCx7.js +1 -0
  39. package/dist/web/assets/Toolbar-DjPuWk5G.js +126 -0
  40. package/dist/web/assets/VisitorPickerModal-BUS-cOq0.js +1 -0
  41. package/dist/web/assets/copy-hWOco_4c.js +11 -0
  42. package/dist/web/assets/diagram-gfUK8OHx.js +3016 -0
  43. package/dist/web/assets/editor-ONzd_YnO.js +16 -0
  44. package/dist/web/assets/history-AMIEbyMc.js +6 -0
  45. package/dist/web/assets/index-BksNm27A.css +1 -0
  46. package/dist/web/assets/index-C46BU1-j.js +185 -0
  47. package/dist/web/assets/meta2d-C8Z4cn-d.js +110 -0
  48. package/dist/web/assets/meta2dEngine-BD2XbzaV-D7hJ1H1g.js +1 -0
  49. package/dist/web/assets/motion-C4pN8CfU.js +8 -0
  50. package/dist/web/assets/plus-CnKbiP8x.js +6 -0
  51. package/dist/web/assets/react-B7vrA7AR.js +2126 -0
  52. package/dist/web/assets/react-vendor-BNpqFP9B.js +242 -0
  53. package/dist/web/assets/ui-DxdLi_28.js +3126 -0
  54. package/dist/web/index.html +28 -3
  55. package/package.json +2 -2
  56. package/dist/web/assets/_baseUniq-CTLDRefi.js +0 -1
  57. package/dist/web/assets/arc-C6HVu_cL.js +0 -1
  58. package/dist/web/assets/architectureDiagram-Q4EWVU46-BGZyIwfI.js +0 -36
  59. package/dist/web/assets/blockDiagram-DXYQGD6D-BnmQmYk5.js +0 -132
  60. package/dist/web/assets/c4Diagram-AHTNJAMY-D5ZSFyGW.js +0 -10
  61. package/dist/web/assets/channel-ComR_5wI.js +0 -1
  62. package/dist/web/assets/chunk-4BX2VUAB-bB7dqglW.js +0 -1
  63. package/dist/web/assets/chunk-4TB4RGXK-DLOuFWAV.js +0 -206
  64. package/dist/web/assets/chunk-55IACEB6-F-vn8P_5.js +0 -1
  65. package/dist/web/assets/chunk-EDXVE4YY-DJggdpTr.js +0 -1
  66. package/dist/web/assets/chunk-FMBD7UC4-CGFWLCLP.js +0 -15
  67. package/dist/web/assets/chunk-OYMX7WX6-nDiR5vU7.js +0 -231
  68. package/dist/web/assets/chunk-QZHKN3VN-D29FhQRL.js +0 -1
  69. package/dist/web/assets/chunk-YZCP3GAM-BmFALtIq.js +0 -1
  70. package/dist/web/assets/classDiagram-6PBFFD2Q-CxGT_r56.js +0 -1
  71. package/dist/web/assets/classDiagram-v2-HSJHXN6E-CxGT_r56.js +0 -1
  72. package/dist/web/assets/clone-J85LHgdR.js +0 -1
  73. package/dist/web/assets/cose-bilkent-S5V4N54A-J4Iar7P4.js +0 -1
  74. package/dist/web/assets/cytoscape.esm-BiciSPf8.js +0 -331
  75. package/dist/web/assets/dagre-KV5264BT-Cg07vwKD.js +0 -4
  76. package/dist/web/assets/defaultLocale-DX6XiGOO.js +0 -1
  77. package/dist/web/assets/diagram-5BDNPKRD-D0FP-ifV.js +0 -10
  78. package/dist/web/assets/diagram-G4DWMVQ6-CNejTsu2.js +0 -24
  79. package/dist/web/assets/diagram-MMDJMWI5-DEQjM6f7.js +0 -43
  80. package/dist/web/assets/diagram-TYMM5635-CRGZl6sR.js +0 -24
  81. package/dist/web/assets/erDiagram-SMLLAGMA-BGOATwuq.js +0 -85
  82. package/dist/web/assets/flowDiagram-DWJPFMVM-DVHizH8q.js +0 -162
  83. package/dist/web/assets/ganttDiagram-T4ZO3ILL-dLF_Rbaw.js +0 -292
  84. package/dist/web/assets/gitGraphDiagram-UUTBAWPF-BNMxCpkL.js +0 -106
  85. package/dist/web/assets/graph-p7_cO2pv.js +0 -1
  86. package/dist/web/assets/index-5eJ_7IuO.css +0 -1
  87. package/dist/web/assets/index-DoJ58x_f.js +0 -6291
  88. package/dist/web/assets/infoDiagram-42DDH7IO-BDffsV8g.js +0 -2
  89. package/dist/web/assets/ishikawaDiagram-UXIWVN3A-C7fw-Hwt.js +0 -70
  90. package/dist/web/assets/journeyDiagram-VCZTEJTY-CuEYHG93.js +0 -139
  91. package/dist/web/assets/kanban-definition-6JOO6SKY-iodYb2rc.js +0 -89
  92. package/dist/web/assets/layout-Dblo7Nv4.js +0 -1
  93. package/dist/web/assets/linear-Dj7ICVZv.js +0 -1
  94. package/dist/web/assets/min-BC0MiAVU.js +0 -1
  95. package/dist/web/assets/mindmap-definition-QFDTVHPH-Bi8kR-nH.js +0 -96
  96. package/dist/web/assets/pieDiagram-DEJITSTG-DFXNJaaz.js +0 -30
  97. package/dist/web/assets/quadrantDiagram-34T5L4WZ-eG750Sg7.js +0 -7
  98. package/dist/web/assets/requirementDiagram-MS252O5E-BOS23lbk.js +0 -84
  99. package/dist/web/assets/sankeyDiagram-XADWPNL6-iuLPdF16.js +0 -10
  100. package/dist/web/assets/sequenceDiagram-FGHM5R23-9dOhL1F_.js +0 -157
  101. package/dist/web/assets/stateDiagram-FHFEXIEX-DiYubp3u.js +0 -1
  102. package/dist/web/assets/stateDiagram-v2-QKLJ7IA2-C0u2afgY.js +0 -1
  103. package/dist/web/assets/timeline-definition-GMOUNBTQ-B7K2SCHF.js +0 -120
  104. package/dist/web/assets/vennDiagram-DHZGUBPP-DwsDXISO.js +0 -34
  105. package/dist/web/assets/wardley-RL74JXVD-DOtyNPcb.js +0 -162
  106. package/dist/web/assets/wardleyDiagram-NUSXRM2D-IO3BUkVB.js +0 -20
  107. package/dist/web/assets/xychartDiagram-5P7HB3ND-B_eC9Ig0.js +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-overwrite.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/tools-overwrite.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Router } from "express";
2
2
  import { getAgentStatus, getAgentContextUsageForApi, runOnboardingChat, } from "../agent/Agent/run.js";
3
3
  import { getAgentSessionForApi, createAgentSessionForApi, listAgentSessionsForApi, openAgentSessionForApi, bindCodingSessionDocumentForApi } from "../agent/Agent/session-manager.js";
4
+ import { resolveUserChoice, expireUserChoice } from "../agent/Agent/choice-pending.js";
4
5
  import { getVisitorAgentConfig, isAgentModelId, normalizeContextWindow, toPublicAgentConfig, upsertVisitorAgentConfig, } from "../agent/Config/config.js";
5
6
  import { useLogger } from "../logger/logger.js";
6
7
  const log = useLogger("agent-route");
@@ -187,6 +188,59 @@ export function buildAgentRouter() {
187
188
  throw err;
188
189
  }
189
190
  });
191
+ router.post("/choice", (req, res) => {
192
+ if (!req.visitor) {
193
+ res.status(401).json({ error: { code: "UNAUTHORIZED", message: "login required" } });
194
+ return;
195
+ }
196
+ const requestId = typeof req.body?.requestId === "string" ? req.body.requestId.trim() : "";
197
+ if (!requestId) {
198
+ res.status(400).json({ error: { code: "BAD_REQUEST", message: "requestId is required" } });
199
+ return;
200
+ }
201
+ // 前端倒计时结束:显式取消 pending(与服务端 timer 双保险)
202
+ if (req.body?.expire === true || req.body?.cancel === true) {
203
+ try {
204
+ expireUserChoice(req.visitor.visitor_id, requestId);
205
+ res.json({ data: { status: "timeout" } });
206
+ }
207
+ catch (err) {
208
+ const msg = err instanceof Error ? err.message : String(err);
209
+ if (msg === "choice_not_found") {
210
+ // 可能后端 timer 已先解冻
211
+ res.json({ data: { status: "timeout" } });
212
+ return;
213
+ }
214
+ if (msg === "choice_forbidden") {
215
+ res.status(403).json({ error: { code: "FORBIDDEN", message: msg } });
216
+ return;
217
+ }
218
+ throw err;
219
+ }
220
+ return;
221
+ }
222
+ const choice = typeof req.body?.choice === "string" ? req.body.choice : "";
223
+ try {
224
+ const data = resolveUserChoice(req.visitor.visitor_id, requestId, choice);
225
+ res.json({ data });
226
+ }
227
+ catch (err) {
228
+ const msg = err instanceof Error ? err.message : String(err);
229
+ if (msg === "choice_not_found") {
230
+ res.status(404).json({ error: { code: "NOT_FOUND", message: msg } });
231
+ return;
232
+ }
233
+ if (msg === "choice_forbidden") {
234
+ res.status(403).json({ error: { code: "FORBIDDEN", message: msg } });
235
+ return;
236
+ }
237
+ if (msg === "choice_empty") {
238
+ res.status(400).json({ error: { code: "BAD_REQUEST", message: msg } });
239
+ return;
240
+ }
241
+ throw err;
242
+ }
243
+ });
190
244
  router.post("/chat", async (req, res) => {
191
245
  if (!req.visitor) {
192
246
  res.status(401).json({ error: { code: "UNAUTHORIZED", message: "login required" } });
@@ -1 +1 @@
1
- {"version":3,"file":"agent.routes.js","sourceRoot":"","sources":["../../../src/server/routes/agent.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.routes.js","sourceRoot":"","sources":["../../../src/server/routes/agent.routes.ts"],"names":[],"mappings":"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"}
@@ -32,13 +32,16 @@ export function startIndexTimer() {
32
32
  if (started)
33
33
  return;
34
34
  started = true;
35
- // 首次启动时立即执行一次全量扫描
36
- rebuildAllDirty()
37
- .then((n) => {
38
- if (n > 0)
39
- log.info("initial index rebuild done, %d documents indexed", n);
40
- })
41
- .catch((err) => log.error("initial index rebuild failed: %s", err instanceof Error ? err.message : String(err)));
35
+ // 延迟首轮全量扫描,避免启动瞬间占满 CPU,拖慢 HTML/静态资源 TTFB
36
+ const initialDelayMs = Number(process.env.MDOCS_INDEX_INITIAL_DELAY_MS) || 15_000;
37
+ setTimeout(() => {
38
+ rebuildAllDirty()
39
+ .then((n) => {
40
+ if (n > 0)
41
+ log.info("initial index rebuild done, %d documents indexed", n);
42
+ })
43
+ .catch((err) => log.error("initial index rebuild failed: %s", err instanceof Error ? err.message : String(err)));
44
+ }, initialDelayMs);
42
45
  // 定时扫描
43
46
  setInterval(() => {
44
47
  rebuildAllDirty()
@@ -48,7 +51,7 @@ export function startIndexTimer() {
48
51
  })
49
52
  .catch((err) => log.error("periodic index rebuild failed: %s", err instanceof Error ? err.message : String(err)));
50
53
  }, INDEX_INTERVAL_MS);
51
- log.info("index timer started, interval=%dms", INDEX_INTERVAL_MS);
54
+ log.info("index timer started, interval=%dms initialDelay=%dms", INDEX_INTERVAL_MS, initialDelayMs);
52
55
  }
53
56
  /**
54
57
  * 标记文档需要重建索引。
@@ -1 +1 @@
1
- {"version":3,"file":"document-index-manager.js","sourceRoot":"","sources":["../../../src/server/search/document-index-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,mCAAmC;AACnC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,+BAA+B;AAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,MAAM,GAAG,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAEhD,4CAA4C;AAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;AAEnC,4DAA4D;AAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC;AAE/E,eAAe;AACf,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO;QAAE,OAAO;IACpB,OAAO,GAAG,IAAI,CAAC;IAEf,kBAAkB;IAClB,eAAe,EAAE;SACd,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,IAAI,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEnH,OAAO;IACP,WAAW,CAAC,GAAG,EAAE;QACf,eAAe,EAAE;aACd,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,KAAK,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEtB,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,iBAAiB,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,UAAkB;IAC1C,KAAK,EAAE;SACJ,OAAO,CAAC,yDAAyD,CAAC;SAClE,GAAG,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB;IAC5C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CAAC,iEAAiE,CAAC;aAC1E,GAAG,CAAC,UAAU,CAAsC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,gEAAgE;YAChE,EAAE,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;QACvB,oCAAoC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,2EAA2E,CAAC;SACpF,GAAG,EAA+B,CAAC;IAEtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC;QACvC,iBAAiB;QACjB,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,SAAS;QACxC,IAAI,CAAC;YACH,eAAe,CAAC,WAAW,CAAC,CAAC;YAC7B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,oBAAoB;IACpB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;4CACsC,CACvC;SACA,GAAG,CAAC,UAAU,CAOJ,CAAC;IACd,IAAI,CAAC,GAAG;QAAE,OAAO;IAEjB,YAAY;IACZ,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;IAE/B,qDAAqD;IACrD,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE9C,sBAAsB;IACtB,mBAAmB;IACnB,MAAM,MAAM,GAAG,EAAE;SACd,OAAO,CAAC,iEAAiE,CAAC;SAC1E,GAAG,CAAC,UAAU,CAAsC,CAAC;IACxD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,gEAAgE;YAChE,EAAE,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1G,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtF,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAAG,EAAE;SACd,OAAO,CACN;mCAC6B,CAC9B;SACA,GAAG,CACF,SAAS,EACT,UAAU,EACV,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,UAAU,CACf,CAAC;IACJ,wBAAwB;IACxB,EAAE,CAAC,OAAO,CACR,sEAAsE,CACvE,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAE1C,8BAA8B;IAC9B,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN,4EAA4E,CAC7E;SACA,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE5B,gDAAgD;IAChD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,iEAAiE,EAAE,UAAU,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;QACtC,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,kBAAkB,CAAE,GAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,IAAa,EAAE,KAAe,EAAE,KAAa;IACvE,IAAI,KAAK,GAAG,iBAAiB;QAAE,OAAO;IACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IAE9C,MAAM,CAAC,GAAG,IAA+B,CAAC;IAE1C,cAAc;IACd,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,UAAU;IACV,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"document-index-manager.js","sourceRoot":"","sources":["../../../src/server/search/document-index-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{r as c,j as e}from"./react-vendor-BNpqFP9B.js";import{a6 as pe,a7 as he,i as te,a8 as fe,a9 as ge,aa as xe,ab as je,ac as ye,ad as Ne,ae as be,af as ke}from"./index-C46BU1-j.js";import{P as ve}from"./plus-CnKbiP8x.js";import{H as we}from"./history-AMIEbyMc.js";import{M as Se,r as Ie}from"./ui-DxdLi_28.js";import{C as Ae,a as Ce}from"./copy-hWOco_4c.js";import"./motion-C4pN8CfU.js";function G(i){var s;return i==null||typeof i=="boolean"?"":typeof i=="string"||typeof i=="number"?String(i):Array.isArray(i)?i.map(G).join(""):typeof i=="object"&&"props"in i?G((s=i.props)==null?void 0:s.children):""}function $e(i){const[s,d]=c.useState(!1),m=c.useRef(null),b=G(i.children).replace(/\n$/,"");c.useEffect(()=>()=>{m.current!=null&&window.clearTimeout(m.current)},[]);async function j(){if(b)try{await navigator.clipboard.writeText(b),d(!0),m.current!=null&&window.clearTimeout(m.current),m.current=window.setTimeout(()=>d(!1),1500)}catch{}}return e.jsxs("div",{className:"mdocs-agent-panel-md-pre-wrap",children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-md-copy",onClick:()=>void j(),"aria-label":s?"已复制":"复制代码",title:s?"已复制":"复制",children:s?e.jsx(Ae,{size:14,"aria-hidden":!0}):e.jsx(Ce,{size:14,"aria-hidden":!0})}),e.jsx("pre",{children:i.children})]})}function se(i){return e.jsx("div",{className:"mdocs-agent-panel-md",children:e.jsx(Se,{remarkPlugins:[Ie],components:{pre:({children:s})=>e.jsx($e,{children:s})},children:i.children})})}const _e=["如何发布文档?","草稿是什么?","如何创建域?"];function ne(i,s){return s.map((d,m)=>({id:`h-${i}-${m}-${d.role}`,role:d.role,content:d.content}))}function Re(i,s){const d=i.slice(),m=d[d.length-1];return(m==null?void 0:m.type)==="text"?d[d.length-1]={type:"text",text:m.text+s}:d.push({type:"text",text:s}),d}function ae(i){return i!=null&&i.length?i.filter(s=>s.type==="text").map(s=>s.text).join(""):""}function Ee(i){const s=new Date(i);if(Number.isNaN(s.getTime()))return"";const d=new Date;return s.getFullYear()===d.getFullYear()&&s.getMonth()===d.getMonth()&&s.getDate()===d.getDate()?s.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):s.toLocaleDateString(void 0,{month:"2-digit",day:"2-digit"})}function re(i){if(i>=1e3){const s=i/1e3;return`${s>=10?Math.round(s):Math.round(s*10)/10}K`}return String(i)}function Me(i){const{block:s,onResolved:d}=i,[m,b]=c.useState(""),[j,S]=c.useState(!1),[k,v]=c.useState(1),M=c.useRef(!1),w=c.useRef(d);w.current=d;const h=s.status==="open",o=c.useRef(0);c.useEffect(()=>{if(!h)return;M.current=!1;const f=new Date(s.expiresAt).getTime(),y=Date.now(),g=Math.max(f-y,1);o.current=g,v(1);const R=()=>{const D=f-Date.now(),U=Math.max(0,Math.min(1,D/g));v(U),D<=0&&!M.current&&(M.current=!0,be(s.requestId).catch(()=>{}).finally(()=>{w.current(s.requestId,"","expired")}))};R();const E=window.setInterval(R,100);return()=>window.clearInterval(E)},[h,s.expiresAt,s.requestId]);async function _(f){const y=f.trim();if(!(!y||j||!h)){S(!0);try{await ke(s.requestId,y),d(s.requestId,y,"selected")}catch{d(s.requestId,y,"failed")}finally{S(!1)}}}const K=Math.max(0,Math.ceil(k*o.current/1e3));return e.jsxs("div",{className:"mdocs-agent-choice-card"+(h?"":" 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}),h?e.jsxs("span",{className:"mdocs-agent-choice-timer","aria-live":"polite",children:[K,"s"]}):null]}),h?e.jsx("div",{className:"mdocs-agent-choice-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(k*100),children:e.jsx("div",{className:"mdocs-agent-choice-progress-bar",style:{transform:`scaleX(${k})`}})}):null,s.status==="selected"&&s.selected?e.jsxs("p",{className:"mdocs-agent-choice-result",children:["已选择:",s.selected]}):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,h?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mdocs-agent-choice-options",children:s.options.map(f=>e.jsx("button",{type:"button",className:"mdocs-agent-choice-option",disabled:j,onClick:()=>void _(f),children:f},f))}),e.jsxs("div",{className:"mdocs-agent-choice-custom",children:[e.jsx("input",{value:m,disabled:j,placeholder:"或输入自己的内容…",onChange:f=>b(f.target.value),onKeyDown:f=>{f.key==="Enter"&&(f.preventDefault(),_(m))}}),e.jsx("button",{type:"button",disabled:j||!m.trim(),onClick:()=>void _(m),children:"提交"})]})]}):null]})}function De(i){const b=2*Math.PI*8.75,j=Math.min(100,Math.max(0,i.percent)),S=b*(1-j/100),k=j>=90?"danger":j>=70?"warn":"ok",v=`上下文 ${j}% · 已用 ${re(i.used)} / ${re(i.limit)} tokens`;return e.jsx("span",{className:"mdocs-agent-panel-context mdocs-agent-panel-context-"+k,"data-tooltip":v,"aria-label":v,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:b,strokeDashoffset:S,transform:`rotate(-90 ${20/2} ${20/2})`})]})})}function Ue(i){const{open:s,onClose:d,visitorName:m,anchorStyle:b,onOpenDocument:j,onTreeChanged:S,onDocumentOverwritten:k,onOpenCoding:v}=i,M=((m==null?void 0:m.trim().charAt(0))||"我").toUpperCase(),[w,h]=c.useState(!1),[o,_]=c.useState(null),[K,f]=c.useState(null),[y,g]=c.useState([]),[R,E]=c.useState(null),[D,U]=c.useState([]),[ie,X]=c.useState(!1),[z,T]=c.useState(""),[N,F]=c.useState(!1),[Y,I]=c.useState(null),[P,J]=c.useState(null),ce=c.useRef(null),B=c.useRef(null),A=c.useRef(null),Q=c.useRef(0),q=c.useRef(!0);function V(t){return Q.current+=1,`${t}-${Q.current}`}function le(t,u=48){return t.scrollHeight-t.scrollTop-t.clientHeight<=u}function C(){const t=B.current;!t||!q.current||(t.scrollTop=t.scrollHeight)}function oe(){const t=B.current;t&&(q.current=le(t))}async function de(){X(!0);try{const t=await xe();U(t.sessions),R||E(t.lastOpenedSessionId)}catch{}finally{X(!1)}}async function H(){try{const t=await ge();J(t)}catch{}}c.useEffect(()=>{var u;if(!s){h(!1),(u=A.current)==null||u.abort(),A.current=null,F(!1);return}let t=!1;return(async()=>{try{const n=await pe();t||(_(n),f(null))}catch(n){t||(_(null),f(n instanceof Error?n.message:String(n)))}})(),H(),()=>{t=!0}},[s]),c.useEffect(()=>{if(!s)return;let t=!1;return(async()=>{try{const u=await he();if(t)return;E(u.sessionId),g(n=>n.length>0?n:ne(u.sessionId,u.messages))}catch{}})(),()=>{t=!0}},[s]),c.useEffect(()=>{!s||!w||de()},[s,w]),c.useEffect(()=>{if(!s)return;const t=u=>{if(u.key==="Escape"){if(w){h(!1);return}d()}};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[s,d,w]);async function W(t){var L;const u=t.trim();if(!u||N)return;if(!(o!=null&&o.enabled)){I((o==null?void 0:o.reason)==="missing_api_key"?"请先在设置 → AI 配置 DeepSeek API Key":(o==null?void 0:o.reason)==="skills_missing"?"手册 skills 未就绪,请确认已构建 agent-skills":"助手暂不可用");return}(L=A.current)==null||L.abort();const n=new AbortController;A.current=n;const $={id:V("u"),role:"user",content:u},p=V("a");q.current=!0,g(a=>[...a,$,{id:p,role:"assistant",content:""}]),T(""),F(!0),I(null),h(!1),requestAnimationFrame(()=>C());try{await Ne(u,{signal:n.signal,onEvent:a=>{a.type==="text_delta"?(g(x=>x.map(r=>{if(r.id!==p)return r;const l=Re(r.blocks??[],a.text);return{...r,blocks:l,content:ae(l)}})),requestAnimationFrame(()=>C())):a.type==="sources"?(g(x=>x.map(r=>{if(r.id!==p)return r;const l=(r.blocks??[]).slice(),O=l[l.length-1];return(O==null?void 0:O.type)==="sources"?l[l.length-1]={type:"sources",items:a.items}:l.push({type:"sources",items:a.items}),{...r,blocks:l}})),requestAnimationFrame(()=>C())):a.type==="document_table"?(g(x=>x.map(r=>{if(r.id!==p)return r;const l=[...r.blocks??[],{type:"document_table",title:a.title,rows:a.rows}];return{...r,blocks:l}})),requestAnimationFrame(()=>C())):a.type==="document_card"?(g(x=>x.map(r=>{if(r.id!==p)return r;const l=[...r.blocks??[],{type:"document_card",documentId:a.documentId,title:a.title,path:a.path,preview:a.preview}];return{...r,blocks:l}})),requestAnimationFrame(()=>C())):a.type==="tool_notice"?(g(x=>x.map(r=>{if(r.id!==p)return r;const l=[...r.blocks??[],{type:"tool_notice",toolName:a.toolName,text:a.text}];return{...r,blocks:l}})),requestAnimationFrame(()=>C())):a.type==="choice_card"?(g(x=>x.map(r=>{if(r.id!==p)return r;const l=[...r.blocks??[],{type:"choice_card",requestId:a.requestId,title:a.title,options:a.options,expiresAt:a.expiresAt,status:"open"}];return{...r,blocks:l}})),requestAnimationFrame(()=>C())):a.type==="choice_expired"?g(x=>x.map(r=>r.id!==p||!r.blocks?r:{...r,blocks:r.blocks.map(l=>l.type==="choice_card"&&l.requestId===a.requestId&&l.status==="open"?{...l,status:"expired"}:l)})):a.type==="tree_changed"?S==null||S():a.type==="document_overwritten"?k==null||k({documentId:a.documentId,headCommitId:a.headCommitId}):a.type==="open_coding"?v==null||v({documentId:a.documentId,displayName:a.displayName}):a.type==="context_usage"?J({percent:a.percent,used:a.used,limit:a.limit}):a.type==="error"&&I(a.message)}})}catch(a){if(n.signal.aborted)return;I(a instanceof Error?a.message:String(a))}finally{A.current===n&&(A.current=null),F(!1)}}async function ue(){var t;if(!N){(t=A.current)==null||t.abort(),I(null),h(!1),F(!1);try{const u=await je();E(u.sessionId),g([]),T(""),q.current=!0,H()}catch(u){I(u instanceof Error?u.message:String(u))}}}async function me(t){var u;if(!N){if(t===R){h(!1);return}(u=A.current)==null||u.abort(),I(null);try{const n=await ye(t);E(n.sessionId),g(ne(n.sessionId,n.messages)),T(""),h(!1),q.current=!0,requestAnimationFrame(()=>C()),H()}catch(n){I(n instanceof Error?n.message:String(n))}}}function Z(t){!t||!j||j(t)}if(!s)return null;const ee=K??(o&&!o.enabled?o.reason==="missing_api_key"?"未配置 API Key:请打开设置 → AI":o.reason==="skills_missing"?"skills 未就绪":"助手暂不可用":null);return e.jsxs("div",{ref:ce,className:"mdocs-agent-panel",role:"dialog","aria-label":"mdocs 智能助手",style:b,children:[e.jsxs("header",{className:"mdocs-agent-panel-header",children:[e.jsxs("div",{className:"mdocs-agent-panel-title",children:[e.jsx("img",{src:te,alt:"",className:"mdocs-agent-panel-title-logo"}),e.jsx("span",{children:"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:N,onClick:()=>void ue(),children:e.jsx(ve,{size:16,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn"+(w?" active":""),title:"历史会话","aria-label":"历史会话",onClick:()=>h(t=>!t),children:e.jsx(we,{size:16,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"关闭","aria-label":"关闭",onClick:d,children:e.jsx(fe,{size:16,strokeWidth:1.8})})]})]}),w?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),children:"返回对话"})]}),ie?e.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"加载中…"}):D.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:"发一条消息后会出现在这里"})]}):e.jsx("ul",{className:"mdocs-agent-panel-history-list",children:D.map(t=>e.jsx("li",{children:e.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-item"+(t.id===R?" active":""),disabled:N,onClick:()=>void me(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:Ee(t.updatedAt)})]})},t.id))})]}):e.jsxs("div",{className:"mdocs-agent-panel-body",children:[e.jsx("div",{className:"mdocs-agent-panel-welcome",ref:B,onScroll:oe,children:y.length===0?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mdocs-agent-panel-hello",children:"你好,我是 mdocs 智能助手"}),e.jsx("p",{className:"mdocs-agent-panel-desc",children:"我能答疑、搜文档、整理结构,也能帮你写全文;需要精细改稿请点文档顶栏「帮写」。"}),ee?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:ee}):e.jsx("div",{className:"mdocs-agent-panel-chips",children:_e.map(t=>e.jsx("button",{type:"button",className:"mdocs-agent-panel-chip",onClick:()=>void W(t),disabled:N||!(o!=null&&o.enabled),children:t},t))})]}):e.jsx("div",{className:"mdocs-agent-panel-messages",children:y.map(t=>{var u;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:te,alt:""})}):null,e.jsx("div",{className:"mdocs-agent-panel-msg-bubble",children:t.role==="assistant"?t.blocks&&t.blocks.length>0?e.jsxs("div",{className:"mdocs-agent-panel-timeline",children:[t.blocks.map((n,$)=>n.type==="text"?n.text?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(se,{children:n.text})},`${t.id}-t-${$}`):null:n.type==="sources"?n.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:["已阅读 ",n.items.length," 个页面"]}),e.jsx("ol",{className:"mdocs-agent-panel-sources-list",children:n.items.map(p=>e.jsx("li",{children:e.jsx("a",{href:p.url,target:"_blank",rel:"noreferrer",children:p.name})},p.id))})]})},`${t.id}-s-${$}`):n.type==="tool_notice"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx("p",{className:"mdocs-agent-panel-tool-notice",children:n.text})},`${t.id}-n-${$}`):n.type==="choice_card"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(Me,{block:n,onResolved:(p,L,a)=>{g(x=>x.map(r=>r.id!==t.id||!r.blocks?r:{...r,blocks:r.blocks.map(l=>l.type==="choice_card"&&l.requestId===p?{...l,status:a,selected:a==="selected"?L:l.selected}:l)}))}})},`${t.id}-ch-${$}`):n.type==="document_card"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:[e.jsxs("button",{type:"button",className:"mdocs-agent-panel-doc-link",onClick:p=>{p.preventDefault(),p.stopPropagation(),Z(n.documentId)},children:["《",n.title,"》"]}),e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:"文档预览"})]}),e.jsxs("div",{className:"mdocs-agent-panel-doc-card-body",children:[n.path?e.jsx("p",{className:"mdocs-agent-panel-doc-card-path",children:n.path}):null,n.preview?e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview",children:n.preview}):e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview muted",children:"(无正文预览)"})]})]})},`${t.id}-c-${$}`):e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:[n.title,e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:n.rows.length===0?"无结果":`${n.rows.length} 条`})]}),e.jsx("div",{className:"mdocs-agent-panel-doc-table-wrap",children:n.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:n.rows.map(p=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx("button",{type:"button",className:"mdocs-agent-panel-doc-link",onClick:()=>Z(p.documentId),children:p.title})}),e.jsx("td",{children:p.summary||"-"})]},p.documentId))})]})})]})},`${t.id}-d-${$}`)),N&&t.id===((u=y[y.length-1])==null?void 0:u.id)&&!ae(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(se,{children:t.content}):N?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:M}):null]},t.id)})})}),Y?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:Y}):null,e.jsxs("div",{className:"mdocs-agent-panel-input-wrap",children:[e.jsx("textarea",{className:"mdocs-agent-panel-input",rows:2,placeholder:o!=null&&o.enabled?"把你的问题告诉我…":"请先配置 API Key",value:z,disabled:N||!(o!=null&&o.enabled),onChange:t=>T(t.target.value),onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),W(z))}}),P?e.jsx(De,{percent:P.percent,used:P.used,limit:P.limit}):null,e.jsx("button",{type:"button",className:"mdocs-agent-panel-send",disabled:N||!(o!=null&&o.enabled)||!z.trim(),onClick:()=>void W(z),title:"发送",children:"↑"})]}),e.jsx("p",{className:"mdocs-agent-panel-footnote",children:"内容由 AI 生成,仅供参考"})]})]})}export{Ue as AgentChatPanel};
@@ -0,0 +1,6 @@
1
+ import{r as u,j as n}from"./react-vendor-BNpqFP9B.js";import{a6 as ee,a7 as ne,i as te,aa as se,ag as ie,ab as ae,ac as oe,ad as le}from"./index-C46BU1-j.js";import{P as re}from"./plus-CnKbiP8x.js";import{H as ce}from"./history-AMIEbyMc.js";import{M as de,r as ue}from"./ui-DxdLi_28.js";import"./motion-C4pN8CfU.js";function T(e){return e===""?[]:e.split(`
2
+ `)}function U(e){return e.join(`
3
+ `)}function R(e,s){const i=T(e),r=T(s),c=i.length,g=r.length,y=Array.from({length:c+1},()=>Array.from({length:g+1},()=>0));for(let j=c-1;j>=0;j--)for(let b=g-1;b>=0;b--)i[j]===r[b]?y[j][b]=y[j+1][b+1]+1:y[j][b]=Math.max(y[j+1][b],y[j][b+1]);const l=[];let p=0,h=0;for(;p<c||h<g;)if(p<c&&h<g&&i[p]===r[h])l.push({kind:"eq",oi:p,ni:h}),p++,h++;else if(h<g&&(p===c||y[p][h+1]>=y[p+1][h]))l.push({kind:"ins",oi:p,ni:h}),h++;else if(p<c)l.push({kind:"del",oi:p,ni:h}),p++;else break;const S=[];let x=0,E=0;for(;x<l.length;){if(l[x].kind==="eq"){x++;continue}const j=l[x].oi,b=l[x].ni,$=[],M=[];let a=j,f=b;for(;x<l.length&&l[x].kind!=="eq";){const w=l[x];w.kind==="del"?($.push(i[w.oi]),a=w.oi+1):(M.push(r[w.ni]),f=w.ni+1),x++}S.push({id:`h${E++}`,oldStart:j,oldEnd:a,newStart:b,newEnd:f,oldLines:$,newLines:M})}return S}function me(e,s){const i=T(e);return U([...i.slice(0,s.oldStart),...s.newLines,...i.slice(s.oldEnd)])}function he(e,s){const i=T(e);return U([...i.slice(0,s.newStart),...s.oldLines,...i.slice(s.newEnd)])}function fe(e){return e===""?[]:e.split(`
4
+ `)}function ge(e,s){const i=fe(e),r=[];let c=0;return s.forEach((g,y)=>{g.oldStart>c&&r.push({kind:"same",lines:i.slice(c,g.oldStart),key:`s-${c}-${g.oldStart}`}),r.push({kind:"hunk",hunk:g,hunkIndex:y,key:`h-${g.id}-${y}`}),c=g.oldEnd}),c<i.length?r.push({kind:"same",lines:i.slice(c),key:`s-${c}-end`}):s.length===0&&i.length===0&&r.push({kind:"same",lines:[],key:"s-empty"}),r}function xe(e){return e.oldLines.length===0?"add":e.newLines.length===0?"del":"mod"}function ke(e){const[s,i]=u.useState(!1),[r,c]=u.useState(0),[g,y]=u.useState(null),l=u.useMemo(()=>e.proposedMd==null||e.proposedMd===e.currentMd?[]:R(e.currentMd,e.proposedMd),[e.currentMd,e.proposedMd]),p=u.useMemo(()=>ge(e.currentMd,l),[e.currentMd,l]);u.useEffect(()=>{if(l.length===0){c(0);return}c(a=>Math.min(a,l.length-1))},[l.length]);const h=!s&&l.length>0,S=g??r;function x(a){const f=me(e.currentMd,a);e.onCurrentChange(f),e.proposedMd!=null&&R(f,e.proposedMd).length===0&&e.onProposedChange(null)}function E(a){if(e.proposedMd==null)return;const f=he(e.proposedMd,a);f===e.currentMd?e.onProposedChange(null):e.onProposedChange(f)}function j(){e.proposedMd!=null&&(e.onCurrentChange(e.proposedMd),e.onProposedChange(null))}function b(){e.onProposedChange(null)}function $(a){l.length!==0&&c(f=>{const w=(f+a+l.length)%l.length,N=document.getElementById(`mdocs-ai-hunk-${w}`);return N==null||N.scrollIntoView({block:"center",behavior:"smooth"}),w})}const M=l[S]??null;return n.jsxs("div",{className:"mdocs-ai-write-md-pane",children:[n.jsxs("div",{className:"mdocs-ai-write-diff-toolbar",children:[n.jsx("span",{className:"mdocs-ai-write-diff-count",children:l.length===0?s||!e.proposedMd?"Markdown 源码(可编辑)":"与提案一致":`${l.length} 处变更`}),l.length>0?n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",onClick:j,children:"全部接受"}),n.jsx("button",{type:"button",onClick:b,children:"全部拒绝"})]}):null,n.jsx("button",{type:"button",className:s?"active":"",onClick:()=>i(a=>!a),children:s?"回到 diff":"纯编辑"})]}),h?n.jsxs("div",{className:"mdocs-ai-write-inline",role:"document",children:[p.map(a=>{if(a.kind==="same")return n.jsx("pre",{className:"mdocs-ai-write-inline-same",children:a.lines.map((C,k)=>n.jsxs("div",{className:"mdocs-ai-write-line ctx",children:[n.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),n.jsx("span",{className:"mdocs-ai-write-code",children:C||" "})]},k))},a.key);const f=a.hunk,w=xe(f),N=a.hunkIndex===S;return n.jsxs("div",{id:`mdocs-ai-hunk-${a.hunkIndex}`,className:`mdocs-ai-write-inline-hunk mdocs-ai-write-inline-hunk-${w}`+(N?" is-active":""),onMouseEnter:()=>y(a.hunkIndex),onMouseLeave:()=>y(null),onClick:()=>c(a.hunkIndex),children:[n.jsxs("div",{className:"mdocs-ai-write-hunk-hover",hidden:g!==a.hunkIndex,children:[n.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:C=>{C.stopPropagation(),E(f)},children:"拒绝"}),n.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:C=>{C.stopPropagation(),x(f)},children:"接受"})]}),n.jsxs("pre",{className:"mdocs-ai-write-hunk-pre",children:[f.oldLines.map((C,k)=>n.jsxs("div",{className:"mdocs-ai-write-line del",children:[n.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),n.jsx("span",{className:"mdocs-ai-write-code",children:C||" "})]},`o${k}`)),f.newLines.map((C,k)=>n.jsxs("div",{className:"mdocs-ai-write-line add",children:[n.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),n.jsx("span",{className:"mdocs-ai-write-code",children:C||" "})]},`n${k}`))]})]},a.key)}),M?n.jsxs("div",{className:"mdocs-ai-write-float-nav",role:"toolbar","aria-label":"变更导航",children:[n.jsx("button",{type:"button","aria-label":"上一段",onClick:()=>$(-1),children:"↑"}),n.jsxs("span",{children:[S+1," / ",l.length]}),n.jsx("button",{type:"button","aria-label":"下一段",onClick:()=>$(1),children:"↓"}),n.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:()=>E(M),children:"拒绝"}),n.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:()=>x(M),children:"接受"})]}):null]}):n.jsx("textarea",{className:"mdocs-ai-write-editor",value:e.currentMd,onChange:a=>e.onCurrentChange(a.target.value),spellCheck:!1,placeholder:`# 标题
5
+
6
+ 在此编辑 Markdown 源码…`})]})}let V=0;function Y(e){return V+=1,`${e}-${Date.now()}-${V}`}function pe(e,s){const i=e.slice(),r=i[i.length-1];return(r==null?void 0:r.type)==="text"?i[i.length-1]={type:"text",text:r.text+s}:i.push({type:"text",text:s}),i}function F(e,s){const i=s.trim();return i?[...e,{type:"tool",text:i}]:e}function we(e){return e.some(s=>s.type==="text"?s.text.length>0:!0)}function ye(e){const s=new Date(e);if(Number.isNaN(s.getTime()))return"";const i=new Date;return s.getFullYear()===i.getFullYear()&&s.getMonth()===i.getMonth()&&s.getDate()===i.getDate()?s.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):s.toLocaleDateString(void 0,{month:"2-digit",day:"2-digit"})}function G(e,s){return s.map((i,r)=>{const c=`h-${e}-${r}-${i.role}`;return i.role==="user"?{id:c,role:"user",content:i.content}:{id:c,role:"assistant",blocks:i.content?[{type:"text",text:i.content}]:[]}})}function ve(e){const[s,i]=u.useState(e.initialMarkdown),[r,c]=u.useState(null),[g]=u.useState(e.initialMarkdown),[y,l]=u.useState(e.displayName||"未命名"),[p,h]=u.useState([]),[S,x]=u.useState(null),[E,j]=u.useState([]),[b,$]=u.useState(!1),[M,a]=u.useState(!1),[f,w]=u.useState(""),[N,C]=u.useState(!1),[k,W]=u.useState(null),[_,I]=u.useState(null),[q,K]=u.useState(!1),A=u.useRef(null);async function H(){$(!0);try{const t=await se("coding",e.documentId);j(t.sessions),S||x(t.lastOpenedSessionId)}catch{}finally{$(!1)}}if(u.useEffect(()=>{var d;if(!e.open){a(!1),(d=A.current)==null||d.abort();return}i(e.initialMarkdown),c(null),l(e.displayName||"未命名"),w(""),I(null),a(!1);let t=!1;return(async()=>{try{const o=await ee();t||W(o)}catch{t||W({enabled:!1,skillsReady:!1,model:null})}try{const o=await ne("coding",e.documentId);if(t)return;x(o.sessionId),h(G(o.sessionId,o.messages))}catch{t||(x(null),h([]))}H()})(),()=>{t=!0}},[e.open,e.initialMarkdown,e.displayName,e.documentId]),u.useEffect(()=>()=>{var t;return(t=A.current)==null?void 0:t.abort()},[]),u.useEffect(()=>{e.open&&M&&H()},[M,e.open,e.documentId]),!e.open)return null;const O=r!=null&&r!==s?R(s,r):[];async function J(){var t;if(!N){(t=A.current)==null||t.abort(),I(null),a(!1),C(!1);try{const d=await ae("coding",e.documentId);x(d.sessionId),h([]),w(""),H()}catch(d){I(d instanceof Error?d.message:String(d))}}}async function Q(t){var d;if(!N){if(t===S){a(!1);return}(d=A.current)==null||d.abort(),I(null);try{const o=await oe(t,"coding",e.documentId);x(o.sessionId),h(G(o.sessionId,o.messages)),w(""),a(!1)}catch(o){I(o instanceof Error?o.message:String(o))}}}async function B(){var z;const t=f.trim();if(!t||N)return;if(!(k!=null&&k.enabled)){I("请先在设置 → AI 配置 API Key");return}(z=A.current)==null||z.abort();const d=new AbortController;A.current=d;const o=Y("u"),L=Y("a");h(m=>[...m,{id:o,role:"user",content:t},{id:L,role:"assistant",blocks:[]}]),w(""),C(!0),I(null);const P=m=>{h(v=>v.map(D=>D.id===L&&D.role==="assistant"?{...D,blocks:m(D.blocks)}:D))};try{await le(t,{mode:"coding",documentId:e.documentId,workingMarkdown:s,baseMarkdown:g,signal:d.signal,onEvent:m=>{m.type==="text_delta"?P(v=>pe(v,m.text)):m.type==="markdown_set"?c(m.markdown):m.type==="tool_notice"?P(v=>F(v,m.text)):m.type==="document_table"?P(v=>F(v,m.title)):m.type==="document_card"?P(v=>F(v,`读取文档「${m.title}」`)):m.type==="sources"?m.items.length>0&&P(v=>F(v,`已阅读 ${m.items.length} 个手册页面`)):m.type==="error"&&I(m.message)}}),H()}catch(m){d.signal.aborted||I(m instanceof Error?m.message:String(m))}finally{A.current===d&&(A.current=null),C(!1)}}async function X(){let t=s;if(O.length>0){if(!window.confirm(`还有 ${O.length} 段未审阅,将全部接受后写回。继续?`))return;t=r??s,i(t),c(null)}K(!0);const d=!e.documentId;try{const o=await e.onComplete({markdown:t,documentId:e.documentId,displayName:y.trim()||"未命名"}),L=o&&typeof o=="object"&&typeof o.documentId=="string"?o.documentId.trim():"";if(d&&L&&S)try{await ie(S,L)}catch{}e.onClose()}catch(o){if(o!=null&&o.silent||o instanceof Error&&o.message==="cancelled")return;I(o instanceof Error?o.message:String(o))}finally{K(!1)}}function Z(){var t;(s!==g||r!=null)&&!window.confirm("取消帮写?未写回的修改将丢失。")||((t=A.current)==null||t.abort(),e.onClose())}return n.jsxs("div",{className:"mdocs-ai-write-overlay",role:"dialog","aria-modal":"true","aria-label":"帮写",children:[n.jsxs("header",{className:"mdocs-ai-write-header",children:[n.jsxs("div",{className:"mdocs-ai-write-header-left",children:[n.jsx("img",{src:te,alt:"",className:"mdocs-ai-write-title-logo"}),n.jsx("strong",{children:"帮写"}),n.jsx("input",{className:"mdocs-ai-write-title",value:y,onChange:t=>l(t.target.value),"aria-label":"文档标题"})]}),n.jsxs("div",{className:"mdocs-ai-write-header-actions",children:[n.jsx("button",{type:"button",onClick:Z,disabled:q,children:"取消"}),n.jsx("button",{type:"button",className:"mdocs-ai-write-primary",onClick:()=>void X(),disabled:q,children:q?"写回中…":"完成并写回"})]})]}),n.jsxs("div",{className:"mdocs-ai-write-body",children:[n.jsxs("section",{className:"mdocs-ai-write-chat",children:[n.jsxs("div",{className:"mdocs-ai-write-chat-toolbar",children:[n.jsx("span",{className:"mdocs-ai-write-chat-toolbar-label",children:"对话"}),n.jsxs("div",{className:"mdocs-ai-write-chat-toolbar-actions",children:[n.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"新会话","aria-label":"新会话",disabled:N,onClick:()=>void J(),children:n.jsx(re,{size:16,strokeWidth:1.8})}),n.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn"+(M?" active":""),title:"历史会话","aria-label":"历史会话",onClick:()=>a(t=>!t),children:n.jsx(ce,{size:16,strokeWidth:1.8})})]})]}),M?n.jsxs("div",{className:"mdocs-ai-write-history mdocs-agent-panel-history",children:[n.jsxs("div",{className:"mdocs-agent-panel-history-head",children:[n.jsx("span",{children:"历史会话"}),n.jsx("button",{type:"button",className:"mdocs-agent-panel-history-back",onClick:()=>a(!1),children:"返回对话"})]}),b?n.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"加载中…"}):E.length===0?n.jsxs(n.Fragment,{children:[n.jsx("p",{className:"mdocs-agent-panel-history-empty",children:"暂无历史会话"}),n.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"发一条消息后会出现在这里"})]}):n.jsx("ul",{className:"mdocs-agent-panel-history-list",children:E.map(t=>n.jsx("li",{children:n.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-item"+(t.id===S?" active":""),disabled:N,onClick:()=>void Q(t.id),children:[n.jsx("span",{className:"mdocs-agent-panel-history-title",children:t.title}),n.jsx("span",{className:"mdocs-agent-panel-history-time",children:ye(t.updatedAt)})]})},t.id))})]}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"mdocs-ai-write-chat-messages",children:p.length===0?n.jsx("p",{className:"mdocs-ai-write-hint",children:"描述你想写或改的内容。助手可读取右侧当前稿与进场快照,再更新提案;请按段接受或拒绝后完成写回。"}):p.map(t=>n.jsx("div",{className:"mdocs-ai-write-msg"+(t.role==="user"?" mdocs-ai-write-msg-user":""),children:t.role==="user"?t.content:we(t.blocks)?n.jsx("div",{className:"mdocs-ai-write-timeline",children:t.blocks.map((d,o)=>d.type==="tool"?n.jsx("p",{className:"mdocs-agent-panel-tool-notice",children:d.text},`${t.id}-tool-${o}`):d.text?n.jsx("div",{className:"mdocs-agent-panel-md",children:n.jsx(de,{remarkPlugins:[ue],children:d.text})},`${t.id}-text-${o}`):null)}):N?n.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[n.jsx("span",{}),n.jsx("span",{}),n.jsx("span",{})]}):null},t.id))}),_?n.jsx("p",{className:"mdocs-ai-write-error",children:_}):null,n.jsxs("div",{className:"mdocs-ai-write-input-row",children:[n.jsx("textarea",{rows:2,value:f,disabled:N||!(k!=null&&k.enabled),placeholder:k!=null&&k.enabled?"说说要写什么…":"请先配置 API Key",onChange:t=>w(t.target.value),onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),B())}}),n.jsx("button",{type:"button",disabled:N||!(k!=null&&k.enabled),onClick:()=>void B(),children:"发送"})]})]})]}),n.jsx(ke,{currentMd:s,proposedMd:r,onCurrentChange:i,onProposedChange:c})]})]})}export{ve as AiWriteWorkbench};
@@ -0,0 +1,2 @@
1
+ import{Q as M,S as F,T as A,U as W,V}from"./react-B7vrA7AR.js";import{r as c,j as e}from"./react-vendor-BNpqFP9B.js";import{ensureMeta2dShapes as N,generateSvgFromMeta2d as q,generateSvgFromDiagram as I}from"./meta2dEngine-BD2XbzaV-D7hJ1H1g.js";import{M as G}from"./meta2d-C8Z4cn-d.js";import"./editor-ONzd_YnO.js";import"./ui-DxdLi_28.js";import"./motion-C4pN8CfU.js";import"./diagram-gfUK8OHx.js";import"./index-C46BU1-j.js";import"./plus-CnKbiP8x.js";import"./copy-hWOco_4c.js";let T=0;const D=new Set;function O(n){return D.add(n),()=>{D.delete(n)}}function P(){return T}function Q(){T++,D.forEach(n=>n())}function E(n){let t=null;try{const[a]=M();t=a}catch{}const l=t;if(!l)throw new Error("[useEditorLocale] No editor found. Pass an editor instance or use this hook inside an <Editor> tree.");return c.useSyncExternalStore(O,P,P),{setLocale:c.useCallback(a=>{l.setLocale(a),Q()},[l]),t:c.useCallback((a,p)=>l.t(a,p),[l])}}const X={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 L(n){return`meta2d.palette.${n}`}const s={background:"#fff",color:"#1f1f1f",height:60,lineWidth:1,textColor:"#1f1f1f",width:120};function Y(){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
+ + 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 z(n){return V(structuredClone(n))}function $(n){const t=new Map;for(const l of n){const a=t.get(l.group)??[];a.push(l),t.set(l.group,a)}return Array.from(t.entries())}function J({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 K({disabled:n,engineRef:t,item:l,t:a}){const p=()=>{const r=t.current;if(!(!r||n))try{r.canvas.addCaches=[z(l.pen)]}catch{}};return e.jsxs("div",{draggable:!n,onClick:r=>{r.stopPropagation(),p()},onDragStart:r=>{if(n){r.preventDefault();return}const g=JSON.stringify(z(l.pen));r.dataTransfer.setData("Meta2d",g),r.dataTransfer.setData("Text",g),r.dataTransfer.effectAllowed="copy"},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),p())},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:`${a(L(l.key))||l.label} — drag or click to add`,children:[e.jsx(J,{name:String(l.pen.name??"rectangle")}),e.jsx("span",{style:{fontSize:11},children:a(L(l.key))||l.label})]})}function U({disabled:n,engineRef:t}){const{t:l}=E(),a=c.useMemo(()=>$(Y()),[]);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:l("meta2d.palette.title")}),e.jsx("div",{style:{color:"#8c8c8c",fontSize:12,marginBottom:12},children:l("meta2d.palette.hint")}),a.map(([p,r])=>e.jsxs("div",{style:{marginBottom:12},children:[e.jsx("div",{style:{color:"#8c8c8c",fontSize:12,marginBottom:6},children:l(X[p]||p)}),e.jsx("div",{style:{display:"grid",gap:8,gridTemplateColumns:"repeat(2, minmax(0, 1fr))"},children:r.map(g=>e.jsx(K,{disabled:n,engineRef:t,item:g,t:l},g.key))})]},p))]})}const H={borderLeft:"1px solid #f0f0f0",flexShrink:0,maxHeight:"100%",overflowX:"hidden",overflowY:"auto",overscrollBehavior:"contain",touchAction:"pan-y",width:220},j={color:"#8c8c8c",fontSize:12,marginBottom:4},k={borderBottom:"1px solid #f0f0f0",padding:"10px 12px"},f={alignItems:"center",display:"flex",gap:6,marginBottom:6},m={background:"#fafafa",border:"1px solid #e5e5e5",borderRadius:4,fontSize:12,height:28,outline:"none",padding:"0 6px"},y={color:"#8c8c8c",fontSize:11,minWidth:22},C={background:"#fff",border:"1px solid #d9d9d9",borderRadius:4,cursor:"pointer",fontSize:11,minWidth:48,padding:"4px 8px"};function _({engine:n}){const{t}=E(),[l,a]=c.useState(null),[p,r]=c.useState(null),g=c.useRef({}),b=c.useCallback(o=>{if(!o||o.length!==1){a(null),r(null);return}const d=o[0];if((d.globalAlpha===null||d.globalAlpha===void 0)&&(d.globalAlpha=1),a(d),n)try{r(n.getPenRect(d))}catch{r(null)}},[n]),v=c.useCallback(()=>{a(null),r(null)},[]);if(c.useEffect(()=>{if(n)return n.on("active",b),n.on("inactive",v),()=>{n.off("active",b),n.off("inactive",v)}},[n,b,v]),!l||!n)return e.jsx("aside",{style:H,children:e.jsx("div",{style:{color:"#bbb",fontSize:12,padding:16,textAlign:"center"},children:t("meta2d.props.empty")})});const h=(o,d)=>{g.current[o]=d;const i={id:l.id};i[o]=d,o==="dash"&&(i.lineDash=[void 0,[5,5]][d]),n.setValue(i,{render:!0})},B=(o,d)=>{if(!p)return;const i={id:l.id};i[o]=d,n.setValue(i,{render:!0}),r(u=>u?{...u,[o]:d}:null)},w=o=>{o(n),n.render(!0)};return e.jsxs("aside",{style:H,children:[e.jsxs("div",{style:k,children:[e.jsx("div",{style:j,children:t("meta2d.props.text")}),e.jsx("div",{style:f,children:e.jsx("input",{onChange:o=>h("text",o.target.value),style:m,type:"text",value:l.text??""})})]}),e.jsxs("div",{style:k,children:[e.jsx("div",{style:{...j,marginBottom:6},children:t("meta2d.props.appearance")}),e.jsxs("div",{style:f,children:[e.jsx("span",{style:y,children:t("meta2d.props.color")}),e.jsx("input",{onChange:o=>h("color",o.target.value),style:{...m,flex:1},type:"color",value:l.color||"#1f1f1f"})]}),e.jsxs("div",{style:f,children:[e.jsx("span",{style:y,children:t("meta2d.props.bg")}),e.jsx("input",{onChange:o=>h("background",o.target.value),style:{...m,flex:1},type:"color",value:l.background||"#ffffff"})]}),e.jsxs("div",{style:f,children:[e.jsx("span",{style:y,children:t("meta2d.props.dash")}),e.jsxs("select",{onChange:o=>h("dash",Number(o.target.value)),style:{...m,flex:1},value:String(l.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:f,children:[e.jsx("span",{style:y,children:t("meta2d.props.radius")}),e.jsx("input",{max:1,min:0,onChange:o=>h("borderRadius",Number(o.target.value)),step:.01,style:{...m,flex:1},type:"range",value:String(l.borderRadius??0)}),e.jsx("span",{style:{color:"#8c8c8c",fontSize:11,width:32},children:l.borderRadius??0})]}),e.jsxs("div",{style:f,children:[e.jsx("span",{style:y,children:t("meta2d.props.alpha")}),e.jsx("input",{max:1,min:0,onChange:o=>h("globalAlpha",Number(o.target.value)),step:.01,style:{...m,flex:1},type:"range",value:String(l.globalAlpha??1)}),e.jsx("span",{style:{color:"#8c8c8c",fontSize:11,width:32},children:(l.globalAlpha??1).toFixed(2)})]})]}),e.jsxs("div",{style:k,children:[e.jsx("div",{style:{...j,marginBottom:6},children:t("meta2d.props.position")}),[["X","x"],["Y","y"],["W","width"],["H","height"]].map(([o,d])=>e.jsxs("div",{style:f,children:[e.jsx("span",{style:y,children:o}),e.jsx("input",{onChange:i=>B(d,Number(i.target.value)),style:{...m,flex:1},type:"number",value:p?p[d]:0})]},d))]}),e.jsxs("div",{style:k,children:[e.jsx("div",{style:{...j,marginBottom:6},children:t("meta2d.props.textAlign")}),e.jsxs("div",{style:f,children:[e.jsx("span",{style:y,children:t("meta2d.props.h")}),e.jsxs("select",{onChange:o=>h("textAlign",o.target.value),style:{...m,flex:1},value:l.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:f,children:[e.jsx("span",{style:y,children:t("meta2d.props.v")}),e.jsxs("select",{onChange:o=>h("textBaseline",o.target.value),style:{...m,flex:1},value:l.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:k,children:[e.jsx("div",{style:{...j,marginBottom:6},children:t("meta2d.props.layer")}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[e.jsx("button",{onClick:()=>w(o=>o.top()),style:C,type:"button",children:t("meta2d.props.top")}),e.jsx("button",{onClick:()=>w(o=>o.up()),style:C,type:"button",children:t("meta2d.props.up")}),e.jsx("button",{onClick:()=>w(o=>o.down()),style:C,type:"button",children:t("meta2d.props.down")}),e.jsx("button",{onClick:()=>w(o=>o.bottom()),style:C,type:"button",children:t("meta2d.props.bottom")})]})]})]})}const R={background:"#fff",border:"1px solid #d9d9d9",borderRadius:6,cursor:"pointer",minWidth:68,padding:"6px 12px"},S={...R,fontSize:12,minWidth:52,padding:"4px 10px"};function Z(n){c.useEffect(()=>{const t=document.documentElement,l=document.body,a=t.style.overflow,p=l.style.overflow;return t.style.overflow="hidden",l.style.overflow="hidden",()=>{t.style.overflow=a,l.style.overflow=p}},[n])}function pe({diagram:n,onClose:t,onSave:l}){const{t:a}=E(),p=c.useRef(null),r=c.useRef(null),g=c.useRef(n),b=c.useRef(t),[v,h]=c.useState(null),[B,w]=c.useState(!1);Z(!0),c.useLayoutEffect(()=>{b.current=t}),c.useEffect(()=>{if(!p.current)return;N();const i=new G(p.current,{grid:!0,rule:!1});r.current=i,h(i);try{const x=g.current;x!=null&&x.trim()?i.open(JSON.parse(x)):i.open(F()),A(i.data()),i.render(!0)}catch{i.open(F()),A(i.data()),i.render(!0)}const u=x=>{x.key==="Escape"&&b.current()};return window.addEventListener("keydown",u),()=>{window.removeEventListener("keydown",u);try{i.destroy()}catch{}r.current=null}},[]);const o=async()=>{const i=r.current;if(i){w(!0);try{A(i.data()),i.render(!0);const u=W(i.data()),x=JSON.stringify(u);l(x,await q(i)||await I(x)||'<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{w(!1)}}},d=i=>{const u=r.current;u&&i(u)};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:i=>i.stopPropagation(),onWheel:i=>i.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:a("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:()=>d(i=>i.undo()),style:S,title:`${a("meta2d.editor.undo")} (Ctrl+Z)`,type:"button",children:a("meta2d.editor.undo")}),e.jsx("button",{onClick:()=>d(i=>i.redo()),style:S,title:`${a("meta2d.editor.redo")} (Ctrl+Y)`,type:"button",children:a("meta2d.editor.redo")}),e.jsx("button",{onClick:()=>d(i=>i.delete()),style:S,title:a("meta2d.editor.delete"),type:"button",children:a("meta2d.editor.delete")}),e.jsx("button",{onClick:()=>d(i=>i.fitView(!0)),style:S,title:a("meta2d.editor.fit"),type:"button",children:a("meta2d.editor.fit")}),e.jsx("button",{onClick:()=>d(i=>{i.scale(1),i.centerView()}),style:S,title:a("meta2d.editor.zoom100"),type:"button",children:a("meta2d.editor.zoom100")})]}),e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx("button",{onClick:t,style:R,type:"button",children:a("meta2d.editor.close")}),e.jsx("button",{disabled:B,onClick:()=>void o(),style:{...R,background:"#1677ff",border:"none",color:"#fff"},type:"button",children:a(B?"meta2d.editor.saving":"meta2d.editor.save")})]})]})]}),e.jsxs("div",{style:{display:"flex",flex:1,minHeight:0,overflow:"hidden"},children:[e.jsx(U,{engineRef:r}),e.jsx("div",{ref:p,style:{flex:1,minHeight:0,minWidth:0}}),e.jsx(_,{engine:v})]})]})})}export{pe as DiagramEditor};
@@ -0,0 +1,21 @@
1
+ import{r as i,j as n}from"./react-vendor-BNpqFP9B.js";import{B as oe}from"./ui-DxdLi_28.js";import{c as J,g as he,u as ye,a as re,d as Ne,b as Re,f as De,e as Ae,h as Pe,D as Te,F as Le,l as ce,i as Be,S as _e,M as Oe,j as ze,r as pe,k as Fe,m as V,n as He,o as Ue,p as le}from"./index-C46BU1-j.js";import{z as We,A as qe,m as Q,n as Ve,o as $e,p as Je,r as Ge,s as Ke,t as Xe,v as Ye,x as Qe,B as Ze,R as et,a as tt,b as de,c as nt,d as at,e as it,f as st,g as ot,h as rt,i as ct,w as Z,j as lt,O as dt,E as ut,q as mt,l as ft,C as ht,D as yt}from"./react-B7vrA7AR.js";import{H as gt,a as xt,b as vt,M as bt,T as kt,S as It,W as St,N as Ct,o as wt,c as ue}from"./Toolbar-DjPuWk5G.js";import{V as jt}from"./VisitorPickerModal-BUS-cOq0.js";import"./motion-C4pN8CfU.js";import"./editor-ONzd_YnO.js";import"./diagram-gfUK8OHx.js";import"./plus-CnKbiP8x.js";import"./copy-hWOco_4c.js";/**
2
+ * @license lucide-react v0.562.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const Mt=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Et=J("refresh-cw",Mt);/**
7
+ * @license lucide-react v0.562.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const Nt=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M6.376 18.91a6 6 0 0 1 11.249.003",key:"hnjrf2"}],["circle",{cx:"12",cy:"11",r:"4",key:"1gt34v"}]],Rt=J("shield-user",Nt);/**
12
+ * @license lucide-react v0.562.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const Dt=[["path",{d:"M3 5h18",key:"1u36vt"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 19h18",key:"awlh7x"}]],At=J("text-align-justify",Dt);/**
17
+ * @license lucide-react v0.562.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const Pt=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Tt=J("users",Pt),Lt=48;function $(e){try{const a=e.getDocument("markdown");return typeof a=="string"?a:""}catch{return null}}function Bt(e){try{return JSON.stringify(e.getDocument("json"))}catch{return null}}function _t({editor:e,documentId:a,displayName:o,debounceMs:g=1e3,enabled:m=!0,localBaseCommitIdAtEditStart:N,snapshotMeta:L}){const[G,P]=i.useState(!1),[R,I]=i.useState(!1),[B,w]=i.useState(null),u=i.useRef(null),f=i.useRef(null),x=i.useRef(!1),v=i.useRef(""),y=i.useRef(!1),S=i.useRef(a),F=i.useRef(o),H=i.useRef(N),_=i.useRef(L);S.current=a,F.current=o,H.current=N,_.current=L;const C=i.useCallback(async()=>{if(!e)return;if(!v.current){console.log("[useAutoSave] performSave blocked: lastContentRef is empty");return}const c=Bt(e);c!=null&&(console.log("[useAutoSave] performSave saving draft, documentId:",S.current,"content preview:",c.slice(0,80)),await he(S.current).execute(()=>ye({documentId:S.current,content:c,displayName:F.current,localBaseCommitIdAtEditStart:H.current,snapshotMeta:_.current})),v.current=$(e)??v.current,I(!0),P(!1),w(Date.now()),x.current=!0,y.current=!1)},[e]);i.useEffect(()=>{let c=!1;return re(a).then(l=>{c||(l?(I(!0),w(l.updatedAt),x.current=!0):(I(!1),w(null),x.current=!1,y.current=!1))}),()=>{c=!0}},[a]),i.useEffect(()=>{var W,q;if(!m){(W=f.current)==null||W.call(f),f.current=null;return}if(!e)return;const c=e.getLexicalEditor();if(!c)return;(q=f.current)==null||q.call(f);let l=!1,b=0,T=0;const O=()=>{if(l)return;const k=$(e);if(k===null){if(T+=1,T>Lt)return;b=requestAnimationFrame(O);return}v.current=k;const r=c.registerUpdateListener(()=>{const A=$(e);A!==null&&A!==v.current&&(console.log("[useAutoSave] updateListener dirty, documentId:",a,"oldLen:",v.current.length,"newLen:",A.length),v.current=A,P(!0),y.current=!0,x.current=!1,u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null,C()},g))});f.current=()=>{r(),u.current&&(clearTimeout(u.current),u.current=null)}};return queueMicrotask(()=>{l||(b=requestAnimationFrame(O))}),()=>{var k;l=!0,cancelAnimationFrame(b),(k=f.current)==null||k.call(f)}},[m,e,a,o,g,N,L,C]),i.useEffect(()=>{var b;if(!m||!e)return;const c=(b=e.getLexicalEditor())==null?void 0:b.getRootElement();if(!c)return;const l=()=>{u.current&&(clearTimeout(u.current),u.current=null),y.current&&C()};return c.addEventListener("blur",l),()=>c.removeEventListener("blur",l)},[m,e,C]),i.useEffect(()=>{if(!m)return;const c=()=>{document.visibilityState==="hidden"&&(u.current&&(clearTimeout(u.current),u.current=null),y.current&&C())},l=()=>{y.current&&(u.current&&(clearTimeout(u.current),u.current=null),C())};return document.addEventListener("visibilitychange",c),window.addEventListener("beforeunload",l),()=>{document.removeEventListener("visibilitychange",c),window.removeEventListener("beforeunload",l)}},[m,C]);async function j(){await Ne(a),I(!1),P(!1),y.current=!1,x.current=!1,v.current=""}async function U(){const c=await re(a);return c?c.content:null}function D(){I(!0),P(!1),y.current=!1,w(Date.now()),x.current=!0,e&&(v.current=$(e)??"")}return{isDirty:G,draftExists:R,lastSavedAt:B,clearDraft:j,loadDraftContent:U,markDraftSaved:D}}function Ot({isDirty:e,draftExists:a}){const o=e&&!a;i.useEffect(()=>{if(!o)return;const g=m=>{m.preventDefault()};return window.addEventListener("beforeunload",g),()=>window.removeEventListener("beforeunload",g)},[o])}function ee(e){try{return JSON.stringify(e.getDocument("json"))}catch{return null}}const me='{"root":{"direction":"ltr","format":"","indent":0,"version":1,"type":"root","children":[{"direction":"ltr","format":"","indent":0,"version":1,"textFormat":0,"textStyle":"","children":[],"type":"paragraph"}]}}';function fe(e){const o=(e instanceof Error?e.message:String(e)).trim();return/^File too large$/i.test(o)?"文件过大(单文件上限 55MB)":/^unsupported file type$/i.test(o)?"不支持的文件类型":/^not an image$/i.test(o)?"不是有效的图片文件":o||"上传失败"}function zt(e,a){if(!e)return a==="json"?me:e;if(a!=="json")return e;try{const o=JSON.parse(e);if(o!=null&&o.root&&Array.isArray(o.root.children)&&o.root.children.length===0)return me}catch{}return e}function pt({editor:e}){const{visible:a}=ht();return n.jsx("div",{className:"mdocs-outline-siderail",style:{flexShrink:0,overflow:"hidden",transition:"width 0.2s ease",width:a?200:0},children:n.jsx("div",{style:{width:200},children:n.jsx(yt,{editor:e})})})}function Yt(e){const{t:a,lang:o}=Re(),[g,m]=i.useState(!1),N=i.useRef(null),[L,G]=i.useState([]),[P,R]=i.useState(!1),[I,B]=i.useState(e.meta.permission),[w,u]=i.useState(!1),[f,x]=i.useState(!1),[v,y]=i.useState(!1),[S,F]=i.useState(new Map),[H,_]=i.useState(!1);i.useEffect(()=>{const t=s=>{N.current&&!N.current.contains(s.target)&&m(!1)};return g&&document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[g]),i.useEffect(()=>{let t=!0;return De().then(s=>{t&&G(s)}).catch(()=>{}),()=>{t=!1}},[]);function C(t){const s=L.find(d=>d.visitorId===t);return(s==null?void 0:s.visitorName)??t.slice(0,8)}const[j,U]=i.useState(e.initialDisplayName),[D,c]=i.useState(!1),[l,b]=i.useState(!1),[T,O]=i.useState(!1),[W,q]=i.useState(()=>localStorage.getItem("mdocs.autoEdit")!=="false"),k=e.canEdit&&W,[r,A]=i.useState(null),[ge,te]=i.useState(!1),K=i.useRef(null);i.useLayoutEffect(()=>{te(!1),A(null),K.current=null},[e.meta.documentId]),i.useEffect(()=>{const t=requestAnimationFrame(()=>te(!0));return()=>cancelAnimationFrame(t)},[e.meta.documentId]);const M=i.useMemo(()=>{var t;if(!e.initialContent)return"json";try{const s=JSON.parse(e.initialContent);return Array.isArray((t=s==null?void 0:s.root)==null?void 0:t.children)?"json":"markdown"}catch{return"markdown"}},[e.initialContent,e.contentRevision]),z=i.useMemo(()=>zt(e.initialContent||"",M),[e.initialContent,M,e.contentRevision]),{isDirty:ne,draftExists:p,markDraftSaved:xe}=_t({editor:r,documentId:e.meta.documentId,displayName:j,enabled:e.canEdit,localBaseCommitIdAtEditStart:e.meta.headCommitId??null,snapshotMeta:{permission:e.meta.permission,ownerVisitorId:e.meta.ownerVisitorId,domainId:e.meta.domainId}});i.useEffect(()=>{var t;(t=e.onDraftExistsChange)==null||t.call(e,p)},[p,e.onDraftExistsChange]),Ot({isDirty:ne,draftExists:p}),i.useEffect(()=>{if(r)try{r.setDocument(M,z)}catch{}},[r,e.meta.documentId,e.contentRevision,z,M]),i.useEffect(()=>{r==null||r.setLocale(o==="zh"?We:qe)},[r,o]),i.useEffect(()=>{U(e.initialDisplayName)},[e.initialDisplayName,e.meta.documentId,e.contentRevision]),i.useEffect(()=>{B(e.meta.permission)},[e.meta.permission,e.meta.documentId]),i.useEffect(()=>{let t=!0;return(async()=>{try{const s=await Ae(e.meta.documentId);t&&b(s.bookmarked)}catch{}})(),()=>{t=!1}},[e.meta.documentId]);async function ae(){var t,s;if(!T){O(!0);try{l?(await pe(e.meta.documentId),b(!1),(t=e.onShowToast)==null||t.call(e,a("bookmarkRemoved"))):(await Fe(e.meta.documentId),b(!0),(s=e.onShowToast)==null||s.call(e,a("bookmarkAdded")))}finally{O(!1)}}}i.useEffect(()=>(e.saveBeforeNavRef&&(e.saveBeforeNavRef.current=je),()=>{e.saveBeforeNavRef&&(e.saveBeforeNavRef.current=void 0)})),i.useEffect(()=>{if(e.exportMarkdownRef)return e.exportMarkdownRef.current=()=>{const t=K.current;if(!t)return"";try{const s=t.getDocument("markdown");return typeof s=="string"?s:String(s??"")}catch{return""}},()=>{e.exportMarkdownRef&&(e.exportMarkdownRef.current=void 0)}});function ve(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}const be=i.useCallback(t=>{K.current=t,A(t);const s=z;if(!s)return;const d=()=>{try{t.setDocument(M,s)}catch{requestAnimationFrame(()=>{try{t.setDocument(M,s)}catch{}})}};queueMicrotask(()=>{queueMicrotask(d)})},[M,z]);async function ie(){if(!(!r||!e.canEdit)){c(!0);try{const t=ee(r);if(!t)return;await e.onPublish(t,j,e.meta.documentId)}catch(t){throw t}finally{c(!1)}}}async function ke(){if(!e.canEdit)return;const t=e.initialDisplayName.trim();if(j.trim()!==t)try{await ie()}catch{}}const E=i.useMemo(()=>e.domains.find(t=>t.domainId===e.meta.domainId),[e.domains,e.meta.domainId]),Ie=i.useMemo(()=>{const t=(E==null?void 0:E.permission)??"public";return Pe(t)},[E==null?void 0:E.permission]);function Se(t){return t===V.PRIVATE?a("permissionPrivate"):t===V.DOMAIN_READ?a("permissionInvite"):t===V.DOMAIN_WRITE?a("permissionDomainWrite"):t===V.PUBLIC_READ?a("permissionPublicRead"):a("permissionPublicEdit")}async function Ce(){var t;if(w||I===e.meta.permission){R(!1);return}u(!0);try{const d=(r?ee(r):null)??e.initialContent;await e.onPublish(d,j,e.meta.documentId,I),R(!1),(t=e.onShowToast)==null||t.call(e,a("docInfoPermissionUpdated"))}finally{u(!1)}}async function we(t){var s;if(!H){_(!0);try{const d=new Set(t.map(h=>h.visitorId)),X=new Map(t.map(h=>[h.visitorId,h.permission]));for(const[h]of S)d.has(h)||await He(e.meta.documentId,h);for(const{visitorId:h,permission:Y}of t){const se=S.get(h);(!se||se!==Y)&&await Ue(e.meta.documentId,h,Y)}x(!1),(s=e.onShowToast)==null||s.call(e,a("docInfoInviteSuccess",{count:t.length}))}finally{_(!1)}}}async function je(){if(!r||!e.canEdit)return;if(!ne){console.log("[DocumentEditor.saveDraft] skipped: not dirty, documentId:",e.meta.documentId);return}const t=ee(r);t&&(console.log("[DocumentEditor.saveDraft] saving draft, documentId:",e.meta.documentId,"content preview:",t.slice(0,80)),xe(),await he(e.meta.documentId).execute(()=>ye({documentId:e.meta.documentId,content:t,displayName:j,localBaseCommitIdAtEditStart:e.meta.headCommitId??null,snapshotMeta:{permission:e.meta.permission,ownerVisitorId:e.meta.ownerVisitorId,domainId:e.meta.domainId}})))}const Me=i.useMemo(()=>[{icon:gt,key:"h1",label:"Heading 1",onSelect:t=>{t.dispatchCommand(Q,{tag:"h1"})}},{icon:xt,key:"h2",label:"Heading 2",onSelect:t=>{t.dispatchCommand(Q,{tag:"h2"})}},{icon:vt,key:"h3",label:"Heading 3",onSelect:t=>{t.dispatchCommand(Q,{tag:"h3"})}},{type:"divider"},{icon:bt,key:"hr",label:"Hr",onSelect:t=>{t.dispatchCommand(Ve,{})}},{icon:kt,key:"table",label:"Table",onSelect:t=>{t.dispatchCommand($e,{columns:"3",rows:"3"})}},{icon:It,key:"tex",label:"TeX",onSelect:t=>{t.dispatchCommand(Je,{code:"x^2 + y^2 = z^2"}),queueMicrotask(()=>t.focus())}},{type:"divider"},{key:"file",label:"File",onSelect:t=>{wt(s=>{for(const d of s)t.dispatchCommand(mt,{file:d})})}},{key:"insert-link",label:"Insert Link",onSelect:t=>{t.dispatchCommand(Ge,{url:"https://example.com"}),queueMicrotask(()=>t.focus())}},{key:"insert-codeInline",label:"Inline Code",onSelect:t=>{t.dispatchCommand(Ke,void 0),queueMicrotask(()=>t.focus())}},{key:"insert-codeBlock",label:"Code Block",onSelect:t=>{t.dispatchCommand(Xe,void 0),queueMicrotask(()=>t.focus())}},{icon:St,key:"meta2d",label:"Meta2d",onSelect:t=>{t.dispatchCommand(Ye,void 0),queueMicrotask(()=>t.focus())}},{icon:Ct,key:"markmap",label:"Markmap",onSelect:t=>{t.dispatchCommand(Qe,void 0),queueMicrotask(()=>t.focus())}}].map(t=>"type"in t&&t.type==="divider"?t:{...t,extra:n.jsx("span",{style:{color:"var(--mdocs-text-muted)",fontFamily:"monospace",fontSize:12},children:t.key})}),[]),Ee=i.useMemo(()=>[Ze,et,tt,de,nt,at,it,st,ot,rt,ct,Z(lt,{children:r?n.jsx(ue,{editor:r,floating:!0,outlineCollapseTitle:a("outlineHide"),outlineExpandTitle:a("outlineShow"),outlineToggle:!0}):null}),Z(ft,{handleUpload:async t=>{var s;try{return{url:await le(t,e.meta.documentId)}}catch(d){throw(s=e.onShowError)==null||s.call(e,fe(d)),d}}}),Z(de,{defaultBlockImage:!0,needRehost:t=>t.startsWith("blob:"),handleRehost:async t=>{var s;try{const X=await(await fetch(t)).blob(),h=new File([X],"image.png",{type:X.type});return{url:await le(h,e.meta.documentId)}}catch(d){throw(s=e.onShowError)==null||s.call(e,fe(d)),d}}})],[r,a,e.meta.documentId,e.onShowError]);return n.jsxs("div",{className:"mdocs-editor",children:[n.jsxs("div",{className:"mdocs-editor-toolbar",children:[n.jsx("input",{className:"mdocs-editor-title-input",value:j,onChange:t=>U(t.target.value),onBlur:()=>void ke(),placeholder:a("displayNamePlaceholder"),disabled:!k}),n.jsx(Te,{domains:e.domains.length?e.domains:[Le],value:e.currentDomainId,onChange:e.onDomainChange,onDomainsChange:e.onDomainsChange,ariaLabel:a("currentDomainAria"),localizeName:t=>ce(t,o,a)}),e.onAiWrite?n.jsxs("button",{type:"button",className:"secondary",onClick:()=>{var t;return(t=e.onAiWrite)==null?void 0:t.call(e)},style:{padding:"4px 10px",whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",gap:6},children:[n.jsx("img",{src:Be,alt:"",width:16,height:16,style:{display:"block"}}),"帮写"]}):null,n.jsxs("button",{type:"button",className:"secondary mdocs-tooltip mdocs-tooltip-bottom",onClick:()=>void ae(),disabled:T,"data-tooltip":l?"取消收藏":"收藏",style:{padding:"4px 8px",minWidth:"auto",display:"flex",alignItems:"center",justifyContent:"center",gap:4,opacity:T?.5:1},children:[n.jsx(_e,{size:18,strokeWidth:1.5,style:{color:l?"#faad14":"var(--mdocs-text-secondary, #6b7280)",fill:l?"#faad14":"none"}}),l&&n.jsx("span",{children:"已收藏"})]}),n.jsx("span",{className:"mdocs-editor-toolbar-spacer","aria-hidden":!0}),n.jsxs("div",{className:"mdocs-editor-toolbar-actions",children:[e.onSyncClick&&n.jsxs("button",{type:"button",className:"mdocs-sync-btn mdocs-tooltip mdocs-tooltip-bottom"+(e.syncBehind?" behind":""),"data-tooltip":e.syncBehind?a("syncBehindHint"):a("syncPull"),onClick:()=>{var t;return void((t=e.onSyncClick)==null?void 0:t.call(e))},style:{display:"flex",alignItems:"center",gap:4},children:[n.jsx(Et,{size:16,strokeWidth:1.5}),n.jsx("span",{children:a("syncPull")})]}),k?n.jsxs(n.Fragment,{children:[localStorage.getItem("mdocs.autoPublish")!=="true"&&n.jsxs("span",{className:"mdocs-save-indicator",children:[n.jsx("span",{className:"mdocs-save-dot "+(D?"saving":p?"unsaved":"saved")}),n.jsx("span",{children:a(D?"publishing":p?"unsaved":"published")})]}),n.jsx("button",{type:"button",className:"primary",disabled:D,onClick:()=>{ie().catch(()=>{})},children:a(D?"publishing":"publish")}),n.jsx("button",{type:"button",className:"danger",disabled:D,onClick:e.onDelete,children:a("delete")})]}):e.canEdit&&n.jsx("button",{type:"button",className:"primary",onClick:()=>q(!0),children:a("edit")}),n.jsxs("button",{type:"button",className:"secondary mdocs-tooltip mdocs-tooltip-bottom",onClick:e.onToggleComments,"data-tooltip":"评论",style:{padding:"4px 8px",minWidth:"auto",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:e.commentPanelOpen?"var(--mdocs-hover-bg, #f0f0f0)":void 0},children:[n.jsx(Oe,{size:18,strokeWidth:1.5,style:{color:"var(--mdocs-text-secondary, #6b7280)"}}),e.commentCount>0&&n.jsx("span",{style:{fontSize:"0.85rem"},children:e.commentCount})]}),n.jsxs("div",{ref:N,className:"mdocs-tooltip mdocs-tooltip-bottom","data-tooltip":a("docInfo"),style:{position:"relative"},children:[n.jsx("button",{type:"button",className:"secondary",onClick:()=>m(!g),style:{padding:"4px 8px",minWidth:"auto",display:"flex",alignItems:"center",justifyContent:"center"},children:n.jsx(At,{size:18,strokeWidth:1.5,style:{color:"var(--mdocs-text-secondary, #6b7280)"}})}),g&&n.jsxs("div",{style:{position:"absolute",top:"100%",right:0,marginTop:"4px",background:"var(--mdocs-surface, #fff)",border:"1px solid var(--mdocs-border, #e5e5e5)",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",minWidth:"220px",zIndex:100,padding:"8px 0"},children:[n.jsxs("div",{style:{padding:"4px 16px",fontSize:"13px"},children:[n.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[n.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:a("docInfoCreator")}),n.jsx("span",{children:C(e.meta.ownerVisitorId)})]}),n.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[n.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:a("docInfoCreatedAt")}),n.jsx("span",{children:new Date(e.meta.createdAt).toLocaleString(o==="zh"?"zh-CN":"en-US")})]}),n.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[n.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:a("docInfoSize")}),n.jsx("span",{children:ve(new Blob([e.initialContent]).size)})]}),n.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[n.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:a("docInfoUpdatedAt")}),n.jsx("span",{children:new Date(e.meta.updatedAt).toLocaleString(o==="zh"?"zh-CN":"en-US")})]})]}),n.jsx("div",{style:{height:"1px",background:"var(--mdocs-border, #e5e5e5)",margin:"8px 0"}}),n.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:t=>{t.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:t=>{t.currentTarget.style.background="none"},onClick:()=>{ae()},children:[n.jsx("span",{children:l?"⭐":"☆"}),n.jsx("span",{children:a(l?"bookmarkRemove":"bookmarkAdd")})]}),e.canManageInvites&&n.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:t=>{t.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:t=>{t.currentTarget.style.background="none"},onClick:()=>{m(!1),(async()=>{y(!0);try{const t=await ze(e.meta.documentId),s=new Map(t.map(d=>[d.visitorId,d.permission]));F(s),x(!0)}finally{y(!1)}})()},children:[n.jsx(Tt,{size:14}),n.jsx("span",{children:a("docInfoInviteMember")})]}),n.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:t=>{t.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:t=>{t.currentTarget.style.background="none"},onClick:()=>{m(!1),B(e.meta.permission),R(!0)},children:[n.jsx(Rt,{size:14}),n.jsx("span",{children:a("docInfoChangePermission")})]})]})]})]})]}),P&&n.jsx("div",{className:"mdocs-dialog-backdrop",style:{position:"fixed",zIndex:9999},onClick:t=>{t.target===t.currentTarget&&R(!1)},children:n.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:480},children:[n.jsx("h1",{style:{fontSize:"1.1rem",marginBottom:12},children:a("docInfoChangePermission")}),n.jsxs("div",{className:"muted",style:{marginBottom:12},children:[a("domainPermission"),":",E?ce(E.domainName,o,a):e.meta.domainId]}),n.jsx("div",{style:{display:"grid",gap:8},children:Ie.map(t=>n.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer"},children:[n.jsx("input",{type:"radio",name:"doc-permission",value:t,checked:I===t,onChange:()=>B(t)}),n.jsx("span",{children:Se(t)})]},t))}),n.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[n.jsx("button",{type:"button",onClick:()=>R(!1),children:a("cancel")}),n.jsx("button",{type:"button",className:"primary",disabled:w,onClick:()=>void Ce(),children:a(w?"publishing":"saveAndPublish")})]})]})}),e.canManageInvites&&n.jsx(jt,{open:f,title:a("docInfoInviteMember"),initialSelectedIds:[...S.keys()],initialPermissions:S,templates:[],showPermissionSelect:!0,permissionOptions:[{value:"read",label:a("invitePermissionRead")},{value:"edit",label:a("invitePermissionEdit")}],onClose:()=>x(!1),onConfirm:t=>{we(t)}}),n.jsx(dt,{children:n.jsx(oe,{flex:1,style:{minHeight:0},children:n.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[k&&r&&n.jsx(ue,{editor:r,outlineCollapseTitle:a("outlineHide"),outlineExpandTitle:a("outlineShow"),outlineToggle:!0}),n.jsx("div",{className:"mdocs-editor-content-area",style:{flex:1,display:"flex",minHeight:0},children:n.jsxs(oe,{variant:"outlined",horizontal:!0,style:{background:"var(--mdocs-surface)",flex:1,minHeight:0,minWidth:0,borderRadius:0,outline:"none"},children:[n.jsx("div",{className:"mdocs-editor-scroll-host",children:ge?n.jsx(ut,{content:z,type:M,confirmPasteMarkdown:!0,editable:k,onInit:be,plugins:Ee,lineEmptyPlaceholder:a("displayNamePlaceholder"),placeholder:a("displayNamePlaceholder"),slashOption:{items:Me},className:"mdocs-document-editor-root"},e.meta.documentId):null}),r&&n.jsx(pt,{editor:r})]})})]})})})]})}export{Yt as DocumentEditor};