agentstudio 0.4.0 → 0.4.2

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 (111) hide show
  1. package/bin/agentstudio.js +5 -4
  2. package/bin/agentstudio.js.map +1 -1
  3. package/bin/serviceManager.d.ts.map +1 -1
  4. package/bin/serviceManager.js +75 -78
  5. package/bin/serviceManager.js.map +1 -1
  6. package/config/index.d.ts.map +1 -1
  7. package/config/index.js +7 -11
  8. package/config/index.js.map +1 -1
  9. package/config/migration.d.ts +16 -0
  10. package/config/migration.d.ts.map +1 -0
  11. package/config/migration.js +212 -0
  12. package/config/migration.js.map +1 -0
  13. package/config/paths.d.ts +119 -32
  14. package/config/paths.d.ts.map +1 -1
  15. package/config/paths.js +142 -38
  16. package/config/paths.js.map +1 -1
  17. package/index.d.ts.map +1 -1
  18. package/index.js +3 -0
  19. package/index.js.map +1 -1
  20. package/package.json +1 -1
  21. package/public/assets/{AgentsPage-D462iGRy.js → AgentsPage-BsZdkqzM.js} +1 -1
  22. package/public/assets/{Button-B_6lGF64.js → Button-CMTSYiKV.js} +1 -1
  23. package/public/assets/{ChatPage-NjuRQPaL.js → ChatPage-D8buVhfb.js} +5 -5
  24. package/public/assets/{CommandsPage-DeUS8fhJ.js → CommandsPage-qDWzq8xp.js} +1 -1
  25. package/public/assets/{CursorConfigPage-Bl1Blrbr.js → CursorConfigPage-DpUdJzRi.js} +1 -1
  26. package/public/assets/{DashboardPage-DH-2iuqf.js → DashboardPage-BhqKOzob.js} +1 -1
  27. package/public/assets/{EngineGate-DxTYx9wb.js → EngineGate-BjHJu955.js} +1 -1
  28. package/public/assets/{FileBrowser-CeGsJnUL.js → FileBrowser-DboOOM_v.js} +1 -1
  29. package/public/assets/{GeneralSettingsPage-lhNEJQD_.js → GeneralSettingsPage-DYdwai51.js} +1 -1
  30. package/public/assets/{HooksPage-9fingjdz.js → HooksPage-DDGc0GGV.js} +1 -1
  31. package/public/assets/{LandingPage-BAzi8PDo.js → LandingPage-CvY4n9Rh.js} +1 -1
  32. package/public/assets/{LoginPage-kQ_NWy8p.js → LoginPage-C-PZfjYC.js} +1 -1
  33. package/public/assets/{McpAdminSettingsPage-DQHpWHRC.js → McpAdminSettingsPage-CIILVzB8.js} +1 -1
  34. package/public/assets/{McpPage-DLHfmhSJ.js → McpPage-B4nQUJag.js} +1 -1
  35. package/public/assets/{MemorySettingsPage-CRIPja9X.js → MemorySettingsPage-eu6tsuUh.js} +1 -1
  36. package/public/assets/{PluginsPage-BhKM7gV7.js → PluginsPage-DD92Xk6X.js} +1 -1
  37. package/public/assets/{ProjectSelector-Cbct6pnn.js → ProjectSelector-CybrDbBY.js} +1 -1
  38. package/public/assets/{ProjectsPage-lQo7-7dt.js → ProjectsPage-DRl-0B4G.js} +1 -1
  39. package/public/assets/{RulesPage-BRnB7__3.js → RulesPage-DUt33RkX.js} +1 -1
  40. package/public/assets/{ScheduledTasksPage-CZiABTSb.js → ScheduledTasksPage-CTDYYRIN.js} +1 -1
  41. package/public/assets/{SettingsLayout-BfG7ftoT.js → SettingsLayout-LGC-0pQl.js} +1 -1
  42. package/public/assets/{SkillsPage-CL6MKxQ9.js → SkillsPage-Lzw8I9vR.js} +1 -1
  43. package/public/assets/{SubagentsPage-DhFP2kDE.js → SubagentsPage-bX2XWdJ0.js} +1 -1
  44. package/public/assets/{SystemInfoPage-CFHUN3j8.js → SystemInfoPage-nEIQbtwG.js} +1 -1
  45. package/public/assets/{TelemetrySettingsPage-BcZFVBXN.js → TelemetrySettingsPage-q167I4G9.js} +1 -1
  46. package/public/assets/{ToastTestPage-BtGnZdyk.js → ToastTestPage-j224d3QR.js} +1 -1
  47. package/public/assets/{VersionSettingsPage-DjOjyL3X.js → VersionSettingsPage-BwpwiLyl.js} +1 -1
  48. package/public/assets/{WebSocketTunnelPage-CfHtJR9r.js → WebSocketTunnelPage-BqEUE7mr.js} +1 -1
  49. package/public/assets/{_basePickBy-Bac3af5O.js → _basePickBy-DHabY031.js} +1 -1
  50. package/public/assets/{_baseUniq-Dvh9sZ-T.js → _baseUniq-B1lmu3qr.js} +1 -1
  51. package/public/assets/{arc-CRR5EPpK.js → arc-6sRLTBcr.js} +1 -1
  52. package/public/assets/{architectureDiagram-VXUJARFQ-Ct1p8kmV.js → architectureDiagram-VXUJARFQ-kwdTmjuB.js} +1 -1
  53. package/public/assets/{blockDiagram-VD42YOAC-CX_8YiYn.js → blockDiagram-VD42YOAC-CYO9EYkJ.js} +1 -1
  54. package/public/assets/{c4Diagram-YG6GDRKO-BIBVWIY4.js → c4Diagram-YG6GDRKO-gAp3--Ee.js} +1 -1
  55. package/public/assets/channel-D9wyZF1L.js +1 -0
  56. package/public/assets/{chunk-4BX2VUAB-CQNNXsb5.js → chunk-4BX2VUAB-DQVsL-J6.js} +1 -1
  57. package/public/assets/{chunk-55IACEB6-N_ZrGhOu.js → chunk-55IACEB6-DVsfnY5X.js} +1 -1
  58. package/public/assets/{chunk-B4BG7PRW-CI6DkhbM.js → chunk-B4BG7PRW-BNmOvuIn.js} +1 -1
  59. package/public/assets/{chunk-DI55MBZ5-Dgj-Eo9U.js → chunk-DI55MBZ5-BkucWe8Y.js} +1 -1
  60. package/public/assets/{chunk-FMBD7UC4-o4B0HzSK.js → chunk-FMBD7UC4-BsvfEdnB.js} +1 -1
  61. package/public/assets/{chunk-QN33PNHL-DXlfdPIk.js → chunk-QN33PNHL-DSecsNtM.js} +1 -1
  62. package/public/assets/{chunk-QZHKN3VN-ZCBUGD7e.js → chunk-QZHKN3VN-DhvrZSqy.js} +1 -1
  63. package/public/assets/{chunk-TZMSLE5B-N3lZ106d.js → chunk-TZMSLE5B-BqQ674GC.js} +1 -1
  64. package/public/assets/{classDiagram-2ON5EDUG-DCwNRxvC.js → classDiagram-2ON5EDUG-DwEqkkEb.js} +1 -1
  65. package/public/assets/{classDiagram-v2-WZHVMYZB-DCwNRxvC.js → classDiagram-v2-WZHVMYZB-DwEqkkEb.js} +1 -1
  66. package/public/assets/clone-3wFPaI2j.js +1 -0
  67. package/public/assets/{cose-bilkent-S5V4N54A-Crc39J9q.js → cose-bilkent-S5V4N54A-D9ZC6LmB.js} +1 -1
  68. package/public/assets/{dagre-6UL2VRFP-nC3WLCf7.js → dagre-6UL2VRFP-s7YD2ZcY.js} +1 -1
  69. package/public/assets/{diagram-PSM6KHXK-B5DQIDQ3.js → diagram-PSM6KHXK-C7jhP5tx.js} +1 -1
  70. package/public/assets/{diagram-QEK2KX5R-BccDOQuz.js → diagram-QEK2KX5R-B348GmS1.js} +1 -1
  71. package/public/assets/{diagram-S2PKOQOG-D-Cv16WE.js → diagram-S2PKOQOG-Cu-zjwc9.js} +1 -1
  72. package/public/assets/{erDiagram-Q2GNP2WA-Dr0ZgvnS.js → erDiagram-Q2GNP2WA-tM4HKBpy.js} +1 -1
  73. package/public/assets/{flowDiagram-NV44I4VS-DGbbfVi5.js → flowDiagram-NV44I4VS-DjCIshpi.js} +1 -1
  74. package/public/assets/{ganttDiagram-LVOFAZNH-C-3Wnf96.js → ganttDiagram-LVOFAZNH-Q6plkI5G.js} +1 -1
  75. package/public/assets/{gitGraphDiagram-NY62KEGX--Q8whT5z.js → gitGraphDiagram-NY62KEGX-B3Uw90Yt.js} +1 -1
  76. package/public/assets/{graph-CO1DMS2E.js → graph-Bp0jlxBT.js} +1 -1
  77. package/public/assets/{index-B5hSSnK3.js → index-f67nhEoX.js} +2 -2
  78. package/public/assets/{infoDiagram-F6ZHWCRC-DSR9cM2B.js → infoDiagram-F6ZHWCRC-HUfwv_JT.js} +1 -1
  79. package/public/assets/{journeyDiagram-XKPGCS4Q-Cc00zHNt.js → journeyDiagram-XKPGCS4Q-CgQogtHU.js} +1 -1
  80. package/public/assets/{kanban-definition-3W4ZIXB7-BF_gHshF.js → kanban-definition-3W4ZIXB7-Cv7kVxyy.js} +1 -1
  81. package/public/assets/{layout-BxoLV88o.js → layout-6bkH32V1.js} +1 -1
  82. package/public/assets/{linear-Y8e2e012.js → linear-DWoZ6Tbm.js} +1 -1
  83. package/public/assets/{mindmap-definition-VGOIOE7T-CzpuQA4p.js → mindmap-definition-VGOIOE7T-D5wd9HsH.js} +1 -1
  84. package/public/assets/{pieDiagram-ADFJNKIX-B22MhIcy.js → pieDiagram-ADFJNKIX-8vPxErLm.js} +1 -1
  85. package/public/assets/{quadrantDiagram-AYHSOK5B-CTT9bIA8.js → quadrantDiagram-AYHSOK5B-Pn0NZ9k7.js} +1 -1
  86. package/public/assets/{requirementDiagram-UZGBJVZJ-B_vjXDH9.js → requirementDiagram-UZGBJVZJ-C7u8MiN1.js} +1 -1
  87. package/public/assets/{sankeyDiagram-TZEHDZUN-CKfZ4633.js → sankeyDiagram-TZEHDZUN-C660O4mw.js} +1 -1
  88. package/public/assets/{sequenceDiagram-WL72ISMW-BmTPN6j6.js → sequenceDiagram-WL72ISMW-pXBA2_3B.js} +1 -1
  89. package/public/assets/{stateDiagram-FKZM4ZOC-y2fQE1C7.js → stateDiagram-FKZM4ZOC-CxZMM1Lf.js} +1 -1
  90. package/public/assets/{stateDiagram-v2-4FDKWEC3-C4CM6z52.js → stateDiagram-v2-4FDKWEC3-CmurzrWf.js} +1 -1
  91. package/public/assets/{table-BJUz-ck5.js → table-Clz57edU.js} +1 -1
  92. package/public/assets/{timeline-definition-IT6M3QCI-DsXlR68n.js → timeline-definition-IT6M3QCI-Crg44TaP.js} +1 -1
  93. package/public/assets/{treemap-KMMF4GRG-Cecs9uxX.js → treemap-KMMF4GRG-bFxwBWXw.js} +1 -1
  94. package/public/assets/{xychartDiagram-PRI3JC2R-C2IWhyM7.js → xychartDiagram-PRI3JC2R-DG3KmjD-.js} +1 -1
  95. package/public/index.html +1 -1
  96. package/routes/config.d.ts.map +1 -1
  97. package/routes/config.js +8 -8
  98. package/routes/config.js.map +1 -1
  99. package/services/mcpAdmin/adminApiKeyService.d.ts +1 -1
  100. package/services/mcpAdmin/adminApiKeyService.js +3 -3
  101. package/services/mcpAdmin/adminApiKeyService.js.map +1 -1
  102. package/services/speechToText/index.d.ts.map +1 -1
  103. package/services/speechToText/index.js +4 -4
  104. package/services/speechToText/index.js.map +1 -1
  105. package/services/telemetry.d.ts.map +1 -1
  106. package/services/telemetry.js +5 -7
  107. package/services/telemetry.js.map +1 -1
  108. package/services/tunnelService.js +2 -2
  109. package/services/tunnelService.js.map +1 -1
  110. package/public/assets/channel-CPs-2Y_m.js +0 -1
  111. package/public/assets/clone-C3DcKvhB.js +0 -1
package/index.js CHANGED
@@ -75,6 +75,7 @@ const hooks_1 = __importDefault(require("./routes/hooks"));
75
75
  const auth_2 = require("./middleware/auth");
76
76
  const httpsOnly_1 = require("./middleware/httpsOnly");
77
77
  const index_1 = require("./config/index");
78
+ const migration_js_1 = require("./config/migration.js");
78
79
  const taskCleanup_1 = require("./services/a2a/taskCleanup");
79
80
  const schedulerService_1 = require("./services/schedulerService");
80
81
  const telemetry_1 = require("./services/telemetry");
@@ -151,6 +152,8 @@ process.on('uncaughtExceptionMonitor', (error, origin) => {
151
152
  safeErrorLog('[Monitor] Error:', error);
152
153
  safeErrorLog('[Monitor] Stack:', error.stack);
153
154
  });
155
+ // Run directory migrations (from legacy layout to unified ~/.agentstudio/)
156
+ (0, migration_js_1.runMigrations)();
154
157
  // Initialize and log engine configuration at startup
155
158
  (0, engineConfig_js_1.initializeEngine)();
156
159
  (0, engineConfig_js_1.logEngineConfig)();
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentstudio",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "AgentStudio - AI-powered agent workspace with Claude integration. One command to start your AI agent studio.",
5
5
  "main": "index.js",
6
6
  "engines": {
@@ -1,4 +1,4 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{r as o}from"./monaco-editor-BWfQfpij.js";import{T as re,a as te,b as K,c as C,d as le,e as E}from"./table-BJUz-ck5.js";import{u as ne,d as oe,e as de,f as ie}from"./useAgents-8KXN6U61.js";import{u as ce}from"./agents-KlPdWQ8K.js";import{P as me}from"./ProjectSelector-Cbct6pnn.js";import{U as xe}from"./UnifiedToolSelector-BP6fuyzG.js";import{b as ue,c as ge,a as R}from"./index-B5hSSnK3.js";import{T as z}from"./ToolsList-CTsQr53G.js";import{u as he}from"./tools-BZTR2NP1.js";import{S as pe,v as be,ag as Y,J as H,y as J,r as ye,ac as fe,E as je,a9 as ve,a4 as Ne,X as ke}from"./ui-components-DjgDPiqV.js";import"./syntax-highlighting-DGbNjS3S.js";import"./FileBrowser-CeGsJnUL.js";const we=({value:t,onChange:u,disabled:i=!1})=>{const[p,A]=o.useState(typeof t=="string"?"custom":"preset"),b=n=>{A(n),u(n==="custom"?"":{type:"preset",preset:"claude_code"})},D=n=>{u({type:"preset",preset:t?.preset||"claude_code",append:n})},j=n=>{u(n)};return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"提示词类型:"}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx("button",{type:"button",onClick:()=>b("custom"),disabled:i,className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${p==="custom"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700 hover:bg-gray-300"} ${i?"opacity-50 cursor-not-allowed":""}`,children:"自定义"}),e.jsx("button",{type:"button",onClick:()=>b("preset"),disabled:i,className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${p==="preset"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700 hover:bg-gray-300"} ${i?"opacity-50 cursor-not-allowed":""}`,children:"预设"})]})]}),p==="custom"&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"系统提示词"}),e.jsx("textarea",{value:typeof t=="string"?t:"",onChange:n=>j(n.target.value),disabled:i,rows:8,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono text-sm dark:bg-gray-700 dark:text-white",placeholder:"输入助手的系统提示词..."})]}),p==="preset"&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"预设类型"}),e.jsx("div",{className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700 text-sm dark:text-white",children:"Claude Code 预设 (使用 Claude Code SDK 的默认提示词)"}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"所有预设都基于 Claude Code SDK 的默认提示词,通过追加内容来定制不同用途"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"追加提示词 (可选)"}),e.jsx("textarea",{value:t?.append||"",onChange:n=>D(n.target.value),disabled:i,rows:4,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono text-sm dark:bg-gray-700 dark:text-white",placeholder:"在预设提示词后追加自定义内容..."}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"这段内容将追加到 Claude Code 默认提示词的后面"})]})]})]})},Le=()=>{const{t}=he("pages"),{isMobile:u}=ue(),i=ge(),{data:p,isLoading:A}=ne(),b=oe(),D=de(),j=ie(),n=ce(),[g,v]=o.useState(null),[a,d]=o.useState({}),[c,N]=o.useState(!1),[X,k]=o.useState(!1),[I,m]=o.useState(null),[w,T]=o.useState(null),[y,Z]=o.useState(""),[U,B]=o.useState(!1),[S,P]=o.useState([]),[f,M]=o.useState([]),[L,F]=o.useState(!1),[O,q]=o.useState({}),G=p?.agents||[],$=G.filter(s=>s.name.toLowerCase().includes(y.toLowerCase())||s.description.toLowerCase().includes(y.toLowerCase())),V=s=>{if(w){const r=new URLSearchParams;r.set("project",s);const l=`/chat/${w.id}?${r.toString()}`;window.open(l,"_blank")}k(!1),T(null)},ee=async s=>{try{await b.mutateAsync({agentId:s.id,data:{enabled:!s.enabled}}),n.invalidateQueries({queryKey:["agents"]})}catch(r){console.error("Failed to toggle agent:",r),R(t("agents.errors.toggleFailed"))}},_=s=>{v(s),d(s),N(!1);const r=s.allowedTools?.filter(h=>h.enabled).map(h=>h.name)||[],l=r.filter(h=>!h.startsWith("mcp__")),x=r.filter(h=>h.startsWith("mcp__"));P(l),M(x),F(x.length>0)},Q=()=>{const s=G.find(x=>x.id==="general-chat"),r={id:`agent-${Date.now()}`,name:"",description:"",version:"1.0.0",systemPrompt:s?.systemPrompt||`You are a general-purpose AI assistant. You can help with:
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{r as o}from"./monaco-editor-BWfQfpij.js";import{T as re,a as te,b as K,c as C,d as le,e as E}from"./table-Clz57edU.js";import{u as ne,d as oe,e as de,f as ie}from"./useAgents-8KXN6U61.js";import{u as ce}from"./agents-KlPdWQ8K.js";import{P as me}from"./ProjectSelector-CybrDbBY.js";import{U as xe}from"./UnifiedToolSelector-BP6fuyzG.js";import{b as ue,c as ge,a as R}from"./index-f67nhEoX.js";import{T as z}from"./ToolsList-CTsQr53G.js";import{u as he}from"./tools-BZTR2NP1.js";import{S as pe,v as be,ag as Y,J as H,y as J,r as ye,ac as fe,E as je,a9 as ve,a4 as Ne,X as ke}from"./ui-components-DjgDPiqV.js";import"./syntax-highlighting-DGbNjS3S.js";import"./FileBrowser-DboOOM_v.js";const we=({value:t,onChange:u,disabled:i=!1})=>{const[p,A]=o.useState(typeof t=="string"?"custom":"preset"),b=n=>{A(n),u(n==="custom"?"":{type:"preset",preset:"claude_code"})},D=n=>{u({type:"preset",preset:t?.preset||"claude_code",append:n})},j=n=>{u(n)};return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"提示词类型:"}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx("button",{type:"button",onClick:()=>b("custom"),disabled:i,className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${p==="custom"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700 hover:bg-gray-300"} ${i?"opacity-50 cursor-not-allowed":""}`,children:"自定义"}),e.jsx("button",{type:"button",onClick:()=>b("preset"),disabled:i,className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${p==="preset"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700 hover:bg-gray-300"} ${i?"opacity-50 cursor-not-allowed":""}`,children:"预设"})]})]}),p==="custom"&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"系统提示词"}),e.jsx("textarea",{value:typeof t=="string"?t:"",onChange:n=>j(n.target.value),disabled:i,rows:8,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono text-sm dark:bg-gray-700 dark:text-white",placeholder:"输入助手的系统提示词..."})]}),p==="preset"&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"预设类型"}),e.jsx("div",{className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700 text-sm dark:text-white",children:"Claude Code 预设 (使用 Claude Code SDK 的默认提示词)"}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"所有预设都基于 Claude Code SDK 的默认提示词,通过追加内容来定制不同用途"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"追加提示词 (可选)"}),e.jsx("textarea",{value:t?.append||"",onChange:n=>D(n.target.value),disabled:i,rows:4,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono text-sm dark:bg-gray-700 dark:text-white",placeholder:"在预设提示词后追加自定义内容..."}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"这段内容将追加到 Claude Code 默认提示词的后面"})]})]})]})},Le=()=>{const{t}=he("pages"),{isMobile:u}=ue(),i=ge(),{data:p,isLoading:A}=ne(),b=oe(),D=de(),j=ie(),n=ce(),[g,v]=o.useState(null),[a,d]=o.useState({}),[c,N]=o.useState(!1),[X,k]=o.useState(!1),[I,m]=o.useState(null),[w,T]=o.useState(null),[y,Z]=o.useState(""),[U,B]=o.useState(!1),[S,P]=o.useState([]),[f,M]=o.useState([]),[L,F]=o.useState(!1),[O,q]=o.useState({}),G=p?.agents||[],$=G.filter(s=>s.name.toLowerCase().includes(y.toLowerCase())||s.description.toLowerCase().includes(y.toLowerCase())),V=s=>{if(w){const r=new URLSearchParams;r.set("project",s);const l=`/chat/${w.id}?${r.toString()}`;window.open(l,"_blank")}k(!1),T(null)},ee=async s=>{try{await b.mutateAsync({agentId:s.id,data:{enabled:!s.enabled}}),n.invalidateQueries({queryKey:["agents"]})}catch(r){console.error("Failed to toggle agent:",r),R(t("agents.errors.toggleFailed"))}},_=s=>{v(s),d(s),N(!1);const r=s.allowedTools?.filter(h=>h.enabled).map(h=>h.name)||[],l=r.filter(h=>!h.startsWith("mcp__")),x=r.filter(h=>h.startsWith("mcp__"));P(l),M(x),F(x.length>0)},Q=()=>{const s=G.find(x=>x.id==="general-chat"),r={id:`agent-${Date.now()}`,name:"",description:"",version:"1.0.0",systemPrompt:s?.systemPrompt||`You are a general-purpose AI assistant. You can help with:
2
2
  - General questions and conversations
3
3
  - Problem-solving and brainstorming
4
4
  - Information and explanations
@@ -1 +1 @@
1
- import{j as s}from"./data-structures-ChC1tqVg.js";import{W as d}from"./monaco-editor-BWfQfpij.js";import{t as i,k as u}from"./index-B5hSSnK3.js";function c(...o){return i(u(o))}const f=d.forwardRef(({className:o,variant:e="default",size:r="default",...t},n)=>s.jsx("button",{className:c("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{"bg-primary text-primary-foreground hover:bg-primary/90":e==="default","bg-destructive text-destructive-foreground hover:bg-destructive/90":e==="destructive","border border-input bg-background hover:bg-accent hover:text-accent-foreground":e==="outline","bg-secondary text-secondary-foreground hover:bg-secondary/80":e==="secondary","hover:bg-accent hover:text-accent-foreground":e==="ghost"},{"h-10 px-4 py-2":r==="default","h-9 rounded-md px-3":r==="sm","h-11 rounded-md px-8":r==="lg","h-10 w-10":r==="icon"},o),ref:n,...t}));f.displayName="Button";export{f as B,c};
1
+ import{j as s}from"./data-structures-ChC1tqVg.js";import{W as d}from"./monaco-editor-BWfQfpij.js";import{t as i,k as u}from"./index-f67nhEoX.js";function c(...o){return i(u(o))}const f=d.forwardRef(({className:o,variant:e="default",size:r="default",...t},n)=>s.jsx("button",{className:c("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{"bg-primary text-primary-foreground hover:bg-primary/90":e==="default","bg-destructive text-destructive-foreground hover:bg-destructive/90":e==="destructive","border border-input bg-background hover:bg-accent hover:text-accent-foreground":e==="outline","bg-secondary text-secondary-foreground hover:bg-secondary/80":e==="secondary","hover:bg-accent hover:text-accent-foreground":e==="ghost"},{"h-10 px-4 py-2":r==="default","h-9 rounded-md px-3":r==="sm","h-11 rounded-md px-8":r==="lg","h-10 w-10":r==="icon"},o),ref:n,...t}));f.displayName="Button";export{f as B,c};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-nC3WLCf7.js","assets/graph-CO1DMS2E.js","assets/_baseUniq-Dvh9sZ-T.js","assets/layout-BxoLV88o.js","assets/_basePickBy-Bac3af5O.js","assets/clone-C3DcKvhB.js","assets/data-structures-ChC1tqVg.js","assets/monaco-editor-BWfQfpij.js","assets/syntax-highlighting-DGbNjS3S.js","assets/agents-KlPdWQ8K.js","assets/tools-BZTR2NP1.js","assets/ui-components-DjgDPiqV.js","assets/agents-DwCY2K8p.css","assets/useAgents-8KXN6U61.js","assets/useSessions-DOa4-xiB.js","assets/index-B5hSSnK3.js","assets/index-gbHlIp96.css","assets/useCommands-DbSH48ba.js","assets/useClaudeVersions-DicHLV6A.js","assets/FileExplorer-x5R0Tcmk.js","assets/UnifiedToolSelector-BP6fuyzG.js","assets/FileBrowser-CeGsJnUL.js","assets/ProjectSelector-Cbct6pnn.js","assets/cose-bilkent-S5V4N54A-Crc39J9q.js","assets/cytoscape.esm-DtBltrT8.js","assets/c4Diagram-YG6GDRKO-BIBVWIY4.js","assets/chunk-TZMSLE5B-N3lZ106d.js","assets/flowDiagram-NV44I4VS-DGbbfVi5.js","assets/chunk-FMBD7UC4-o4B0HzSK.js","assets/chunk-55IACEB6-N_ZrGhOu.js","assets/chunk-QN33PNHL-DXlfdPIk.js","assets/channel-CPs-2Y_m.js","assets/erDiagram-Q2GNP2WA-Dr0ZgvnS.js","assets/gitGraphDiagram-NY62KEGX--Q8whT5z.js","assets/chunk-4BX2VUAB-CQNNXsb5.js","assets/chunk-QZHKN3VN-ZCBUGD7e.js","assets/treemap-KMMF4GRG-Cecs9uxX.js","assets/ganttDiagram-LVOFAZNH-C-3Wnf96.js","assets/linear-Y8e2e012.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-C4B-KCzX.js","assets/infoDiagram-F6ZHWCRC-DSR9cM2B.js","assets/pieDiagram-ADFJNKIX-B22MhIcy.js","assets/arc-CRR5EPpK.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AYHSOK5B-CTT9bIA8.js","assets/xychartDiagram-PRI3JC2R-C2IWhyM7.js","assets/requirementDiagram-UZGBJVZJ-B_vjXDH9.js","assets/sequenceDiagram-WL72ISMW-BmTPN6j6.js","assets/classDiagram-2ON5EDUG-DCwNRxvC.js","assets/chunk-B4BG7PRW-CI6DkhbM.js","assets/classDiagram-v2-WZHVMYZB-DCwNRxvC.js","assets/stateDiagram-FKZM4ZOC-y2fQE1C7.js","assets/chunk-DI55MBZ5-Dgj-Eo9U.js","assets/stateDiagram-v2-4FDKWEC3-C4CM6z52.js","assets/journeyDiagram-XKPGCS4Q-Cc00zHNt.js","assets/timeline-definition-IT6M3QCI-DsXlR68n.js","assets/mindmap-definition-VGOIOE7T-CzpuQA4p.js","assets/kanban-definition-3W4ZIXB7-BF_gHshF.js","assets/sankeyDiagram-TZEHDZUN-CKfZ4633.js","assets/diagram-S2PKOQOG-D-Cv16WE.js","assets/diagram-QEK2KX5R-BccDOQuz.js","assets/blockDiagram-VD42YOAC-CX_8YiYn.js","assets/architectureDiagram-VXUJARFQ-Ct1p8kmV.js","assets/diagram-PSM6KHXK-B5DQIDQ3.js"])))=>i.map(i=>d[i]);
2
- import{j as d}from"./data-structures-ChC1tqVg.js";import{r as L,g as bh,W as $r}from"./monaco-editor-BWfQfpij.js";import{A as ar,a as gr,o as Hp,u as kh,h as rv,l as qp,d as Up,p as nv,S as sv}from"./agents-KlPdWQ8K.js";import{g as iv,h as Vp,i as Gp,j as Yp,k as av}from"./useAgents-8KXN6U61.js";import{u as Xp}from"./useSessions-DOa4-xiB.js";import{u as fe,B as De,T as Me,b as ov,K as lv,c as cv}from"./tools-BZTR2NP1.js";import{m as tn,S as Yc,aB as uv,o as hv,_ as Kp,I as Xc,b4 as Qp,b5 as Zp,X as es,k as Tt,l as Ht,R as to,L as Qn,C as _n,n as ro,j as ts,Z as no,aV as dv,$ as oc,b6 as fv,b7 as Ra,b8 as Jp,E as gv,az as em,aI as pv,aF as mv,V as wh,b9 as Kc,c as Gd,w as vh,Y as xv,d as Ch,as as Yd,f as Xd,u as tm,aE as cl,v as ul,au as yv,ae as rm,y as nm,P as sm,G as bv,ba as qs,bb as kv,aA as im,aW as wv,r as am,an as vv,bc as Cv,ah as Kd,ac as om,b as lm,z as Qd,af as Sv,ad as Zd}from"./ui-components-DjgDPiqV.js";import{d as _v,o as cm,m as Tv,e as Sh,b as _h,p as Nv,u as Ev}from"./index-B5hSSnK3.js";import{u as Qc,f as Zc}from"./useCommands-DbSH48ba.js";import{u as Av}from"./useClaudeVersions-DicHLV6A.js";import{e as Jc,E as eu,F as Jd}from"./FileExplorer-x5R0Tcmk.js";import{c as Ve,h as um}from"./syntax-highlighting-DGbNjS3S.js";import{U as Th}from"./UnifiedToolSelector-BP6fuyzG.js";import{F as Mv}from"./FileBrowser-CeGsJnUL.js";import{P as jv}from"./ProjectSelector-Cbct6pnn.js";const Iv={showMcpToolSelector:!0,showImageUpload:!0,showPermissionSelector:!0,showProviderSelector:!0,showModelSelector:!0,showEnvVars:!0},Lv={showMcpToolSelector:!1,showImageUpload:!0,showPermissionSelector:!1,showProviderSelector:!1,showModelSelector:!0,showEnvVars:!1};function zi(e){return e==="cursor"?Lv:Iv}async function $v(e){try{const t=await gr(`${ar}/agui/engines/${e}`);return t.ok?await t.json():(console.warn(`[AGUI] Failed to fetch engine info: ${t.status}`),null)}catch(t){return console.warn("[AGUI] Error fetching engine info:",t),null}}const Dv=()=>{const e=L.useCallback(async n=>{const{message:s,engineType:i="claude",workspace:a,sessionId:o,model:l,providerId:c,permissionMode:u,mcpTools:h,envVars:f,timeout:g,onAguiEvent:p,onError:m,abortController:y,agentId:x="claude-code",images:k,channel:v="web"}=n;try{console.log(`🚀 [AGUI] Starting ${i} chat request`);let _,C;i==="cursor"?(_=`${ar}/agui/chat`,C={message:s,engineType:"cursor",workspace:a,timeout:g},o&&(C.sessionId=o),l&&(C.model=l,console.log(`🎯 [AGUI] Cursor model: ${l}`)),k&&k.length>0&&(C.images=k,console.log(`🖼️ [AGUI] Cursor images: ${k.length} image(s)`))):(_=`${ar}/agents/chat`,C={message:s,agentId:x,sessionId:o,projectPath:a,mcpTools:h,permissionMode:u,model:l,claudeVersion:c,envVars:f,images:k,channel:v,outputFormat:"agui"}),console.log(`🚀 [AGUI] Endpoint: ${_}`);const w=await gr(_,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(C),signal:y?.signal});if(!w.ok)throw new Error(`AGUI chat request failed: ${w.status} ${w.statusText}`);const S=w.body?.getReader(),F=new TextDecoder;let A="",T=o||"";if(!S)throw new Error("No response body");for(;;){if(y?.signal.aborted)throw S.cancel(),new DOMException("Request aborted","AbortError");const{done:j,value:M}=await S.read();if(j)break;const P=F.decode(M,{stream:!0});A+=P;const $=A.split(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-s7YD2ZcY.js","assets/graph-Bp0jlxBT.js","assets/_baseUniq-B1lmu3qr.js","assets/layout-6bkH32V1.js","assets/_basePickBy-DHabY031.js","assets/clone-3wFPaI2j.js","assets/data-structures-ChC1tqVg.js","assets/monaco-editor-BWfQfpij.js","assets/syntax-highlighting-DGbNjS3S.js","assets/agents-KlPdWQ8K.js","assets/tools-BZTR2NP1.js","assets/ui-components-DjgDPiqV.js","assets/agents-DwCY2K8p.css","assets/useAgents-8KXN6U61.js","assets/useSessions-DOa4-xiB.js","assets/index-f67nhEoX.js","assets/index-gbHlIp96.css","assets/useCommands-DbSH48ba.js","assets/useClaudeVersions-DicHLV6A.js","assets/FileExplorer-x5R0Tcmk.js","assets/UnifiedToolSelector-BP6fuyzG.js","assets/FileBrowser-DboOOM_v.js","assets/ProjectSelector-CybrDbBY.js","assets/cose-bilkent-S5V4N54A-D9ZC6LmB.js","assets/cytoscape.esm-DtBltrT8.js","assets/c4Diagram-YG6GDRKO-gAp3--Ee.js","assets/chunk-TZMSLE5B-BqQ674GC.js","assets/flowDiagram-NV44I4VS-DjCIshpi.js","assets/chunk-FMBD7UC4-BsvfEdnB.js","assets/chunk-55IACEB6-DVsfnY5X.js","assets/chunk-QN33PNHL-DSecsNtM.js","assets/channel-D9wyZF1L.js","assets/erDiagram-Q2GNP2WA-tM4HKBpy.js","assets/gitGraphDiagram-NY62KEGX-B3Uw90Yt.js","assets/chunk-4BX2VUAB-DQVsL-J6.js","assets/chunk-QZHKN3VN-DhvrZSqy.js","assets/treemap-KMMF4GRG-bFxwBWXw.js","assets/ganttDiagram-LVOFAZNH-Q6plkI5G.js","assets/linear-DWoZ6Tbm.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-C4B-KCzX.js","assets/infoDiagram-F6ZHWCRC-HUfwv_JT.js","assets/pieDiagram-ADFJNKIX-8vPxErLm.js","assets/arc-6sRLTBcr.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-AYHSOK5B-Pn0NZ9k7.js","assets/xychartDiagram-PRI3JC2R-DG3KmjD-.js","assets/requirementDiagram-UZGBJVZJ-C7u8MiN1.js","assets/sequenceDiagram-WL72ISMW-pXBA2_3B.js","assets/classDiagram-2ON5EDUG-DwEqkkEb.js","assets/chunk-B4BG7PRW-BNmOvuIn.js","assets/classDiagram-v2-WZHVMYZB-DwEqkkEb.js","assets/stateDiagram-FKZM4ZOC-CxZMM1Lf.js","assets/chunk-DI55MBZ5-BkucWe8Y.js","assets/stateDiagram-v2-4FDKWEC3-CmurzrWf.js","assets/journeyDiagram-XKPGCS4Q-CgQogtHU.js","assets/timeline-definition-IT6M3QCI-Crg44TaP.js","assets/mindmap-definition-VGOIOE7T-D5wd9HsH.js","assets/kanban-definition-3W4ZIXB7-Cv7kVxyy.js","assets/sankeyDiagram-TZEHDZUN-C660O4mw.js","assets/diagram-S2PKOQOG-Cu-zjwc9.js","assets/diagram-QEK2KX5R-B348GmS1.js","assets/blockDiagram-VD42YOAC-CYO9EYkJ.js","assets/architectureDiagram-VXUJARFQ-kwdTmjuB.js","assets/diagram-PSM6KHXK-C7jhP5tx.js"])))=>i.map(i=>d[i]);
2
+ import{j as d}from"./data-structures-ChC1tqVg.js";import{r as L,g as bh,W as $r}from"./monaco-editor-BWfQfpij.js";import{A as ar,a as gr,o as Hp,u as kh,h as rv,l as qp,d as Up,p as nv,S as sv}from"./agents-KlPdWQ8K.js";import{g as iv,h as Vp,i as Gp,j as Yp,k as av}from"./useAgents-8KXN6U61.js";import{u as Xp}from"./useSessions-DOa4-xiB.js";import{u as fe,B as De,T as Me,b as ov,K as lv,c as cv}from"./tools-BZTR2NP1.js";import{m as tn,S as Yc,aB as uv,o as hv,_ as Kp,I as Xc,b4 as Qp,b5 as Zp,X as es,k as Tt,l as Ht,R as to,L as Qn,C as _n,n as ro,j as ts,Z as no,aV as dv,$ as oc,b6 as fv,b7 as Ra,b8 as Jp,E as gv,az as em,aI as pv,aF as mv,V as wh,b9 as Kc,c as Gd,w as vh,Y as xv,d as Ch,as as Yd,f as Xd,u as tm,aE as cl,v as ul,au as yv,ae as rm,y as nm,P as sm,G as bv,ba as qs,bb as kv,aA as im,aW as wv,r as am,an as vv,bc as Cv,ah as Kd,ac as om,b as lm,z as Qd,af as Sv,ad as Zd}from"./ui-components-DjgDPiqV.js";import{d as _v,o as cm,m as Tv,e as Sh,b as _h,p as Nv,u as Ev}from"./index-f67nhEoX.js";import{u as Qc,f as Zc}from"./useCommands-DbSH48ba.js";import{u as Av}from"./useClaudeVersions-DicHLV6A.js";import{e as Jc,E as eu,F as Jd}from"./FileExplorer-x5R0Tcmk.js";import{c as Ve,h as um}from"./syntax-highlighting-DGbNjS3S.js";import{U as Th}from"./UnifiedToolSelector-BP6fuyzG.js";import{F as Mv}from"./FileBrowser-DboOOM_v.js";import{P as jv}from"./ProjectSelector-CybrDbBY.js";const Iv={showMcpToolSelector:!0,showImageUpload:!0,showPermissionSelector:!0,showProviderSelector:!0,showModelSelector:!0,showEnvVars:!0},Lv={showMcpToolSelector:!1,showImageUpload:!0,showPermissionSelector:!1,showProviderSelector:!1,showModelSelector:!0,showEnvVars:!1};function zi(e){return e==="cursor"?Lv:Iv}async function $v(e){try{const t=await gr(`${ar}/agui/engines/${e}`);return t.ok?await t.json():(console.warn(`[AGUI] Failed to fetch engine info: ${t.status}`),null)}catch(t){return console.warn("[AGUI] Error fetching engine info:",t),null}}const Dv=()=>{const e=L.useCallback(async n=>{const{message:s,engineType:i="claude",workspace:a,sessionId:o,model:l,providerId:c,permissionMode:u,mcpTools:h,envVars:f,timeout:g,onAguiEvent:p,onError:m,abortController:y,agentId:x="claude-code",images:k,channel:v="web"}=n;try{console.log(`🚀 [AGUI] Starting ${i} chat request`);let _,C;i==="cursor"?(_=`${ar}/agui/chat`,C={message:s,engineType:"cursor",workspace:a,timeout:g},o&&(C.sessionId=o),l&&(C.model=l,console.log(`🎯 [AGUI] Cursor model: ${l}`)),k&&k.length>0&&(C.images=k,console.log(`🖼️ [AGUI] Cursor images: ${k.length} image(s)`))):(_=`${ar}/agents/chat`,C={message:s,agentId:x,sessionId:o,projectPath:a,mcpTools:h,permissionMode:u,model:l,claudeVersion:c,envVars:f,images:k,channel:v,outputFormat:"agui"}),console.log(`🚀 [AGUI] Endpoint: ${_}`);const w=await gr(_,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(C),signal:y?.signal});if(!w.ok)throw new Error(`AGUI chat request failed: ${w.status} ${w.statusText}`);const S=w.body?.getReader(),F=new TextDecoder;let A="",T=o||"";if(!S)throw new Error("No response body");for(;;){if(y?.signal.aborted)throw S.cancel(),new DOMException("Request aborted","AbortError");const{done:j,value:M}=await S.read();if(j)break;const P=F.decode(M,{stream:!0});A+=P;const $=A.split(`
3
3
  `);A=$.pop()||"";for(const R of $)if(!(!R.trim()||R.startsWith(":"))&&!R.startsWith("event:")&&R.startsWith("data:")){const I=R.slice(5).trim();if(!I)continue;try{const O=JSON.parse(I);O.type==="RUN_STARTED"&&O.threadId&&(T=O.threadId),p&&p(O)}catch{console.warn("[AGUI] Failed to parse event:",I.substring(0,100))}}}return console.log(`✅ [AGUI] Chat completed, sessionId: ${T}`),{sessionId:T,success:!0}}catch(_){return console.error("[AGUI] Chat error:",_),m&&_ instanceof Error&&m(_),{sessionId:o||"",success:!1,error:_ instanceof Error?_.message:String(_)}}},[]),t=L.useCallback(async()=>{try{const n=await gr(`${ar}/agui/engines`);if(!n.ok)throw new Error(`Failed to get engines: ${n.status}`);return(await n.json()).engines||[]}catch(n){return console.error("[AGUI] Failed to get engines:",n),[]}},[]),r=L.useCallback(async(n,s="claude")=>{try{return(await gr(`${ar}/agui/sessions/${n}/interrupt`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({engineType:s})})).ok}catch(i){return console.error("[AGUI] Failed to interrupt session:",i),!1}},[]);return{sendMessage:e,getEngines:t,interruptSession:r}},ze=Hp((e,t)=>({currentAgent:null,selectedEngine:"claude",engineUICapabilities:zi("claude"),engineModels:[],messages:[],isAiTyping:!1,currentSessionId:null,mcpStatus:{hasError:!1,connectedServers:[],connectionErrors:[],lastError:null,lastErrorDetails:void 0,lastUpdated:void 0},pendingUserQuestion:null,activeA2AStreams:{},sidebarCollapsed:!1,setCurrentAgent:r=>e(n=>({currentAgent:r,...n.currentAgent?.id!==r?.id?{messages:[],isAiTyping:!1,currentSessionId:null}:{}})),setSelectedEngine:r=>e(n=>({selectedEngine:r,engineUICapabilities:zi(r),...n.selectedEngine!==r?{messages:[],isAiTyping:!1,currentSessionId:null}:{}})),setEngineUICapabilities:r=>e({engineUICapabilities:r}),setEngineModels:r=>e({engineModels:r}),addMessage:r=>e(n=>({messages:[...n.messages,{...r,id:`${Date.now()}_${Math.random().toString(36).substr(2,9)}`,timestamp:Date.now(),agentId:n.currentAgent?.id||"unknown",messageParts:[]}]})),updateMessage:(r,n)=>e(s=>({messages:s.messages.map(i=>i.id===r?{...i,...n}:i)})),addTextPartToMessage:(r,n)=>e(s=>({messages:s.messages.map(i=>i.id===r?{...i,messageParts:[...i.messageParts||[],{id:`${Date.now()}_${Math.random().toString(36).substr(2,9)}`,type:"text",content:n,order:(i.messageParts||[]).length}]}:i)})),addThinkingPartToMessage:(r,n)=>e(s=>({messages:s.messages.map(i=>i.id===r?{...i,messageParts:[...i.messageParts||[],{id:`${Date.now()}_${Math.random().toString(36).substr(2,9)}`,type:"thinking",content:n,order:(i.messageParts||[]).length}]}:i)})),updateTextPartInMessage:(r,n,s)=>e(i=>({messages:i.messages.map(a=>a.id===r?{...a,messageParts:a.messageParts?.map(o=>o.type==="text"&&o.id===n?{...o,content:s}:o)}:a)})),updateThinkingPartInMessage:(r,n,s)=>e(i=>({messages:i.messages.map(a=>a.id===r?{...a,messageParts:a.messageParts?.map(o=>o.type==="thinking"&&o.id===n?{...o,content:s}:o)}:a)})),addCompactSummaryPartToMessage:(r,n)=>e(s=>({messages:s.messages.map(i=>i.id===r?{...i,messageParts:[...i.messageParts||[],{id:`${Date.now()}_${Math.random().toString(36).substr(2,9)}`,type:"compactSummary",content:n,order:(i.messageParts||[]).length}]}:i)})),addCommandPartToMessage:(r,n)=>e(s=>({messages:s.messages.map(i=>i.id===r?{...i,messageParts:[...i.messageParts||[],{id:`${Date.now()}_${Math.random().toString(36).substr(2,9)}`,type:"command",content:n,order:(i.messageParts||[]).length}]}:i)})),addToolPartToMessage:(r,n)=>e(s=>({messages:s.messages.map(i=>i.id===r?{...i,messageParts:[...i.messageParts||[],{id:`${Date.now()}_${Math.random().toString(36).substr(2,9)}`,type:"tool",toolData:{...n,id:`${Date.now()}_${Math.random().toString(36).substr(2,9)}`,isExecuting:n.isExecuting??!1},order:(i.messageParts||[]).length}]}:i)})),updateToolPartInMessage:(r,n,s)=>e(i=>({messages:i.messages.map(a=>a.id===r?{...a,messageParts:a.messageParts?.map(o=>o.type==="tool"&&(o.toolData?.id===n||o.toolData?.claudeId===n)?{...o,toolData:o.toolData?{...o.toolData,...s}:void 0}:o)}:a)})),interruptAllExecutingTools:()=>e(r=>({messages:r.messages.map(n=>({...n,messageParts:n.messageParts?.map(s=>s.type==="tool"&&s.toolData?.isExecuting?{...s,toolData:{...s.toolData,isExecuting:!1,isInterrupted:!0}}:s)}))})),setAiTyping:r=>e({isAiTyping:r}),setCurrentSessionId:r=>e({currentSessionId:r}),clearMessages:()=>e({messages:[]}),loadSessionMessages:r=>e({messages:r}),updateMcpStatus:r=>e(n=>({mcpStatus:{...n.mcpStatus,...r,lastUpdated:Date.now()}})),clearMcpStatus:()=>e({mcpStatus:{hasError:!1,connectedServers:[],connectionErrors:[],lastError:null,lastErrorDetails:void 0,lastUpdated:void 0}}),setPendingUserQuestion:r=>e({pendingUserQuestion:r}),setA2AStreamStart:(r,n,s)=>e(i=>({activeA2AStreams:{...i.activeA2AStreams,[r]:{sessionId:n,agentUrl:r,message:s,startedAt:Date.now(),isStreaming:!0,events:[]}}})),setA2AStreamEnd:r=>e(n=>{const s=n.activeA2AStreams[r];return s?{activeA2AStreams:{...n.activeA2AStreams,[r]:{...s,isStreaming:!1}}}:n}),addA2AStreamEvent:(r,n)=>e(s=>{const i=s.activeA2AStreams[r];return i?{activeA2AStreams:{...s.activeA2AStreams,[r]:{...i,events:[...i.events,n]}}}:{activeA2AStreams:{...s.activeA2AStreams,[r]:{sessionId:n.sessionId||"",agentUrl:r,message:"",startedAt:Date.now(),isStreaming:!0,events:[n]}}}}),getA2AStreamByUrl:r=>t().activeA2AStreams[r],setSidebarCollapsed:r=>e({sidebarCollapsed:r})}));class ft{static instance;static STORAGE_KEY="active_chat_tabs";static WAKEUP_SIGNAL_KEY="tab_wakeup_signal";static WAKEUP_RESPONSE_KEY="tab_wakeup_response";static TAB_TIMEOUT=300*1e3;currentTabId;cleanupInterval;lastKnownSession=null;sessionResumeHistory=[];constructor(){this.currentTabId=this.generateTabId(),this.startCleanupTimer(),this.setupBeforeUnloadHandler(),console.log(`📱 TabManager initialized with ID: ${this.currentTabId}`)}static getInstance(){return ft.instance||(ft.instance=new ft),ft.instance}registerCurrentTab(t,r){const n=this.getActiveTabs(),s=this.getTabKey(t,r),i={agentId:t,sessionId:r,url:window.location.href,lastSeen:Date.now(),tabId:this.currentTabId,title:document.title};n[s]=i,this.saveActiveTabs(n),console.log(`📱 Tab registered: ${this.currentTabId} for session ${r}`),this.lastKnownSession={agentId:t,sessionId:r}}updateCurrentTabActivity(t,r){const n=this.getActiveTabs(),s=this.getTabKey(t,r);n[s]&&n[s].tabId===this.currentTabId&&(n[s].lastSeen=Date.now(),n[s].url=window.location.href,n[s].title=document.title,this.saveActiveTabs(n),this.lastKnownSession={agentId:t,sessionId:r})}hasActiveTab(t,r){return this.findActiveTabForSession(t,r)!==null}findActiveTabForSession(t,r){const n=this.getActiveTabs(),s=this.getTabKey(t,r);if(n[s]&&Date.now()-n[s].lastSeen<ft.TAB_TIMEOUT)return n[s];for(const[i,a]of Object.entries(n))if(a.agentId===t&&a.sessionId===r){if(Date.now()-a.lastSeen<ft.TAB_TIMEOUT)return a;delete n[i],this.saveActiveTabs(n),console.log(`🗑️ Cleaned up expired tab: ${r}`)}return null}async wakeupExistingTab(t,r,n){if(!this.findActiveTabForSession(t,r))return!1;const i={type:"WAKEUP",agentId:t,sessionId:r,requestId:this.generateRequestId(),timestamp:Date.now(),sourceUrl:n||window.location.href};return console.log(`🔔 Sending wakeup signal for session: ${r}`),localStorage.setItem(ft.WAKEUP_SIGNAL_KEY,JSON.stringify(i)),new Promise(a=>{const o=setTimeout(()=>{console.log(`⏰ Wakeup timeout for session ${r}`),a(!1)},2e3),c=setInterval(()=>{const u=localStorage.getItem(ft.WAKEUP_RESPONSE_KEY);if(u)try{const h=JSON.parse(u);if(h.requestId===i.requestId){clearTimeout(o),localStorage.removeItem(ft.WAKEUP_RESPONSE_KEY),console.log(`✅ Tab awakened successfully: ${r}`),a(h.success);return}}catch(h){console.error("Error parsing wakeup response:",h)}},100);setTimeout(()=>clearInterval(c),2e3)})}setupWakeupListener(t,r){const n=i=>{if(i.key===ft.WAKEUP_SIGNAL_KEY&&i.newValue)try{const a=JSON.parse(i.newValue);a.type==="WAKEUP"&&a.agentId===t&&a.sessionId===r&&this.handleWakeupSignal(a)}catch(a){console.error("Error handling wakeup signal:",a)}};window.addEventListener("storage",n);const s=setInterval(()=>{const i=localStorage.getItem(ft.WAKEUP_SIGNAL_KEY);if(i)try{const a=JSON.parse(i);a.type==="WAKEUP"&&a.agentId===t&&a.sessionId===r&&Date.now()-a.timestamp<5e3&&this.handleWakeupSignal(a)}catch(a){console.error("Error polling wakeup signal:",a)}},500);return console.log(`🎯 Wakeup listener setup for session: ${r}`),()=>{window.removeEventListener("storage",n),clearInterval(s),console.log(`🎯 Wakeup listener cleaned up for session: ${r}`)}}updateCurrentTabSession(t,r,n,s){const i=this.getActiveTabs(),a=this.getTabKey(t,r);i[a]&&i[a].tabId===this.currentTabId&&delete i[a];const o=this.getTabKey(n,s);i[o]={agentId:n,sessionId:s,url:window.location.href,lastSeen:Date.now(),tabId:this.currentTabId,title:document.title},this.saveActiveTabs(i),console.log(`🔄 Tab session updated: ${r} → ${s}`),this.lastKnownSession={agentId:n,sessionId:s}}unregisterCurrentTabSession(t,r){const n=this.getActiveTabs(),s=this.getTabKey(t,r);n[s]&&n[s].tabId===this.currentTabId&&(delete n[s],this.saveActiveTabs(n),console.log(`📤 Unregistered current tab from session: ${r}`)),this.lastKnownSession&&this.lastKnownSession.agentId===t&&this.lastKnownSession.sessionId===r&&(this.lastKnownSession=null)}handleSessionResume(t,r,n){const s=this.getActiveTabs(),i=this.getTabKey(t,r),a=this.getTabKey(t,n);s[i]&&s[i].tabId===this.currentTabId?(delete s[i],s[a]={agentId:t,sessionId:n,url:window.location.href,lastSeen:Date.now(),tabId:this.currentTabId,title:document.title},this.saveActiveTabs(s),console.log(`🔄 Session resumed: ${r} → ${n}`),this.lastKnownSession={agentId:t,sessionId:n}):(this.registerCurrentTab(t,n),console.log(`🆕 Resumed session registered: ${n}`))}recordSessionResume(t,r,n){this.sessionResumeHistory.push({originalSessionId:r,newSessionId:n,timestamp:Date.now(),agentId:t}),this.sessionResumeHistory.length>100&&(this.sessionResumeHistory=this.sessionResumeHistory.slice(-100)),console.log(`📝 Recorded session resume: ${r} → ${n}`)}smartUpdateCurrentTab(){const t=window.location.href,r=this.parseSessionFromUrl(t);if(!r){this.lastKnownSession&&(this.unregisterCurrentTabSession(this.lastKnownSession.agentId,this.lastKnownSession.sessionId),this.lastKnownSession=null);return}const{agentId:n,sessionId:s}=r;if(this.lastKnownSession){const{agentId:i,sessionId:a}=this.lastKnownSession;a!==s||i!==n?this.sessionResumeHistory.find(l=>l.originalSessionId===a&&l.newSessionId===s&&l.agentId===n&&Date.now()-l.timestamp<3e4)?(this.handleSessionResume(n,a,s),console.log(`🔄 Detected session resume via URL: ${a} → ${s}`)):(this.updateCurrentTabSession(i,a,n,s),console.log(`🎯 Regular session switch: ${a} → ${s}`)):this.updateCurrentTabActivity(n,s)}else this.registerCurrentTab(n,s),console.log(`🎯 Initial session register: ${s}`);this.lastKnownSession={agentId:n,sessionId:s}}startSmartMonitoring(){this.smartUpdateCurrentTab();const t=()=>{setTimeout(()=>this.smartUpdateCurrentTab(),100)};window.addEventListener("popstate",t);const r=history.pushState,n=history.replaceState;return history.pushState=function(...s){r.apply(this,s),t()},history.replaceState=function(...s){n.apply(this,s),t()},console.log(`🎯 Smart monitoring started for tab: ${this.currentTabId}`),()=>{window.removeEventListener("popstate",t),history.pushState=r,history.replaceState=n,console.log(`🛑 Smart monitoring stopped for tab: ${this.currentTabId}`)}}handleWakeupSignal(t){console.log(`🔔 Received wakeup signal for session: ${t.sessionId}`);try{if(window.focus(),window.parent&&window.parent!==window&&window.parent.focus(),document.hidden){const n=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});document.dispatchEvent(n)}}catch(n){console.log("Focus attempt failed:",n)}this.flashPageTitle(),this.playNotificationSound(),t.sourceUrl&&t.sourceUrl!==window.location.href?this.isSameSession(t.sourceUrl,window.location.href)?(console.log("🎯 URLs point to same session, forcing visibility"),this.makePageVisible()):(console.log(`🔄 Navigating to: ${t.sourceUrl}`),window.history.replaceState(null,"",t.sourceUrl),window.location.reload()):this.makePageVisible();const r={requestId:t.requestId,agentId:t.agentId,sessionId:t.sessionId,success:!0,timestamp:Date.now()};localStorage.setItem(ft.WAKEUP_RESPONSE_KEY,JSON.stringify(r)),localStorage.removeItem(ft.WAKEUP_SIGNAL_KEY),this.updateCurrentTabActivity(t.agentId,t.sessionId),console.log(`✅ Wakeup signal processed successfully for session: ${t.sessionId}`)}flashPageTitle(){const t=document.title;let r=0;const n=setInterval(()=>{document.title=r%2===0?"🔔 会话已唤起":t,r++,r>6&&(clearInterval(n),document.title=t)},500),s=()=>{clearInterval(n),document.title=t,window.removeEventListener("focus",s)};window.addEventListener("focus",s)}playNotificationSound(){try{const t=new(window.AudioContext||window.webkitAudioContext),r=t.createOscillator(),n=t.createGain();r.connect(n),n.connect(t.destination),r.frequency.setValueAtTime(800,t.currentTime),r.frequency.setValueAtTime(600,t.currentTime+.1),n.gain.setValueAtTime(.1,t.currentTime),n.gain.exponentialRampToValueAtTime(.01,t.currentTime+.2),r.start(t.currentTime),r.stop(t.currentTime+.2)}catch(t){console.log("Audio notification not supported:",t)}}makePageVisible(){try{window.scrollTo(0,0),document.fullscreenEnabled&&document.documentElement.requestFullscreen?.()?.then(()=>{setTimeout(()=>{document.exitFullscreen?.()},100)}).catch(n=>console.log("Fullscreen toggle failed:",n));const t=document.createElement("div");t.style.cssText=`
4
4
  position: fixed;
5
5
  top: 50%;
@@ -29,7 +29,7 @@ import{j as d}from"./data-structures-ChC1tqVg.js";import{r as L,g as bh,W as $r}
29
29
  transform: translate(-50%, -50%) translateY(-5px);
30
30
  }
31
31
  }
32
- `,document.head.appendChild(r),t.textContent="🎯 会话已激活",document.body.appendChild(t),setTimeout(()=>{document.body.contains(t)&&document.body.removeChild(t),document.head.contains(r)&&document.head.removeChild(r)},2e3),console.log("🎯 Made page more visible")}catch(t){console.log("Make page visible failed:",t)}}parseSessionFromUrl(t){try{const r=new URL(t),n=r.pathname.split("/"),s=n.indexOf("chat");if(s!==-1&&n[s+1]){const i=n[s+1],a=r.searchParams.get("session");if(i&&a)return{agentId:i,sessionId:a}}return null}catch(r){return console.error("Error parsing session from URL:",r),null}}isSameSession(t,r){try{const n=this.parseSessionFromUrl(t),s=this.parseSessionFromUrl(r);return!n||!s?!1:n.agentId===s.agentId&&n.sessionId===s.sessionId}catch(n){return console.error("Error comparing session URLs:",n),!1}}getActiveTabs(){try{const t=localStorage.getItem(ft.STORAGE_KEY);return t?JSON.parse(t):{}}catch(t){return console.error("Error reading active tabs:",t),{}}}saveActiveTabs(t){try{localStorage.setItem(ft.STORAGE_KEY,JSON.stringify(t))}catch(r){console.error("Error saving active tabs:",r)}}getTabKey(t,r){return`${t}_${r}`}generateTabId(){return`tab_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}generateRequestId(){return`req_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}startCleanupTimer(){this.cleanupInterval=window.setInterval(()=>{this.cleanupExpiredTabs()},6e4)}cleanupExpiredTabs(){const t=this.getActiveTabs(),r=Date.now();let n=0;Object.keys(t).forEach(s=>{r-t[s].lastSeen>ft.TAB_TIMEOUT&&(delete t[s],n++)}),n>0&&(this.saveActiveTabs(t),console.log(`🗑️ Cleaned up ${n} expired tabs`))}setupBeforeUnloadHandler(){window.addEventListener("beforeunload",()=>{const t=this.getActiveTabs();Object.keys(t).forEach(r=>{t[r].tabId===this.currentTabId&&delete t[r]}),this.saveActiveTabs(t)})}getDebugInfo(){return{tabs:this.getActiveTabs(),currentTabId:this.currentTabId,lastKnownSession:this.lastKnownSession,resumeHistory:this.sessionResumeHistory}}clearAllTabs(){localStorage.removeItem(ft.STORAGE_KEY),localStorage.removeItem(ft.WAKEUP_SIGNAL_KEY),localStorage.removeItem(ft.WAKEUP_RESPONSE_KEY),this.sessionResumeHistory=[],this.lastKnownSession=null,console.log("🗑️ All tab records cleared")}stopCleanupTimer(){this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=void 0,console.log("🛑 Cleanup timer stopped"))}}const Fr=ft.getInstance();window.tabManagerDebug={showTabs:()=>console.table(Fr.getDebugInfo().tabs),clearAll:()=>Fr.clearAllTabs(),testWakeup:(e,t)=>Fr.wakeupExistingTab(e,t),getCurrentTabId:()=>Fr.getDebugInfo().currentTabId,getDebugInfo:()=>Fr.getDebugInfo()};const Bv=({agentId:e,sessionId:t,projectPath:r,enabled:n=!0,interval:s=3e4,shouldCheckExistence:i=!1})=>{const a=L.useRef(null),o=L.useRef(0),l=L.useRef(!0),c=L.useRef(!1),u=L.useCallback(async()=>{if(!e||!t)return!1;try{const m=`${ar}/sessions/${e}/${t}/check`,y=await gr(m);if(y.ok){const x=await y.json();return console.log(`🔍 Session existence check: ${t} - ${x.exists?"exists":"not found"}`),x.exists}return!1}catch(m){return console.error("❌ Error checking session existence:",m),!1}},[e,t]),h=L.useCallback(async()=>{if(!(!e||!t||!n))try{const m=`${ar}/sessions/${e}/${t}/heartbeat`,y=await gr(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:r,timestamp:Date.now()})});if(y.ok){const x=await y.json();o.current=x.timestamp,console.log(`💓 Session heartbeat sent successfully: ${t}`),Fr.updateCurrentTabActivity(e,t)}else console.warn(`⚠️ Failed to send heartbeat for session ${t}:`,y.status)}catch(m){console.error("💔 Error sending session heartbeat:",m)}},[e,t,r,n]),f=L.useCallback(()=>{l.current=!document.hidden,l.current&&n&&t&&h()},[h,n,t]),g=L.useCallback(async()=>{if(!(!n||!t||a.current)){if(i&&!c.current){const m=await u();if(c.current=!0,!m){console.log(`⏸️ Session ${t} not found in SessionManager, heartbeat not started`);return}}console.log(`💓 Starting heartbeat for session: ${t}`),h(),a.current=setInterval(()=>{h()},s)}},[n,t,h,s,i,u]),p=L.useCallback(()=>{a.current&&(console.log(`💔 Stopping heartbeat for session: ${t}`),clearInterval(a.current),a.current=null)},[t]);return L.useEffect(()=>(c.current=!1,t&&n?g():p(),()=>{p()}),[t,n,g,p]),L.useEffect(()=>(document.addEventListener("visibilitychange",f),()=>{document.removeEventListener("visibilitychange",f)}),[f]),L.useEffect(()=>()=>{p()},[p]),{sendHeartbeat:h,startHeartbeat:g,stopHeartbeat:p,checkSessionExists:u,lastHeartbeat:o.current}},hm=({agentId:e,sessionId:t,projectPath:r,enabled:n=!0,interval:s=3e4,isNewSession:i=!1,hasSuccessfulResponse:a=!1})=>{const o=L.useRef(null),l=L.useRef(!1),c=!t||!n?!1:i?a:!0,h=Bv({agentId:e,sessionId:t,projectPath:r,enabled:c,interval:s,shouldCheckExistence:!i&&!!t});return L.useEffect(()=>{o.current!==t&&(l.current=!1,o.current=t)},[t]),L.useEffect(()=>{c&&t&&!l.current&&(l.current=!0,console.log(`🚀 Heartbeat enabled for session: ${t} (new: ${i}, hasResponse: ${a})`))},[c,t,i,a]),{...h,isHeartbeatActive:c&&l.current}},dm=()=>{const[e,t]=L.useState(!1);return L.useEffect(()=>{const r=()=>{t(window.innerWidth<640)};return r(),window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),{isCompactMode:e}},fm=({isOpen:e,onToggle:t,sessions:r,currentSessionId:n,onSwitchSession:s,isLoading:i=!1,searchTerm:a,onSearchChange:o})=>{const{t:l}=fe("components"),c=L.useRef(null),u=L.useRef(null);L.useEffect(()=>{console.log("🎯 [DROPDOWN DEBUG] SessionsDropdown sessions updated:",{sessionCount:r.length,currentSessionId:n,searchTerm:a,sessions:r.map((f,g)=>({index:g+1,id:f.id,title:f.title,lastUpdated:f.lastUpdated,messageCount:f.messageCount,isCurrent:f.id===n}))})},[r,n,a]),L.useEffect(()=>{const f=g=>{c.current&&!c.current.contains(g.target)&&t()};return e&&document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f)}},[e,t]),L.useEffect(()=>{e&&u.current&&setTimeout(()=>u.current?.focus(),100)},[e]);const h=r;return e?d.jsxs("div",{ref:c,className:"absolute top-full right-0 mt-1 w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50",children:[d.jsx("div",{className:"flex items-center justify-between p-3 border-b border-gray-100",children:d.jsxs("div",{className:"flex items-center space-x-2",children:[d.jsx(tn,{className:"w-4 h-4 text-gray-600"}),d.jsx("span",{className:"text-sm font-medium text-gray-900",children:l("sessionDropdown.sessionHistory")})]})}),d.jsx("div",{className:"p-3 border-b border-gray-100",children:d.jsxs("div",{className:"relative",children:[d.jsx(Yc,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 w-4 h-4"}),d.jsx("input",{ref:u,type:"text",value:a,onChange:f=>o(f.target.value),placeholder:l("sessionDropdown.searchPlaceholder"),className:"w-full pl-9 pr-3 py-2 text-sm text-gray-900 border border-gray-200 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent placeholder-gray-500"})]})}),d.jsx("div",{className:"max-h-80 overflow-y-auto",children:i?d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsx("div",{className:"animate-spin rounded-full h-5 w-5 border-b-2 border-blue-600"})}):h.length>0?d.jsx("div",{className:"py-2",children:h.map((f,g)=>d.jsxs("div",{onClick:()=>{console.log(`🖱️ [DROPDOWN DEBUG] Clicking session ${g+1}:`,{id:f.id,title:f.title,isCurrent:f.id===n}),s(f.id)},className:`mx-2 px-3 py-2 rounded cursor-pointer hover:bg-gray-50 transition-colors ${n===f.id?"bg-blue-50 border border-blue-200":"border border-transparent"}`,children:[d.jsxs("div",{className:"text-sm font-medium text-gray-900 truncate",title:`ID: ${f.id}`,children:[g+1,". ",f.title]}),d.jsxs("div",{className:"text-xs text-gray-500 mt-0.5",children:[l("sessionDropdown.messageCount",{count:f.messageCount})," • ",new Date(f.lastUpdated).toLocaleString("zh-CN",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})]})]},f.id))}):d.jsx("div",{className:"text-center py-8",children:a?d.jsxs("div",{children:[d.jsx(Yc,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),d.jsx("p",{className:"text-sm text-gray-500",children:l("sessionDropdown.noMatchingSessions")})]}):d.jsxs("div",{children:[d.jsx(tn,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),d.jsx("p",{className:"text-sm text-gray-500",children:l("sessionDropdown.noSessionHistory")}),d.jsx("p",{className:"text-xs text-gray-400 mt-1",children:l("sessionDropdown.sessionWillAppear")})]})})})]}):null};function Rv(e,t){return t?e.replace(/@([\w.-]+(?:\/[\w.-]+)*(?:\.\w+)?)/g,(r,n)=>n.startsWith("/")?n:t+"/"+n):e}function Pv(e,t,r){let n=e.content;return t&&(n=n.replace(/\$ARGUMENTS/g,t)),n=Rv(n,r),`<command-message>${t?`${e.description} (参数: ${t})`:e.description}</command-message><command-name>${n}</command-name>`}function Wi(e){return e.startsWith("/")}function Fv(e){return e.startsWith("/")?e.slice(1):""}const gm=({textareaRef:e,inputMessage:t,setInputMessage:r})=>{const[n,s]=L.useState([]),[i,a]=L.useState(null),[o,l]=L.useState(!1),c=L.useCallback(_=>{if(!e.current)return;const C=e.current,w=C.selectionStart||0,S=C.selectionEnd||0,F=t,A=F.substring(0,w)+_+F.substring(S);r(A),setTimeout(()=>{C.selectionStart=C.selectionEnd=w+_.length,C.focus()},0)},[t,r,e]),u=L.useCallback(_=>{const C=Date.now().toString()+Math.random().toString(36).substr(2,9),w=new FileReader;w.onload=S=>{S.target?.result&&s(F=>{const A=[...F,{id:C,file:_,preview:S.target.result}],j=`[image${A.length}]`;return c(j),A})},w.readAsDataURL(_)},[c]),h=L.useCallback(_=>{const C=_.target.files;if(!C)return;Array.from(C).filter(S=>S.type.startsWith("image/")&&["image/jpeg","image/png","image/gif","image/webp"].includes(S.type)).forEach(u),_.target&&(_.target.value="")},[u]),f=L.useCallback(_=>{s(C=>C.filter(w=>w.id!==_))},[]),g=L.useCallback(_=>{a(_)},[]),p=L.useCallback(_=>{const C=_.clipboardData?.items;if(!C)return;let w=!1;for(let S=0;S<C.length;S++){const F=C[S];if(F.type.startsWith("image/")){w=!0;const A=F.getAsFile();A&&u(A)}}w&&_.preventDefault()},[u]),m=L.useCallback(_=>{_.preventDefault(),l(!0)},[]),y=L.useCallback(_=>{_.preventDefault(),l(!1)},[]),x=L.useCallback(_=>{_.preventDefault(),l(!1);const C=_.dataTransfer?.files;if(!C)return;Array.from(C).filter(S=>S.type.startsWith("image/")&&["image/jpeg","image/png","image/gif","image/webp"].includes(S.type)).forEach(u)},[u]),k=L.useCallback(()=>{s([])},[]),v=L.useCallback(()=>n.map(_=>({id:_.id,data:_.preview.split(",")[1],mediaType:_.file.type,name:_.file.name})),[n]);return{selectedImages:n,previewImage:i,isDragOver:o,handleImageSelect:h,handleImageRemove:f,handleImagePreview:g,handlePaste:p,handleDragOver:m,handleDragLeave:y,handleDrop:x,clearImages:k,getImagesForBackend:v,setPreviewImage:a}},pm=({messagesContainerRef:e,messagesEndRef:t,messages:r,isAiTyping:n})=>{const[s,i]=L.useState(!1),[a,o]=L.useState(0),l=L.useCallback((h=100)=>{if(!e.current)return!1;const{scrollTop:f,scrollHeight:g,clientHeight:p}=e.current;return g-f-p<h},[e]),c=L.useCallback((h="smooth")=>{t.current?.scrollIntoView({behavior:h})},[t]),u=L.useCallback(()=>{const h=l();i(!h),h&&o(0)},[l]);return L.useEffect(()=>{const h=e.current;if(h)return h.addEventListener("scroll",u),()=>h.removeEventListener("scroll",u)},[u,e]),L.useEffect(()=>{s?o(h=>h+1):c()},[r,n,s,c]),{isUserScrolling:s,newMessagesCount:a,scrollToBottom:c,setNewMessagesCount:o,setIsUserScrolling:i}},mm=({projectPath:e,textareaRef:t})=>{const{t:r}=fe("components"),[n,s]=L.useState(!1),[i,a]=L.useState(""),[o,l]=L.useState(null),[c,u]=L.useState(0),[h,f]=L.useState(null),[g,p]=L.useState(!1),[m,y]=L.useState(null),x=[{id:"init",name:"init",description:r("systemCommands.init.description"),content:"/init",scope:"system",isSystem:!0},{id:"clear",name:"clear",description:r("systemCommands.clear.description"),content:"/clear",scope:"system",isSystem:!0},{id:"compact",name:"compact",description:r("systemCommands.compact.description"),content:"/compact",scope:"system",isSystem:!0},{id:"agents",name:"agents",description:r("systemCommands.agents.description"),content:"/agents",scope:"system",isSystem:!0},{id:"settings",name:"settings",description:r("systemCommands.settings.description"),content:"/settings",scope:"system",isSystem:!0},{id:"help",name:"help",description:r("systemCommands.help.description"),content:"/help",scope:"system",isSystem:!0}],{data:k,error:v}=Qc({scope:"user",search:i}),{data:_,error:C}=Zc({projectId:e||"",search:i}),{data:w}=Qc({scope:"user"}),{data:S}=Zc({projectId:e||""}),F=k?.commands||[],A=_?.commands||[],T=w?.commands||[],j=S?.commands||[],M=L.useCallback(D=>{const X=x.find(V=>V.name===D),N=j.find(V=>V.name===D),B=T.find(V=>V.name===D);return!!(X||N||B)},[x,j,T]),P=L.useCallback(()=>{const D=x.map(B=>B.content),X=j.map(B=>`/${B.name}`),N=T.map(B=>`/${B.name}`);return[...D,...X,...N].join(", ")},[x,j,T]),$=v||C,R=L.useMemo(()=>[...x.filter(X=>X.name.toLowerCase().includes(i.toLowerCase())||X.description.toLowerCase().includes(i.toLowerCase())),...A,...F],[F,A,i,x]);L.useEffect(()=>{u(D=>R.length>0&&D>=R.length?0:D)},[R.length]);const I=L.useCallback(D=>{if(h&&f(null),D.length>0&&D[D.length-1]==="@"){const X=D.substring(0,D.length-1);if(X.length===0||/\s$/.test(X)){y(D.length-1),p(!0),t.current?.blur();return}}},[h,t]),O=L.useCallback(D=>(l(D),s(!1),`/${D.name}`),[]),W=L.useCallback(()=>{s(!1)},[]),Z=L.useCallback((D,X)=>{if(!t.current||m===null)return X;let N=D;e&&D.startsWith(e)&&(N=D.slice(e.length),N.startsWith("/")&&(N=N.slice(1)));const B=X.substring(0,m),V=X.substring(m+1),H=B+"@"+N+" "+V;return p(!1),y(null),setTimeout(()=>{if(t.current){const q=m+1+N.length+1;t.current.selectionStart=t.current.selectionEnd=q,t.current.focus()}},0),H},[m,e,t]),E=L.useCallback(()=>{p(!1),y(null),setTimeout(()=>{t.current?.focus()},0)},[t]);return{showCommandSelector:n,commandSearch:i,selectedCommand:o,selectedCommandIndex:c,commandWarning:h,showFileBrowser:g,atSymbolPosition:m,allCommands:R,SYSTEM_COMMANDS:x,userCommands:T,projectCommands:j,hasCommandsLoadError:$,userCommandsError:v,projectCommandsError:C,setSelectedCommand:l,setSelectedCommandIndex:u,setCommandWarning:f,setShowCommandSelector:s,setShowFileBrowser:p,setAtSymbolPosition:y,setCommandSearch:a,handleInputChange:I,handleCommandSelect:O,handleCommandSelectorClose:W,handleFileSelect:Z,handleFileBrowserClose:E,isCommandDefined:M,getAllAvailableCommands:P}},xm=({agent:e})=>{const[t,r]=L.useState(!1),[n,s]=L.useState([]),[i,a]=L.useState([]),[o,l]=L.useState(!1),[c,u]=L.useState("bypassPermissions"),[h,f]=L.useState("sonnet"),[g,p]=L.useState(!1),[m,y]=L.useState(!1),[x,k]=L.useState(void 0),[v,_]=L.useState(!1),[C,w]=L.useState(!1),[S,F]=L.useState({});return L.useEffect(()=>{if(e?.allowedTools?.length>0){const A=e.allowedTools.filter(M=>M.enabled),T=[],j=[];A.forEach(M=>{if(M.name.includes(".")&&!M.name.startsWith("mcp__")){const[P,$]=M.name.split("."),R=`mcp__${P}__${$}`;j.push(R)}else M.name.startsWith("mcp__")?j.push(M.name):T.push(M.name)}),s(T),a(j),l(j.length>0)}},[e?.allowedTools]),{showToolSelector:t,selectedRegularTools:n,selectedMcpTools:i,mcpToolsEnabled:o,permissionMode:c,selectedModel:h,showPermissionDropdown:g,showModelDropdown:m,selectedClaudeVersion:x,showVersionDropdown:v,isVersionLocked:C,setShowToolSelector:r,setSelectedRegularTools:s,setSelectedMcpTools:a,setMcpToolsEnabled:l,setPermissionMode:u,setSelectedModel:f,setShowPermissionDropdown:p,setShowModelDropdown:y,setSelectedClaudeVersion:k,setShowVersionDropdown:_,setIsVersionLocked:w,envVars:S,setEnvVars:F}},ym=({initialModel:e="sonnet",initialVersion:t,skipModelValidation:r=!1})=>{const{data:n}=Av(),[s,i]=L.useState(e),[a,o]=L.useState(t),[l,c]=L.useState(!1),u=L.useMemo(()=>{if(!n?.versions)return[];if(a){const y=n.versions.find(k=>k.id===a),x=y?.models||[];return console.log(`📦 availableModels computed: selectedClaudeVersion=${a}, found version=${y?.name}, models=`,x.map(k=>k.id)),x}const p=n.versions.find(y=>y.id===n.defaultVersionId)||n.versions[0],m=p?.models||[];return console.log(`📦 availableModels computed (using default): defaultVersion=${p?.name}, models=`,m.map(y=>y.id)),m},[n,a]);return L.useEffect(()=>{r||u.length>0&&(u.some(m=>m.id===s)||(console.log(`🔄 Model validation: selectedModel=${s} is not in availableModels:`,u.map(m=>m.id),`selectedClaudeVersion=${a}, resetting to ${u[0].id}`),i(u[0].id)))},[u,s,a,r]),{claudeVersionsData:n,availableModels:u,selectedModel:s,selectedClaudeVersion:a,isVersionLocked:l,setSelectedModel:i,setSelectedClaudeVersion:o,setIsVersionLocked:c,handleVersionChange:p=>{o(p);const m=n?.versions.find(y=>y.id===p);m&&m.models&&m.models.length>0&&i(m.models[0].id)},handleModelChange:p=>{i(p)},resetToDefaults:()=>{o(void 0),i(e),c(!1)}}},Ov={activeTasks:new Map},tu=Hp((e,t)=>({...Ov,registerTaskTool:(r,n)=>{console.log("📋 [SubAgentStore] Registering Task tool:",r,"sessionId:",n),e(s=>{const i=new Map(s.activeTasks);return i.has(r)||i.set(r,{parentToolUseId:r,sessionId:n,messageFlow:[],startedAt:Date.now(),lastUpdatedAt:Date.now()}),{activeTasks:i}})},activateSubAgent:(r,n)=>{if(t().activeTasks.has(r)){console.log("📋 [SubAgentStore] SubAgent already active for:",r);return}console.log("📋 [SubAgentStore] Activating SubAgent for parentToolUseId:",r),e(i=>{const a=new Map(i.activeTasks);return a.set(r,{parentToolUseId:r,sessionId:n,messageFlow:[],startedAt:Date.now(),lastUpdatedAt:Date.now()}),{activeTasks:a}})},addSubAgentMessagePart:(r,n)=>{e(s=>{if(!s.activeTasks.get(r)){console.log("📋 [SubAgentStore] Creating new task for parentToolUseId:",r);const u=new Map(s.activeTasks);return u.set(r,{parentToolUseId:r,sessionId:"",messageFlow:[{id:`msg_${r}_${Date.now()}`,role:"assistant",timestamp:new Date().toISOString(),messageParts:[n]}],startedAt:Date.now(),lastUpdatedAt:Date.now()}),{activeTasks:u}}const a=new Map(s.activeTasks),o=a.get(r),l=o.messageFlow.findIndex(u=>u.messageParts.some(h=>h.id===n.id));let c;if(l>=0)c=o.messageFlow.map((u,h)=>h===l?{...u,messageParts:u.messageParts.map(f=>f.id===n.id?n:f)}:u);else{const u=o.messageFlow[o.messageFlow.length-1];u&&u.role==="assistant"?c=[...o.messageFlow.slice(0,-1),{...u,messageParts:[...u.messageParts,n]}]:c=[...o.messageFlow,{id:`msg_${r}_${Date.now()}`,role:"assistant",timestamp:new Date().toISOString(),messageParts:[n]}]}return a.set(r,{...o,messageFlow:c,lastUpdatedAt:Date.now()}),console.log("📋 [SubAgentStore] Added message part to",r,"type:",n.type,"total parts:",c.reduce((u,h)=>u+h.messageParts.length,0)),{activeTasks:a}})},getSubAgentMessageFlow:r=>t().activeTasks.get(r)?.messageFlow||[],clearSubAgentTask:r=>{console.log("📋 [SubAgentStore] Clearing SubAgent task:",r),e(n=>{const s=new Map(n.activeTasks);return s.delete(r),{activeTasks:s}})},reset:()=>{console.log("📋 [SubAgentStore] Resetting state"),e({activeTasks:new Map})}})),zv=({agentId:e,currentSessionId:t,projectPath:r,isCompactCommand:n=!1,abortControllerRef:s,onSessionChange:i,setIsInitializingSession:a,setCurrentSessionId:o,setIsNewSession:l,setAiTyping:c,setHasSuccessfulResponse:u})=>{const{t:h}=fe("components"),f=kh(),{addMessage:g,addTextPartToMessage:p,addThinkingPartToMessage:m,updateTextPartInMessage:y,updateThinkingPartInMessage:x,addToolPartToMessage:k,updateToolPartInMessage:v,updateMcpStatus:_,setPendingUserQuestion:C,setA2AStreamStart:w,setA2AStreamEnd:S,addA2AStreamEvent:F}=ze(),A=L.useRef(null),T=L.useRef(new Map),j=L.useRef({activeBlocks:new Map,currentMessageId:null,isStreaming:!1,wasStreamProcessed:!1,pendingUpdate:null,rafId:null}),M=L.useCallback((E,D,X)=>{const N=j.current;N.pendingUpdate={blockId:E,content:D,type:X},N.rafId===null&&(N.rafId=requestAnimationFrame(()=>{const B=N.pendingUpdate,V=A.current;if(!B||!V){N.rafId=null;return}const H=N.activeBlocks.get(B.blockId);if(!H||!H.partId){console.warn("🌊 [STREAMING] No partId found for block:",B.blockId),N.rafId=null;return}B.type==="text"?y(V,H.partId,B.content):B.type==="thinking"&&x(V,H.partId,B.content),N.pendingUpdate=null,N.rafId=null}))},[y,x]),P=L.useCallback((E,D)=>`${E}-${Date.now()}-${D}`,[]),{registerTaskTool:$,activateSubAgent:R,addSubAgentMessagePart:I}=tu.getState(),O=L.useCallback(E=>{try{const D=E;D.type==="system"&&D.subtype==="init"&&console.log("📋 [INIT] Received system init message, not intercepting");const X=D.isSidechain===!0,N=D.parentToolUseId;if(X&&N){console.log("🎯 [SIDECHAIN] Intercepted sub-agent message, parentToolUseId:",N,"type:",D.type);const B=N,V=D.sessionId||D.session_id;if(V&&R(B,V),D.type==="stream_event"&&D.event){const H=D.event;if(H.type==="content_block_start"&&H.content_block){const q=H.index,Y=H.content_block;if(Y.type==="text"){const J=`part_${B}_text_${q}_${Date.now()}`;I(B,{id:J,type:"text",content:"",order:q}),T.current.set(`${B}-${q}`,J),console.log("🎯 [SIDECHAIN] Started text block:",J)}else if(Y.type==="thinking"){const J=`part_${B}_thinking_${q}_${Date.now()}`;I(B,{id:J,type:"thinking",content:"",order:q}),T.current.set(`${B}-${q}`,J)}else if(Y.type==="tool_use"){const J=`part_${B}_tool_${q}_${Date.now()}`;I(B,{id:J,type:"tool",toolData:{id:Y.id,toolName:Y.name,toolInput:{},isError:!1},order:q}),T.current.set(`${B}-${q}`,J),console.log("🎯 [SIDECHAIN] Added tool_use to sub-agent:",Y.name)}}if(H.type==="content_block_delta"&&H.delta){const q=H.index,Y=H.delta,J=T.current.get(`${B}-${q}`);if(J){const we=tu.getState().activeTasks.get(B);if(we)for(const Ne of we.messageFlow){const Ce=Ne.messageParts.find(Le=>Le.id===J);if(Ce){if(Y.type==="text_delta"&&Y.text){const Le=(Ce.content||"")+Y.text;I(B,{...Ce,content:Le}),Le.length%100<10&&console.log("🎯 [SIDECHAIN] Text accumulated:",Le.length,"chars")}else if(Y.type==="thinking_delta"&&Y.thinking){const Le=(Ce.content||"")+Y.thinking;I(B,{...Ce,content:Le})}break}}}}}if(D.type==="assistant"&&D.message){const H=D.message;if(console.log("🎯 [SIDECHAIN] Processing assistant message, blocks:",H.content?.length||0),H.content&&Array.isArray(H.content))for(let q=0;q<H.content.length;q++){const Y=H.content[q];Y.type==="text"&&Y.text?(console.log("🎯 [SIDECHAIN] Adding text from assistant:",Y.text.substring(0,50)),I(B,{id:`part_${B}_text_${q}_${Date.now()}`,type:"text",content:Y.text,order:q})):Y.type==="thinking"&&Y.thinking?I(B,{id:`part_${B}_thinking_${q}_${Date.now()}`,type:"thinking",content:Y.thinking,order:q}):Y.type==="tool_use"&&(I(B,{id:`part_${B}_tool_${q}_${Date.now()}`,type:"tool",toolData:{id:Y.id,toolName:Y.name,toolInput:Y.input||{},isError:!1},order:q}),console.log("🎯 [SIDECHAIN] Added tool_use from assistant:",Y.name))}}if(D.type==="user"&&D.message){const H=D.message;if(H.content&&Array.isArray(H.content))for(const q of H.content){const Y=q;if(Y.type==="text"){console.log("🎯 [SIDECHAIN] Skipping user text (task prompt already shown)");continue}Y.type==="tool_result"&&Y.tool_use_id&&console.log("🎯 [SIDECHAIN] Tool result for:",Y.tool_use_id,"error:",Y.is_error)}}return}if(D.type==="stream_event"&&D.event){const B=D.event;if(console.log("🌊 [STREAMING] Detected stream_event:",B.type,"Full event:",JSON.stringify(D).substring(0,200)),j.current.wasStreamProcessed=!0,B.type==="message_start"){if(A.current)console.log("🌊 [STREAMING] message_start: AI message already exists, skipping:",A.current);else{g({content:"",role:"assistant"});const H=ze.getState();A.current=H.messages[H.messages.length-1].id,j.current.currentMessageId=A.current,j.current.isStreaming=!0,console.log("🌊 [STREAMING] message_start: Created new AI message with ID:",A.current)}return}if(B.type==="content_block_start"){const V=B.index,H=B.content_block;if(!A.current){g({content:"",role:"assistant"});const re=ze.getState();A.current=re.messages[re.messages.length-1].id,j.current.currentMessageId=A.current,j.current.isStreaming=!0}const q=`block-${A.current}-${V}`,Y=Date.now();if(j.current.activeBlocks.has(q)){console.warn("🌊 [STREAMING] content_block_start: Block already exists, skipping:",q);return}if(H.type==="text"){p(A.current,"");const re=ze.getState().messages.find(Le=>Le.id===A.current),Ne=re?.messageParts?.[re.messageParts.length-1]?.id,Ce={blockId:q,type:"text",content:"",isComplete:!1,messageId:A.current,partId:Ne,startedAt:Y,lastUpdatedAt:Y};j.current.activeBlocks.set(q,Ce),console.log("🌊 [STREAMING] content_block_start: Initialized text block",q,"partId:",Ne)}else if(H.type==="thinking"){m(A.current,"");const re=ze.getState().messages.find(Le=>Le.id===A.current),Ne=re?.messageParts?.[re.messageParts.length-1]?.id,Ce={blockId:q,type:"thinking",content:"",isComplete:!1,messageId:A.current,partId:Ne,startedAt:Y,lastUpdatedAt:Y};j.current.activeBlocks.set(q,Ce),console.log("🤔 [STREAMING] content_block_start: Initialized thinking block",q,"partId:",Ne)}else if(H.type==="tool_use"){if(console.log("🔧 [STREAMING] content_block_start: Processing tool_use",{toolName:H.name,claudeId:H.id,blockId:q,messageId:A.current}),H.name==="Task"){const re=t||D.sessionId||D.session_id;re&&H.id&&(console.log("🎯 [TASK] Registering Task tool for sub-agent tracking:",H.id),$(H.id,re))}const J={toolName:H.name,toolInput:{},isExecuting:!0,claudeId:H.id};try{k(A.current,J),console.log("🔧 [STREAMING] content_block_start: addToolPartToMessage completed");const re=ze.getState();console.log("🔧 [STREAMING] content_block_start: Got store state, messages count:",re.messages.length);const we=re.messages.find(Xe=>Xe.id===A.current);console.log("🔧 [STREAMING] content_block_start: Found current message:",!!we,"parts count:",we?.messageParts?.length);const Ne=we?.messageParts?.[we.messageParts.length-1];console.log("🔧 [STREAMING] content_block_start: Latest part:",{exists:!!Ne,type:Ne?.type,hasToolData:!!Ne?.toolData,toolDataId:Ne?.toolData?.id});const Ce=Ne?.toolData?.id;Ce||console.error("🔧 [STREAMING] content_block_start: ⚠️ partId is undefined! Latest part:",Ne);const Le={blockId:q,type:"tool_use",content:"",isComplete:!1,messageId:A.current,partId:Ce,startedAt:Y,lastUpdatedAt:Y};j.current.activeBlocks.set(q,Le),console.log("🔧 [STREAMING] content_block_start: ✅ Initialized tool_use block",H.name,"blockId:",q,"partId:",Ce,"claudeId:",H.id)}catch(re){throw console.error("🔧 [STREAMING] content_block_start: ❌ Error processing tool_use:",re),re}}return}if(B.type==="content_block_delta"&&A.current){const V=B.index,H=B.delta,q=`block-${A.current}-${V}`,Y=Date.now();if(H.type==="text_delta"&&H.text!==void 0){let J=j.current.activeBlocks.get(q);if(J)J.content+=H.text,J.lastUpdatedAt=Y,console.log(`🌊 [STREAMING] content_block_delta: Accumulated text delta "${H.text}" to block ${q}, total: "${J.content.substring(0,50)}..."`);else{console.warn("🌊 [STREAMING] content_block_delta: Missing content_block_start for text block, creating fallback"),p(A.current,"");const we=ze.getState().messages.find(Le=>Le.id===A.current),Ce=we?.messageParts?.[we.messageParts.length-1]?.id;J={blockId:q,type:"text",content:H.text,isComplete:!1,messageId:A.current,partId:Ce,startedAt:Y,lastUpdatedAt:Y},j.current.activeBlocks.set(q,J),console.log(`🌊 [STREAMING] content_block_delta: Created text block ${q} (fallback) with partId: ${Ce}, content: "${H.text}"`)}M(q,J.content,"text")}else if(H.type==="thinking_delta"&&H.thinking!==void 0){let J=j.current.activeBlocks.get(q);if(J)J.content+=H.thinking,J.lastUpdatedAt=Y,console.log(`🤔 [STREAMING] content_block_delta: Accumulated thinking delta "${H.thinking}" to block ${q}, total: "${J.content.substring(0,50)}..."`);else{console.warn("🤔 [STREAMING] content_block_delta: Missing content_block_start for thinking block, creating fallback"),m(A.current,"");const we=ze.getState().messages.find(Le=>Le.id===A.current),Ce=we?.messageParts?.[we.messageParts.length-1]?.id;J={blockId:q,type:"thinking",content:H.thinking,isComplete:!1,messageId:A.current,partId:Ce,startedAt:Y,lastUpdatedAt:Y},j.current.activeBlocks.set(q,J),console.log(`🤔 [STREAMING] content_block_delta: Created thinking block ${q} (fallback) with partId: ${Ce}, content: "${H.thinking}"`)}M(q,J.content,"thinking")}else if(H.type==="input_json_delta"){const J=H.partial_json||"";let re=j.current.activeBlocks.get(q);if(re){re.content+=J,re.lastUpdatedAt=Y;const we=re.content,Ne=we.trim();if(re.partId&&Ne.endsWith("}"))try{const Ce=JSON.parse(we);v(A.current,re.partId,{toolInput:Ce}),console.log(`🔧 [STREAMING] content_block_delta: Updated tool_use block ${q}, parsed complete JSON`)}catch{console.log(`🔧 [STREAMING] content_block_delta: JSON not yet complete for ${q}, length: ${we.length}`)}}else{if(console.warn("🔧 [STREAMING] content_block_delta: Missing content_block_start for tool block, creating fallback"),!B.content_block||B.content_block.type!=="tool_use"){console.error("🔧 [STREAMING] content_block_delta: Missing content_block info for tool, cannot create fallback");return}const we=B.content_block.name,Ne=B.content_block.id;k(A.current,{toolName:we,toolInput:{},isExecuting:!0,claudeId:Ne});const Le=ze.getState().messages.find(Ze=>Ze.id===A.current),ct=Le?.messageParts?.[Le.messageParts.length-1]?.toolData?.id;re={blockId:q,type:"tool_use",content:J,isComplete:!1,messageId:A.current,partId:ct,startedAt:Y,lastUpdatedAt:Y},j.current.activeBlocks.set(q,re),console.log("🔧 [STREAMING] content_block_delta: Created tool_use block (fallback)",we,"blockId:",q,"partId:",ct,"initial fragment:",J)}}return}if(B.type==="content_block_stop"&&A.current){const V=B.index,H=`block-${A.current}-${V}`,q=j.current.activeBlocks.get(H);if(q){q.isComplete=!0,console.log(`🌊 [STREAMING] content_block_stop: Block ${H} complete, type: ${q.type}, content length: ${q.content.length}`);const Y=j.current;if(Y.pendingUpdate?.blockId===H){console.log(`🌊 [STREAMING] content_block_stop: Flushing pending RAF for ${H} immediately`),Y.rafId!==null&&(cancelAnimationFrame(Y.rafId),Y.rafId=null);const J=Y.pendingUpdate;q.partId&&(J.type==="text"?y(A.current,q.partId,J.content):J.type==="thinking"&&x(A.current,q.partId,J.content),console.log(`🌊 [STREAMING] content_block_stop: Flushed ${J.type} content for ${H}, length: ${J.content.length}`)),Y.pendingUpdate=null}else if((q.type==="text"||q.type==="thinking")&&q.partId)console.log(`🌊 [STREAMING] content_block_stop: Final check - ensuring ${q.type} content saved, length: ${q.content.length}`),q.type==="text"?y(A.current,q.partId,q.content):q.type==="thinking"&&x(A.current,q.partId,q.content);else if(q.type==="tool_use"&&q.partId&&q.content){console.log(`🔧 [STREAMING] content_block_stop: Finalizing tool_use block ${H}, accumulated JSON length: ${q.content.length}`);try{const J=JSON.parse(q.content);v(A.current,q.partId,{toolInput:J}),console.log(`🔧 [STREAMING] content_block_stop: Successfully parsed final tool input for ${H}`)}catch(J){console.error(`🔧 [STREAMING] content_block_stop: Failed to parse final tool JSON for ${H}:`,J,"content:",q.content.substring(0,200))}}j.current.activeBlocks.delete(H),console.log(`🌊 [STREAMING] content_block_stop: Cleaned up block ${H}`)}return}if(B.type==="message_delta"){console.log("🌊 [STREAMING] message_delta:",B.delta);return}if(B.type==="message_stop"){if(j.current.isStreaming){console.log("🌊 [STREAMING] message_stop: Finalizing all streaming blocks, count:",j.current.activeBlocks.size);const V=A.current,H=j.current;if(H.pendingUpdate&&H.rafId!==null){console.log(`🌊 [STREAMING] message_stop: Flushing pending RAF for ${H.pendingUpdate.blockId}`),cancelAnimationFrame(H.rafId),H.rafId=null;const q=H.pendingUpdate,Y=H.activeBlocks.get(q.blockId);Y&&Y.partId&&V&&(q.type==="text"?y(V,Y.partId,q.content):q.type==="thinking"&&x(V,Y.partId,q.content),console.log(`🌊 [STREAMING] message_stop: Flushed ${q.type} content, length: ${q.content.length}`)),H.pendingUpdate=null}V&&H.activeBlocks.forEach(q=>{q.isComplete=!0,(q.type==="text"||q.type==="thinking")&&q.partId?(console.log(`🌊 [STREAMING] message_stop: Final check for ${q.type} block ${q.blockId}, length: ${q.content.length}`),q.type==="text"?y(V,q.partId,q.content):q.type==="thinking"&&x(V,q.partId,q.content)):q.partId||console.error(`❌ [STREAMING] message_stop: Missing partId for block ${q.blockId}, content LOST:`,q.content.substring(0,100))}),H.isStreaming=!1,H.currentMessageId=null,H.activeBlocks.clear(),console.log("🌊 [STREAMING] message_stop: All blocks finalized and cleared")}return}console.warn("🌊 [STREAMING] Unknown stream_event type:",B.type);return}if(D.type==="error"){console.error("Claude Code SDK error:",D),c(!1),a(!1),s.current=null;let B="";D.subtype&&D.message?(console.log("📋 Processing structured error with subtype:",D.subtype),B=`❌ **${{error_during_execution:h("agentChat.executionError"),error_max_turns:h("agentChat.maxTurnsReached"),error_max_budget_usd:h("agentChat.maxBudgetReached"),error_max_structured_output_retries:h("agentChat.maxRetriesReached")}[D.subtype]||h("agentChat.processingError")}**
32
+ `,document.head.appendChild(r),t.textContent="🎯 会话已激活",document.body.appendChild(t),setTimeout(()=>{document.body.contains(t)&&document.body.removeChild(t),document.head.contains(r)&&document.head.removeChild(r)},2e3),console.log("🎯 Made page more visible")}catch(t){console.log("Make page visible failed:",t)}}parseSessionFromUrl(t){try{const r=new URL(t),n=r.pathname.split("/"),s=n.indexOf("chat");if(s!==-1&&n[s+1]){const i=n[s+1],a=r.searchParams.get("session");if(i&&a)return{agentId:i,sessionId:a}}return null}catch(r){return console.error("Error parsing session from URL:",r),null}}isSameSession(t,r){try{const n=this.parseSessionFromUrl(t),s=this.parseSessionFromUrl(r);return!n||!s?!1:n.agentId===s.agentId&&n.sessionId===s.sessionId}catch(n){return console.error("Error comparing session URLs:",n),!1}}getActiveTabs(){try{const t=localStorage.getItem(ft.STORAGE_KEY);return t?JSON.parse(t):{}}catch(t){return console.error("Error reading active tabs:",t),{}}}saveActiveTabs(t){try{localStorage.setItem(ft.STORAGE_KEY,JSON.stringify(t))}catch(r){console.error("Error saving active tabs:",r)}}getTabKey(t,r){return`${t}_${r}`}generateTabId(){return`tab_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}generateRequestId(){return`req_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}startCleanupTimer(){this.cleanupInterval=window.setInterval(()=>{this.cleanupExpiredTabs()},6e4)}cleanupExpiredTabs(){const t=this.getActiveTabs(),r=Date.now();let n=0;Object.keys(t).forEach(s=>{r-t[s].lastSeen>ft.TAB_TIMEOUT&&(delete t[s],n++)}),n>0&&(this.saveActiveTabs(t),console.log(`🗑️ Cleaned up ${n} expired tabs`))}setupBeforeUnloadHandler(){window.addEventListener("beforeunload",()=>{const t=this.getActiveTabs();Object.keys(t).forEach(r=>{t[r].tabId===this.currentTabId&&delete t[r]}),this.saveActiveTabs(t)})}getDebugInfo(){return{tabs:this.getActiveTabs(),currentTabId:this.currentTabId,lastKnownSession:this.lastKnownSession,resumeHistory:this.sessionResumeHistory}}clearAllTabs(){localStorage.removeItem(ft.STORAGE_KEY),localStorage.removeItem(ft.WAKEUP_SIGNAL_KEY),localStorage.removeItem(ft.WAKEUP_RESPONSE_KEY),this.sessionResumeHistory=[],this.lastKnownSession=null,console.log("🗑️ All tab records cleared")}stopCleanupTimer(){this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=void 0,console.log("🛑 Cleanup timer stopped"))}}const Fr=ft.getInstance();window.tabManagerDebug={showTabs:()=>console.table(Fr.getDebugInfo().tabs),clearAll:()=>Fr.clearAllTabs(),testWakeup:(e,t)=>Fr.wakeupExistingTab(e,t),getCurrentTabId:()=>Fr.getDebugInfo().currentTabId,getDebugInfo:()=>Fr.getDebugInfo()};const Bv=({agentId:e,sessionId:t,projectPath:r,enabled:n=!0,interval:s=3e4,shouldCheckExistence:i=!1})=>{const a=L.useRef(null),o=L.useRef(0),l=L.useRef(!0),c=L.useRef(!1),u=L.useCallback(async()=>{if(!e||!t)return!1;try{const m=`${ar}/sessions/${e}/${t}/check`,y=await gr(m);if(y.ok){const x=await y.json();return console.log(`🔍 Session existence check: ${t} - ${x.exists?"exists":"not found"}`),x.exists}return!1}catch(m){return console.error("❌ Error checking session existence:",m),!1}},[e,t]),h=L.useCallback(async()=>{if(!(!e||!t||!n))try{const m=`${ar}/sessions/${e}/${t}/heartbeat`,y=await gr(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:r,timestamp:Date.now()})});if(y.ok){const x=await y.json();o.current=x.timestamp,console.log(`💓 Session heartbeat sent successfully: ${t}`),Fr.updateCurrentTabActivity(e,t)}else console.warn(`⚠️ Failed to send heartbeat for session ${t}:`,y.status)}catch(m){console.error("💔 Error sending session heartbeat:",m)}},[e,t,r,n]),f=L.useCallback(()=>{l.current=!document.hidden,l.current&&n&&t&&h()},[h,n,t]),g=L.useCallback(async()=>{if(!(!n||!t||a.current)){if(i&&!c.current){const m=await u();if(c.current=!0,!m){console.log(`⏸️ Session ${t} not found in SessionManager, heartbeat not started`);return}}console.log(`💓 Starting heartbeat for session: ${t}`),h(),a.current=setInterval(()=>{h()},s)}},[n,t,h,s,i,u]),p=L.useCallback(()=>{a.current&&(console.log(`💔 Stopping heartbeat for session: ${t}`),clearInterval(a.current),a.current=null)},[t]);return L.useEffect(()=>(c.current=!1,t&&n?g():p(),()=>{p()}),[t,n,g,p]),L.useEffect(()=>(document.addEventListener("visibilitychange",f),()=>{document.removeEventListener("visibilitychange",f)}),[f]),L.useEffect(()=>()=>{p()},[p]),{sendHeartbeat:h,startHeartbeat:g,stopHeartbeat:p,checkSessionExists:u,lastHeartbeat:o.current}},hm=({agentId:e,sessionId:t,projectPath:r,enabled:n=!0,interval:s=3e4,isNewSession:i=!1,hasSuccessfulResponse:a=!1})=>{const o=L.useRef(null),l=L.useRef(!1),c=!t||!n?!1:i?a:!0,h=Bv({agentId:e,sessionId:t,projectPath:r,enabled:c,interval:s,shouldCheckExistence:!i&&!!t});return L.useEffect(()=>{o.current!==t&&(l.current=!1,o.current=t)},[t]),L.useEffect(()=>{c&&t&&!l.current&&(l.current=!0,console.log(`🚀 Heartbeat enabled for session: ${t} (new: ${i}, hasResponse: ${a})`))},[c,t,i,a]),{...h,isHeartbeatActive:c&&l.current}},dm=()=>{const[e,t]=L.useState(!1);return L.useEffect(()=>{const r=()=>{t(window.innerWidth<640)};return r(),window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),{isCompactMode:e}},fm=({isOpen:e,onToggle:t,sessions:r,currentSessionId:n,onSwitchSession:s,isLoading:i=!1,searchTerm:a,onSearchChange:o})=>{const{t:l}=fe("components"),c=L.useRef(null),u=L.useRef(null);L.useEffect(()=>{console.log("🎯 [DROPDOWN DEBUG] SessionsDropdown sessions updated:",{sessionCount:r.length,currentSessionId:n,searchTerm:a,sessions:r.map((f,g)=>({index:g+1,id:f.id,title:f.title,lastUpdated:f.lastUpdated,messageCount:f.messageCount,isCurrent:f.id===n}))})},[r,n,a]),L.useEffect(()=>{const f=g=>{c.current&&!c.current.contains(g.target)&&t()};return e&&document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f)}},[e,t]),L.useEffect(()=>{e&&u.current&&setTimeout(()=>u.current?.focus(),100)},[e]);const h=r;return e?d.jsxs("div",{ref:c,className:"absolute top-full right-0 mt-1 w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50",children:[d.jsx("div",{className:"flex items-center justify-between p-3 border-b border-gray-100",children:d.jsxs("div",{className:"flex items-center space-x-2",children:[d.jsx(tn,{className:"w-4 h-4 text-gray-600"}),d.jsx("span",{className:"text-sm font-medium text-gray-900",children:l("sessionDropdown.sessionHistory")})]})}),d.jsx("div",{className:"p-3 border-b border-gray-100",children:d.jsxs("div",{className:"relative",children:[d.jsx(Yc,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 w-4 h-4"}),d.jsx("input",{ref:u,type:"text",value:a,onChange:f=>o(f.target.value),placeholder:l("sessionDropdown.searchPlaceholder"),className:"w-full pl-9 pr-3 py-2 text-sm text-gray-900 border border-gray-200 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent placeholder-gray-500"})]})}),d.jsx("div",{className:"max-h-80 overflow-y-auto",children:i?d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsx("div",{className:"animate-spin rounded-full h-5 w-5 border-b-2 border-blue-600"})}):h.length>0?d.jsx("div",{className:"py-2",children:h.map((f,g)=>d.jsxs("div",{onClick:()=>{console.log(`🖱️ [DROPDOWN DEBUG] Clicking session ${g+1}:`,{id:f.id,title:f.title,isCurrent:f.id===n}),s(f.id)},className:`mx-2 px-3 py-2 rounded cursor-pointer hover:bg-gray-50 transition-colors ${n===f.id?"bg-blue-50 border border-blue-200":"border border-transparent"}`,children:[d.jsxs("div",{className:"text-sm font-medium text-gray-900 truncate",title:`ID: ${f.id}`,children:[g+1,". ",f.title]}),d.jsxs("div",{className:"text-xs text-gray-500 mt-0.5",children:[l("sessionDropdown.messageCount",{count:f.messageCount})," • ",new Date(f.lastUpdated).toLocaleString("zh-CN",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})]})]},f.id))}):d.jsx("div",{className:"text-center py-8",children:a?d.jsxs("div",{children:[d.jsx(Yc,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),d.jsx("p",{className:"text-sm text-gray-500",children:l("sessionDropdown.noMatchingSessions")})]}):d.jsxs("div",{children:[d.jsx(tn,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),d.jsx("p",{className:"text-sm text-gray-500",children:l("sessionDropdown.noSessionHistory")}),d.jsx("p",{className:"text-xs text-gray-400 mt-1",children:l("sessionDropdown.sessionWillAppear")})]})})})]}):null};function Rv(e,t){return t?e.replace(/@([\w.-]+(?:\/[\w.-]+)*(?:\.\w+)?)/g,(r,n)=>n.startsWith("/")?n:t+"/"+n):e}function Pv(e,t,r){let n=e.content;return t&&(n=n.replace(/\$ARGUMENTS/g,t)),n=Rv(n,r),`<command-message>${t?`${e.description} (参数: ${t})`:e.description}</command-message><command-name>${n}</command-name>`}function Wi(e){return e.startsWith("/")}function Fv(e){return e.startsWith("/")?e.slice(1):""}const gm=({textareaRef:e,inputMessage:t,setInputMessage:r})=>{const[n,s]=L.useState([]),[i,a]=L.useState(null),[o,l]=L.useState(!1),c=L.useCallback(_=>{if(!e.current)return;const C=e.current,w=C.selectionStart||0,S=C.selectionEnd||0,F=t,A=F.substring(0,w)+_+F.substring(S);r(A),setTimeout(()=>{C.selectionStart=C.selectionEnd=w+_.length,C.focus()},0)},[t,r,e]),u=L.useCallback(_=>{const C=Date.now().toString()+Math.random().toString(36).substr(2,9),w=new FileReader;w.onload=S=>{S.target?.result&&s(F=>{const A=[...F,{id:C,file:_,preview:S.target.result}],j=`[image${A.length}]`;return c(j),A})},w.readAsDataURL(_)},[c]),h=L.useCallback(_=>{const C=_.target.files;if(!C)return;Array.from(C).filter(S=>S.type.startsWith("image/")&&["image/jpeg","image/png","image/gif","image/webp"].includes(S.type)).forEach(u),_.target&&(_.target.value="")},[u]),f=L.useCallback(_=>{s(C=>C.filter(w=>w.id!==_))},[]),g=L.useCallback(_=>{a(_)},[]),p=L.useCallback(_=>{const C=_.clipboardData?.items;if(!C)return;let w=!1;for(let S=0;S<C.length;S++){const F=C[S];if(F.type.startsWith("image/")){w=!0;const A=F.getAsFile();A&&u(A)}}w&&_.preventDefault()},[u]),m=L.useCallback(_=>{_.preventDefault(),l(!0)},[]),y=L.useCallback(_=>{_.preventDefault(),l(!1)},[]),x=L.useCallback(_=>{_.preventDefault(),l(!1);const C=_.dataTransfer?.files;if(!C)return;Array.from(C).filter(S=>S.type.startsWith("image/")&&["image/jpeg","image/png","image/gif","image/webp"].includes(S.type)).forEach(u)},[u]),k=L.useCallback(()=>{s([])},[]),v=L.useCallback(()=>n.map(_=>({id:_.id,data:_.preview.split(",")[1],mediaType:_.file.type,name:_.file.name})),[n]);return{selectedImages:n,previewImage:i,isDragOver:o,handleImageSelect:h,handleImageRemove:f,handleImagePreview:g,handlePaste:p,handleDragOver:m,handleDragLeave:y,handleDrop:x,clearImages:k,getImagesForBackend:v,setPreviewImage:a}},pm=({messagesContainerRef:e,messagesEndRef:t,messages:r,isAiTyping:n})=>{const[s,i]=L.useState(!1),[a,o]=L.useState(0),l=L.useCallback((h=100)=>{if(!e.current)return!1;const{scrollTop:f,scrollHeight:g,clientHeight:p}=e.current;return g-f-p<h},[e]),c=L.useCallback((h="smooth")=>{t.current?.scrollIntoView({behavior:h})},[t]),u=L.useCallback(()=>{const h=l();i(!h),h&&o(0)},[l]);return L.useEffect(()=>{const h=e.current;if(h)return h.addEventListener("scroll",u),()=>h.removeEventListener("scroll",u)},[u,e]),L.useEffect(()=>{s?o(h=>h+1):c()},[r,n,s,c]),{isUserScrolling:s,newMessagesCount:a,scrollToBottom:c,setNewMessagesCount:o,setIsUserScrolling:i}},mm=({projectPath:e,textareaRef:t})=>{const{t:r}=fe("components"),[n,s]=L.useState(!1),[i,a]=L.useState(""),[o,l]=L.useState(null),[c,u]=L.useState(0),[h,f]=L.useState(null),[g,p]=L.useState(!1),[m,y]=L.useState(null),x=[{id:"init",name:"init",description:r("systemCommands.init.description"),content:"/init",scope:"system",isSystem:!0},{id:"clear",name:"clear",description:r("systemCommands.clear.description"),content:"/clear",scope:"system",isSystem:!0},{id:"compact",name:"compact",description:r("systemCommands.compact.description"),content:"/compact",scope:"system",isSystem:!0},{id:"agents",name:"agents",description:r("systemCommands.agents.description"),content:"/agents",scope:"system",isSystem:!0},{id:"settings",name:"settings",description:r("systemCommands.settings.description"),content:"/settings",scope:"system",isSystem:!0},{id:"help",name:"help",description:r("systemCommands.help.description"),content:"/help",scope:"system",isSystem:!0}],{data:k,error:v}=Qc({scope:"user",search:i}),{data:_,error:C}=Zc({projectId:e||"",search:i}),{data:w}=Qc({scope:"user"}),{data:S}=Zc({projectId:e||""}),F=Array.isArray(k?.commands)?k.commands:[],A=Array.isArray(_?.commands)?_.commands:[],T=Array.isArray(w?.commands)?w.commands:[],j=Array.isArray(S?.commands)?S.commands:[],M=L.useCallback(D=>{const X=x.find(V=>V.name===D),N=j.find(V=>V.name===D),B=T.find(V=>V.name===D);return!!(X||N||B)},[x,j,T]),P=L.useCallback(()=>{const D=x.map(B=>B.content),X=j.map(B=>`/${B.name}`),N=T.map(B=>`/${B.name}`);return[...D,...X,...N].join(", ")},[x,j,T]),$=v||C,R=L.useMemo(()=>[...x.filter(X=>X.name.toLowerCase().includes(i.toLowerCase())||X.description.toLowerCase().includes(i.toLowerCase())),...A,...F],[F,A,i,x]);L.useEffect(()=>{u(D=>R.length>0&&D>=R.length?0:D)},[R.length]);const I=L.useCallback(D=>{if(h&&f(null),D.length>0&&D[D.length-1]==="@"){const X=D.substring(0,D.length-1);if(X.length===0||/\s$/.test(X)){y(D.length-1),p(!0),t.current?.blur();return}}},[h,t]),O=L.useCallback(D=>(l(D),s(!1),`/${D.name}`),[]),W=L.useCallback(()=>{s(!1)},[]),Z=L.useCallback((D,X)=>{if(!t.current||m===null)return X;let N=D;e&&D.startsWith(e)&&(N=D.slice(e.length),N.startsWith("/")&&(N=N.slice(1)));const B=X.substring(0,m),V=X.substring(m+1),H=B+"@"+N+" "+V;return p(!1),y(null),setTimeout(()=>{if(t.current){const q=m+1+N.length+1;t.current.selectionStart=t.current.selectionEnd=q,t.current.focus()}},0),H},[m,e,t]),E=L.useCallback(()=>{p(!1),y(null),setTimeout(()=>{t.current?.focus()},0)},[t]);return{showCommandSelector:n,commandSearch:i,selectedCommand:o,selectedCommandIndex:c,commandWarning:h,showFileBrowser:g,atSymbolPosition:m,allCommands:R,SYSTEM_COMMANDS:x,userCommands:T,projectCommands:j,hasCommandsLoadError:$,userCommandsError:v,projectCommandsError:C,setSelectedCommand:l,setSelectedCommandIndex:u,setCommandWarning:f,setShowCommandSelector:s,setShowFileBrowser:p,setAtSymbolPosition:y,setCommandSearch:a,handleInputChange:I,handleCommandSelect:O,handleCommandSelectorClose:W,handleFileSelect:Z,handleFileBrowserClose:E,isCommandDefined:M,getAllAvailableCommands:P}},xm=({agent:e})=>{const[t,r]=L.useState(!1),[n,s]=L.useState([]),[i,a]=L.useState([]),[o,l]=L.useState(!1),[c,u]=L.useState("bypassPermissions"),[h,f]=L.useState("sonnet"),[g,p]=L.useState(!1),[m,y]=L.useState(!1),[x,k]=L.useState(void 0),[v,_]=L.useState(!1),[C,w]=L.useState(!1),[S,F]=L.useState({});return L.useEffect(()=>{if(e?.allowedTools?.length>0){const A=e.allowedTools.filter(M=>M.enabled),T=[],j=[];A.forEach(M=>{if(M.name.includes(".")&&!M.name.startsWith("mcp__")){const[P,$]=M.name.split("."),R=`mcp__${P}__${$}`;j.push(R)}else M.name.startsWith("mcp__")?j.push(M.name):T.push(M.name)}),s(T),a(j),l(j.length>0)}},[e?.allowedTools]),{showToolSelector:t,selectedRegularTools:n,selectedMcpTools:i,mcpToolsEnabled:o,permissionMode:c,selectedModel:h,showPermissionDropdown:g,showModelDropdown:m,selectedClaudeVersion:x,showVersionDropdown:v,isVersionLocked:C,setShowToolSelector:r,setSelectedRegularTools:s,setSelectedMcpTools:a,setMcpToolsEnabled:l,setPermissionMode:u,setSelectedModel:f,setShowPermissionDropdown:p,setShowModelDropdown:y,setSelectedClaudeVersion:k,setShowVersionDropdown:_,setIsVersionLocked:w,envVars:S,setEnvVars:F}},ym=({initialModel:e="sonnet",initialVersion:t,skipModelValidation:r=!1})=>{const{data:n}=Av(),[s,i]=L.useState(e),[a,o]=L.useState(t),[l,c]=L.useState(!1),u=L.useMemo(()=>{if(!n?.versions)return[];if(a){const y=n.versions.find(k=>k.id===a),x=y?.models||[];return console.log(`📦 availableModels computed: selectedClaudeVersion=${a}, found version=${y?.name}, models=`,x.map(k=>k.id)),x}const p=n.versions.find(y=>y.id===n.defaultVersionId)||n.versions[0],m=p?.models||[];return console.log(`📦 availableModels computed (using default): defaultVersion=${p?.name}, models=`,m.map(y=>y.id)),m},[n,a]);return L.useEffect(()=>{r||u.length>0&&(u.some(m=>m.id===s)||(console.log(`🔄 Model validation: selectedModel=${s} is not in availableModels:`,u.map(m=>m.id),`selectedClaudeVersion=${a}, resetting to ${u[0].id}`),i(u[0].id)))},[u,s,a,r]),{claudeVersionsData:n,availableModels:u,selectedModel:s,selectedClaudeVersion:a,isVersionLocked:l,setSelectedModel:i,setSelectedClaudeVersion:o,setIsVersionLocked:c,handleVersionChange:p=>{o(p);const m=n?.versions.find(y=>y.id===p);m&&m.models&&m.models.length>0&&i(m.models[0].id)},handleModelChange:p=>{i(p)},resetToDefaults:()=>{o(void 0),i(e),c(!1)}}},Ov={activeTasks:new Map},tu=Hp((e,t)=>({...Ov,registerTaskTool:(r,n)=>{console.log("📋 [SubAgentStore] Registering Task tool:",r,"sessionId:",n),e(s=>{const i=new Map(s.activeTasks);return i.has(r)||i.set(r,{parentToolUseId:r,sessionId:n,messageFlow:[],startedAt:Date.now(),lastUpdatedAt:Date.now()}),{activeTasks:i}})},activateSubAgent:(r,n)=>{if(t().activeTasks.has(r)){console.log("📋 [SubAgentStore] SubAgent already active for:",r);return}console.log("📋 [SubAgentStore] Activating SubAgent for parentToolUseId:",r),e(i=>{const a=new Map(i.activeTasks);return a.set(r,{parentToolUseId:r,sessionId:n,messageFlow:[],startedAt:Date.now(),lastUpdatedAt:Date.now()}),{activeTasks:a}})},addSubAgentMessagePart:(r,n)=>{e(s=>{if(!s.activeTasks.get(r)){console.log("📋 [SubAgentStore] Creating new task for parentToolUseId:",r);const u=new Map(s.activeTasks);return u.set(r,{parentToolUseId:r,sessionId:"",messageFlow:[{id:`msg_${r}_${Date.now()}`,role:"assistant",timestamp:new Date().toISOString(),messageParts:[n]}],startedAt:Date.now(),lastUpdatedAt:Date.now()}),{activeTasks:u}}const a=new Map(s.activeTasks),o=a.get(r),l=o.messageFlow.findIndex(u=>u.messageParts.some(h=>h.id===n.id));let c;if(l>=0)c=o.messageFlow.map((u,h)=>h===l?{...u,messageParts:u.messageParts.map(f=>f.id===n.id?n:f)}:u);else{const u=o.messageFlow[o.messageFlow.length-1];u&&u.role==="assistant"?c=[...o.messageFlow.slice(0,-1),{...u,messageParts:[...u.messageParts,n]}]:c=[...o.messageFlow,{id:`msg_${r}_${Date.now()}`,role:"assistant",timestamp:new Date().toISOString(),messageParts:[n]}]}return a.set(r,{...o,messageFlow:c,lastUpdatedAt:Date.now()}),console.log("📋 [SubAgentStore] Added message part to",r,"type:",n.type,"total parts:",c.reduce((u,h)=>u+h.messageParts.length,0)),{activeTasks:a}})},getSubAgentMessageFlow:r=>t().activeTasks.get(r)?.messageFlow||[],clearSubAgentTask:r=>{console.log("📋 [SubAgentStore] Clearing SubAgent task:",r),e(n=>{const s=new Map(n.activeTasks);return s.delete(r),{activeTasks:s}})},reset:()=>{console.log("📋 [SubAgentStore] Resetting state"),e({activeTasks:new Map})}})),zv=({agentId:e,currentSessionId:t,projectPath:r,isCompactCommand:n=!1,abortControllerRef:s,onSessionChange:i,setIsInitializingSession:a,setCurrentSessionId:o,setIsNewSession:l,setAiTyping:c,setHasSuccessfulResponse:u})=>{const{t:h}=fe("components"),f=kh(),{addMessage:g,addTextPartToMessage:p,addThinkingPartToMessage:m,updateTextPartInMessage:y,updateThinkingPartInMessage:x,addToolPartToMessage:k,updateToolPartInMessage:v,updateMcpStatus:_,setPendingUserQuestion:C,setA2AStreamStart:w,setA2AStreamEnd:S,addA2AStreamEvent:F}=ze(),A=L.useRef(null),T=L.useRef(new Map),j=L.useRef({activeBlocks:new Map,currentMessageId:null,isStreaming:!1,wasStreamProcessed:!1,pendingUpdate:null,rafId:null}),M=L.useCallback((E,D,X)=>{const N=j.current;N.pendingUpdate={blockId:E,content:D,type:X},N.rafId===null&&(N.rafId=requestAnimationFrame(()=>{const B=N.pendingUpdate,V=A.current;if(!B||!V){N.rafId=null;return}const H=N.activeBlocks.get(B.blockId);if(!H||!H.partId){console.warn("🌊 [STREAMING] No partId found for block:",B.blockId),N.rafId=null;return}B.type==="text"?y(V,H.partId,B.content):B.type==="thinking"&&x(V,H.partId,B.content),N.pendingUpdate=null,N.rafId=null}))},[y,x]),P=L.useCallback((E,D)=>`${E}-${Date.now()}-${D}`,[]),{registerTaskTool:$,activateSubAgent:R,addSubAgentMessagePart:I}=tu.getState(),O=L.useCallback(E=>{try{const D=E;D.type==="system"&&D.subtype==="init"&&console.log("📋 [INIT] Received system init message, not intercepting");const X=D.isSidechain===!0,N=D.parentToolUseId;if(X&&N){console.log("🎯 [SIDECHAIN] Intercepted sub-agent message, parentToolUseId:",N,"type:",D.type);const B=N,V=D.sessionId||D.session_id;if(V&&R(B,V),D.type==="stream_event"&&D.event){const H=D.event;if(H.type==="content_block_start"&&H.content_block){const q=H.index,Y=H.content_block;if(Y.type==="text"){const J=`part_${B}_text_${q}_${Date.now()}`;I(B,{id:J,type:"text",content:"",order:q}),T.current.set(`${B}-${q}`,J),console.log("🎯 [SIDECHAIN] Started text block:",J)}else if(Y.type==="thinking"){const J=`part_${B}_thinking_${q}_${Date.now()}`;I(B,{id:J,type:"thinking",content:"",order:q}),T.current.set(`${B}-${q}`,J)}else if(Y.type==="tool_use"){const J=`part_${B}_tool_${q}_${Date.now()}`;I(B,{id:J,type:"tool",toolData:{id:Y.id,toolName:Y.name,toolInput:{},isError:!1},order:q}),T.current.set(`${B}-${q}`,J),console.log("🎯 [SIDECHAIN] Added tool_use to sub-agent:",Y.name)}}if(H.type==="content_block_delta"&&H.delta){const q=H.index,Y=H.delta,J=T.current.get(`${B}-${q}`);if(J){const we=tu.getState().activeTasks.get(B);if(we)for(const Ne of we.messageFlow){const Ce=Ne.messageParts.find(Le=>Le.id===J);if(Ce){if(Y.type==="text_delta"&&Y.text){const Le=(Ce.content||"")+Y.text;I(B,{...Ce,content:Le}),Le.length%100<10&&console.log("🎯 [SIDECHAIN] Text accumulated:",Le.length,"chars")}else if(Y.type==="thinking_delta"&&Y.thinking){const Le=(Ce.content||"")+Y.thinking;I(B,{...Ce,content:Le})}break}}}}}if(D.type==="assistant"&&D.message){const H=D.message;if(console.log("🎯 [SIDECHAIN] Processing assistant message, blocks:",H.content?.length||0),H.content&&Array.isArray(H.content))for(let q=0;q<H.content.length;q++){const Y=H.content[q];Y.type==="text"&&Y.text?(console.log("🎯 [SIDECHAIN] Adding text from assistant:",Y.text.substring(0,50)),I(B,{id:`part_${B}_text_${q}_${Date.now()}`,type:"text",content:Y.text,order:q})):Y.type==="thinking"&&Y.thinking?I(B,{id:`part_${B}_thinking_${q}_${Date.now()}`,type:"thinking",content:Y.thinking,order:q}):Y.type==="tool_use"&&(I(B,{id:`part_${B}_tool_${q}_${Date.now()}`,type:"tool",toolData:{id:Y.id,toolName:Y.name,toolInput:Y.input||{},isError:!1},order:q}),console.log("🎯 [SIDECHAIN] Added tool_use from assistant:",Y.name))}}if(D.type==="user"&&D.message){const H=D.message;if(H.content&&Array.isArray(H.content))for(const q of H.content){const Y=q;if(Y.type==="text"){console.log("🎯 [SIDECHAIN] Skipping user text (task prompt already shown)");continue}Y.type==="tool_result"&&Y.tool_use_id&&console.log("🎯 [SIDECHAIN] Tool result for:",Y.tool_use_id,"error:",Y.is_error)}}return}if(D.type==="stream_event"&&D.event){const B=D.event;if(console.log("🌊 [STREAMING] Detected stream_event:",B.type,"Full event:",JSON.stringify(D).substring(0,200)),j.current.wasStreamProcessed=!0,B.type==="message_start"){if(A.current)console.log("🌊 [STREAMING] message_start: AI message already exists, skipping:",A.current);else{g({content:"",role:"assistant"});const H=ze.getState();A.current=H.messages[H.messages.length-1].id,j.current.currentMessageId=A.current,j.current.isStreaming=!0,console.log("🌊 [STREAMING] message_start: Created new AI message with ID:",A.current)}return}if(B.type==="content_block_start"){const V=B.index,H=B.content_block;if(!A.current){g({content:"",role:"assistant"});const re=ze.getState();A.current=re.messages[re.messages.length-1].id,j.current.currentMessageId=A.current,j.current.isStreaming=!0}const q=`block-${A.current}-${V}`,Y=Date.now();if(j.current.activeBlocks.has(q)){console.warn("🌊 [STREAMING] content_block_start: Block already exists, skipping:",q);return}if(H.type==="text"){p(A.current,"");const re=ze.getState().messages.find(Le=>Le.id===A.current),Ne=re?.messageParts?.[re.messageParts.length-1]?.id,Ce={blockId:q,type:"text",content:"",isComplete:!1,messageId:A.current,partId:Ne,startedAt:Y,lastUpdatedAt:Y};j.current.activeBlocks.set(q,Ce),console.log("🌊 [STREAMING] content_block_start: Initialized text block",q,"partId:",Ne)}else if(H.type==="thinking"){m(A.current,"");const re=ze.getState().messages.find(Le=>Le.id===A.current),Ne=re?.messageParts?.[re.messageParts.length-1]?.id,Ce={blockId:q,type:"thinking",content:"",isComplete:!1,messageId:A.current,partId:Ne,startedAt:Y,lastUpdatedAt:Y};j.current.activeBlocks.set(q,Ce),console.log("🤔 [STREAMING] content_block_start: Initialized thinking block",q,"partId:",Ne)}else if(H.type==="tool_use"){if(console.log("🔧 [STREAMING] content_block_start: Processing tool_use",{toolName:H.name,claudeId:H.id,blockId:q,messageId:A.current}),H.name==="Task"){const re=t||D.sessionId||D.session_id;re&&H.id&&(console.log("🎯 [TASK] Registering Task tool for sub-agent tracking:",H.id),$(H.id,re))}const J={toolName:H.name,toolInput:{},isExecuting:!0,claudeId:H.id};try{k(A.current,J),console.log("🔧 [STREAMING] content_block_start: addToolPartToMessage completed");const re=ze.getState();console.log("🔧 [STREAMING] content_block_start: Got store state, messages count:",re.messages.length);const we=re.messages.find(Xe=>Xe.id===A.current);console.log("🔧 [STREAMING] content_block_start: Found current message:",!!we,"parts count:",we?.messageParts?.length);const Ne=we?.messageParts?.[we.messageParts.length-1];console.log("🔧 [STREAMING] content_block_start: Latest part:",{exists:!!Ne,type:Ne?.type,hasToolData:!!Ne?.toolData,toolDataId:Ne?.toolData?.id});const Ce=Ne?.toolData?.id;Ce||console.error("🔧 [STREAMING] content_block_start: ⚠️ partId is undefined! Latest part:",Ne);const Le={blockId:q,type:"tool_use",content:"",isComplete:!1,messageId:A.current,partId:Ce,startedAt:Y,lastUpdatedAt:Y};j.current.activeBlocks.set(q,Le),console.log("🔧 [STREAMING] content_block_start: ✅ Initialized tool_use block",H.name,"blockId:",q,"partId:",Ce,"claudeId:",H.id)}catch(re){throw console.error("🔧 [STREAMING] content_block_start: ❌ Error processing tool_use:",re),re}}return}if(B.type==="content_block_delta"&&A.current){const V=B.index,H=B.delta,q=`block-${A.current}-${V}`,Y=Date.now();if(H.type==="text_delta"&&H.text!==void 0){let J=j.current.activeBlocks.get(q);if(J)J.content+=H.text,J.lastUpdatedAt=Y,console.log(`🌊 [STREAMING] content_block_delta: Accumulated text delta "${H.text}" to block ${q}, total: "${J.content.substring(0,50)}..."`);else{console.warn("🌊 [STREAMING] content_block_delta: Missing content_block_start for text block, creating fallback"),p(A.current,"");const we=ze.getState().messages.find(Le=>Le.id===A.current),Ce=we?.messageParts?.[we.messageParts.length-1]?.id;J={blockId:q,type:"text",content:H.text,isComplete:!1,messageId:A.current,partId:Ce,startedAt:Y,lastUpdatedAt:Y},j.current.activeBlocks.set(q,J),console.log(`🌊 [STREAMING] content_block_delta: Created text block ${q} (fallback) with partId: ${Ce}, content: "${H.text}"`)}M(q,J.content,"text")}else if(H.type==="thinking_delta"&&H.thinking!==void 0){let J=j.current.activeBlocks.get(q);if(J)J.content+=H.thinking,J.lastUpdatedAt=Y,console.log(`🤔 [STREAMING] content_block_delta: Accumulated thinking delta "${H.thinking}" to block ${q}, total: "${J.content.substring(0,50)}..."`);else{console.warn("🤔 [STREAMING] content_block_delta: Missing content_block_start for thinking block, creating fallback"),m(A.current,"");const we=ze.getState().messages.find(Le=>Le.id===A.current),Ce=we?.messageParts?.[we.messageParts.length-1]?.id;J={blockId:q,type:"thinking",content:H.thinking,isComplete:!1,messageId:A.current,partId:Ce,startedAt:Y,lastUpdatedAt:Y},j.current.activeBlocks.set(q,J),console.log(`🤔 [STREAMING] content_block_delta: Created thinking block ${q} (fallback) with partId: ${Ce}, content: "${H.thinking}"`)}M(q,J.content,"thinking")}else if(H.type==="input_json_delta"){const J=H.partial_json||"";let re=j.current.activeBlocks.get(q);if(re){re.content+=J,re.lastUpdatedAt=Y;const we=re.content,Ne=we.trim();if(re.partId&&Ne.endsWith("}"))try{const Ce=JSON.parse(we);v(A.current,re.partId,{toolInput:Ce}),console.log(`🔧 [STREAMING] content_block_delta: Updated tool_use block ${q}, parsed complete JSON`)}catch{console.log(`🔧 [STREAMING] content_block_delta: JSON not yet complete for ${q}, length: ${we.length}`)}}else{if(console.warn("🔧 [STREAMING] content_block_delta: Missing content_block_start for tool block, creating fallback"),!B.content_block||B.content_block.type!=="tool_use"){console.error("🔧 [STREAMING] content_block_delta: Missing content_block info for tool, cannot create fallback");return}const we=B.content_block.name,Ne=B.content_block.id;k(A.current,{toolName:we,toolInput:{},isExecuting:!0,claudeId:Ne});const Le=ze.getState().messages.find(Ze=>Ze.id===A.current),ct=Le?.messageParts?.[Le.messageParts.length-1]?.toolData?.id;re={blockId:q,type:"tool_use",content:J,isComplete:!1,messageId:A.current,partId:ct,startedAt:Y,lastUpdatedAt:Y},j.current.activeBlocks.set(q,re),console.log("🔧 [STREAMING] content_block_delta: Created tool_use block (fallback)",we,"blockId:",q,"partId:",ct,"initial fragment:",J)}}return}if(B.type==="content_block_stop"&&A.current){const V=B.index,H=`block-${A.current}-${V}`,q=j.current.activeBlocks.get(H);if(q){q.isComplete=!0,console.log(`🌊 [STREAMING] content_block_stop: Block ${H} complete, type: ${q.type}, content length: ${q.content.length}`);const Y=j.current;if(Y.pendingUpdate?.blockId===H){console.log(`🌊 [STREAMING] content_block_stop: Flushing pending RAF for ${H} immediately`),Y.rafId!==null&&(cancelAnimationFrame(Y.rafId),Y.rafId=null);const J=Y.pendingUpdate;q.partId&&(J.type==="text"?y(A.current,q.partId,J.content):J.type==="thinking"&&x(A.current,q.partId,J.content),console.log(`🌊 [STREAMING] content_block_stop: Flushed ${J.type} content for ${H}, length: ${J.content.length}`)),Y.pendingUpdate=null}else if((q.type==="text"||q.type==="thinking")&&q.partId)console.log(`🌊 [STREAMING] content_block_stop: Final check - ensuring ${q.type} content saved, length: ${q.content.length}`),q.type==="text"?y(A.current,q.partId,q.content):q.type==="thinking"&&x(A.current,q.partId,q.content);else if(q.type==="tool_use"&&q.partId&&q.content){console.log(`🔧 [STREAMING] content_block_stop: Finalizing tool_use block ${H}, accumulated JSON length: ${q.content.length}`);try{const J=JSON.parse(q.content);v(A.current,q.partId,{toolInput:J}),console.log(`🔧 [STREAMING] content_block_stop: Successfully parsed final tool input for ${H}`)}catch(J){console.error(`🔧 [STREAMING] content_block_stop: Failed to parse final tool JSON for ${H}:`,J,"content:",q.content.substring(0,200))}}j.current.activeBlocks.delete(H),console.log(`🌊 [STREAMING] content_block_stop: Cleaned up block ${H}`)}return}if(B.type==="message_delta"){console.log("🌊 [STREAMING] message_delta:",B.delta);return}if(B.type==="message_stop"){if(j.current.isStreaming){console.log("🌊 [STREAMING] message_stop: Finalizing all streaming blocks, count:",j.current.activeBlocks.size);const V=A.current,H=j.current;if(H.pendingUpdate&&H.rafId!==null){console.log(`🌊 [STREAMING] message_stop: Flushing pending RAF for ${H.pendingUpdate.blockId}`),cancelAnimationFrame(H.rafId),H.rafId=null;const q=H.pendingUpdate,Y=H.activeBlocks.get(q.blockId);Y&&Y.partId&&V&&(q.type==="text"?y(V,Y.partId,q.content):q.type==="thinking"&&x(V,Y.partId,q.content),console.log(`🌊 [STREAMING] message_stop: Flushed ${q.type} content, length: ${q.content.length}`)),H.pendingUpdate=null}V&&H.activeBlocks.forEach(q=>{q.isComplete=!0,(q.type==="text"||q.type==="thinking")&&q.partId?(console.log(`🌊 [STREAMING] message_stop: Final check for ${q.type} block ${q.blockId}, length: ${q.content.length}`),q.type==="text"?y(V,q.partId,q.content):q.type==="thinking"&&x(V,q.partId,q.content)):q.partId||console.error(`❌ [STREAMING] message_stop: Missing partId for block ${q.blockId}, content LOST:`,q.content.substring(0,100))}),H.isStreaming=!1,H.currentMessageId=null,H.activeBlocks.clear(),console.log("🌊 [STREAMING] message_stop: All blocks finalized and cleared")}return}console.warn("🌊 [STREAMING] Unknown stream_event type:",B.type);return}if(D.type==="error"){console.error("Claude Code SDK error:",D),c(!1),a(!1),s.current=null;let B="";D.subtype&&D.message?(console.log("📋 Processing structured error with subtype:",D.subtype),B=`❌ **${{error_during_execution:h("agentChat.executionError"),error_max_turns:h("agentChat.maxTurnsReached"),error_max_budget_usd:h("agentChat.maxBudgetReached"),error_max_structured_output_retries:h("agentChat.maxRetriesReached")}[D.subtype]||h("agentChat.processingError")}**
33
33
 
34
34
  ${D.message}`,B+=`
35
35
 
@@ -375,8 +375,8 @@ Please report this to https://github.com/markedjs/marked.`,t){let s="<p>An error
375
375
  node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const n=e.x,s=e.y,i=Math.abs(n-r.x),a=e.width/2;let o=r.x<t.x?a-i:a+i;const l=e.height/2,c=Math.abs(t.y-r.y),u=Math.abs(t.x-r.x);if(Math.abs(s-t.y)*a>Math.abs(n-t.x)*l){let h=r.y<t.y?t.y-l-s:s-l-t.y;o=u*h/c;const f={x:r.x<t.x?r.x+o:r.x-u+o,y:r.y<t.y?r.y+c-h:r.y-c+h};return o===0&&(f.x=t.x,f.y=t.y),u===0&&(f.x=t.x),c===0&&(f.y=t.y),K.debug(`abc89 top/bottom calc, Q ${c}, q ${h}, R ${u}, r ${o}`,f),f}else{r.x<t.x?o=t.x-a-n:o=n-a-t.x;let h=c*o/u,f=r.x<t.x?r.x+u-o:r.x-u+o,g=r.y<t.y?r.y+h:r.y-h;return K.debug(`sides calc abc89, Q ${c}, q ${h}, R ${u}, r ${o}`,{_x:f,_y:g}),o===0&&(f=t.x,g=t.y),u===0&&(f=t.x),c===0&&(g=t.y),{x:f,y:g}}},"intersection"),hp=b((e,t)=>{K.warn("abc88 cutPathAtIntersect",e,t);let r=[],n=e[0],s=!1;return e.forEach(i=>{if(K.info("abc88 checking point",i,t),!_B(t,i)&&!s){const a=TB(t,n,i);K.debug("abc88 inside",i,n,a),K.debug("abc88 intersection",a,t);let o=!1;r.forEach(l=>{o=o||l.x===a.x&&l.y===a.y}),r.some(l=>l.x===a.x&&l.y===a.y)?K.warn("abc88 no intersect",a,r):r.push(a),s=!0}else K.warn("abc88 outside",i,n),n=i,s||r.push(i)}),K.debug("returning points",r),r},"cutPathAtIntersect");function Yw(e){const t=[],r=[];for(let n=1;n<e.length-1;n++){const s=e[n-1],i=e[n],a=e[n+1];(s.x===i.x&&i.y===a.y&&Math.abs(i.x-a.x)>5&&Math.abs(i.y-s.y)>5||s.y===i.y&&i.x===a.x&&Math.abs(i.x-s.x)>5&&Math.abs(i.y-a.y)>5)&&(t.push(i),r.push(n))}return{cornerPoints:t,cornerPointPositions:r}}b(Yw,"extractCornerPoints");var dp=b(function(e,t,r){const n=t.x-e.x,s=t.y-e.y,i=Math.sqrt(n*n+s*s),a=r/i;return{x:t.x-a*n,y:t.y-a*s}},"findAdjacentPoint"),NB=b(function(e){const{cornerPointPositions:t}=Yw(e),r=[];for(let n=0;n<e.length;n++)if(t.includes(n)){const s=e[n-1],i=e[n+1],a=e[n],o=dp(s,a,5),l=dp(i,a,5),c=l.x-o.x,u=l.y-o.y;r.push(o);const h=Math.sqrt(2)*2;let f={x:a.x,y:a.y};if(Math.abs(i.x-s.x)>10&&Math.abs(i.y-s.y)>=10){K.debug("Corner point fixing",Math.abs(i.x-s.x),Math.abs(i.y-s.y));const g=5;a.x===o.x?f={x:c<0?o.x-g+h:o.x+g-h,y:u<0?o.y-h:o.y+h}:f={x:c<0?o.x-h:o.x+h,y:u<0?o.y-g+h:o.y+g-h}}else K.debug("Corner point skipping fixing",Math.abs(i.x-s.x),Math.abs(i.y-s.y));r.push(f,l)}else r.push(e[n]);return r},"fixCorners"),EB=b((e,t,r)=>{const n=e-t-r,s=2,i=2,a=s+i,o=Math.floor(n/a),l=Array(o).fill(`${s} ${i}`).join(" ");return`0 ${t} ${l} ${r}`},"generateDashArray"),AB=b(function(e,t,r,n,s,i,a,o=!1){const{handDrawnSeed:l}=qe();let c=t.points,u=!1;const h=s;var f=i;const g=[];for(const $ in t.cssCompiledStyles)_b($)||g.push(t.cssCompiledStyles[$]);K.debug("UIO intersect check",t.points,f.x,h.x),f.intersect&&h.intersect&&!o&&(c=c.slice(1,t.points.length-1),c.unshift(h.intersect(c[0])),K.debug("Last point UIO",t.start,"-->",t.end,c[c.length-1],f,f.intersect(c[c.length-1])),c.push(f.intersect(c[c.length-1])));const p=btoa(JSON.stringify(c));t.toCluster&&(K.info("to cluster abc88",r.get(t.toCluster)),c=hp(t.points,r.get(t.toCluster).node),u=!0),t.fromCluster&&(K.debug("from cluster abc88",r.get(t.fromCluster),JSON.stringify(c,null,2)),c=hp(c.reverse(),r.get(t.fromCluster).node).reverse(),u=!0);let m=c.filter($=>!Number.isNaN($.y));m=NB(m);let y=fo;switch(y=Bo,t.curve){case"linear":y=Bo;break;case"basis":y=fo;break;case"cardinal":y=Ax;break;case"bumpX":y=Sx;break;case"bumpY":y=_x;break;case"catmullRom":y=jx;break;case"monotoneX":y=Rx;break;case"monotoneY":y=Px;break;case"natural":y=Ox;break;case"step":y=zx;break;case"stepAfter":y=Hx;break;case"stepBefore":y=Wx;break;default:y=fo}const{x,y:k}=N$(t),v=uL().x(x).y(k).curve(y);let _;switch(t.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(t.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let C,w=t.curve==="rounded"?Xw(Kw(m,t),5):v(m);const S=Array.isArray(t.style)?t.style:[t.style];let F=S.find($=>$?.startsWith("stroke:")),A=!1;if(t.look==="handDrawn"){const $=ue.svg(e);Object.assign([],m);const R=$.path(w,{roughness:.3,seed:l});_+=" transition",C=Fe(R).select("path").attr("id",t.id).attr("class"," "+_+(t.classes?" "+t.classes:"")).attr("style",S?S.reduce((O,W)=>O+";"+W,""):"");let I=C.attr("d");C.attr("d",I),e.node().appendChild(C.node())}else{const $=g.join(";"),R=S?S.reduce((X,N)=>X+N+";",""):"";let I="";t.animate&&(I=" edge-animation-fast"),t.animation&&(I=" edge-animation-"+t.animation);const O=($?$+";"+R+";":R)+";"+(S?S.reduce((X,N)=>X+";"+N,""):"");C=e.append("path").attr("d",w).attr("id",t.id).attr("class"," "+_+(t.classes?" "+t.classes:"")+(I??"")).attr("style",O),F=O.match(/stroke:([^;]+)/)?.[1],A=t.animate===!0||!!t.animation||$.includes("animation");const W=C.node(),Z=typeof W.getTotalLength=="function"?W.getTotalLength():0,E=Ag[t.arrowTypeStart]||0,D=Ag[t.arrowTypeEnd]||0;if(t.look==="neo"&&!A){const N=`stroke-dasharray: ${t.pattern==="dotted"||t.pattern==="dashed"?EB(Z,E,D):`0 ${E} ${Z-E-D} ${D}`}; stroke-dashoffset: 0;`;C.attr("style",N+C.attr("style"))}}C.attr("data-edge",!0),C.attr("data-et","edge"),C.attr("data-id",t.id),C.attr("data-points",p),t.showPoints&&m.forEach($=>{e.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",$.x).attr("cy",$.y)});let T="";(qe().flowchart.arrowMarkerAbsolute||qe().state.arrowMarkerAbsolute)&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),K.info("arrowTypeStart",t.arrowTypeStart),K.info("arrowTypeEnd",t.arrowTypeEnd),wB(C,t,T,a,n,F);const j=Math.floor(c.length/2),M=c[j];Tr.isLabelCoordinateInPath(M,C.attr("d"))||(u=!0);let P={};return u&&(P.updatedPath=c),P.originalPath=t.points,P},"insertEdge");function Xw(e,t){if(e.length<2)return"";let r="";const n=e.length,s=1e-5;for(let i=0;i<n;i++){const a=e[i],o=e[i-1],l=e[i+1];if(i===0)r+=`M${a.x},${a.y}`;else if(i===n-1)r+=`L${a.x},${a.y}`;else{const c=a.x-o.x,u=a.y-o.y,h=l.x-a.x,f=l.y-a.y,g=Math.hypot(c,u),p=Math.hypot(h,f);if(g<s||p<s){r+=`L${a.x},${a.y}`;continue}const m=c/g,y=u/g,x=h/p,k=f/p,v=m*x+y*k,_=Math.max(-1,Math.min(1,v)),C=Math.acos(_);if(C<s||Math.abs(Math.PI-C)<s){r+=`L${a.x},${a.y}`;continue}const w=Math.min(t/Math.sin(C/2),g/2,p/2),S=a.x-m*w,F=a.y-y*w,A=a.x+x*w,T=a.y+k*w;r+=`L${S},${F}`,r+=`Q${a.x},${a.y} ${A},${T}`}}return r}b(Xw,"generateRoundedPath");function nh(e,t){if(!e||!t)return{angle:0,deltaX:0,deltaY:0};const r=t.x-e.x,n=t.y-e.y;return{angle:Math.atan2(n,r),deltaX:r,deltaY:n}}b(nh,"calculateDeltaAndAngle");function Kw(e,t){const r=e.map(s=>({...s}));if(e.length>=2&&Mt[t.arrowTypeStart]){const s=Mt[t.arrowTypeStart],i=e[0],a=e[1],{angle:o}=nh(i,a),l=s*Math.cos(o),c=s*Math.sin(o);r[0].x=i.x+l,r[0].y=i.y+c}const n=e.length;if(n>=2&&Mt[t.arrowTypeEnd]){const s=Mt[t.arrowTypeEnd],i=e[n-1],a=e[n-2],{angle:o}=nh(a,i),l=s*Math.cos(o),c=s*Math.sin(o);r[n-1].x=i.x-l,r[n-1].y=i.y-c}return r}b(Kw,"applyMarkerOffsetsToPoints");var MB=b((e,t,r,n)=>{t.forEach(s=>{VB[s](e,r,n)})},"insertMarkers"),jB=b((e,t,r)=>{K.trace("Making markers for ",r),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),IB=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),LB=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),$B=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),DB=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),BB=b((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),RB=b((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),PB=b((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),FB=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),OB=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),zB=b((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const s=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");s.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),s.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),WB=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),HB=b((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const s=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");s.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),s.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),qB=b((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
376
376
  L20,10
377
377
  M20,10
378
- L0,20`)},"requirement_arrow"),UB=b((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),VB={extension:jB,composition:IB,aggregation:LB,dependency:$B,lollipop:DB,point:BB,circle:RB,cross:PB,barb:FB,only_one:OB,zero_or_one:zB,one_or_more:WB,zero_or_more:HB,requirement_arrow:qB,requirement_contains:UB},GB=MB,YB={common:ni,getConfig:It,insertCluster:rB,insertEdge:AB,insertEdgeLabel:CB,insertMarkers:GB,insertNode:Gw,interpolateToCurve:Cd,labelHelper:ve,log:K,positionEdgeLabel:SB},da={},Qw=b(e=>{for(const t of e)da[t.name]=t},"registerLayoutLoaders"),XB=b(()=>{Qw([{name:"dagre",loader:b(async()=>await Ve(()=>import("./dagre-6UL2VRFP-nC3WLCf7.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),"loader")},{name:"cose-bilkent",loader:b(async()=>await Ve(()=>import("./cose-bilkent-S5V4N54A-Crc39J9q.js"),__vite__mapDeps([23,24,7,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),"loader")}])},"registerDefaultLayoutLoaders");XB();var H9=b(async(e,t)=>{if(!(e.layoutAlgorithm in da))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=da[e.layoutAlgorithm];return(await r.loader()).render(e,t,YB,{algorithm:r.algorithm})},"render"),q9=b((e="",{fallback:t="dagre"}={})=>{if(e in da)return e;if(t in da)return K.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),Zw="comm",Jw="rule",e1="decl",KB="@import",QB="@namespace",ZB="@keyframes",JB="@layer",t1=Math.abs,Hd=String.fromCharCode;function r1(e){return e.trim()}function yo(e,t,r){return e.replace(t,r)}function eR(e,t,r){return e.indexOf(t,r)}function Ds(e,t){return e.charCodeAt(t)|0}function Js(e,t,r){return e.slice(t,r)}function Pr(e){return e.length}function tR(e){return e.length}function Ja(e,t){return t.push(e),e}var Ol=1,ei=1,n1=0,xr=0,mt=0,li="";function qd(e,t,r,n,s,i,a,o){return{value:e,root:t,parent:r,type:n,props:s,children:i,line:Ol,column:ei,length:a,return:"",siblings:o}}function rR(){return mt}function nR(){return mt=xr>0?Ds(li,--xr):0,ei--,mt===10&&(ei=1,Ol--),mt}function Ar(){return mt=xr<n1?Ds(li,xr++):0,ei++,mt===10&&(ei=1,Ol++),mt}function Sn(){return Ds(li,xr)}function bo(){return xr}function zl(e,t){return Js(li,e,t)}function fa(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function sR(e){return Ol=ei=1,n1=Pr(li=e),xr=0,[]}function iR(e){return li="",e}function qc(e){return r1(zl(xr-1,sh(e===91?e+2:e===40?e+1:e)))}function aR(e){for(;(mt=Sn())&&mt<33;)Ar();return fa(e)>2||fa(mt)>3?"":" "}function oR(e,t){for(;--t&&Ar()&&!(mt<48||mt>102||mt>57&&mt<65||mt>70&&mt<97););return zl(e,bo()+(t<6&&Sn()==32&&Ar()==32))}function sh(e){for(;Ar();)switch(mt){case e:return xr;case 34:case 39:e!==34&&e!==39&&sh(mt);break;case 40:e===41&&sh(e);break;case 92:Ar();break}return xr}function lR(e,t){for(;Ar()&&e+mt!==57;)if(e+mt===84&&Sn()===47)break;return"/*"+zl(t,xr-1)+"*"+Hd(e===47?e:Ar())}function cR(e){for(;!fa(Sn());)Ar();return zl(e,xr)}function uR(e){return iR(ko("",null,null,null,[""],e=sR(e),0,[0],e))}function ko(e,t,r,n,s,i,a,o,l){for(var c=0,u=0,h=a,f=0,g=0,p=0,m=1,y=1,x=1,k=0,v="",_=s,C=i,w=n,S=v;y;)switch(p=k,k=Ar()){case 40:if(p!=108&&Ds(S,h-1)==58){eR(S+=yo(qc(k),"&","&\f"),"&\f",t1(c?o[c-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:S+=qc(k);break;case 9:case 10:case 13:case 32:S+=aR(p);break;case 92:S+=oR(bo()-1,7);continue;case 47:switch(Sn()){case 42:case 47:Ja(hR(lR(Ar(),bo()),t,r,l),l),(fa(p||1)==5||fa(Sn()||1)==5)&&Pr(S)&&Js(S,-1,void 0)!==" "&&(S+=" ");break;default:S+="/"}break;case 123*m:o[c++]=Pr(S)*x;case 125*m:case 59:case 0:switch(k){case 0:case 125:y=0;case 59+u:x==-1&&(S=yo(S,/\f/g,"")),g>0&&(Pr(S)-h||m===0&&p===47)&&Ja(g>32?gp(S+";",n,r,h-1,l):gp(yo(S," ","")+";",n,r,h-2,l),l);break;case 59:S+=";";default:if(Ja(w=fp(S,t,r,c,u,s,o,v,_=[],C=[],h,i),i),k===123)if(u===0)ko(S,t,w,w,_,i,h,o,C);else{switch(f){case 99:if(Ds(S,3)===110)break;case 108:if(Ds(S,2)===97)break;default:u=0;case 100:case 109:case 115:}u?ko(e,w,w,n&&Ja(fp(e,w,w,0,0,s,o,v,s,_=[],h,C),C),s,C,h,o,n?_:C):ko(S,w,w,w,[""],C,0,o,C)}}c=u=g=0,m=x=1,v=S="",h=a;break;case 58:h=1+Pr(S),g=p;default:if(m<1){if(k==123)--m;else if(k==125&&m++==0&&nR()==125)continue}switch(S+=Hd(k),k*m){case 38:x=u>0?1:(S+="\f",-1);break;case 44:o[c++]=(Pr(S)-1)*x,x=1;break;case 64:Sn()===45&&(S+=qc(Ar())),f=Sn(),u=h=Pr(v=S+=cR(bo())),k++;break;case 45:p===45&&Pr(S)==2&&(m=0)}}return i}function fp(e,t,r,n,s,i,a,o,l,c,u,h){for(var f=s-1,g=s===0?i:[""],p=tR(g),m=0,y=0,x=0;m<n;++m)for(var k=0,v=Js(e,f+1,f=t1(y=a[m])),_=e;k<p;++k)(_=r1(y>0?g[k]+" "+v:yo(v,/&\f/g,g[k])))&&(l[x++]=_);return qd(e,t,r,s===0?Jw:o,l,c,u,h)}function hR(e,t,r,n){return qd(e,t,r,Zw,Hd(rR()),Js(e,2,-2),0,n)}function gp(e,t,r,n,s){return qd(e,t,r,e1,Js(e,0,n),Js(e,n+1,-1),n,s)}function ih(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function dR(e,t,r,n){switch(e.type){case JB:if(e.children.length)break;case KB:case QB:case e1:return e.return=e.return||e.value;case Zw:return"";case ZB:return e.return=e.value+"{"+ih(e.children,n)+"}";case Jw:if(!Pr(e.value=e.props.join(",")))return""}return Pr(r=ih(e.children,n))?e.return=e.value+"{"+r+"}":""}var fR=Ab(Object.keys,Object),gR=Object.prototype,pR=gR.hasOwnProperty;function mR(e){if(!Ml(e))return fR(e);var t=[];for(var r in Object(e))pR.call(e,r)&&r!="constructor"&&t.push(r);return t}var ah=fs(Ur,"DataView"),oh=fs(Ur,"Promise"),lh=fs(Ur,"Set"),ch=fs(Ur,"WeakMap"),pp="[object Map]",xR="[object Object]",mp="[object Promise]",xp="[object Set]",yp="[object WeakMap]",bp="[object DataView]",yR=ds(ah),bR=ds(ua),kR=ds(oh),wR=ds(lh),vR=ds(ch),Un=ii;(ah&&Un(new ah(new ArrayBuffer(1)))!=bp||ua&&Un(new ua)!=pp||oh&&Un(oh.resolve())!=mp||lh&&Un(new lh)!=xp||ch&&Un(new ch)!=yp)&&(Un=function(e){var t=ii(e),r=t==xR?e.constructor:void 0,n=r?ds(r):"";if(n)switch(n){case yR:return bp;case bR:return pp;case kR:return mp;case wR:return xp;case vR:return yp}return t});var CR="[object Map]",SR="[object Set]",_R=Object.prototype,TR=_R.hasOwnProperty;function kp(e){if(e==null)return!0;if(jl(e)&&(Xo(e)||typeof e=="string"||typeof e.splice=="function"||wd(e)||vd(e)||Yo(e)))return!e.length;var t=Un(e);if(t==CR||t==SR)return!e.size;if(Ml(e))return!mR(e).length;for(var r in e)if(TR.call(e,r))return!1;return!0}var s1="c4",NR=b(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),ER=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./c4Diagram-YG6GDRKO-BIBVWIY4.js");return{diagram:t}},__vite__mapDeps([25,26,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:s1,diagram:e}},"loader"),AR={id:s1,detector:NR,loader:ER},MR=AR,i1="flowchart",jR=b((e,t)=>t?.flowchart?.defaultRenderer==="dagre-wrapper"||t?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(e),"detector"),IR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-DGbbfVi5.js");return{diagram:t}},__vite__mapDeps([27,28,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:i1,diagram:e}},"loader"),LR={id:i1,detector:jR,loader:IR},$R=LR,a1="flowchart-v2",DR=b((e,t)=>t?.flowchart?.defaultRenderer==="dagre-d3"?!1:(t?.flowchart?.defaultRenderer==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(e)),"detector"),BR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-DGbbfVi5.js");return{diagram:t}},__vite__mapDeps([27,28,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:a1,diagram:e}},"loader"),RR={id:a1,detector:DR,loader:BR},PR=RR,o1="er",FR=b(e=>/^\s*erDiagram/.test(e),"detector"),OR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./erDiagram-Q2GNP2WA-Dr0ZgvnS.js");return{diagram:t}},__vite__mapDeps([32,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:o1,diagram:e}},"loader"),zR={id:o1,detector:FR,loader:OR},WR=zR,l1="gitGraph",HR=b(e=>/^\s*gitGraph/.test(e),"detector"),qR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./gitGraphDiagram-NY62KEGX--Q8whT5z.js");return{diagram:t}},__vite__mapDeps([33,34,35,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:l1,diagram:e}},"loader"),UR={id:l1,detector:HR,loader:qR},VR=UR,c1="gantt",GR=b(e=>/^\s*gantt/.test(e),"detector"),YR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./ganttDiagram-LVOFAZNH-C-3Wnf96.js");return{diagram:t}},__vite__mapDeps([37,7,38,39,40,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:c1,diagram:e}},"loader"),XR={id:c1,detector:GR,loader:YR},KR=XR,u1="info",QR=b(e=>/^\s*info/.test(e),"detector"),ZR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./infoDiagram-F6ZHWCRC-DSR9cM2B.js");return{diagram:t}},__vite__mapDeps([41,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:u1,diagram:e}},"loader"),JR={id:u1,detector:QR,loader:ZR},h1="pie",eP=b(e=>/^\s*pie/.test(e),"detector"),tP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./pieDiagram-ADFJNKIX-B22MhIcy.js");return{diagram:t}},__vite__mapDeps([42,34,36,8,7,2,4,5,43,44,39,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:h1,diagram:e}},"loader"),rP={id:h1,detector:eP,loader:tP},d1="quadrantChart",nP=b(e=>/^\s*quadrantChart/.test(e),"detector"),sP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-CTT9bIA8.js");return{diagram:t}},__vite__mapDeps([45,38,39,40,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:d1,diagram:e}},"loader"),iP={id:d1,detector:nP,loader:sP},aP=iP,f1="xychart",oP=b(e=>/^\s*xychart(-beta)?/.test(e),"detector"),lP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./xychartDiagram-PRI3JC2R-C2IWhyM7.js");return{diagram:t}},__vite__mapDeps([46,39,44,38,40,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:f1,diagram:e}},"loader"),cP={id:f1,detector:oP,loader:lP},uP=cP,g1="requirement",hP=b(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),dP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-B_vjXDH9.js");return{diagram:t}},__vite__mapDeps([47,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:g1,diagram:e}},"loader"),fP={id:g1,detector:hP,loader:dP},gP=fP,p1="sequence",pP=b(e=>/^\s*sequenceDiagram/.test(e),"detector"),mP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./sequenceDiagram-WL72ISMW-BmTPN6j6.js");return{diagram:t}},__vite__mapDeps([48,26,35,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:p1,diagram:e}},"loader"),xP={id:p1,detector:pP,loader:mP},yP=xP,m1="class",bP=b((e,t)=>t?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e),"detector"),kP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./classDiagram-2ON5EDUG-DCwNRxvC.js");return{diagram:t}},__vite__mapDeps([49,50,28,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:m1,diagram:e}},"loader"),wP={id:m1,detector:bP,loader:kP},vP=wP,x1="classDiagram",CP=b((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e),"detector"),SP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-DCwNRxvC.js");return{diagram:t}},__vite__mapDeps([51,50,28,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:x1,diagram:e}},"loader"),_P={id:x1,detector:CP,loader:SP},TP=_P,y1="state",NP=b((e,t)=>t?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e),"detector"),EP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./stateDiagram-FKZM4ZOC-y2fQE1C7.js");return{diagram:t}},__vite__mapDeps([52,53,29,30,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:y1,diagram:e}},"loader"),AP={id:y1,detector:NP,loader:EP},MP=AP,b1="stateDiagram",jP=b((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer==="dagre-wrapper"),"detector"),IP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-C4CM6z52.js");return{diagram:t}},__vite__mapDeps([54,53,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:b1,diagram:e}},"loader"),LP={id:b1,detector:jP,loader:IP},$P=LP,k1="journey",DP=b(e=>/^\s*journey/.test(e),"detector"),BP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-Cc00zHNt.js");return{diagram:t}},__vite__mapDeps([55,26,28,43,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:k1,diagram:e}},"loader"),RP={id:k1,detector:DP,loader:BP},PP=RP,FP=b((e,t,r)=>{K.debug(`rendering svg for syntax error
379
- `);const n=bL(t),s=n.append("g");n.attr("viewBox","0 0 2412 512"),G0(n,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),w1={draw:FP},OP=w1,zP={db:{},renderer:w1,parser:{parse:b(()=>{},"parse")}},WP=zP,v1="flowchart-elk",HP=b((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer==="elk"?(t.layout="elk",!0):!1,"detector"),qP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-DGbbfVi5.js");return{diagram:t}},__vite__mapDeps([27,28,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:v1,diagram:e}},"loader"),UP={id:v1,detector:HP,loader:qP},VP=UP,C1="timeline",GP=b(e=>/^\s*timeline/.test(e),"detector"),YP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./timeline-definition-IT6M3QCI-DsXlR68n.js");return{diagram:t}},__vite__mapDeps([56,43,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:C1,diagram:e}},"loader"),XP={id:C1,detector:GP,loader:YP},KP=XP,S1="mindmap",QP=b(e=>/^\s*mindmap/.test(e),"detector"),ZP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./mindmap-definition-VGOIOE7T-CzpuQA4p.js");return{diagram:t}},__vite__mapDeps([57,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:S1,diagram:e}},"loader"),JP={id:S1,detector:QP,loader:ZP},eF=JP,_1="kanban",tF=b(e=>/^\s*kanban/.test(e),"detector"),rF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./kanban-definition-3W4ZIXB7-BF_gHshF.js");return{diagram:t}},__vite__mapDeps([58,28,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:_1,diagram:e}},"loader"),nF={id:_1,detector:tF,loader:rF},sF=nF,T1="sankey",iF=b(e=>/^\s*sankey(-beta)?/.test(e),"detector"),aF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./sankeyDiagram-TZEHDZUN-CKfZ4633.js");return{diagram:t}},__vite__mapDeps([59,44,39,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:T1,diagram:e}},"loader"),oF={id:T1,detector:iF,loader:aF},lF=oF,N1="packet",cF=b(e=>/^\s*packet(-beta)?/.test(e),"detector"),uF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./diagram-S2PKOQOG-D-Cv16WE.js");return{diagram:t}},__vite__mapDeps([60,34,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:N1,diagram:e}},"loader"),hF={id:N1,detector:cF,loader:uF},E1="radar",dF=b(e=>/^\s*radar-beta/.test(e),"detector"),fF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./diagram-QEK2KX5R-BccDOQuz.js");return{diagram:t}},__vite__mapDeps([61,34,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:E1,diagram:e}},"loader"),gF={id:E1,detector:dF,loader:fF},A1="block",pF=b(e=>/^\s*block(-beta)?/.test(e),"detector"),mF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./blockDiagram-VD42YOAC-CX_8YiYn.js");return{diagram:t}},__vite__mapDeps([62,28,5,2,1,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:A1,diagram:e}},"loader"),xF={id:A1,detector:pF,loader:mF},yF=xF,M1="architecture",bF=b(e=>/^\s*architecture/.test(e),"detector"),kF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./architectureDiagram-VXUJARFQ-Ct1p8kmV.js");return{diagram:t}},__vite__mapDeps([63,34,36,8,7,2,4,5,24,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:M1,diagram:e}},"loader"),wF={id:M1,detector:bF,loader:kF},vF=wF,j1="treemap",CF=b(e=>/^\s*treemap/.test(e),"detector"),SF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./diagram-PSM6KHXK-B5DQIDQ3.js");return{diagram:t}},__vite__mapDeps([64,30,34,36,8,7,2,4,5,40,44,39,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:j1,diagram:e}},"loader"),_F={id:j1,detector:CF,loader:SF},wp=!1,Wl=b(()=>{wp||(wp=!0,Ao("error",WP,e=>e.toLowerCase().trim()==="error"),Ao("---",{db:{clear:b(()=>{},"clear")},styles:{},renderer:{draw:b(()=>{},"draw")},parser:{parse:b(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:b(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),mu(VP,eF,vF),mu(MR,sF,TP,vP,WR,KR,JR,rP,gP,yP,PR,$R,KP,VR,$P,MP,PP,aP,lF,hF,uP,yF,gF,_F))},"addDiagrams"),TF=b(async()=>{K.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(ns).map(async([r,{detector:n,loader:s}])=>{if(s)try{ku(r)}catch{try{const{diagram:i,id:a}=await s();Ao(a,i,n)}catch(i){throw K.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete ns[r],i}}}))).filter(r=>r.status==="rejected");if(t.length>0){K.error(`Failed to load ${t.length} external diagrams`);for(const r of t)K.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),NF="graphics-document document";function I1(e,t){e.attr("role",NF),t!==""&&e.attr("aria-roledescription",t)}b(I1,"setA11yDiagramInfo");function L1(e,t,r,n){if(e.insert!==void 0){if(r){const s=`chart-desc-${n}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${n}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}b(L1,"addSVGa11yTitleDescription");var Jn,uh=(Jn=class{constructor(t,r,n,s,i){this.type=t,this.text=r,this.db=n,this.parser=s,this.renderer=i}static async fromText(t,r={}){const n=It(),s=Vh(t,n);t=_D(t)+`
378
+ L0,20`)},"requirement_arrow"),UB=b((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),VB={extension:jB,composition:IB,aggregation:LB,dependency:$B,lollipop:DB,point:BB,circle:RB,cross:PB,barb:FB,only_one:OB,zero_or_one:zB,one_or_more:WB,zero_or_more:HB,requirement_arrow:qB,requirement_contains:UB},GB=MB,YB={common:ni,getConfig:It,insertCluster:rB,insertEdge:AB,insertEdgeLabel:CB,insertMarkers:GB,insertNode:Gw,interpolateToCurve:Cd,labelHelper:ve,log:K,positionEdgeLabel:SB},da={},Qw=b(e=>{for(const t of e)da[t.name]=t},"registerLayoutLoaders"),XB=b(()=>{Qw([{name:"dagre",loader:b(async()=>await Ve(()=>import("./dagre-6UL2VRFP-s7YD2ZcY.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),"loader")},{name:"cose-bilkent",loader:b(async()=>await Ve(()=>import("./cose-bilkent-S5V4N54A-D9ZC6LmB.js"),__vite__mapDeps([23,24,7,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),"loader")}])},"registerDefaultLayoutLoaders");XB();var H9=b(async(e,t)=>{if(!(e.layoutAlgorithm in da))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=da[e.layoutAlgorithm];return(await r.loader()).render(e,t,YB,{algorithm:r.algorithm})},"render"),q9=b((e="",{fallback:t="dagre"}={})=>{if(e in da)return e;if(t in da)return K.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),Zw="comm",Jw="rule",e1="decl",KB="@import",QB="@namespace",ZB="@keyframes",JB="@layer",t1=Math.abs,Hd=String.fromCharCode;function r1(e){return e.trim()}function yo(e,t,r){return e.replace(t,r)}function eR(e,t,r){return e.indexOf(t,r)}function Ds(e,t){return e.charCodeAt(t)|0}function Js(e,t,r){return e.slice(t,r)}function Pr(e){return e.length}function tR(e){return e.length}function Ja(e,t){return t.push(e),e}var Ol=1,ei=1,n1=0,xr=0,mt=0,li="";function qd(e,t,r,n,s,i,a,o){return{value:e,root:t,parent:r,type:n,props:s,children:i,line:Ol,column:ei,length:a,return:"",siblings:o}}function rR(){return mt}function nR(){return mt=xr>0?Ds(li,--xr):0,ei--,mt===10&&(ei=1,Ol--),mt}function Ar(){return mt=xr<n1?Ds(li,xr++):0,ei++,mt===10&&(ei=1,Ol++),mt}function Sn(){return Ds(li,xr)}function bo(){return xr}function zl(e,t){return Js(li,e,t)}function fa(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function sR(e){return Ol=ei=1,n1=Pr(li=e),xr=0,[]}function iR(e){return li="",e}function qc(e){return r1(zl(xr-1,sh(e===91?e+2:e===40?e+1:e)))}function aR(e){for(;(mt=Sn())&&mt<33;)Ar();return fa(e)>2||fa(mt)>3?"":" "}function oR(e,t){for(;--t&&Ar()&&!(mt<48||mt>102||mt>57&&mt<65||mt>70&&mt<97););return zl(e,bo()+(t<6&&Sn()==32&&Ar()==32))}function sh(e){for(;Ar();)switch(mt){case e:return xr;case 34:case 39:e!==34&&e!==39&&sh(mt);break;case 40:e===41&&sh(e);break;case 92:Ar();break}return xr}function lR(e,t){for(;Ar()&&e+mt!==57;)if(e+mt===84&&Sn()===47)break;return"/*"+zl(t,xr-1)+"*"+Hd(e===47?e:Ar())}function cR(e){for(;!fa(Sn());)Ar();return zl(e,xr)}function uR(e){return iR(ko("",null,null,null,[""],e=sR(e),0,[0],e))}function ko(e,t,r,n,s,i,a,o,l){for(var c=0,u=0,h=a,f=0,g=0,p=0,m=1,y=1,x=1,k=0,v="",_=s,C=i,w=n,S=v;y;)switch(p=k,k=Ar()){case 40:if(p!=108&&Ds(S,h-1)==58){eR(S+=yo(qc(k),"&","&\f"),"&\f",t1(c?o[c-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:S+=qc(k);break;case 9:case 10:case 13:case 32:S+=aR(p);break;case 92:S+=oR(bo()-1,7);continue;case 47:switch(Sn()){case 42:case 47:Ja(hR(lR(Ar(),bo()),t,r,l),l),(fa(p||1)==5||fa(Sn()||1)==5)&&Pr(S)&&Js(S,-1,void 0)!==" "&&(S+=" ");break;default:S+="/"}break;case 123*m:o[c++]=Pr(S)*x;case 125*m:case 59:case 0:switch(k){case 0:case 125:y=0;case 59+u:x==-1&&(S=yo(S,/\f/g,"")),g>0&&(Pr(S)-h||m===0&&p===47)&&Ja(g>32?gp(S+";",n,r,h-1,l):gp(yo(S," ","")+";",n,r,h-2,l),l);break;case 59:S+=";";default:if(Ja(w=fp(S,t,r,c,u,s,o,v,_=[],C=[],h,i),i),k===123)if(u===0)ko(S,t,w,w,_,i,h,o,C);else{switch(f){case 99:if(Ds(S,3)===110)break;case 108:if(Ds(S,2)===97)break;default:u=0;case 100:case 109:case 115:}u?ko(e,w,w,n&&Ja(fp(e,w,w,0,0,s,o,v,s,_=[],h,C),C),s,C,h,o,n?_:C):ko(S,w,w,w,[""],C,0,o,C)}}c=u=g=0,m=x=1,v=S="",h=a;break;case 58:h=1+Pr(S),g=p;default:if(m<1){if(k==123)--m;else if(k==125&&m++==0&&nR()==125)continue}switch(S+=Hd(k),k*m){case 38:x=u>0?1:(S+="\f",-1);break;case 44:o[c++]=(Pr(S)-1)*x,x=1;break;case 64:Sn()===45&&(S+=qc(Ar())),f=Sn(),u=h=Pr(v=S+=cR(bo())),k++;break;case 45:p===45&&Pr(S)==2&&(m=0)}}return i}function fp(e,t,r,n,s,i,a,o,l,c,u,h){for(var f=s-1,g=s===0?i:[""],p=tR(g),m=0,y=0,x=0;m<n;++m)for(var k=0,v=Js(e,f+1,f=t1(y=a[m])),_=e;k<p;++k)(_=r1(y>0?g[k]+" "+v:yo(v,/&\f/g,g[k])))&&(l[x++]=_);return qd(e,t,r,s===0?Jw:o,l,c,u,h)}function hR(e,t,r,n){return qd(e,t,r,Zw,Hd(rR()),Js(e,2,-2),0,n)}function gp(e,t,r,n,s){return qd(e,t,r,e1,Js(e,0,n),Js(e,n+1,-1),n,s)}function ih(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function dR(e,t,r,n){switch(e.type){case JB:if(e.children.length)break;case KB:case QB:case e1:return e.return=e.return||e.value;case Zw:return"";case ZB:return e.return=e.value+"{"+ih(e.children,n)+"}";case Jw:if(!Pr(e.value=e.props.join(",")))return""}return Pr(r=ih(e.children,n))?e.return=e.value+"{"+r+"}":""}var fR=Ab(Object.keys,Object),gR=Object.prototype,pR=gR.hasOwnProperty;function mR(e){if(!Ml(e))return fR(e);var t=[];for(var r in Object(e))pR.call(e,r)&&r!="constructor"&&t.push(r);return t}var ah=fs(Ur,"DataView"),oh=fs(Ur,"Promise"),lh=fs(Ur,"Set"),ch=fs(Ur,"WeakMap"),pp="[object Map]",xR="[object Object]",mp="[object Promise]",xp="[object Set]",yp="[object WeakMap]",bp="[object DataView]",yR=ds(ah),bR=ds(ua),kR=ds(oh),wR=ds(lh),vR=ds(ch),Un=ii;(ah&&Un(new ah(new ArrayBuffer(1)))!=bp||ua&&Un(new ua)!=pp||oh&&Un(oh.resolve())!=mp||lh&&Un(new lh)!=xp||ch&&Un(new ch)!=yp)&&(Un=function(e){var t=ii(e),r=t==xR?e.constructor:void 0,n=r?ds(r):"";if(n)switch(n){case yR:return bp;case bR:return pp;case kR:return mp;case wR:return xp;case vR:return yp}return t});var CR="[object Map]",SR="[object Set]",_R=Object.prototype,TR=_R.hasOwnProperty;function kp(e){if(e==null)return!0;if(jl(e)&&(Xo(e)||typeof e=="string"||typeof e.splice=="function"||wd(e)||vd(e)||Yo(e)))return!e.length;var t=Un(e);if(t==CR||t==SR)return!e.size;if(Ml(e))return!mR(e).length;for(var r in e)if(TR.call(e,r))return!1;return!0}var s1="c4",NR=b(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),ER=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./c4Diagram-YG6GDRKO-gAp3--Ee.js");return{diagram:t}},__vite__mapDeps([25,26,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:s1,diagram:e}},"loader"),AR={id:s1,detector:NR,loader:ER},MR=AR,i1="flowchart",jR=b((e,t)=>t?.flowchart?.defaultRenderer==="dagre-wrapper"||t?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(e),"detector"),IR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-DjCIshpi.js");return{diagram:t}},__vite__mapDeps([27,28,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:i1,diagram:e}},"loader"),LR={id:i1,detector:jR,loader:IR},$R=LR,a1="flowchart-v2",DR=b((e,t)=>t?.flowchart?.defaultRenderer==="dagre-d3"?!1:(t?.flowchart?.defaultRenderer==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(e)),"detector"),BR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-DjCIshpi.js");return{diagram:t}},__vite__mapDeps([27,28,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:a1,diagram:e}},"loader"),RR={id:a1,detector:DR,loader:BR},PR=RR,o1="er",FR=b(e=>/^\s*erDiagram/.test(e),"detector"),OR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./erDiagram-Q2GNP2WA-tM4HKBpy.js");return{diagram:t}},__vite__mapDeps([32,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:o1,diagram:e}},"loader"),zR={id:o1,detector:FR,loader:OR},WR=zR,l1="gitGraph",HR=b(e=>/^\s*gitGraph/.test(e),"detector"),qR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./gitGraphDiagram-NY62KEGX-B3Uw90Yt.js");return{diagram:t}},__vite__mapDeps([33,34,35,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:l1,diagram:e}},"loader"),UR={id:l1,detector:HR,loader:qR},VR=UR,c1="gantt",GR=b(e=>/^\s*gantt/.test(e),"detector"),YR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./ganttDiagram-LVOFAZNH-Q6plkI5G.js");return{diagram:t}},__vite__mapDeps([37,7,38,39,40,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:c1,diagram:e}},"loader"),XR={id:c1,detector:GR,loader:YR},KR=XR,u1="info",QR=b(e=>/^\s*info/.test(e),"detector"),ZR=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./infoDiagram-F6ZHWCRC-HUfwv_JT.js");return{diagram:t}},__vite__mapDeps([41,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:u1,diagram:e}},"loader"),JR={id:u1,detector:QR,loader:ZR},h1="pie",eP=b(e=>/^\s*pie/.test(e),"detector"),tP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./pieDiagram-ADFJNKIX-8vPxErLm.js");return{diagram:t}},__vite__mapDeps([42,34,36,8,7,2,4,5,43,44,39,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:h1,diagram:e}},"loader"),rP={id:h1,detector:eP,loader:tP},d1="quadrantChart",nP=b(e=>/^\s*quadrantChart/.test(e),"detector"),sP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-Pn0NZ9k7.js");return{diagram:t}},__vite__mapDeps([45,38,39,40,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:d1,diagram:e}},"loader"),iP={id:d1,detector:nP,loader:sP},aP=iP,f1="xychart",oP=b(e=>/^\s*xychart(-beta)?/.test(e),"detector"),lP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./xychartDiagram-PRI3JC2R-DG3KmjD-.js");return{diagram:t}},__vite__mapDeps([46,39,44,38,40,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:f1,diagram:e}},"loader"),cP={id:f1,detector:oP,loader:lP},uP=cP,g1="requirement",hP=b(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),dP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-C7u8MiN1.js");return{diagram:t}},__vite__mapDeps([47,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:g1,diagram:e}},"loader"),fP={id:g1,detector:hP,loader:dP},gP=fP,p1="sequence",pP=b(e=>/^\s*sequenceDiagram/.test(e),"detector"),mP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./sequenceDiagram-WL72ISMW-pXBA2_3B.js");return{diagram:t}},__vite__mapDeps([48,26,35,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:p1,diagram:e}},"loader"),xP={id:p1,detector:pP,loader:mP},yP=xP,m1="class",bP=b((e,t)=>t?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e),"detector"),kP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./classDiagram-2ON5EDUG-DwEqkkEb.js");return{diagram:t}},__vite__mapDeps([49,50,28,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:m1,diagram:e}},"loader"),wP={id:m1,detector:bP,loader:kP},vP=wP,x1="classDiagram",CP=b((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e),"detector"),SP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-DwEqkkEb.js");return{diagram:t}},__vite__mapDeps([51,50,28,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:x1,diagram:e}},"loader"),_P={id:x1,detector:CP,loader:SP},TP=_P,y1="state",NP=b((e,t)=>t?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e),"detector"),EP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./stateDiagram-FKZM4ZOC-CxZMM1Lf.js");return{diagram:t}},__vite__mapDeps([52,53,29,30,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:y1,diagram:e}},"loader"),AP={id:y1,detector:NP,loader:EP},MP=AP,b1="stateDiagram",jP=b((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer==="dagre-wrapper"),"detector"),IP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-CmurzrWf.js");return{diagram:t}},__vite__mapDeps([54,53,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:b1,diagram:e}},"loader"),LP={id:b1,detector:jP,loader:IP},$P=LP,k1="journey",DP=b(e=>/^\s*journey/.test(e),"detector"),BP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-CgQogtHU.js");return{diagram:t}},__vite__mapDeps([55,26,28,43,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:k1,diagram:e}},"loader"),RP={id:k1,detector:DP,loader:BP},PP=RP,FP=b((e,t,r)=>{K.debug(`rendering svg for syntax error
379
+ `);const n=bL(t),s=n.append("g");n.attr("viewBox","0 0 2412 512"),G0(n,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),w1={draw:FP},OP=w1,zP={db:{},renderer:w1,parser:{parse:b(()=>{},"parse")}},WP=zP,v1="flowchart-elk",HP=b((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer==="elk"?(t.layout="elk",!0):!1,"detector"),qP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-DjCIshpi.js");return{diagram:t}},__vite__mapDeps([27,28,29,30,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:v1,diagram:e}},"loader"),UP={id:v1,detector:HP,loader:qP},VP=UP,C1="timeline",GP=b(e=>/^\s*timeline/.test(e),"detector"),YP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./timeline-definition-IT6M3QCI-Crg44TaP.js");return{diagram:t}},__vite__mapDeps([56,43,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:C1,diagram:e}},"loader"),XP={id:C1,detector:GP,loader:YP},KP=XP,S1="mindmap",QP=b(e=>/^\s*mindmap/.test(e),"detector"),ZP=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./mindmap-definition-VGOIOE7T-D5wd9HsH.js");return{diagram:t}},__vite__mapDeps([57,29,30,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:S1,diagram:e}},"loader"),JP={id:S1,detector:QP,loader:ZP},eF=JP,_1="kanban",tF=b(e=>/^\s*kanban/.test(e),"detector"),rF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./kanban-definition-3W4ZIXB7-Cv7kVxyy.js");return{diagram:t}},__vite__mapDeps([58,28,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:_1,diagram:e}},"loader"),nF={id:_1,detector:tF,loader:rF},sF=nF,T1="sankey",iF=b(e=>/^\s*sankey(-beta)?/.test(e),"detector"),aF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./sankeyDiagram-TZEHDZUN-C660O4mw.js");return{diagram:t}},__vite__mapDeps([59,44,39,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:T1,diagram:e}},"loader"),oF={id:T1,detector:iF,loader:aF},lF=oF,N1="packet",cF=b(e=>/^\s*packet(-beta)?/.test(e),"detector"),uF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./diagram-S2PKOQOG-Cu-zjwc9.js");return{diagram:t}},__vite__mapDeps([60,34,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:N1,diagram:e}},"loader"),hF={id:N1,detector:cF,loader:uF},E1="radar",dF=b(e=>/^\s*radar-beta/.test(e),"detector"),fF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./diagram-QEK2KX5R-B348GmS1.js");return{diagram:t}},__vite__mapDeps([61,34,36,8,7,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:E1,diagram:e}},"loader"),gF={id:E1,detector:dF,loader:fF},A1="block",pF=b(e=>/^\s*block(-beta)?/.test(e),"detector"),mF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./blockDiagram-VD42YOAC-CYO9EYkJ.js");return{diagram:t}},__vite__mapDeps([62,28,5,2,1,31,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:A1,diagram:e}},"loader"),xF={id:A1,detector:pF,loader:mF},yF=xF,M1="architecture",bF=b(e=>/^\s*architecture/.test(e),"detector"),kF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./architectureDiagram-VXUJARFQ-kwdTmjuB.js");return{diagram:t}},__vite__mapDeps([63,34,36,8,7,2,4,5,24,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:M1,diagram:e}},"loader"),wF={id:M1,detector:bF,loader:kF},vF=wF,j1="treemap",CF=b(e=>/^\s*treemap/.test(e),"detector"),SF=b(async()=>{const{diagram:e}=await Ve(async()=>{const{diagram:t}=await import("./diagram-PSM6KHXK-C7jhP5tx.js");return{diagram:t}},__vite__mapDeps([64,30,34,36,8,7,2,4,5,40,44,39,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));return{id:j1,diagram:e}},"loader"),_F={id:j1,detector:CF,loader:SF},wp=!1,Wl=b(()=>{wp||(wp=!0,Ao("error",WP,e=>e.toLowerCase().trim()==="error"),Ao("---",{db:{clear:b(()=>{},"clear")},styles:{},renderer:{draw:b(()=>{},"draw")},parser:{parse:b(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:b(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),mu(VP,eF,vF),mu(MR,sF,TP,vP,WR,KR,JR,rP,gP,yP,PR,$R,KP,VR,$P,MP,PP,aP,lF,hF,uP,yF,gF,_F))},"addDiagrams"),TF=b(async()=>{K.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(ns).map(async([r,{detector:n,loader:s}])=>{if(s)try{ku(r)}catch{try{const{diagram:i,id:a}=await s();Ao(a,i,n)}catch(i){throw K.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete ns[r],i}}}))).filter(r=>r.status==="rejected");if(t.length>0){K.error(`Failed to load ${t.length} external diagrams`);for(const r of t)K.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),NF="graphics-document document";function I1(e,t){e.attr("role",NF),t!==""&&e.attr("aria-roledescription",t)}b(I1,"setA11yDiagramInfo");function L1(e,t,r,n){if(e.insert!==void 0){if(r){const s=`chart-desc-${n}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${n}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}b(L1,"addSVGa11yTitleDescription");var Jn,uh=(Jn=class{constructor(t,r,n,s,i){this.type=t,this.text=r,this.db=n,this.parser=s,this.renderer=i}static async fromText(t,r={}){const n=It(),s=Vh(t,n);t=_D(t)+`
380
380
  `;try{ku(s)}catch{const c=XE(s);if(!c)throw new D0(`Diagram ${s} not found.`);const{id:u,diagram:h}=await c();Ao(u,h)}const{db:i,parser:a,renderer:o,init:l}=ku(s);return a.parser&&(a.parser.yy=i),i.clear?.(),l?.(n),r.title&&i.setDiagramTitle?.(r.title),await a.parse(t),new Jn(s,t,i,a,o)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},b(Jn,"Diagram"),Jn),vp=[],EF=b(()=>{vp.forEach(e=>{e()}),vp=[]},"attachFunctions"),AF=b(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function $1(e){const t=e.match($0);if(!t)return{text:e,metadata:{}};let r=T$(t[1],{schema:_$})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:e.slice(t[0].length),metadata:n}}b($1,"extractFrontMatter");var MF=b(e=>e.replace(/\r\n?/g,`
381
381
  `).replace(/<(\w+)([^>]*)>/g,(t,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),jF=b(e=>{const{text:t,metadata:r}=$1(e),{displayMode:n,title:s,config:i={}}=r;return n&&(i.gantt||(i.gantt={}),i.gantt.displayMode=n),{title:s,config:i,text:t}},"processFrontmatter"),IF=b(e=>{const t=Tr.detectInit(e)??{},r=Tr.detectDirective(e,"wrap");return Array.isArray(r)?t.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(t.wrap=!0),{text:dD(e),directive:t}},"processDirectives");function Ud(e){const t=MF(e),r=jF(t),n=IF(r.text),s=Ed(r.config,n.directive);return e=AF(n.text),{code:e,title:r.title,config:s}}b(Ud,"preprocessDiagram");function D1(e){const t=new TextEncoder().encode(e),r=Array.from(t,n=>String.fromCodePoint(n)).join("");return btoa(r)}b(D1,"toBase64");var LF=5e4,$F="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",DF="sandbox",BF="loose",RF="http://www.w3.org/2000/svg",PF="http://www.w3.org/1999/xlink",FF="http://www.w3.org/1999/xhtml",OF="100%",zF="100%",WF="border:0;margin:0;",HF="margin:0",qF="allow-top-navigation-by-user-activation allow-popups",UF='The "iframe" tag is not supported by your browser.',VF=["foreignobject"],GF=["dominant-baseline"];function Vd(e){const t=Ud(e);return No(),hA(t.config??{}),t}b(Vd,"processAndSetConfigs");async function B1(e,t){Wl();try{const{code:r,config:n}=Vd(e);return{diagramType:(await P1(r)).type,config:n}}catch(r){if(t?.suppressErrors)return!1;throw r}}b(B1,"parse");var Cp=b((e,t,r=[])=>`
382
382
  .${e} ${t} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),YF=b((e,t=new Map)=>{let r="";if(e.themeCSS!==void 0&&(r+=`