@pheem49/mint 1.15.0 β†’ 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1162) hide show
  1. package/Cargo.lock +1012 -69
  2. package/Cargo.toml +5 -2
  3. package/LICENSE +21 -654
  4. package/README.md +92 -817
  5. package/Release_Note.md +71 -579
  6. package/apps/mint-companion/src-tauri/Cargo.toml +20 -0
  7. package/apps/mint-companion/src-tauri/build.rs +3 -0
  8. package/apps/mint-companion/src-tauri/src/compact.rs +69 -0
  9. package/apps/mint-companion/src-tauri/src/main.rs +675 -0
  10. package/apps/mint-companion/tsconfig.json +20 -0
  11. package/apps/mint-companion/vite.config.ts +4 -0
  12. package/components.json +19 -0
  13. package/crates/mint-cli/Cargo.toml +6 -0
  14. package/crates/mint-cli/src/agent/live_status.rs +230 -41
  15. package/crates/mint-cli/src/agent.rs +476 -108
  16. package/crates/mint-cli/src/commands/agent.rs +294 -86
  17. package/crates/mint-cli/src/commands/browser.rs +127 -0
  18. package/crates/mint-cli/src/commands/config.rs +14 -1
  19. package/crates/mint-cli/src/commands/integrations.rs +7 -0
  20. package/crates/mint-cli/src/commands/knowledge.rs +28 -34
  21. package/crates/mint-cli/src/commands/mod.rs +59 -1
  22. package/crates/mint-cli/src/commands/tailnet_web.rs +2 -7
  23. package/crates/mint-cli/src/companion_navigation.rs +268 -0
  24. package/crates/mint-cli/src/image.rs +31 -33
  25. package/crates/mint-cli/src/interactive/chat_tui.rs +4977 -864
  26. package/crates/mint-cli/src/interactive/command_ui.rs +39 -0
  27. package/crates/mint-cli/src/interactive/input_box.rs +56 -6
  28. package/crates/mint-cli/src/interactive/slash_commands.rs +321 -61
  29. package/crates/mint-cli/src/interactive/tool_activity.rs +667 -0
  30. package/crates/mint-cli/src/interactive.rs +93 -37
  31. package/crates/mint-cli/src/main.rs +36 -9
  32. package/crates/mint-cli/src/mcp.rs +5 -0
  33. package/crates/mint-cli/src/mod_host.rs +6 -0
  34. package/crates/mint-cli/src/mods_cli.rs +62 -0
  35. package/crates/mint-cli/src/mods_ui.rs +187 -0
  36. package/crates/mint-cli/src/onboard.rs +3492 -1360
  37. package/crates/mint-cli/src/terminal_theme.rs +3 -1
  38. package/crates/mint-cli/src/updater.rs +56 -2
  39. package/crates/mint-cli/tests/library_intake.rs +77 -0
  40. package/crates/mint-cli/tests/mods_testing.rs +137 -0
  41. package/crates/mint-companion-protocol/Cargo.toml +10 -0
  42. package/crates/mint-companion-protocol/src/lib.rs +276 -0
  43. package/crates/mint-core/Cargo.toml +6 -3
  44. package/crates/mint-core/build.rs +26 -0
  45. package/crates/mint-core/src/agent/chat.rs +406 -39
  46. package/crates/mint-core/src/agent/code_tools.rs +15 -0
  47. package/crates/mint-core/src/agent/memory/sources.rs +240 -0
  48. package/crates/mint-core/src/agent/memory.rs +220 -19
  49. package/crates/mint-core/src/agent/safety.rs +56 -4
  50. package/crates/mint-core/src/agent/skill_inventory.rs +327 -0
  51. package/crates/mint-core/src/agent/skills.rs +438 -90
  52. package/crates/mint-core/src/agent.rs +1 -0
  53. package/crates/mint-core/src/api_server/routes/auth.rs +1 -4
  54. package/crates/mint-core/src/api_server/routes/background_jobs.rs +310 -0
  55. package/crates/mint-core/src/api_server/routes/chat.rs +245 -214
  56. package/crates/mint-core/src/api_server/routes/html_preview.rs +77 -0
  57. package/crates/mint-core/src/api_server/routes/library.rs +97 -0
  58. package/crates/mint-core/src/api_server/routes/media_gen.rs +10 -57
  59. package/crates/mint-core/src/api_server/routes/misc.rs +220 -107
  60. package/crates/mint-core/src/api_server/routes/mod.rs +6 -0
  61. package/crates/mint-core/src/api_server/routes/mods.rs +31 -0
  62. package/crates/mint-core/src/api_server/routes/profile_oauth.rs +43 -26
  63. package/crates/mint-core/src/api_server/routes/sessions.rs +127 -69
  64. package/crates/mint-core/src/api_server/routes/skills_subagents.rs +16 -42
  65. package/crates/mint-core/src/api_server/routes/slash.rs +50 -1
  66. package/crates/mint-core/src/api_server/routes/sources.rs +101 -0
  67. package/crates/mint-core/src/api_server/routes/status_health.rs +18 -8
  68. package/crates/mint-core/src/api_server.rs +327 -72
  69. package/crates/mint-core/src/avatar_bridge.rs +15 -3
  70. package/crates/mint-core/src/browser/cdp.rs +82 -26
  71. package/crates/mint-core/src/browser/lifecycle.rs +143 -43
  72. package/crates/mint-core/src/browser/mod.rs +5 -4
  73. package/crates/mint-core/src/browser/navigate.rs +82 -9
  74. package/crates/mint-core/src/browser/runtime.rs +284 -0
  75. package/crates/mint-core/src/browser/session.rs +315 -7
  76. package/crates/mint-core/src/browser/workflow.rs +386 -0
  77. package/crates/mint-core/src/companion/navigation.rs +115 -0
  78. package/crates/mint-core/src/companion.rs +824 -0
  79. package/crates/mint-core/src/cron/scheduler.rs +34 -2
  80. package/crates/mint-core/src/integrations/channels.rs +87 -345
  81. package/crates/mint-core/src/integrations/mcp.rs +397 -50
  82. package/crates/mint-core/src/integrations/mcp_calls.rs +823 -0
  83. package/crates/mint-core/src/integrations/mcp_catalog.rs +267 -0
  84. package/crates/mint-core/src/integrations/mcp_device.rs +319 -0
  85. package/crates/mint-core/src/integrations/mcp_result.rs +401 -0
  86. package/crates/mint-core/src/integrations/webhooks.rs +539 -0
  87. package/crates/mint-core/src/integrations.rs +2 -0
  88. package/crates/mint-core/src/lib.rs +95 -32
  89. package/crates/mint-core/src/media/gemini_live.rs +134 -14
  90. package/crates/mint-core/src/media/image_models.rs +3 -27
  91. package/crates/mint-core/src/media/image_proxy.rs +563 -0
  92. package/crates/mint-core/src/media/image_workflow.rs +216 -0
  93. package/crates/mint-core/src/media/library/intake.rs +144 -0
  94. package/crates/mint-core/src/media/library/migration.rs +56 -0
  95. package/crates/mint-core/src/media/library/removal.rs +55 -0
  96. package/crates/mint-core/src/media/library/tests.rs +730 -0
  97. package/crates/mint-core/src/media/library/thumbnails.rs +72 -0
  98. package/crates/mint-core/src/media/library.rs +545 -0
  99. package/crates/mint-core/src/media/model_catalog.rs +375 -0
  100. package/crates/mint-core/src/media/pictures.rs +79 -222
  101. package/crates/mint-core/src/media/tool_images.rs +196 -0
  102. package/crates/mint-core/src/media/tts/playback.rs +609 -0
  103. package/crates/mint-core/src/media/tts.rs +1 -0
  104. package/crates/mint-core/src/media/video_models.rs +3 -22
  105. package/crates/mint-core/src/media.rs +5 -0
  106. package/crates/mint-core/src/mods/manager.rs +1124 -0
  107. package/crates/mint-core/src/mods/mod.rs +569 -0
  108. package/crates/mint-core/src/mods/operations.rs +204 -0
  109. package/crates/mint-core/src/mods/session.rs +146 -0
  110. package/crates/mint-core/src/mods/slash.rs +59 -0
  111. package/crates/mint-core/src/mods/telemetry.rs +306 -0
  112. package/crates/mint-core/src/orchestration/approvals.rs +344 -0
  113. package/crates/mint-core/src/orchestration/context_render.rs +553 -32
  114. package/crates/mint-core/src/orchestration/decision_parsing.rs +5 -23
  115. package/crates/mint-core/src/orchestration/diagnostics.rs +307 -0
  116. package/crates/mint-core/src/orchestration/image_regressions.rs +379 -0
  117. package/crates/mint-core/src/orchestration/loop_guard.rs +334 -0
  118. package/crates/mint-core/src/orchestration/mcp_review.rs +153 -0
  119. package/crates/mint-core/src/orchestration/memory_skill.rs +104 -32
  120. package/crates/mint-core/src/orchestration/mod.rs +3194 -755
  121. package/crates/mint-core/src/orchestration/mod_authoring_regressions.rs +209 -0
  122. package/crates/mint-core/src/orchestration/progress_clock.rs +80 -0
  123. package/crates/mint-core/src/orchestration/reliability.rs +541 -0
  124. package/crates/mint-core/src/orchestration/repeated_failures.rs +124 -0
  125. package/crates/mint-core/src/orchestration/review_regressions.rs +595 -0
  126. package/crates/mint-core/src/orchestration/run_control.rs +196 -0
  127. package/crates/mint-core/src/orchestration/tools/files.rs +191 -16
  128. package/crates/mint-core/src/orchestration/tools/media.rs +37 -41
  129. package/crates/mint-core/src/orchestration/tools/misc.rs +3 -2
  130. package/crates/mint-core/src/orchestration/tools/mod.rs +2 -0
  131. package/crates/mint-core/src/orchestration/tools/mods.rs +161 -0
  132. package/crates/mint-core/src/orchestration/tools/plugins_mcp.rs +321 -74
  133. package/crates/mint-core/src/orchestration/tools/project.rs +1 -1
  134. package/crates/mint-core/src/orchestration/tools/shell.rs +124 -7
  135. package/crates/mint-core/src/orchestration/tools/web.rs +5 -1
  136. package/crates/mint-core/src/orchestration/trajectory_schema.rs +353 -0
  137. package/crates/mint-core/src/orchestration/truncation.rs +211 -0
  138. package/crates/mint-core/src/orchestration/verification.rs +36 -6
  139. package/crates/mint-core/src/orchestration/workspace_helpers.rs +57 -23
  140. package/crates/mint-core/src/prompts/agent.rs +47 -41
  141. package/crates/mint-core/src/prompts/tool_catalog.rs +158 -38
  142. package/crates/mint-core/src/search/knowledge.rs +7 -1
  143. package/crates/mint-core/src/search/linked_folders/index.rs +177 -13
  144. package/crates/mint-core/src/search/linked_folders.rs +83 -2
  145. package/crates/mint-core/src/search/web_search.rs +44 -3
  146. package/crates/mint-core/src/slash/catalog.rs +1 -1
  147. package/crates/mint-core/src/slash/mod.rs +638 -12
  148. package/crates/mint-core/src/slash/mods.rs +155 -0
  149. package/crates/mint-core/src/swarm/batch.rs +643 -0
  150. package/crates/mint-core/src/swarm/dossier.rs +152 -0
  151. package/crates/mint-core/src/swarm/labels.rs +100 -0
  152. package/crates/mint-core/src/swarm/mod.rs +158 -0
  153. package/crates/mint-core/src/swarm/permissions.rs +167 -0
  154. package/crates/mint-core/src/system/auth.rs +156 -7
  155. package/crates/mint-core/src/system/bg_shell.rs +1197 -95
  156. package/crates/mint-core/src/system/config.rs +97 -13
  157. package/crates/mint-core/src/system/html_preview.rs +398 -0
  158. package/crates/mint-core/src/system/mint_web.rs +185 -0
  159. package/crates/mint-core/src/system/release_notes.rs +18 -0
  160. package/crates/mint-core/src/system/shell.rs +200 -16
  161. package/crates/mint-core/src/system/workspace.rs +276 -8
  162. package/crates/mint-core/src/system/workspace_history.rs +604 -0
  163. package/crates/mint-core/src/system.rs +4 -0
  164. package/crates/mint-core/tests/background_retention.rs +34 -0
  165. package/crates/mint-core/tests/background_shutdown.rs +24 -0
  166. package/crates/mint-core/tests/library_http.rs +209 -0
  167. package/crates/mint-core/tests/mcp_contract.rs +283 -0
  168. package/crates/mint-core/tests/mcp_stdio.rs +11 -10
  169. package/crates/mint-core/tests/media_model_catalog_http.rs +403 -0
  170. package/crates/mint-core/tests/memory_persistence.rs +27 -0
  171. package/crates/mint-core/tests/mods_http.rs +215 -0
  172. package/crates/mint-core/tests/terminal_shutdown.rs +109 -0
  173. package/crates/mint-mod-runtime/Cargo.toml +18 -0
  174. package/crates/mint-mod-runtime/src/lib.rs +507 -0
  175. package/crates/mint-mod-runtime/src/sdk.js +56 -0
  176. package/crates/mint-mod-runtime/src/test_sdk.js +32 -0
  177. package/crates/mint-mod-runtime/src/testing.rs +94 -0
  178. package/crates/mint-mod-runtime/tests/runtime.rs +156 -0
  179. package/docs/mods/AUTHORING.md +61 -0
  180. package/docs/mods/README.md +139 -0
  181. package/docs/mods/TESTING.md +56 -0
  182. package/docs/mods/mint-mods.d.ts +66 -0
  183. package/examples/device-mcp/README.md +22 -0
  184. package/examples/device-mcp/contract.md +49 -0
  185. package/examples/device-mcp/mock-device.mjs +66 -0
  186. package/examples/device-mcp/server.mjs +48 -0
  187. package/examples/device-mcp/server.test.mjs +78 -0
  188. package/examples/mods/task-checklist/README.md +1 -0
  189. package/examples/mods/task-checklist/main.ts +17 -0
  190. package/examples/mods/task-checklist/manifest.json +1 -0
  191. package/examples/mods/task-checklist/tests/checklist.test.ts +15 -0
  192. package/examples/mods/token-meter/README.md +1 -0
  193. package/examples/mods/token-meter/main.ts +8 -0
  194. package/examples/mods/token-meter/manifest.json +1 -0
  195. package/examples/mods/tool-guard/README.md +1 -0
  196. package/examples/mods/tool-guard/main.ts +9 -0
  197. package/examples/mods/tool-guard/manifest.json +1 -0
  198. package/out/web/assets/ArtifactPreviewPanel-DAT_Y7i0.css +1 -0
  199. package/out/web/assets/ArtifactPreviewPanel-S0dPfYFx.js +2 -0
  200. package/out/web/assets/CalculationCard-CRjP3E1j.js +1 -0
  201. package/out/web/assets/CliSessionsView-C3Br2v5Y.css +1 -0
  202. package/out/web/assets/CliSessionsView-MI8kXMAb.js +1 -0
  203. package/out/web/assets/CodeReviewPage-CUJceQme.css +1 -0
  204. package/out/web/assets/CodeReviewPage-VCUgPla_.js +2 -0
  205. package/out/web/assets/CommandPalette-BD8SlTE5.js +1 -0
  206. package/out/web/assets/ImageGenCard-BCXxkVJX.js +1 -0
  207. package/out/web/assets/ImageSearchCard-N3yQOr8Z.js +1 -0
  208. package/out/web/assets/ImageStudioPanel-BP7N4rLr.js +1 -0
  209. package/out/web/assets/LibraryPage-DAxUTAg7.css +1 -0
  210. package/out/web/assets/LibraryPage-WlviRdR8.js +2 -0
  211. package/out/web/assets/LinkedFoldersView-CKRgroWK.js +1 -0
  212. package/out/web/assets/McpRegistryPicker-CoS83vtc.js +1 -0
  213. package/out/web/assets/McpServersView-D3wHnuHg.js +1 -0
  214. package/out/web/assets/MermaidCard-NqrHdyJW.js +2 -0
  215. package/out/web/assets/MintDashboard-B2DJsDDO.css +1 -0
  216. package/out/web/assets/MintDashboard-COw_xol7.js +63 -0
  217. package/out/web/assets/PluginsView-jBYmcKh4.js +1 -0
  218. package/out/web/assets/RewindModal-DempuDod.js +1 -0
  219. package/out/web/assets/ScheduledTasksView-5uw9-V9H.js +1 -0
  220. package/out/web/assets/SelectField-DXBQtrUK.js +1 -0
  221. package/out/web/assets/SelectField-lFEkkWCU.css +1 -0
  222. package/out/web/assets/SettingsWindow-2YP3yj7s.js +4 -0
  223. package/out/web/assets/SettingsWindow-Dz8LQVgD.css +1 -0
  224. package/out/web/assets/SkillsView-C-gp9J7m.js +2 -0
  225. package/out/web/assets/StockCard-BDMCe7mx.js +1 -0
  226. package/out/web/assets/ToolSurfacePage-B0J_q0Jl.js +38 -0
  227. package/out/web/assets/ToolSurfacePage-CRIQ1owD.css +1 -0
  228. package/out/web/assets/UiFeatureCard-6BwxTOCe.js +1 -0
  229. package/out/web/assets/UiGridCard-DvZcLNxb.js +1 -0
  230. package/out/web/assets/UiMockupWidget-DD73QWg1.js +1 -0
  231. package/out/web/assets/VeoStudioPanel-DfsOJKv0.js +4 -0
  232. package/out/web/assets/WeatherCard-CPucIfq8.js +1 -0
  233. package/out/web/assets/WorkspacePanel-BfHKkulU.js +1 -0
  234. package/out/web/assets/WorkspacePdfPreview-Dx_lkjNu.js +2 -0
  235. package/out/web/assets/abnfDiagram-VCTEODGH-BOo3Ckng.js +1 -0
  236. package/out/web/assets/architecture-7GRP2DOG-ZOwheW3n.js +1 -0
  237. package/out/web/assets/architectureDiagram-5GKGNRK7-DC2FDzVd.js +36 -0
  238. package/out/web/assets/blockDiagram-I7D4REHJ-BrKFWdAH.js +129 -0
  239. package/out/web/assets/c4Diagram-7LVT6UL2-BHTHK1Yd.js +38 -0
  240. package/out/web/assets/chunk-2Q5K7J3B-D2JLPQzF.js +1 -0
  241. package/out/web/assets/chunk-4HAMMTFA-BYFkZwNj.js +62 -0
  242. package/out/web/assets/chunk-5VM5RSS4-BZ2oBPYQ.js +15 -0
  243. package/out/web/assets/chunk-75Z2AOVW-BSKfSKSA.js +2 -0
  244. package/out/web/assets/chunk-DU6HZSFF-vIhsiW6n.js +128 -0
  245. package/out/web/assets/chunk-F27PBJKO-BlYpW9xq.js +1 -0
  246. package/out/web/assets/chunk-FOHPRMQF-JXEeeJ9r.js +161 -0
  247. package/out/web/assets/chunk-GMAD6QVW-BIBz_Ug5.js +72 -0
  248. package/out/web/assets/chunk-GVQU2GXP-NPSHxeqC.js +1 -0
  249. package/out/web/assets/chunk-IMKFNOWR-YlJK8_Fp.js +231 -0
  250. package/out/web/assets/chunk-JWPE2WC7-BeEMUFDw.js +1 -0
  251. package/out/web/assets/chunk-L3NEJ4N5-DMYi4-af.js +1 -0
  252. package/out/web/assets/chunk-OSK3NFVY-Begd3-jA.js +10 -0
  253. package/out/web/assets/chunk-P2QGCYS3-D1I4xFHN.js +1 -0
  254. package/out/web/assets/chunk-POPQ4Y6H-CafZZzNE.js +1 -0
  255. package/out/web/assets/chunk-PWAF6VOD-Dwh6_Lnt.js +1 -0
  256. package/out/web/assets/chunk-SHT3W25Y-B0XrCSEb.js +168 -0
  257. package/out/web/assets/chunk-SVP7TREG-CxLsddxC.js +88 -0
  258. package/out/web/assets/chunk-TICWLB2K-y156QInb.js +206 -0
  259. package/out/web/assets/chunk-XXDRQBXY-B9YlhOkE.js +1 -0
  260. package/out/web/assets/chunk-Y2CYZVJY-BxCWjNVG.js +1 -0
  261. package/out/web/assets/classDiagram-ZZMXUADV-BgJ5WtSp.js +1 -0
  262. package/out/web/assets/classDiagram-v2-VYDZK3BY-BgJ5WtSp.js +1 -0
  263. package/out/web/assets/config-CvIO5hkn.js +2 -0
  264. package/out/web/assets/config-DqXJXeZM.css +1 -0
  265. package/out/web/assets/core-Mi3s5D4_.js +1 -0
  266. package/out/web/assets/cose-bilkent-JH36ORCC-qlna31ty.js +1 -0
  267. package/out/web/assets/cynefin-OW5HDTMX-SMVvrLf-.js +1 -0
  268. package/out/web/assets/cynefinDiagram-5FMLGOSQ-rZznN24T.js +62 -0
  269. package/out/web/assets/cytoscape.esm-DWtAUG0r.js +321 -0
  270. package/out/web/assets/dagre-CnWJJM5f.js +1 -0
  271. package/out/web/assets/dagre-GXQ25YYZ-BOToydFu.js +4 -0
  272. package/out/web/assets/diagram-S7CK7UJ4-TMVaGQEJ.js +30 -0
  273. package/out/web/assets/diagram-UQ7AKVKN-C2JK-GP2.js +41 -0
  274. package/out/web/assets/diagram-VSXAHHWV-Cw8VSi2K.js +3 -0
  275. package/out/web/assets/diagram-VX7I27RA-DXp4fKk9.js +24 -0
  276. package/out/web/assets/diagram-Z3DM3KII-CzSicYiW.js +24 -0
  277. package/out/web/assets/dist-9ISJ7r-g.js +1 -0
  278. package/out/web/assets/dist-js-BV3mI7uw.js +1 -0
  279. package/out/web/assets/ebnfDiagram-PWID7BFC-Dqj-zqPu.js +1 -0
  280. package/out/web/assets/erDiagram-RLTQ6QDP-DZwFZAuD.js +99 -0
  281. package/out/web/assets/event-D7D-EBy9.js +1 -0
  282. package/out/web/assets/eventmodeling-NTZA5JFV-C0O-Lvgp.js +1 -0
  283. package/out/web/assets/flowDiagram-HODETNUW-uqCHJond.js +1 -0
  284. package/out/web/assets/ganttDiagram-EL5Y4UJY-Da4ULXTl.js +292 -0
  285. package/out/web/assets/gitGraph-4MIJSDKK-B9wNFZIP.js +1 -0
  286. package/out/web/assets/gitGraphDiagram-WWUBYQGX-RjrhB0MP.js +106 -0
  287. package/out/web/assets/graphlib-Bh9gHply.js +1 -0
  288. package/out/web/assets/index-BmpulIkg.js +168 -0
  289. package/out/web/assets/index-CkvBwhX_.css +1 -0
  290. package/out/web/assets/info-A6RAGUB7-B3dfCpeY.js +1 -0
  291. package/out/web/assets/infoDiagram-27XIBGKW-QVWkLVx7.js +2 -0
  292. package/out/web/assets/ishikawaDiagram-5VMMS53U-CLFNIRI9.js +70 -0
  293. package/out/web/assets/journeyDiagram-3NMN7TZE-fgOQadYF.js +139 -0
  294. package/out/web/assets/jsx-runtime-DmUwWVTj.js +1 -0
  295. package/out/web/assets/kanban-definition-UXKFOSKX-G3Q_9g9O.js +89 -0
  296. package/out/web/assets/katex-MCdQaEAD.js +257 -0
  297. package/out/web/assets/mermaid-parser.core-v3Jm7nco.js +7 -0
  298. package/out/web/assets/mermaid.core-DTEjLUA1.js +44 -0
  299. package/out/web/assets/mindmap-definition-YA3MSWOX-C_D42_fF.js +96 -0
  300. package/out/web/assets/modelManager-BPLycQrN.js +2 -0
  301. package/out/web/assets/oauthManager-BUK7ic7q.js +1 -0
  302. package/out/web/assets/packet-AYTQ26CC-B-R-SHlF.js +1 -0
  303. package/out/web/assets/pdf-Bcahc2yC.js +56 -0
  304. package/out/web/assets/pdf.worker.min-Dkey6ZUl.mjs +27 -0
  305. package/out/web/assets/pegDiagram-XKGWAZYB-Da2q_giz.js +1 -0
  306. package/out/web/assets/pie-WAS4IAKB-BC8F0N7-.js +1 -0
  307. package/out/web/assets/pieDiagram-E7YTZNPT-Iy9REJNC.js +39 -0
  308. package/out/web/assets/quadrantDiagram-AXDQQJYC-ztsiYw7h.js +7 -0
  309. package/out/web/assets/radar-RG4KPBEZ-B_1P8Z_z.js +1 -0
  310. package/out/web/assets/railroad-74A4TZTK-DuTqczSo.js +1 -0
  311. package/out/web/assets/railroad-abnf-HS5TGJTU-Df29WLmp.js +1 -0
  312. package/out/web/assets/railroad-ebnf-LZEXJU2U-ePFMo-qp.js +1 -0
  313. package/out/web/assets/railroad-peg-WCYAUIDC-DYXLW4_E.js +1 -0
  314. package/out/web/assets/railroadDiagram-O6MQD6OU-LStnZf2S.js +1 -0
  315. package/out/web/assets/requirementDiagram-BXWQKSXE-DmzonMH-.js +84 -0
  316. package/out/web/assets/rolldown-runtime-CNOWq4Kh.js +1 -0
  317. package/out/web/assets/rough.esm-CNnFptCR.js +1 -0
  318. package/out/web/assets/sankeyDiagram-P5KCCOFB-B8vjmUU1.js +40 -0
  319. package/out/web/assets/sequenceDiagram-WJ2MYXX4-CTnplOAX.js +162 -0
  320. package/out/web/assets/sizeCapture-INFHLROL-C8Q8DbV5.js +1 -0
  321. package/out/web/assets/src-CRDfRlHM.js +1 -0
  322. package/out/web/assets/stateDiagram-D77RDMKH-BFrIaLdI.js +1 -0
  323. package/out/web/assets/stateDiagram-v2-MP3YSRHH-uf3kdNW4.js +1 -0
  324. package/out/web/assets/studio-BBZQ_-QK.js +1 -0
  325. package/out/web/assets/swimlanes-42K2YHIH-BXGngUNU.js +1 -0
  326. package/out/web/assets/swimlanesDiagram-VR7AAH4N-Y8q5bQce.js +8 -0
  327. package/out/web/assets/timeline-definition-24CTP7MA-CegH7n43.js +120 -0
  328. package/out/web/assets/treeView-Q6P3EWNA-DTpJv2Tw.js +1 -0
  329. package/out/web/assets/treemap-WGGIJYW6-i8M9iJU6.js +1 -0
  330. package/out/web/assets/vennDiagram-4TSXK5OY-Dpzo1S8U.js +34 -0
  331. package/out/web/assets/wardley-WFR3VGLG-BrNsgtfw.js +1 -0
  332. package/out/web/assets/wardleyDiagram-VM6X3IG4-lQ92LFE1.js +78 -0
  333. package/out/web/assets/window-CkUOP7t0.js +1 -0
  334. package/out/web/assets/workspaces-SYPrmbgC.js +1 -0
  335. package/out/web/assets/xychartDiagram-S5SC5T6Z-BaOaEoBd.js +7 -0
  336. package/out/web/index-web.html +4 -3
  337. package/out/web/index.html +4 -3
  338. package/out/web/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
  339. package/out/web/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
  340. package/out/web/pdfjs/cmaps/78-H.bcmap +0 -0
  341. package/out/web/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
  342. package/out/web/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
  343. package/out/web/pdfjs/cmaps/78-V.bcmap +0 -0
  344. package/out/web/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
  345. package/out/web/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
  346. package/out/web/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
  347. package/out/web/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
  348. package/out/web/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
  349. package/out/web/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
  350. package/out/web/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
  351. package/out/web/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
  352. package/out/web/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
  353. package/out/web/pdfjs/cmaps/Add-H.bcmap +0 -0
  354. package/out/web/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
  355. package/out/web/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
  356. package/out/web/pdfjs/cmaps/Add-V.bcmap +0 -0
  357. package/out/web/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
  358. package/out/web/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
  359. package/out/web/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
  360. package/out/web/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
  361. package/out/web/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
  362. package/out/web/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
  363. package/out/web/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
  364. package/out/web/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  365. package/out/web/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
  366. package/out/web/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
  367. package/out/web/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
  368. package/out/web/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
  369. package/out/web/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
  370. package/out/web/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
  371. package/out/web/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  372. package/out/web/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
  373. package/out/web/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
  374. package/out/web/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
  375. package/out/web/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
  376. package/out/web/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
  377. package/out/web/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
  378. package/out/web/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
  379. package/out/web/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  380. package/out/web/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
  381. package/out/web/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
  382. package/out/web/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
  383. package/out/web/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  384. package/out/web/pdfjs/cmaps/B5-H.bcmap +0 -0
  385. package/out/web/pdfjs/cmaps/B5-V.bcmap +0 -0
  386. package/out/web/pdfjs/cmaps/B5pc-H.bcmap +0 -0
  387. package/out/web/pdfjs/cmaps/B5pc-V.bcmap +0 -0
  388. package/out/web/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
  389. package/out/web/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
  390. package/out/web/pdfjs/cmaps/CNS1-H.bcmap +0 -0
  391. package/out/web/pdfjs/cmaps/CNS1-V.bcmap +0 -0
  392. package/out/web/pdfjs/cmaps/CNS2-H.bcmap +0 -0
  393. package/out/web/pdfjs/cmaps/CNS2-V.bcmap +3 -0
  394. package/out/web/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
  395. package/out/web/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
  396. package/out/web/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
  397. package/out/web/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
  398. package/out/web/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
  399. package/out/web/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
  400. package/out/web/pdfjs/cmaps/EUC-H.bcmap +0 -0
  401. package/out/web/pdfjs/cmaps/EUC-V.bcmap +0 -0
  402. package/out/web/pdfjs/cmaps/Ext-H.bcmap +0 -0
  403. package/out/web/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
  404. package/out/web/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
  405. package/out/web/pdfjs/cmaps/Ext-V.bcmap +0 -0
  406. package/out/web/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
  407. package/out/web/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
  408. package/out/web/pdfjs/cmaps/GB-H.bcmap +4 -0
  409. package/out/web/pdfjs/cmaps/GB-V.bcmap +0 -0
  410. package/out/web/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
  411. package/out/web/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
  412. package/out/web/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
  413. package/out/web/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
  414. package/out/web/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
  415. package/out/web/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
  416. package/out/web/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
  417. package/out/web/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
  418. package/out/web/pdfjs/cmaps/GBT-H.bcmap +0 -0
  419. package/out/web/pdfjs/cmaps/GBT-V.bcmap +0 -0
  420. package/out/web/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
  421. package/out/web/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
  422. package/out/web/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
  423. package/out/web/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
  424. package/out/web/pdfjs/cmaps/H.bcmap +0 -0
  425. package/out/web/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
  426. package/out/web/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
  427. package/out/web/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
  428. package/out/web/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
  429. package/out/web/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
  430. package/out/web/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
  431. package/out/web/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
  432. package/out/web/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
  433. package/out/web/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
  434. package/out/web/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
  435. package/out/web/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
  436. package/out/web/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
  437. package/out/web/pdfjs/cmaps/Hankaku.bcmap +0 -0
  438. package/out/web/pdfjs/cmaps/Hiragana.bcmap +0 -0
  439. package/out/web/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
  440. package/out/web/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
  441. package/out/web/pdfjs/cmaps/KSC-H.bcmap +0 -0
  442. package/out/web/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
  443. package/out/web/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
  444. package/out/web/pdfjs/cmaps/KSC-V.bcmap +0 -0
  445. package/out/web/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
  446. package/out/web/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  447. package/out/web/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  448. package/out/web/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
  449. package/out/web/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
  450. package/out/web/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
  451. package/out/web/pdfjs/cmaps/Katakana.bcmap +0 -0
  452. package/out/web/pdfjs/cmaps/LICENSE +36 -0
  453. package/out/web/pdfjs/cmaps/NWP-H.bcmap +0 -0
  454. package/out/web/pdfjs/cmaps/NWP-V.bcmap +0 -0
  455. package/out/web/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
  456. package/out/web/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
  457. package/out/web/pdfjs/cmaps/Roman.bcmap +0 -0
  458. package/out/web/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  459. package/out/web/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  460. package/out/web/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  461. package/out/web/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  462. package/out/web/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  463. package/out/web/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  464. package/out/web/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  465. package/out/web/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  466. package/out/web/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
  467. package/out/web/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
  468. package/out/web/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
  469. package/out/web/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
  470. package/out/web/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
  471. package/out/web/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
  472. package/out/web/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
  473. package/out/web/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
  474. package/out/web/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  475. package/out/web/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  476. package/out/web/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  477. package/out/web/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  478. package/out/web/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  479. package/out/web/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  480. package/out/web/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  481. package/out/web/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  482. package/out/web/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  483. package/out/web/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  484. package/out/web/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  485. package/out/web/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  486. package/out/web/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  487. package/out/web/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  488. package/out/web/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  489. package/out/web/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  490. package/out/web/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  491. package/out/web/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  492. package/out/web/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  493. package/out/web/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  494. package/out/web/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  495. package/out/web/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  496. package/out/web/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  497. package/out/web/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
  498. package/out/web/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
  499. package/out/web/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
  500. package/out/web/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
  501. package/out/web/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
  502. package/out/web/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
  503. package/out/web/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
  504. package/out/web/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
  505. package/out/web/pdfjs/cmaps/V.bcmap +0 -0
  506. package/out/web/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
  507. package/out/web/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
  508. package/out/web/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
  509. package/out/web/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
  510. package/out/web/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  511. package/out/web/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
  512. package/out/web/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
  513. package/out/web/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
  514. package/out/web/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  515. package/out/web/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
  516. package/out/web/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
  517. package/out/web/pdfjs/standard_fonts/LICENSE_FOXIT +27 -0
  518. package/out/web/pdfjs/standard_fonts/LICENSE_LIBERATION +363 -0
  519. package/out/web/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
  520. package/out/web/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  521. package/out/web/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
  522. package/out/web/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
  523. package/out/web/pdfjs/wasm/LICENSE_JBIG2 +196 -0
  524. package/out/web/pdfjs/wasm/LICENSE_OPENJPEG +39 -0
  525. package/out/web/pdfjs/wasm/LICENSE_PDFJS_JBIG2 +13 -0
  526. package/out/web/pdfjs/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
  527. package/out/web/pdfjs/wasm/LICENSE_PDFJS_QCMS +19 -0
  528. package/out/web/pdfjs/wasm/LICENSE_QCMS +21 -0
  529. package/out/web/pdfjs/wasm/jbig2.wasm +0 -0
  530. package/out/web/pdfjs/wasm/jbig2_nowasm_fallback.js +15 -0
  531. package/out/web/pdfjs/wasm/openjpeg.wasm +0 -0
  532. package/out/web/pdfjs/wasm/openjpeg_nowasm_fallback.js +17 -0
  533. package/out/web/pdfjs/wasm/qcms_bg.wasm +0 -0
  534. package/out/web/pdfjs/wasm/quickjs-eval.js +16 -0
  535. package/out/web/pdfjs/wasm/quickjs-eval.wasm +0 -0
  536. package/package.json +74 -23
  537. package/shared-modules/.github/workflows/ci.yml +120 -0
  538. package/shared-modules/.github/workflows/update.yaml +28 -0
  539. package/slash-commands.json +14 -3
  540. package/src/bin/auto-build.js +66 -0
  541. package/src/bin/desktop.js +113 -0
  542. package/src/bin/desktop.test.js +113 -0
  543. package/src/bin/index.js +21 -25
  544. package/src/bin/index.test.js +89 -0
  545. package/src/bin/measure-effects.mjs +53 -0
  546. package/src/bin/package.test.js +28 -0
  547. package/src/bin/pdfjs-assets.mjs +31 -0
  548. package/src/bin/release-notes.test.js +84 -0
  549. package/src/bin/styles.test.js +20 -0
  550. package/src/bin/web.js +5 -0
  551. package/src/bin/web.test.js +39 -0
  552. package/src/renderer/index.html +0 -2
  553. package/src/renderer/node_modules/.vite/vitest/CACHEDIR.TAG +3 -0
  554. package/src/renderer/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  555. package/src/renderer/shared/agentProgress.ts +42 -0
  556. package/src/renderer/shared/components/Settings/AgentsTab.tsx +76 -11
  557. package/src/renderer/shared/components/Settings/AudioTab.tsx +8 -7
  558. package/src/renderer/shared/components/Settings/AutomationTab.tsx +59 -2
  559. package/src/renderer/shared/components/Settings/AvatarCropModal.tsx +18 -12
  560. package/src/renderer/shared/components/Settings/CustomProviderLogoPicker.test.tsx +65 -0
  561. package/src/renderer/shared/components/Settings/CustomProviderLogoPicker.tsx +456 -0
  562. package/src/renderer/shared/components/Settings/GeneralTab.tsx +72 -113
  563. package/src/renderer/shared/components/Settings/MemoryTab.test.tsx +37 -0
  564. package/src/renderer/shared/components/Settings/MemoryTab.tsx +71 -31
  565. package/src/renderer/shared/components/Settings/NotificationsTab.test.tsx +15 -0
  566. package/src/renderer/shared/components/Settings/NotificationsTab.tsx +84 -0
  567. package/src/renderer/shared/components/Settings/PluginsTab.tsx +101 -24
  568. package/src/renderer/shared/components/Settings/ProfileTab.tsx +1 -1
  569. package/src/renderer/shared/components/Settings/SettingsWindow.tsx +796 -0
  570. package/src/renderer/shared/components/Settings/ThemeTab.tsx +31 -11
  571. package/src/renderer/shared/components/activity/AgentActivityDrawer.tsx +220 -0
  572. package/src/renderer/shared/components/activity/AgentActivityTable.tsx +340 -0
  573. package/src/renderer/shared/components/activity/McpToolResults.tsx +118 -0
  574. package/src/renderer/shared/components/activity/PlanChecklistWidget.tsx +77 -0
  575. package/src/renderer/shared/components/activity/RunSummaryDashboard.test.tsx +127 -0
  576. package/src/renderer/shared/components/activity/RunSummaryDashboard.tsx +222 -0
  577. package/src/renderer/shared/components/activity/SubagentDagView.test.ts +123 -0
  578. package/src/renderer/shared/components/activity/SubagentDagView.tsx +420 -0
  579. package/src/renderer/shared/components/activity/SubagentStatusStrip.test.tsx +82 -0
  580. package/src/renderer/shared/components/activity/SubagentStatusStrip.tsx +107 -0
  581. package/src/renderer/shared/components/activity/ViewedImages.tsx +140 -0
  582. package/src/renderer/shared/components/app/AuthGate.tsx +227 -0
  583. package/src/renderer/shared/components/app/ChunkErrorBoundary.tsx +186 -0
  584. package/src/renderer/shared/components/app/CommandPalette.tsx +593 -0
  585. package/src/renderer/shared/components/app/DashboardSidebar.tsx +1230 -0
  586. package/src/renderer/shared/components/app/DesktopTitlebar.tsx +354 -0
  587. package/src/renderer/shared/components/app/ErrorNotice.tsx +29 -0
  588. package/src/renderer/shared/components/app/MintDashboard.tsx +2182 -0
  589. package/src/renderer/shared/components/app/ModalErrorBoundary.tsx +127 -0
  590. package/src/renderer/shared/components/cards/CalculationCard.tsx +86 -0
  591. package/src/renderer/shared/components/cards/ImageGenCard.tsx +146 -0
  592. package/src/renderer/shared/components/cards/ImageSearchCard.tsx +145 -0
  593. package/src/renderer/shared/components/cards/MermaidCard.tsx +283 -0
  594. package/src/renderer/shared/components/cards/StockCard.tsx +152 -0
  595. package/src/renderer/shared/components/cards/ToolResultCards.tsx +86 -0
  596. package/src/renderer/shared/components/cards/UiFeatureCard.tsx +267 -0
  597. package/src/renderer/shared/components/cards/UiGridCard.tsx +188 -0
  598. package/src/renderer/shared/components/cards/WeatherCard.tsx +224 -0
  599. package/src/renderer/shared/components/chat/ApprovalCard.test.tsx +24 -0
  600. package/src/renderer/shared/components/chat/ApprovalCard.tsx +347 -0
  601. package/src/renderer/shared/components/chat/ChatCodeBlock.tsx +109 -0
  602. package/src/renderer/shared/components/chat/ChatMessageItem.test.tsx +145 -0
  603. package/src/renderer/shared/components/chat/ChatMessageItem.tsx +242 -0
  604. package/src/renderer/shared/components/chat/ChatPanel.test.tsx +31 -0
  605. package/src/renderer/shared/components/chat/ChatPanel.tsx +1999 -0
  606. package/src/renderer/shared/components/chat/CollapsiblePasteInput.tsx +90 -0
  607. package/src/renderer/shared/components/chat/ContextCompactionStatus.tsx +17 -0
  608. package/src/renderer/shared/components/chat/DiffReviewModal.tsx +565 -0
  609. package/src/renderer/shared/components/chat/GeminiLiveOverlay.css +86 -0
  610. package/src/renderer/shared/components/chat/GeminiLiveOverlay.test.tsx +24 -0
  611. package/src/renderer/shared/components/chat/GeminiLiveOverlay.tsx +112 -0
  612. package/src/renderer/shared/components/chat/ModelSelectorPopover.tsx +936 -0
  613. package/src/renderer/shared/components/chat/QueuedMessagesBanner.test.tsx +89 -0
  614. package/src/renderer/shared/components/chat/QueuedMessagesBanner.tsx +201 -0
  615. package/src/renderer/shared/components/chat/RewindModal.tsx +414 -0
  616. package/src/renderer/shared/components/chat/SlashChoicePanel.tsx +88 -0
  617. package/src/renderer/shared/components/chat/SlashSuggestions.test.tsx +33 -0
  618. package/src/renderer/shared/components/chat/SlashSuggestions.tsx +346 -0
  619. package/src/renderer/shared/components/chat/SourcesBlock.tsx +435 -0
  620. package/src/renderer/shared/components/chat/ThinkingBlock.tsx +102 -0
  621. package/src/renderer/shared/components/chat/TurnFileChanges.test.tsx +86 -0
  622. package/src/renderer/shared/components/chat/TurnFileChanges.tsx +430 -0
  623. package/src/renderer/shared/components/chat/VirtualChatHistory.tsx +82 -0
  624. package/src/renderer/shared/components/chat/VoicePill.css +85 -0
  625. package/src/renderer/shared/components/chat/VoicePill.d.ts +12 -0
  626. package/src/renderer/shared/components/chat/VoicePill.jsx +191 -0
  627. package/src/renderer/shared/components/chat/VoicePill.test.tsx +22 -0
  628. package/src/renderer/shared/components/extensions/CliSessionsView.test.tsx +125 -0
  629. package/src/renderer/shared/components/extensions/CliSessionsView.tsx +545 -0
  630. package/src/renderer/shared/components/extensions/LinkedFoldersView.tsx +614 -0
  631. package/src/renderer/shared/components/extensions/McpRegistryPicker.tsx +302 -0
  632. package/src/renderer/shared/components/extensions/McpServersView.tsx +1040 -0
  633. package/src/renderer/shared/components/extensions/McpToolAllowlist.tsx +182 -0
  634. package/src/renderer/shared/components/extensions/ModUi.test.tsx +70 -0
  635. package/src/renderer/shared/components/extensions/ModsPanel.tsx +208 -0
  636. package/src/renderer/shared/components/extensions/PluginsView.tsx +325 -0
  637. package/src/renderer/shared/components/extensions/ScheduledTasksView.tsx +614 -0
  638. package/src/renderer/shared/components/extensions/SkillsView.test.tsx +31 -0
  639. package/src/renderer/shared/components/extensions/SkillsView.tsx +363 -0
  640. package/src/renderer/shared/components/studio/ImageStudioPanel.tsx +740 -0
  641. package/src/renderer/shared/components/studio/LibraryItemCard.tsx +72 -0
  642. package/src/renderer/shared/components/studio/LibraryPage.tsx +165 -0
  643. package/src/renderer/shared/components/studio/LibraryPreview.tsx +59 -0
  644. package/src/renderer/shared/components/studio/VeoStudioPanel.tsx +708 -0
  645. package/src/renderer/shared/components/ui/GlideSelect.css +139 -0
  646. package/src/renderer/shared/components/ui/ProviderBrandIcon.test.tsx +67 -0
  647. package/src/renderer/shared/components/ui/ProviderBrandIcon.tsx +167 -0
  648. package/src/renderer/shared/components/ui/README.md +52 -0
  649. package/src/renderer/shared/components/ui/SelectField.test.tsx +27 -0
  650. package/src/renderer/shared/components/ui/SelectField.tsx +506 -0
  651. package/src/renderer/shared/components/ui/button.tsx +37 -0
  652. package/src/renderer/shared/components/ui/error-recovery.css +35 -0
  653. package/src/renderer/shared/components/ui/error-recovery.tsx +35 -0
  654. package/src/renderer/shared/components/ui/voice-powered-orb.css +6 -0
  655. package/src/renderer/shared/components/ui/voice-powered-orb.tsx +374 -0
  656. package/src/renderer/shared/components/workspace/ArtifactPreviewPanel.tsx +700 -0
  657. package/src/renderer/shared/components/workspace/BackgroundTerminals.test.tsx +63 -0
  658. package/src/renderer/shared/components/workspace/BackgroundTerminals.tsx +212 -0
  659. package/src/renderer/shared/components/workspace/CodeReviewPage.tsx +707 -0
  660. package/src/renderer/shared/components/workspace/GitBranchSelector.tsx +442 -0
  661. package/src/renderer/shared/components/workspace/SessionSources.tsx +113 -0
  662. package/src/renderer/shared/components/workspace/TerminalDock.tsx +244 -0
  663. package/src/renderer/shared/components/workspace/ToolSurfacePage.test.tsx +68 -0
  664. package/src/renderer/shared/components/workspace/ToolSurfacePage.tsx +819 -0
  665. package/src/renderer/shared/components/workspace/ToolsPanelToggle.tsx +13 -0
  666. package/src/renderer/shared/components/workspace/WorkspaceFileInfo.tsx +28 -0
  667. package/src/renderer/shared/components/workspace/WorkspaceMediaPreview.tsx +17 -0
  668. package/src/renderer/shared/components/workspace/WorkspacePaneResizer.tsx +92 -0
  669. package/src/renderer/shared/components/workspace/WorkspacePdfPreview.tsx +89 -0
  670. package/src/renderer/shared/components/workspace/WorkspacePreviewActions.test.tsx +89 -0
  671. package/src/renderer/shared/components/workspace/WorkspacePreviewActions.tsx +19 -0
  672. package/src/renderer/shared/components/workspace/WorkspaceSelector.tsx +246 -0
  673. package/src/renderer/shared/components/workspace/background-terminals.css +292 -0
  674. package/src/renderer/shared/components/workspace/workspace-selector.css +330 -0
  675. package/src/renderer/shared/constants/config.ts +37 -1
  676. package/src/renderer/shared/constants/slashCommands.ts +1 -1
  677. package/src/renderer/shared/conversation/coordinator.test.ts +46 -0
  678. package/src/renderer/shared/conversation/coordinator.ts +50 -2
  679. package/src/renderer/shared/conversation/lifecycle.test.ts +524 -0
  680. package/src/renderer/shared/conversation/lifecycle.ts +575 -0
  681. package/src/renderer/shared/conversation/projectNavigation.test.ts +123 -0
  682. package/src/renderer/shared/conversation/projectNavigation.ts +50 -0
  683. package/src/renderer/shared/conversation/sourcesTransport.ts +27 -0
  684. package/src/renderer/shared/conversation/syncView.test.ts +1 -34
  685. package/src/renderer/shared/conversation/syncView.ts +0 -37
  686. package/src/renderer/shared/conversation/transport.test.ts +183 -0
  687. package/src/renderer/shared/conversation/transport.ts +201 -0
  688. package/src/renderer/shared/conversation/useConversationCoordinator.ts +67 -79
  689. package/src/renderer/shared/css/agent-observability.css +90 -30
  690. package/src/renderer/shared/css/auth-gate.css +112 -13
  691. package/src/renderer/shared/css/chat-ui-cards.css +35 -35
  692. package/src/renderer/shared/css/code-review.css +119 -86
  693. package/src/renderer/shared/css/code-sessions.css +37 -10
  694. package/src/renderer/shared/css/collapsed-paste.css +35 -0
  695. package/src/renderer/shared/css/effects.css +15 -0
  696. package/src/renderer/shared/css/error-notice.css +60 -0
  697. package/src/renderer/shared/css/file-changes.css +167 -5
  698. package/src/renderer/shared/css/library.css +476 -0
  699. package/src/renderer/shared/css/management-views.css +216 -37
  700. package/src/renderer/shared/css/mcp-results.css +54 -0
  701. package/src/renderer/shared/css/model-selector.css +163 -105
  702. package/src/renderer/shared/css/mods.css +77 -0
  703. package/src/renderer/shared/css/notification-notice.css +28 -0
  704. package/src/renderer/shared/css/queued-messages.css +221 -0
  705. package/src/renderer/shared/css/session-sources.css +28 -0
  706. package/src/renderer/shared/css/settings/agents.css +2 -2
  707. package/src/renderer/shared/css/settings/base.css +1260 -0
  708. package/src/renderer/shared/css/settings/general.css +384 -92
  709. package/src/renderer/shared/css/settings/memory.css +154 -0
  710. package/src/renderer/shared/css/settings/notifications.css +11 -0
  711. package/src/renderer/shared/css/settings/plugins.css +8 -8
  712. package/src/renderer/shared/css/settings/theme.css +49 -32
  713. package/src/renderer/shared/css/slash-choice.css +95 -0
  714. package/src/renderer/shared/css/slash-suggestions.css +68 -0
  715. package/src/renderer/shared/css/sources-block.css +91 -0
  716. package/src/renderer/shared/css/thinking-status.css +46 -0
  717. package/src/renderer/shared/css/tools-panel.css +7 -0
  718. package/src/renderer/shared/css/ui-tailwind.css +19 -0
  719. package/src/renderer/shared/css/viewed-images.css +104 -0
  720. package/src/renderer/shared/css/workspace-file-info.css +12 -0
  721. package/src/renderer/shared/css/workspace-media-preview.css +13 -0
  722. package/src/renderer/shared/env.d.ts +9 -0
  723. package/src/renderer/shared/fonts.css +46 -0
  724. package/src/renderer/shared/fonts.ts +3 -12
  725. package/src/renderer/shared/lib/utils.ts +6 -0
  726. package/src/renderer/shared/library/controller.test.ts +61 -0
  727. package/src/renderer/shared/library/controller.ts +57 -0
  728. package/src/renderer/shared/library/transport.test.ts +26 -0
  729. package/src/renderer/shared/library/transport.ts +60 -0
  730. package/src/renderer/shared/library/useLibraryFile.ts +38 -0
  731. package/src/renderer/shared/mods.ts +58 -0
  732. package/src/renderer/shared/platform.test.ts +200 -1
  733. package/src/renderer/shared/platform.ts +55 -4
  734. package/src/renderer/shared/speech/player.ts +160 -0
  735. package/src/renderer/shared/speech/types.ts +11 -0
  736. package/src/renderer/shared/theme/themeManager.test.ts +63 -0
  737. package/src/renderer/shared/theme/themeManager.ts +20 -5
  738. package/src/renderer/shared/theme/themes.ts +17 -4
  739. package/src/renderer/shared/theme/tokens.css +448 -51
  740. package/src/renderer/shared/types.ts +111 -2
  741. package/src/renderer/shared/utils/agentActivity.test.ts +234 -0
  742. package/src/renderer/shared/utils/agentActivity.ts +221 -32
  743. package/src/renderer/shared/utils/approval.tsx +7 -0
  744. package/src/renderer/shared/utils/artifactBrowser.test.ts +80 -0
  745. package/src/renderer/shared/utils/artifactBrowser.ts +41 -0
  746. package/src/renderer/shared/utils/artifacts.ts +55 -0
  747. package/src/renderer/shared/utils/contextCompaction.test.tsx +48 -0
  748. package/src/renderer/shared/utils/contextCompaction.ts +21 -0
  749. package/src/renderer/shared/utils/effectVisibility.ts +9 -0
  750. package/src/renderer/shared/utils/externalLinks.ts +91 -0
  751. package/src/renderer/shared/utils/lazyWithRetry.ts +13 -0
  752. package/src/renderer/shared/utils/markdown.tsx +172 -38
  753. package/src/renderer/shared/utils/markdown.webImages.test.tsx +124 -2
  754. package/src/renderer/shared/utils/mcpResults.test.tsx +114 -0
  755. package/src/renderer/shared/utils/modViewport.ts +7 -0
  756. package/src/renderer/shared/utils/nativeRecordingSession.test.ts +61 -0
  757. package/src/renderer/shared/utils/nativeRecordingSession.ts +46 -0
  758. package/src/renderer/shared/utils/notificationSettings.test.ts +14 -0
  759. package/src/renderer/shared/utils/notificationSettings.ts +23 -0
  760. package/src/renderer/shared/utils/notifications.test.ts +51 -0
  761. package/src/renderer/shared/utils/notifications.ts +54 -0
  762. package/src/renderer/shared/utils/pastedText.test.ts +20 -0
  763. package/src/renderer/shared/utils/pastedText.ts +13 -0
  764. package/src/renderer/shared/utils/pdfRange.ts +16 -0
  765. package/src/renderer/shared/utils/previewObjectUrls.ts +20 -0
  766. package/src/renderer/shared/utils/progressCache.test.ts +32 -0
  767. package/src/renderer/shared/utils/sessionSources.test.ts +71 -0
  768. package/src/renderer/shared/utils/sessionSources.ts +36 -0
  769. package/src/renderer/shared/utils/slashCommandProcessor.ts +5 -2
  770. package/src/renderer/shared/utils/sourceAttachments.ts +28 -0
  771. package/src/renderer/shared/utils/speech.ts +65 -9
  772. package/src/renderer/shared/utils/syntaxHighlight.test.tsx +22 -0
  773. package/src/renderer/shared/utils/syntaxHighlight.tsx +26 -0
  774. package/src/renderer/shared/utils/useGeminiLiveVoice.ts +49 -5
  775. package/src/renderer/shared/utils/useLatestCallback.ts +9 -0
  776. package/src/renderer/shared/utils/useNativeVoiceInput.ts +95 -73
  777. package/src/renderer/shared/utils/useSessionSources.ts +37 -0
  778. package/src/renderer/shared/utils/viewedImages.test.ts +129 -0
  779. package/src/renderer/shared/utils/viewedImages.ts +97 -0
  780. package/src/renderer/shared/utils/workspaceDrag.ts +30 -0
  781. package/src/renderer/shared/utils/workspaceImage.ts +17 -0
  782. package/src/renderer/shared/utils/workspaceListPreferences.test.ts +64 -0
  783. package/src/renderer/shared/utils/workspaceListPreferences.ts +54 -0
  784. package/src/renderer/shared/utils/workspaceMedia.ts +41 -0
  785. package/src/renderer/shared/utils/workspacePane.test.ts +33 -0
  786. package/src/renderer/shared/utils/workspacePane.ts +20 -0
  787. package/src/renderer/shared/utils/workspacePreview.test.ts +169 -0
  788. package/src/renderer/shared/utils/workspacePreview.ts +47 -0
  789. package/src/renderer/shared/utils/workspaceSnapshot.test.ts +49 -0
  790. package/src/renderer/shared/utils/workspaceSnapshot.ts +26 -0
  791. package/src/renderer/shared/utils/workspaces.ts +11 -0
  792. package/src/renderer/shared/workspaceUndo.ts +88 -0
  793. package/src/renderer/src/App.tsx +15 -9
  794. package/src/renderer/src/components/ChatPanel.tsx +1 -1
  795. package/src/renderer/src/components/DashboardSidebar.tsx +2 -2
  796. package/src/renderer/src/components/ImageStudioPanel.tsx +1 -1
  797. package/src/renderer/src/components/LiveTranslateControls.tsx +65 -0
  798. package/src/renderer/src/components/MintDashboard.tsx +1 -1
  799. package/src/renderer/src/components/ProactiveGlow.tsx +1 -1
  800. package/src/renderer/src/components/ScreenPicker.css +67 -30
  801. package/src/renderer/src/components/ScreenPicker.tsx +201 -60
  802. package/src/renderer/src/components/SettingsWindow.tsx +6 -825
  803. package/src/renderer/src/components/SpotlightWindow.tsx +4 -32
  804. package/src/renderer/src/components/VeoStudioPanel.tsx +1 -1
  805. package/src/renderer/src/components/WorkspacePanel.tsx +261 -38
  806. package/src/renderer/src/components/browser-shell.css +27 -27
  807. package/src/renderer/src/components/browser-suggestions-popup.css +9 -9
  808. package/src/renderer/src/components/liveTranslateFrames.test.ts +26 -5
  809. package/src/renderer/src/components/liveTranslateFrames.ts +18 -7
  810. package/src/renderer/src/components/liveTranslateLanguage.ts +6 -0
  811. package/src/renderer/src/css/app-shell.css +69 -234
  812. package/src/renderer/src/css/chat.css +207 -494
  813. package/src/renderer/src/css/desktop-tools.css +6 -139
  814. package/src/renderer/src/css/misc.css +0 -52
  815. package/src/renderer/src/css/sidebar-workspace.css +171 -94
  816. package/src/renderer/src/css/spotlight.css +2 -2
  817. package/src/renderer/src/css/tool-surfaces.css +387 -61
  818. package/src/renderer/src/css/widget.css +7 -6
  819. package/src/renderer/src/env.d.ts +14 -9
  820. package/src/renderer/src/index.css +16 -64
  821. package/src/renderer/src/main.tsx +2 -1
  822. package/src/renderer/src/proactiveSuggestions.ts +29 -0
  823. package/src/renderer/src/tauri.ts +195 -337
  824. package/src/renderer/src/voiceInput.ts +5 -2
  825. package/src/renderer/src-web/App.tsx +6 -8
  826. package/src/renderer/src-web/components/ChatPanel.tsx +1 -1
  827. package/src/renderer/src-web/components/DashboardSidebar.tsx +2 -2
  828. package/src/renderer/src-web/components/ImageStudioPanel.tsx +1 -1
  829. package/src/renderer/src-web/components/MintDashboard.tsx +1 -1
  830. package/src/renderer/src-web/components/PullToRefresh.tsx +1 -1
  831. package/src/renderer/src-web/components/SettingsWindow.tsx +6 -846
  832. package/src/renderer/src-web/components/VeoStudioPanel.tsx +1 -1
  833. package/src/renderer/src-web/css/app-shell.css +40 -221
  834. package/src/renderer/src-web/css/chat.css +207 -494
  835. package/src/renderer/src-web/css/misc.css +0 -52
  836. package/src/renderer/src-web/css/mobile.css +15 -14
  837. package/src/renderer/src-web/css/sidebar-workspace.css +29 -95
  838. package/src/renderer/src-web/env.d.ts +15 -12
  839. package/src/renderer/src-web/index.css +16 -64
  840. package/src/renderer/src-web/main.tsx +2 -1
  841. package/src/renderer/src-web/proactiveSuggestions.ts +3 -0
  842. package/src/renderer/src-web/tauri.ts +194 -361
  843. package/src/renderer/tests/backgroundTerminals.browser.html +81 -0
  844. package/src/renderer/tests/browserArtifacts.browser.html +1 -0
  845. package/src/renderer/tests/browserArtifacts.browser.tsx +68 -0
  846. package/src/renderer/tests/chatEscape.browser.html +1 -0
  847. package/src/renderer/tests/chatEscape.browser.tsx +25 -0
  848. package/src/renderer/tests/chatPanelFixture.ts +23 -0
  849. package/src/renderer/tests/chatPerformance.browser.html +71 -0
  850. package/src/renderer/tests/cliSessions.browser.html +82 -0
  851. package/src/renderer/tests/collapsedPaste.browser.html +70 -0
  852. package/src/renderer/tests/composerMenus.browser.html +116 -0
  853. package/src/renderer/tests/contextCompaction.browser.html +17 -0
  854. package/src/renderer/tests/conversationLifecycle.browser.html +70 -0
  855. package/src/renderer/tests/effectsPerformance.browser.html +13 -0
  856. package/src/renderer/tests/errorRecovery.browser.html +21 -0
  857. package/src/renderer/tests/fixtures/preview.webm +0 -0
  858. package/src/renderer/tests/glideSelect.browser.html +70 -0
  859. package/src/renderer/tests/glideSelect.preview.html +27 -0
  860. package/src/renderer/tests/library.browser.html +1 -0
  861. package/src/renderer/tests/library.browser.tsx +78 -0
  862. package/src/renderer/tests/liveOrb.browser.html +49 -0
  863. package/src/renderer/tests/liveVoice.browser.html +29 -0
  864. package/src/renderer/tests/mediaFixtures.ts +32 -0
  865. package/src/renderer/tests/modInput.browser.html +22 -0
  866. package/src/renderer/tests/sessionSources.browser.html +1 -0
  867. package/src/renderer/tests/sessionSources.browser.tsx +168 -0
  868. package/src/renderer/tests/skills.browser.html +24 -0
  869. package/src/renderer/tests/toolsPanel.browser.html +1 -0
  870. package/src/renderer/tests/toolsPanel.browser.tsx +113 -0
  871. package/src/renderer/tests/viewedImages.browser.html +1 -0
  872. package/src/renderer/tests/viewedImages.browser.tsx +93 -0
  873. package/src/renderer/tests/voiceDictation.browser.html +101 -0
  874. package/src/renderer/tests/voicePill.browser.html +80 -0
  875. package/src/renderer/tests/voicePill.preview.html +34 -0
  876. package/src/renderer/tests/webSources.browser.html +1 -0
  877. package/src/renderer/tests/webSources.browser.tsx +2 -0
  878. package/src/renderer/tests/workspaceDrop.browser.html +1 -0
  879. package/src/renderer/tests/workspaceDrop.browser.tsx +183 -0
  880. package/src/renderer/tests/workspaceExpansion.browser.html +1 -0
  881. package/src/renderer/tests/workspaceExpansion.browser.tsx +66 -0
  882. package/src/renderer/tests/workspaceRemoval.browser.html +66 -0
  883. package/src/renderer/tests/workspaceUndo.browser.html +100 -0
  884. package/src-tauri/Cargo.toml +40 -0
  885. package/src-tauri/build.rs +3 -0
  886. package/src-tauri/src/app/lifecycle.rs +320 -0
  887. package/src-tauri/src/app/mod.rs +4 -0
  888. package/src-tauri/src/app/shortcuts.rs +40 -0
  889. package/src-tauri/src/app/tray.rs +52 -0
  890. package/src-tauri/src/background/events.rs +70 -0
  891. package/src-tauri/src/background/headless.rs +230 -0
  892. package/src-tauri/src/background/mod.rs +4 -0
  893. package/src-tauri/src/background/proactive.rs +262 -0
  894. package/src-tauri/src/commands/approvals.rs +20 -0
  895. package/src-tauri/src/commands/auth.rs +127 -0
  896. package/src-tauri/src/commands/conversation.rs +668 -0
  897. package/src-tauri/src/commands/integrations.rs +163 -0
  898. package/src-tauri/src/commands/media.rs +186 -0
  899. package/src-tauri/src/commands/mod.rs +11 -0
  900. package/src-tauri/src/commands/mods.rs +6 -0
  901. package/src-tauri/src/commands/settings.rs +141 -0
  902. package/src-tauri/src/commands/voice.rs +153 -0
  903. package/src-tauri/src/commands/workspace.rs +539 -0
  904. package/src-tauri/src/lib.rs +10 -0
  905. package/src-tauri/src/main.rs +3 -0
  906. package/src-tauri/src/native/actions.rs +206 -0
  907. package/src-tauri/src/native/browser.rs +252 -0
  908. package/src-tauri/src/native/capture.rs +695 -0
  909. package/src-tauri/src/native/discord_rpc.rs +99 -0
  910. package/src-tauri/src/native/integrations.rs +126 -0
  911. package/src-tauri/src/native/mod.rs +12 -0
  912. package/src-tauri/src/native/notifications.rs +51 -0
  913. package/src-tauri/src/native/plugins.rs +14 -0
  914. package/src-tauri/src/native/system.rs +250 -0
  915. package/src-tauri/src/native/terminal.rs +201 -0
  916. package/src-tauri/src/native/updater.rs +148 -0
  917. package/src-tauri/src/native/windows.rs +143 -0
  918. package/tsconfig.json +17 -1
  919. package/vite.config.ts +5 -1
  920. package/vite.config.web.ts +6 -0
  921. package/.cargo/config.toml +0 -13
  922. package/.claude/settings.local.json +0 -182
  923. package/.codex +0 -0
  924. package/CLAUDE.md +0 -102
  925. package/ROADMAP.md +0 -30
  926. package/mint-presentation-demo.mp4 +0 -0
  927. package/out/web/Live2DCubismCore.js +0 -9
  928. package/out/web/assets/CliSessionsView-BxUVWEEL.js +0 -1
  929. package/out/web/assets/CliSessionsView-CBDTXuQv.css +0 -1
  930. package/out/web/assets/CodeReviewPage-DkMgfcos.css +0 -1
  931. package/out/web/assets/CodeReviewPage-jKlmLJwT.js +0 -3
  932. package/out/web/assets/CommandPalette-DnwPA5hy.js +0 -1
  933. package/out/web/assets/ImageStudioPanel-BR1XFwhR.js +0 -1
  934. package/out/web/assets/LinkedFoldersView-bi-CWQ-I.js +0 -1
  935. package/out/web/assets/McpRegistryPicker-D5tEFnyq.js +0 -1
  936. package/out/web/assets/McpServersView-BGG1dhFM.js +0 -1
  937. package/out/web/assets/MintDashboard-BIglDEWX.js +0 -20
  938. package/out/web/assets/MintDashboard-DSMywSgs.css +0 -1
  939. package/out/web/assets/ModelPanel-CbJ1PFoZ.js +0 -1
  940. package/out/web/assets/PicturesLibrary-CQP0fLP1.css +0 -1
  941. package/out/web/assets/PicturesLibrary-DoYN7T1p.js +0 -1
  942. package/out/web/assets/PluginsView-CU1HWXGk.js +0 -1
  943. package/out/web/assets/ScheduledTasksView-Bnl36y2N.js +0 -1
  944. package/out/web/assets/SettingsWindow-DhWLAn9T.css +0 -1
  945. package/out/web/assets/SettingsWindow-Dw8L01pw.js +0 -2
  946. package/out/web/assets/SkillsView-cnl8aY5p.js +0 -2
  947. package/out/web/assets/ToolSurfacePage-CgsQw6l5.css +0 -1
  948. package/out/web/assets/ToolSurfacePage-Cz2VJAPZ.js +0 -37
  949. package/out/web/assets/VeoStudioPanel-D4JnERWR.js +0 -4
  950. package/out/web/assets/WorkspacePanel-CbJ1PFoZ.js +0 -1
  951. package/out/web/assets/abnfDiagram-VCTEODGH-ByMyfanq.js +0 -1
  952. package/out/web/assets/architecture-7GRP2DOG-CLq2kEOB.js +0 -1
  953. package/out/web/assets/architectureDiagram-5GKGNRK7-6PoVSmNG.js +0 -36
  954. package/out/web/assets/blockDiagram-NRAW4CY4-cKw9mAKi.js +0 -129
  955. package/out/web/assets/c4Diagram-UCG6FXSJ-Cqy8N5Ge.js +0 -38
  956. package/out/web/assets/chunk-2Q5K7J3B-Dmqrq8Tp.js +0 -1
  957. package/out/web/assets/chunk-5VM5RSS4-BiPuE0io.js +0 -15
  958. package/out/web/assets/chunk-75Z2AOVW-3qybijF5.js +0 -2
  959. package/out/web/assets/chunk-CKBBP62Z-cIrXq6jN.js +0 -2
  960. package/out/web/assets/chunk-CLGD4ZFX-CndDQkww.js +0 -1
  961. package/out/web/assets/chunk-CacB07dV.js +0 -1
  962. package/out/web/assets/chunk-DSNCTWBM-Cc4NxvgD.js +0 -2
  963. package/out/web/assets/chunk-DU6HZSFF-drzh6GsU.js +0 -128
  964. package/out/web/assets/chunk-F27PBJKO-FiY35l4v.js +0 -1
  965. package/out/web/assets/chunk-FOHPRMQF-BaVC1uA7.js +0 -161
  966. package/out/web/assets/chunk-G27WJ6UU-Bjt9Il4A.js +0 -231
  967. package/out/web/assets/chunk-GMAD6QVW-Bppi3Ctd.js +0 -72
  968. package/out/web/assets/chunk-JQ64N6SF-DGg5kcEV.js +0 -1
  969. package/out/web/assets/chunk-JWPE2WC7-BwtYOHqU.js +0 -1
  970. package/out/web/assets/chunk-LCL6LL3I-CCYcjd7p.js +0 -206
  971. package/out/web/assets/chunk-LNGE3PJU-AdBoOWw2.js +0 -34
  972. package/out/web/assets/chunk-OBVCFTLP-DJeNil5M.js +0 -1
  973. package/out/web/assets/chunk-P2QGCYS3-lRzkRjBB.js +0 -1
  974. package/out/web/assets/chunk-POPQ4Y6H-DouASMBW.js +0 -1
  975. package/out/web/assets/chunk-PWAF6VOD-DMmD1vVf.js +0 -1
  976. package/out/web/assets/chunk-R7TYR2AO-CYLA5UC5.js +0 -10
  977. package/out/web/assets/chunk-RHFEMEQ7-BiXwEcUT.js +0 -168
  978. package/out/web/assets/chunk-SVP7TREG-BV-zPslF.js +0 -88
  979. package/out/web/assets/chunk-TEH6E4GO-B2RGEohZ.js +0 -62
  980. package/out/web/assets/chunk-XXDRQBXY-DnJkbUaw.js +0 -1
  981. package/out/web/assets/chunk-Y2CYZVJY-C9o-s6OY.js +0 -1
  982. package/out/web/assets/classDiagram-DTDB5LWJ-Dq0smRWk.js +0 -1
  983. package/out/web/assets/classDiagram-v2-JRS7N3AN-Dq0smRWk.js +0 -1
  984. package/out/web/assets/config-C-ZFtipU.css +0 -1
  985. package/out/web/assets/config-eEDngJXO.js +0 -1
  986. package/out/web/assets/core-hQ2VA9Ti.js +0 -1
  987. package/out/web/assets/cose-bilkent-JH36ORCC--UN4aw5-.js +0 -1
  988. package/out/web/assets/cynefin-OW5HDTMX-Cas4csHM.js +0 -1
  989. package/out/web/assets/cynefinDiagram-5FMLGOSQ-Bbpj66Y3.js +0 -62
  990. package/out/web/assets/cytoscape.esm-Df1UN4Y1.js +0 -321
  991. package/out/web/assets/dagre-3AP2YEHR-B0-2RDEd.js +0 -4
  992. package/out/web/assets/dagre-BWadQu2F.js +0 -1
  993. package/out/web/assets/diagram-S7CK7UJ4-BdzEjUyH.js +0 -30
  994. package/out/web/assets/diagram-UQ7AKVKN-CJDwyPxF.js +0 -41
  995. package/out/web/assets/diagram-VSXAHHWV-BxaG1r_B.js +0 -3
  996. package/out/web/assets/diagram-VX7I27RA-BMmUqm8f.js +0 -24
  997. package/out/web/assets/diagram-Z3DM3KII-CFtd03eE.js +0 -24
  998. package/out/web/assets/dist-BoTOASLF.js +0 -1
  999. package/out/web/assets/dist-js-Bf2bhoku.js +0 -1
  1000. package/out/web/assets/ebnfDiagram-PWID7BFC-DwAen1hO.js +0 -1
  1001. package/out/web/assets/erDiagram-SSCWMZ5O-BCZSHACj.js +0 -99
  1002. package/out/web/assets/event-ChBVpRy0.js +0 -1
  1003. package/out/web/assets/eventmodeling-NTZA5JFV-XHStE4E_.js +0 -1
  1004. package/out/web/assets/flowDiagram-A5DVABFB-BLg7nEcd.js +0 -1
  1005. package/out/web/assets/ganttDiagram-EL5Y4UJY-BAEu1Cql.js +0 -292
  1006. package/out/web/assets/gitGraph-4MIJSDKK-r32Vyper.js +0 -1
  1007. package/out/web/assets/gitGraphDiagram-WWUBYQGX-z9o9qt6V.js +0 -106
  1008. package/out/web/assets/graphlib-CTR5ZhLf.js +0 -1
  1009. package/out/web/assets/index-Btsf4L8M.css +0 -1
  1010. package/out/web/assets/index-D8D9MeRA.js +0 -11
  1011. package/out/web/assets/info-A6RAGUB7-BvLaC2cw.js +0 -1
  1012. package/out/web/assets/infoDiagram-RXCK75RN-Be6WAXXw.js +0 -2
  1013. package/out/web/assets/ishikawaDiagram-5VMMS53U-DZjoHJHC.js +0 -70
  1014. package/out/web/assets/journeyDiagram-EYS64GPL-CtVkjkGm.js +0 -139
  1015. package/out/web/assets/kanban-definition-3QL26DDD-CW5FMv1w.js +0 -89
  1016. package/out/web/assets/katex-O3jvqgnU.js +0 -257
  1017. package/out/web/assets/lucide-react-Ip3L6Jtn.js +0 -1
  1018. package/out/web/assets/markdown-BSeeUbJH.js +0 -38
  1019. package/out/web/assets/mermaid-parser.core-aUgCqsZ5.js +0 -7
  1020. package/out/web/assets/mermaid.core-D57sEiSL.js +0 -11
  1021. package/out/web/assets/mindmap-definition-FBJOCRG2-DAmSpM3a.js +0 -96
  1022. package/out/web/assets/modelManager-tMVmJVAW.js +0 -2
  1023. package/out/web/assets/oauthManager-9jxicDWJ.js +0 -1
  1024. package/out/web/assets/packet-AYTQ26CC-DJ27iIoJ.js +0 -1
  1025. package/out/web/assets/pegDiagram-XKGWAZYB-Bj3ii-gS.js +0 -1
  1026. package/out/web/assets/pie-WAS4IAKB-DG5mCUbc.js +0 -1
  1027. package/out/web/assets/pieDiagram-E7YTZNPT-BrJLPnDA.js +0 -39
  1028. package/out/web/assets/prompt-latin-400-normal-BQ9zjSN8.woff2 +0 -0
  1029. package/out/web/assets/prompt-latin-400-normal-CxU4ec_r.woff +0 -0
  1030. package/out/web/assets/prompt-latin-500-normal-B1edBDQ9.woff +0 -0
  1031. package/out/web/assets/prompt-latin-500-normal-CxzxEHZc.woff2 +0 -0
  1032. package/out/web/assets/prompt-latin-600-normal-CSDDLorv.woff +0 -0
  1033. package/out/web/assets/prompt-latin-600-normal-hKZWXsc1.woff2 +0 -0
  1034. package/out/web/assets/prompt-latin-700-normal-BfbftDSq.woff +0 -0
  1035. package/out/web/assets/prompt-latin-700-normal-I2gc831J.woff2 +0 -0
  1036. package/out/web/assets/prompt-thai-400-normal-BrkKv8cO.woff2 +0 -0
  1037. package/out/web/assets/prompt-thai-400-normal-DJypnfr3.woff +0 -0
  1038. package/out/web/assets/prompt-thai-500-normal-C18pDUoL.woff2 +0 -0
  1039. package/out/web/assets/prompt-thai-500-normal-D7YNqUJD.woff +0 -0
  1040. package/out/web/assets/prompt-thai-600-normal-CYPViXds.woff +0 -0
  1041. package/out/web/assets/prompt-thai-600-normal-MrdfU7zR.woff2 +0 -0
  1042. package/out/web/assets/prompt-thai-700-normal-Cb5ilR-c.woff +0 -0
  1043. package/out/web/assets/prompt-thai-700-normal-Cg4aQ0Nn.woff2 +0 -0
  1044. package/out/web/assets/quadrantDiagram-AXDQQJYC-3x_TmF3j.js +0 -7
  1045. package/out/web/assets/radar-RG4KPBEZ-CrXaTTuV.js +0 -1
  1046. package/out/web/assets/railroad-74A4TZTK-BpqMH9BE.js +0 -1
  1047. package/out/web/assets/railroad-abnf-HS5TGJTU-DHI0uLlV.js +0 -1
  1048. package/out/web/assets/railroad-ebnf-LZEXJU2U-CQCb316y.js +0 -1
  1049. package/out/web/assets/railroad-peg-WCYAUIDC-Ph1giKkH.js +0 -1
  1050. package/out/web/assets/railroadDiagram-O6MQD6OU-BRq6wIxx.js +0 -1
  1051. package/out/web/assets/requirementDiagram-EFPCY7ZU-DIJj6G1g.js +0 -84
  1052. package/out/web/assets/rough.esm-DFbTUy8a.js +0 -1
  1053. package/out/web/assets/sankeyDiagram-P5KCCOFB-DZajSryq.js +0 -40
  1054. package/out/web/assets/sequenceDiagram-WJ2MYXX4-DxJCWyZS.js +0 -162
  1055. package/out/web/assets/sizeCapture-X5ZJPWSS-DKeOCaN2.js +0 -1
  1056. package/out/web/assets/src-DnfeXQPr.js +0 -1
  1057. package/out/web/assets/stateDiagram-HBIQ2CUA-k6voi8Vf.js +0 -1
  1058. package/out/web/assets/stateDiagram-v2-4QOOHH4V-DeEc0lGZ.js +0 -1
  1059. package/out/web/assets/studio-B1mk40wD.js +0 -1
  1060. package/out/web/assets/swimlanes-XN3QIQJK-igYhTjXB.js +0 -1
  1061. package/out/web/assets/swimlanesDiagram-VK2B7HYN-DpVik9v7.js +0 -8
  1062. package/out/web/assets/timeline-definition-24CTP7MA-Dke2p93p.js +0 -120
  1063. package/out/web/assets/treeView-Q6P3EWNA-hNELnXUs.js +0 -1
  1064. package/out/web/assets/treemap-WGGIJYW6-D2B6wDsx.js +0 -1
  1065. package/out/web/assets/vennDiagram-4TSXK5OY-CDkW7rUP.js +0 -34
  1066. package/out/web/assets/wardley-WFR3VGLG-BECdXETi.js +0 -1
  1067. package/out/web/assets/wardleyDiagram-VM6X3IG4-B5BycpQ4.js +0 -78
  1068. package/out/web/assets/window-5qYXKoW7.js +0 -1
  1069. package/out/web/assets/xychartDiagram-S5SC5T6Z-CtJS3b--.js +0 -7
  1070. package/skills-lock.json +0 -77
  1071. package/src/renderer/public/Live2DCubismCore.js +0 -9
  1072. package/src/renderer/shared/components/AgentActivityDrawer.tsx +0 -203
  1073. package/src/renderer/shared/components/AgentActivityTable.tsx +0 -301
  1074. package/src/renderer/shared/components/ApprovalCard.tsx +0 -340
  1075. package/src/renderer/shared/components/ArtifactPreviewPanel.tsx +0 -505
  1076. package/src/renderer/shared/components/AuthGate.tsx +0 -191
  1077. package/src/renderer/shared/components/CalculationCard.tsx +0 -100
  1078. package/src/renderer/shared/components/ChatCodeBlock.tsx +0 -105
  1079. package/src/renderer/shared/components/ChatMessageItem.tsx +0 -306
  1080. package/src/renderer/shared/components/ChatPanel.tsx +0 -2226
  1081. package/src/renderer/shared/components/ChunkErrorBoundary.tsx +0 -284
  1082. package/src/renderer/shared/components/CliSessionsView.tsx +0 -495
  1083. package/src/renderer/shared/components/CodeReviewPage.tsx +0 -565
  1084. package/src/renderer/shared/components/CommandPalette.tsx +0 -593
  1085. package/src/renderer/shared/components/DashboardSidebar.tsx +0 -1341
  1086. package/src/renderer/shared/components/DesktopTitlebar.tsx +0 -345
  1087. package/src/renderer/shared/components/DiffReviewModal.tsx +0 -565
  1088. package/src/renderer/shared/components/GeminiLiveOverlay.tsx +0 -128
  1089. package/src/renderer/shared/components/GitBranchSelector.tsx +0 -442
  1090. package/src/renderer/shared/components/ImageGenCard.tsx +0 -159
  1091. package/src/renderer/shared/components/ImageSearchCard.tsx +0 -168
  1092. package/src/renderer/shared/components/ImageStudioPanel.tsx +0 -739
  1093. package/src/renderer/shared/components/InlineThoughtNote.tsx +0 -27
  1094. package/src/renderer/shared/components/LinkedFoldersView.tsx +0 -614
  1095. package/src/renderer/shared/components/McpRegistryPicker.tsx +0 -302
  1096. package/src/renderer/shared/components/McpServersView.tsx +0 -952
  1097. package/src/renderer/shared/components/McpToolAllowlist.tsx +0 -184
  1098. package/src/renderer/shared/components/MermaidCard.tsx +0 -267
  1099. package/src/renderer/shared/components/MintDashboard.tsx +0 -2665
  1100. package/src/renderer/shared/components/ModalErrorBoundary.tsx +0 -127
  1101. package/src/renderer/shared/components/ModelSelectorPopover.tsx +0 -929
  1102. package/src/renderer/shared/components/PlanChecklistWidget.tsx +0 -77
  1103. package/src/renderer/shared/components/PluginsView.tsx +0 -325
  1104. package/src/renderer/shared/components/RewindModal.tsx +0 -421
  1105. package/src/renderer/shared/components/RunSummaryDashboard.tsx +0 -149
  1106. package/src/renderer/shared/components/ScheduledTasksView.tsx +0 -613
  1107. package/src/renderer/shared/components/SkillsView.tsx +0 -347
  1108. package/src/renderer/shared/components/SlashSuggestions.tsx +0 -318
  1109. package/src/renderer/shared/components/SourcesBlock.tsx +0 -450
  1110. package/src/renderer/shared/components/StockCard.tsx +0 -168
  1111. package/src/renderer/shared/components/SubagentDagView.tsx +0 -366
  1112. package/src/renderer/shared/components/TerminalDock.tsx +0 -241
  1113. package/src/renderer/shared/components/ThinkingBlock.tsx +0 -102
  1114. package/src/renderer/shared/components/ToolSurfacePage.tsx +0 -520
  1115. package/src/renderer/shared/components/UiFeatureCard.tsx +0 -267
  1116. package/src/renderer/shared/components/UiGridCard.tsx +0 -188
  1117. package/src/renderer/shared/components/VeoStudioPanel.tsx +0 -707
  1118. package/src/renderer/shared/components/WeatherCard.tsx +0 -224
  1119. package/src/renderer/shared/components/WorkspaceContextPopover.tsx +0 -133
  1120. package/src/renderer/shared/components/WorkspaceSelector.tsx +0 -149
  1121. package/src/renderer/src/companionWidget.ts +0 -95
  1122. package/src/renderer/src/components/CalculationCard.tsx +0 -3
  1123. package/src/renderer/src/components/ImageGenCard.tsx +0 -2
  1124. package/src/renderer/src/components/ImageSearchCard.tsx +0 -2
  1125. package/src/renderer/src/components/Live2DStage.tsx +0 -412
  1126. package/src/renderer/src/components/MermaidCard.tsx +0 -1
  1127. package/src/renderer/src/components/ModelPanel.tsx +0 -155
  1128. package/src/renderer/src/components/PicturesLibrary.tsx +0 -288
  1129. package/src/renderer/src/components/Settings/AgentsTab.tsx +0 -4
  1130. package/src/renderer/src/components/Settings/AudioTab.tsx +0 -3
  1131. package/src/renderer/src/components/Settings/AutomationTab.tsx +0 -3
  1132. package/src/renderer/src/components/Settings/GeneralTab.tsx +0 -3
  1133. package/src/renderer/src/components/Settings/MemoryTab.tsx +0 -3
  1134. package/src/renderer/src/components/Settings/PluginsTab.tsx +0 -3
  1135. package/src/renderer/src/components/Settings/ProfileTab.tsx +0 -3
  1136. package/src/renderer/src/components/Settings/ShortcutsTab.tsx +0 -3
  1137. package/src/renderer/src/components/Settings/ThemeTab.tsx +0 -3
  1138. package/src/renderer/src/components/StockCard.tsx +0 -3
  1139. package/src/renderer/src/components/WeatherCard.tsx +0 -3
  1140. package/src/renderer/src/css/model.css +0 -628
  1141. package/src/renderer/src/css/pictures.css +0 -415
  1142. package/src/renderer/src/css/settings/base.css +0 -1263
  1143. package/src/renderer/src-web/companionWidget.ts +0 -37
  1144. package/src/renderer/src-web/components/ModelPanel.tsx +0 -12
  1145. package/src/renderer/src-web/components/PicturesLibrary.tsx +0 -285
  1146. package/src/renderer/src-web/components/Settings/AgentsTab.tsx +0 -4
  1147. package/src/renderer/src-web/components/Settings/AudioTab.tsx +0 -3
  1148. package/src/renderer/src-web/components/Settings/AutomationTab.tsx +0 -3
  1149. package/src/renderer/src-web/components/Settings/GeneralTab.tsx +0 -3
  1150. package/src/renderer/src-web/components/Settings/MemoryTab.tsx +0 -3
  1151. package/src/renderer/src-web/components/Settings/PluginsTab.tsx +0 -3
  1152. package/src/renderer/src-web/components/Settings/ProfileTab.tsx +0 -3
  1153. package/src/renderer/src-web/components/Settings/ShortcutsTab.tsx +0 -3
  1154. package/src/renderer/src-web/components/Settings/ThemeTab.tsx +0 -3
  1155. package/src/renderer/src-web/css/model.css +0 -628
  1156. package/src/renderer/src-web/css/pictures.css +0 -462
  1157. package/src/renderer/src-web/css/settings/base.css +0 -1263
  1158. package/src/renderer/src-web/css/spotlight.css +0 -102
  1159. package/src/renderer/src-web/css/widget.css +0 -213
  1160. /package/src/renderer/shared/components/{UiMockupWidget.tsx β†’ cards/UiMockupWidget.tsx} +0 -0
  1161. /package/src/renderer/shared/components/{ScreenCaptureDialog.css β†’ studio/ScreenCaptureDialog.css} +0 -0
  1162. /package/src/renderer/shared/components/{ScreenCaptureDialog.tsx β†’ studio/ScreenCaptureDialog.tsx} +0 -0
@@ -1,62 +0,0 @@
1
- import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{Bt as r,jt as i,t as a,zt as o}from"./src-DnfeXQPr.js";import{A as s,B as c,N as l,T as u,V as d,b as f,f as p,g as m,j as h,x as g}from"./chunk-DU6HZSFF-drzh6GsU.js";import{n as _,t as v}from"./chunk-PWAF6VOD-DMmD1vVf.js";import{a as y,d as b,m as x,r as S,u as C}from"./chunk-75Z2AOVW-3qybijF5.js";import{i as w,n as T,r as E}from"./chunk-GMAD6QVW-Bppi3Ctd.js";import{a as D,i as O,n as k,o as A,t as j}from"./chunk-P2QGCYS3-lRzkRjBB.js";import{n as M,t as N}from"./rough.esm-DFbTUy8a.js";async function P(e){let n=e.getElementsByTagName(`img`);if(!n||n.length===0)return;let r=!F(e);await Promise.all([...n].map(e=>new Promise(n=>{function i(){if(e.style.display=`flex`,e.style.flexDirection=`column`,r){let[t=p.fontSize]=x(g().fontSize?g().fontSize:window.getComputedStyle(document.body).fontSize),n=t*5+`px`;e.style.minWidth=n,e.style.maxWidth=n}else e.style.width=`100%`;n(e)}t(i,`setupImage`),setTimeout(()=>{e.complete&&i()}),e.addEventListener(`error`,i),e.addEventListener(`load`,i)})))}function F(e){return e.nodeType===Mt?e.textContent?.trim()!==``:e.nodeType!==jt||e.tagName.toLowerCase()===`img`?!1:[...e.childNodes].some(F)}function I(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}function L(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}function R(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}function ee(e){let n=Array.from(e.childNodes).filter(e=>e.tagName===`path`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),i=n.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);r.setAttribute(`d`,i);let a=n.find(e=>e.getAttribute(`fill`)!==`none`),o=n.find(e=>e.getAttribute(`stroke`)!==`none`),s=t((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(a){let e={fill:s(a,`fill`),"fill-opacity":s(a,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}if(o){let e={stroke:s(o,`stroke`),"stroke-width":s(o,`stroke-width`)??`1`,"stroke-opacity":s(o,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}let c=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return c.appendChild(r),c}function te(e,t){return e.intersect(t)}function ne(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}function z(e,t,n){return Bt(e,t,t,n)}function B(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&re(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&re(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}function re(e,t){return e*t>0}function ie(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=Ht(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}function ae(e,t){let{labelStyles:n}=D(t);t.labelStyle=n;let i=X(t),a=i;i||(a=`anchor`);let o=e.insert(`g`).attr(`class`,a).attr(`id`,t.domId||t.id),{cssStyles:s}=t,c=N.svg(o),l=A(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let u=c.circle(0,0,2,l),d=o.insert(()=>u,`:first-child`);return d.attr(`class`,`anchor`).attr(`style`,C(s)),Y(t,d),t.intersect=function(e){return r.info(`Circle intersect`,t,1,e),Q.circle(t,1,e)},o}function V(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}function H(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}async function oe(e,n){let{labelStyles:r,nodeStyles:i}=D(n);n.labelStyle=r;let a=n.padding??0,o=n.look===`neo`?16:a,s=n.look===`neo`?12:a,c=t(e=>e+s,`calcTotalHeight`),l=t(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:d}=await J(e,n,X(n)),f=c(n?.height?n?.height:d.height),[p,m]=l(f),h=H(f,p,m),g=(n?.width?n?.width:d.width)+o*2+h-h,_=f,{cssStyles:v}=n,y=[{x:g/2,y:-_/2},{x:-g/2,y:-_/2},...V(-g/2,-_/2,-g/2,_/2,p,m,!1),{x:g/2,y:_/2},...V(g/2,_/2,g/2,-_/2,p,m,!0)],b=N.svg(u),x=A(n,{});n.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=I(y),C=b.path(S,x),w=u.insert(()=>C,`:first-child`);return w.attr(`class`,`basic label-container outer-path`),v&&n.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,v),i&&n.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,i),w.attr(`transform`,`translate(${p/2}, 0)`),Y(n,w),n.intersect=function(e){return Q.polygon(n,y,e)},u}async function se(e,n,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=D(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await J(e,n,X(n)),l=r?.nodeBorder??r?.lineColor??`currentColor`,u=n.padding??12,d=Math.max(s.width+u*2,n.width??0,80),f=Math.max(Math.min(d*.08,12),5),p=Math.max(s.height+u*2+f,n.height??0),m=-p/2+f,h=p/2,g=d*.72,_=[`M${-d/2},${m}`,`L${-g/2},${h}`,`A${g/2},${f} 0 0 0 ${g/2},${h}`,`L${d/2},${m}`,`A${d/2},${f} 0 0 0 ${-d/2},${m}`,`Z`].join(` `),{cssStyles:v}=n,y=o.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(n.look===`handDrawn`){let e=N.svg(o).path(_,A(n,{}));y.node()?.appendChild(e),v&&y.attr(`style`,v)}else y.append(`path`).attr(`d`,_).attr(`style`,a);y.append(`ellipse`).attr(`cx`,0).attr(`cy`,m).attr(`rx`,d/2).attr(`ry`,f).attr(`style`,`fill:none;stroke:${l};stroke-width:1px`),Y(n,y);let b=m+(h-m)/2;c.attr(`transform`,`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${b-s.height/2-(s.y-(s.top??0))})`);let x=t((e,t,n)=>Array.from({length:13},(r,i)=>{let a=Math.PI-i*Math.PI/12;return{x:e*Math.cos(a),y:t+n*f*Math.sin(a)}}),`arc`),S=[...x(d/2,m,-1),...x(g/2,h,1).reverse()];return n.intersect=function(e){return Q.polygon(n,S,e)},o}async function ce(e,t){let{themeVariables:n}=g(),r=n.clusterBkg,i=n.clusterBorder,{nodeStyles:a}=D(t),{shapeSvg:o,bbox:s}=await J(e,t,X(t)),c=t.padding??8,l=s.height,d=Math.max(s.width+c*2,Gt,t?.width??0),f=Math.max(l+Wt+Ut+c*2,t?.height??0),p=-d/2,m=-f/2,h=-(Wt+Ut)/2,_=o.select(`.label`);_&&(t.useHtmlLabels??u(g())?_.attr(`transform`,`translate(${-s.width/2}, ${-s.height/2+h})`):_.attr(`transform`,`translate(0, ${-s.height/2+h})`));let v;if(t.look===`handDrawn`){let e=N.svg(o),n=A(t,{fill:r,stroke:i,fillStyle:`solid`}),a=e.path(Z(p,m,d,f,Kt),n);v=o.insert(()=>a,`:first-child`),v.attr(`class`,`basic label-container collapsed-group`).attr(`style`,C(t.cssStyles))}else v=o.insert(`rect`,`:first-child`),v.attr(`class`,`basic label-container collapsed-group`).attr(`style`,a).attr(`rx`,Kt).attr(`ry`,Kt).attr(`x`,p).attr(`y`,m).attr(`width`,d).attr(`height`,f).attr(`fill`,r).attr(`stroke`,i);let y=m+c+l+Wt;o.append(`line`).attr(`class`,`collapsed-separator`).attr(`x1`,p+8).attr(`y1`,y).attr(`x2`,p+d-8).attr(`y2`,y).attr(`stroke`,i).attr(`stroke-dasharray`,`3, 3`);let b=y+Ut/2;for(let e=-1;e<=1;e++)o.append(`circle`).attr(`class`,`collapsed-indicator`).attr(`cx`,e*10).attr(`cy`,b).attr(`r`,2.5).attr(`fill`,i);return Y(t,v),t.calcIntersect=function(e,t){return Q.rect(e,t)},t.intersect=function(e){return Q.rect(t,e)},o}function U(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}async function le(e,t){let n=t,{shapeSvg:r,bbox:i}=await J(e,n,X(n)),a=n.padding??0,o=i.height+2*a,s=o/2,c=i.width+2*s+a,l=n.width??0,u=n.positioned&&(n.widthInColumns??1)>1&&l>c?l:c,d=Qt(n.directions??[],i,n,u),f=U(r,u,o,d);return f.attr(`style`,n.style??null),Y(n,f),n.intersect=function(e){return Q.polygon(n,d,e)},r}async function ue(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=D(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await J(e,t,X(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+18,t.height??0),f=-d/2,{cssStyles:p}=t,m=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=N.svg(a).path(Z(-u/2,f,u,d,12),A(t,{}));m.node()?.appendChild(e),p&&m.attr(`style`,p)}else m.append(`rect`).attr(`x`,-u/2).attr(`y`,f).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);m.append(`line`).attr(`x1`,-u/2).attr(`y1`,f+18).attr(`x2`,u/2).attr(`y2`,f+18).attr(`style`,`stroke:${c};stroke-width:1px`);for(let e=0;e<3;e++)m.append(`circle`).attr(`cx`,-u/2+12+e*9).attr(`cy`,f+18/2).attr(`r`,2.5).attr(`style`,`fill:${c};stroke:none`);m.append(`rect`).attr(`class`,`browser-address-bar`).attr(`x`,-u/2+44).attr(`y`,f+4).attr(`width`,Math.max(u-56,10)).attr(`height`,10).attr(`rx`,3).attr(`ry`,3).attr(`style`,`fill:none;stroke:${c};stroke-width:1px;opacity:0.6`),Y(t,m);let h=f+18+(d-18)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${h-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return Q.rect(t,e)},a}async function de(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+$t),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),d=l,f=-u,p=[{x:0+$t,y:f},{x:d,y:f},{x:d,y:0},{x:0,y:0},{x:0,y:f+$t},{x:0+$t,y:f}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=N.svg(s),n=A(t,{}),r=I(p),i=e.path(r,n);m=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),h&&m.attr(`style`,h)}else m=U(s,l,u,p);return r&&m.attr(`style`,r),Y(t,m),t.intersect=function(e){return Q.polygon(t,p,e)},s}function fe(e,t){let{nodeStyles:n}=D(t);t.label=``;let r=e.insert(`g`).attr(`class`,X(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=N.svg(r),c=A(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=I(o),u=s.path(l,c),d=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return Q.polygon(t,o,e)},r}async function pe(e,t,n){let{labelStyles:i,nodeStyles:a}=D(t);t.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await J(e,t,X(t)),l=n?.padding??c,u=t.look===`neo`?s.width/2+32:s.width/2+l,d,{cssStyles:f}=t;if(t.look===`handDrawn`){let e=N.svg(o),n=A(t,{}),r=e.circle(0,0,u*2,n);d=o.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,C(f))}else d=o.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0);return Y(t,d),t.calcIntersect=function(e,t){let n=e.width/2;return Q.circle(e,n,t)},t.intersect=function(e){return r.info(`Circle intersect`,t,u,e),Q.circle(t,u,e)},o}async function me(e,t){let n=t,{shapeSvg:r,bbox:i,halfPadding:a}=await J(e,n,[`node`,n.cssClasses,n.class].filter(Boolean).join(` `)),o=r.insert(`rect`,`:first-child`),s=n.padding??0,c=n.positioned?n.width??0:i.width+s,l=n.positioned?n.height??0:i.height+s,u=n.positioned?-c/2:-i.width/2-a,d=n.positioned?-l/2:-i.height/2-a;return o.attr(`class`,`basic cluster composite label-container`).attr(`style`,n.style??null).attr(`rx`,n.rx??null).attr(`ry`,n.ry??null).attr(`x`,u).attr(`y`,d).attr(`width`,c).attr(`height`,l),Y(n,o),n.intersect=function(e){return Q.rect(n,e)},r}async function he(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=D(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await J(e,t,X(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+20,t.height??0),f=-d/2,{cssStyles:p}=t,m=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=N.svg(a).path(Z(-u/2,f,u,d,12),A(t,{}));m.node()?.appendChild(e),p&&m.attr(`style`,p)}else m.append(`rect`).attr(`x`,-u/2).attr(`y`,f).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);m.append(`text`).attr(`x`,-u/2+12).attr(`y`,f+16).attr(`class`,`console-glyph`).attr(`style`,`font-family:monospace;font-weight:bold;font-size:14px;fill:${c}`).text(`>_`),Y(t,m);let h=f+20+(d-20)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${h-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return Q.rect(t,e)},a}function ge(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
2
- M ${i.x},${i.y} L ${o.x},${o.y}`}function _e(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.labelStyle=n,t.label=``;let a=e.insert(`g`).attr(`class`,X(t)).attr(`id`,t.domId??t.id),o=Math.max(30,t?.width??0),{cssStyles:s}=t,c=N.svg(a),l=A(t,{});t.look!==`handDrawn`&&(l.roughness=0,l.fillStyle=`solid`);let u=c.circle(0,0,o*2,l),d=ge(o),f=c.path(d,l),p=a.insert(()=>u,`:first-child`);return p.insert(()=>f),p.attr(`class`,`outer-path`),s&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,s),i&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,i),Y(t,p),t.intersect=function(e){return r.info(`crossedCircle intersect`,t,{radius:o,point:e}),Q.circle(t,o,e)},a}function W(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}async function ve(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await J(e,t,X(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+s,u=a.height+c,d=Math.max(5,u*.1),{cssStyles:f}=t,p=[...W(l/2,-u/2,d,30,-90,0),{x:-l/2-d,y:d},...W(l/2+d*2,-d,d,20,-180,-270),...W(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:-u/2},...W(l/2,u/2,d,20,0,90)],m=[{x:l/2,y:-u/2-d},{x:-l/2,y:-u/2-d},...W(l/2,-u/2,d,20,-90,0),{x:-l/2-d,y:-d},...W(l/2+l*.1,-d,d,20,-180,-270),...W(l/2+l*.1,d,d,20,-90,-180),{x:-l/2-d,y:u/2},...W(l/2,u/2,d,20,0,90),{x:-l/2,y:u/2+d},{x:l/2,y:u/2+d}],h=N.svg(i),g=A(t,{fill:`none`});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=I(p).replace(`Z`,``),v=h.path(_,g),y=I(m),b=h.path(y,{...g}),x=i.insert(`g`,`:first-child`);return x.insert(()=>b,`:first-child`).attr(`stroke-opacity`,0),x.insert(()=>v,`:first-child`),x.attr(`class`,`text`),f&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),x.attr(`transform`,`translate(${d}, 0)`),o.attr(`transform`,`translate(${-l/2+d-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),Y(t,x),t.intersect=function(e){return Q.polygon(t,m,e)},i}function G(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}async function ye(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await J(e,t,X(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),d=Math.max(5,u*.1),{cssStyles:f}=t,p=[...G(l/2,-u/2,d,20,-90,0),{x:l/2+d,y:-d},...G(l/2+d*2,-d,d,20,-180,-270),...G(l/2+d*2,d,d,20,-90,-180),{x:l/2+d,y:u/2},...G(l/2,u/2,d,20,0,90)],m=[{x:-l/2,y:-u/2-d},{x:l/2,y:-u/2-d},...G(l/2,-u/2,d,20,-90,0),{x:l/2+d,y:-d},...G(l/2+d*2,-d,d,20,-180,-270),...G(l/2+d*2,d,d,20,-90,-180),{x:l/2+d,y:u/2},...G(l/2,u/2,d,20,0,90),{x:l/2,y:u/2+d},{x:-l/2,y:u/2+d}],h=N.svg(i),g=A(t,{fill:`none`});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=I(p).replace(`Z`,``),v=h.path(_,g),y=I(m),b=h.path(y,{...g}),x=i.insert(`g`,`:first-child`);return x.insert(()=>b,`:first-child`).attr(`stroke-opacity`,0),x.insert(()=>v,`:first-child`),x.attr(`class`,`text`),f&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),x.attr(`transform`,`translate(${-d}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),Y(t,x),t.intersect=function(e){return Q.polygon(t,m,e)},i}function K(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}async function be(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await J(e,t,X(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),d=Math.max(5,u*.1),{cssStyles:f}=t,p=[...K(l/2,-u/2,d,30,-90,0),{x:-l/2-d,y:d},...K(l/2+d*2,-d,d,20,-180,-270),...K(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:-u/2},...K(l/2,u/2,d,20,0,90)],m=[...K(-l/2+d+d/2,-u/2,d,20,-90,-180),{x:l/2-d/2,y:d},...K(-l/2-d/2,-d,d,20,0,90),...K(-l/2-d/2,d,d,20,-90,0),{x:l/2-d/2,y:-d},...K(-l/2+d+d/2,u/2,d,30,-180,-270)],h=[{x:l/2,y:-u/2-d},{x:-l/2,y:-u/2-d},...K(l/2,-u/2,d,20,-90,0),{x:-l/2-d,y:-d},...K(l/2+d*2,-d,d,20,-180,-270),...K(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:u/2},...K(l/2,u/2,d,20,0,90),{x:-l/2,y:u/2+d},{x:l/2-d-d/2,y:u/2+d},...K(-l/2+d+d/2,-u/2,d,20,-90,-180),{x:l/2-d/2,y:d},...K(-l/2-d/2,-d,d,20,0,90),...K(-l/2-d/2,d,d,20,-90,0),{x:l/2-d/2,y:-d},...K(-l/2+d+d/2,u/2,d,30,-180,-270)],g=N.svg(i),_=A(t,{fill:`none`});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=I(p).replace(`Z`,``),y=g.path(v,_),b=I(m).replace(`Z`,``),x=g.path(b,_),S=I(h),C=g.path(S,{..._}),w=i.insert(`g`,`:first-child`);return w.insert(()=>C,`:first-child`).attr(`stroke-opacity`,0),w.insert(()=>y,`:first-child`),w.insert(()=>x,`:first-child`),w.attr(`class`,`text`),f&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),w.attr(`transform`,`translate(${d-d/4}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),Y(t,w),t.intersect=function(e){return Q.polygon(t,h,e)},i}async function xe(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=Math.max(20,(c.width+a*2)*1.25,t?.width??0),u=Math.max(5,c.height+o*2,t?.height??0),d=u/2,{cssStyles:f}=t,p=N.svg(s),m=A(t,{});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=l,g=u,_=h-d,v=g/4,y=[{x:_,y:0},{x:v,y:0},{x:0,y:g/2},{x:v,y:g},{x:_,y:g},...R(-_,-g/2,d,50,270,90)],b=I(y),x=p.path(b,m),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),f&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,r),S.attr(`transform`,`translate(${-l/2}, ${-u/2})`),Y(t,S),t.intersect=function(e){return Q.polygon(t,y,e)},s}async function Se(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await J(e,t,X(t)),s=t.padding??20,c=Math.max(a.width+s*2,t.width??0,100),l=Math.min(Math.max(c*.23,16),56),u=l*.27,d=Math.max(a.height+s*2,t.height?t.height-(2*l-u):0),f=Math.min(c*.177,d*.45),p=d+2*l-u,m=-p/2,h=m+2*l-u,g=i.insert(`g`,`:first-child`).attr(`class`,`basic label-container`),{cssStyles:_}=t;if(t.look===`handDrawn`){let e=N.svg(i),n=A(t,{}),r=e.path(Z(-c/2,h,c,d,f),n),a=e.circle(0,m+l,l*2,n);g.insert(()=>a,`:first-child`),g.insert(()=>r,`:first-child`),_&&g.attr(`style`,_)}else g.append(`rect`).attr(`x`,-c/2).attr(`y`,h).attr(`width`,c).attr(`height`,d).attr(`rx`,f).attr(`ry`,f).attr(`style`,r),g.append(`circle`).attr(`cx`,0).attr(`cy`,m+l).attr(`r`,l).attr(`style`,r);Y(t,g);let v=h+d/2;o.attr(`transform`,`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${v-a.height/2-(a.y-(a.top??0))})`);let y=m+l,b=Math.asin(Math.min(1,(h-y)/l))*180/Math.PI,x=[...R(0,-y,l,24,180+b,-b),...R(-(-c/2+f),-(h+f),f,12,90,0),...R(-(-c/2+f),-(p/2-f),f,12,360,270),...R(-(c/2-f),-(p/2-f),f,12,270,180),...R(-(c/2-f),-(h+f),f,12,180,90)];return t.intersect=function(e){return Q.polygon(t,x,e)},i}async function Ce(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?24:i,o=t.look===`neo`?24:i,s=t.width??0;if(t.width&&(t.width-=o,t.width<an&&(t.width=an)),t.height){let e=s/2/(2.5+s/50);t.height=t.height-a-e*3,t.height<rn&&(t.height=rn)}let{shapeSvg:c,bbox:l,label:u}=await J(e,t,X(t)),d=Math.max(t.width??0,l.width)+o,f=d/2,p=f/(2.5+d/50),m=Math.max(t.height??0,l.height)+a+p,h,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=N.svg(c),n=tn(0,0,d,m,f,p),r=nn(0,p,d,m,f,p),i=A(t,{}),a=e.path(n,i),o=e.path(r,A(t,{fill:`none`}));h=c.insert(()=>o,`:first-child`),h=c.insert(()=>a,`:first-child`),h.attr(`class`,`basic label-container`),g&&h.attr(`style`,g)}else{let e=en(0,0,d,m,f,p);h=c.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,C(g)).attr(`style`,r)}return h.attr(`label-offset-y`,p),h.attr(`transform`,`translate(${-d/2}, ${-(m/2+p)})`),Y(t,h),u.attr(`transform`,`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(t.padding??0)/1.5-(l.y-(l.top??0))})`),t.intersect=function(e){let n=Q.rect(t,e),r=n.x-(t.x??0);if(f!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-p)){let i=p*p*(1-r*r/(f*f));i>0&&(i=Math.sqrt(i)),i=p-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},c}async function we(e,t,n){let{labelStyles:r,nodeStyles:i}=D(t);t.labelStyle=r;let{shapeSvg:a,bbox:o}=await J(e,t,X(t)),s=Math.max(o.width+n.labelPaddingX*2,t?.width||0),c=Math.max(o.height+n.labelPaddingY*2,t?.height||0),l=-s/2,u=-c/2,d,{rx:f,ry:p}=t,{cssStyles:m}=t;if(n?.rx&&n.ry&&(f=n.rx,p=n.ry),t.look===`handDrawn`){let e=N.svg(a),n=A(t,{}),r=f||p?e.path(Z(l,u,s,c,f||0),n):e.rectangle(l,u,s,c,n);d=a.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,C(m))}else d=a.insert(`rect`,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,i).attr(`rx`,C(f)).attr(`ry`,C(p)).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c);return Y(t,d,t.look===`handDrawn`?void 0:{width:s,height:c}),t.calcIntersect=function(e,t){return Q.rect(e,t)},t.intersect=function(e){return Q.rect(t,e)},a}async function Te(e,t){let{cssClasses:n,labelPaddingX:r,labelPaddingY:i,padding:a,width:o,height:s}=t,c=await we(e,t,{rx:0,ry:0,classes:n??``,labelPaddingX:r??(a??0)*2,labelPaddingY:i??a??0});if(t.look===`handDrawn`){let e=N.svg(c),n=A(t,{}),r=c.select(`.basic.label-container > path:nth-child(2)`),i=r.node();if(!i)return c;let a=null;if(i instanceof SVGGraphicsElement)a=i.getBBox();else return c;return c.insert(()=>e.line(a.x,a.y,a.x+a.width,a.y,n),`.basic.label-container g.label`),c.insert(()=>e.line(a.x,a.y+a.height,a.x+a.width,a.y+a.height,n),`.basic.label-container g.label`),r.remove(),c}let l=c.select(`.basic.label-container`),u=(Number(l.attr(`width`))||o)??0,d=(Number(l.attr(`height`))||s)??0;return u>0&&d>0&&l.attr(`stroke-dasharray`,`${u} ${d}`),c}async function Ee(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?16:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await J(e,t,X(t)),l=s.width+i,u=s.height+a,d=u*.2,f=-l/2,p=-u/2-d/2,{cssStyles:m}=t,h=N.svg(o),g=A(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:f,y:p+d},{x:-f,y:p+d},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+d}],v=h.polygon(_.map(e=>[e.x,e.y]),g),y=o.insert(()=>v,`:first-child`);return y.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&y.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&y.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${f+(t.padding??0)/2-(s.x-(s.left??0))}, ${p+d+(t.padding??0)/2-(s.y-(s.top??0))})`),Y(t,y),t.intersect=function(e){return Q.rect(t,e)},o}async function De(e,t){let{labelStyles:n,nodeStyles:i}=D(t),a=t.look===`neo`?12:5;t.labelStyle=n;let o=t.padding??0,s=t.look===`neo`?16:o,{shapeSvg:c,bbox:l}=await J(e,t,X(t)),u=(t?.width?t?.width/2:l.width/2)+(s??0),d=u-a,f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=N.svg(c),n=A(t,{roughness:.2,strokeWidth:2.5}),r=A(t,{roughness:.2,strokeWidth:1.5}),i=e.circle(0,0,u*2,n),a=e.circle(0,0,d*2,r);f=c.insert(`g`,`:first-child`),f.attr(`class`,C(t.cssClasses)).attr(`style`,C(p)),f.node()?.appendChild(i),f.node()?.appendChild(a)}else{f=c.insert(`g`,`:first-child`);let e=f.insert(`circle`,`:first-child`),t=f.insert(`circle`);f.attr(`class`,`basic label-container`).attr(`style`,i),e.attr(`class`,`outer-circle`).attr(`style`,i).attr(`r`,u).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,i).attr(`r`,d).attr(`cx`,0).attr(`cy`,0)}return Y(t,f),t.intersect=function(e){return r.info(`DoubleCircle intersect`,t,u,e),Q.circle(t,u,e)},c}function Oe(e,t,{config:{themeVariables:n}}){let{labelStyles:i,nodeStyles:a}=D(t);t.label=``,t.labelStyle=i;let o=e.insert(`g`).attr(`class`,X(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=N.svg(o),{nodeBorder:l}=n,u=A(t,{fillStyle:`solid`});t.look!==`handDrawn`&&(u.roughness=0);let d=c.circle(0,0,14,u),f=o.insert(()=>d,`:first-child`);return f.selectAll(`path`).attr(`style`,`fill: ${l} !important;`),s&&s.length>0&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,a),Y(t,f),t.intersect=function(e){return r.info(`filledCircle intersect`,t,{radius:7,point:e}),Q.circle(t,7,e)},o}async function ke(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.height=t?.height??0,t.height<on&&(t.height=on),t.width=(t?.width??0)-o-o/2,t.width<sn&&(t.width=sn));let{shapeSvg:s,bbox:c,label:l}=await J(e,t,X(t)),u=(t?.width?t?.width:c.width)+(o??0),d=t?.height?t?.height:u+c.height,f=d,p=[{x:0,y:-d},{x:f,y:-d},{x:f/2,y:0}],{cssStyles:m}=t,h=N.svg(s),g=A(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=I(p),v=h.path(_,g),y=s.insert(()=>v,`:first-child`).attr(`transform`,`translate(${-d/2}, ${d/2})`).attr(`class`,`outer-path`);return m&&t.look!==`handDrawn`&&y.selectChildren(`path`).attr(`style`,m),i&&t.look!==`handDrawn`&&y.selectChildren(`path`).attr(`style`,i),t.width=u,t.height=d,Y(t,y),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-d/2+(t.padding??0)/2+(c.y-(c.top??0))})`),t.intersect=function(e){return r.info(`Triangle intersect`,t,p,e),Q.polygon(t,p,e)},s}async function Ae(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await J(e,t,X(t)),s=t.padding??12,c=Math.max(a.width+s*2,t.width??0,90),l=a.height+s*2,u=Math.max(Math.min(l*.16,14),8),d=Math.max(l+u,t.height??0),f=d-u,p=Math.max(c*.38,28),m=-d/2,h=[{x:-c/2,y:m},{x:-c/2+p,y:m},{x:-c/2+p,y:m+u},{x:c/2,y:m+u},{x:c/2,y:d/2},{x:-c/2,y:d/2}],g=[`M${h[0].x},${h[0].y}`,...h.slice(1).map(e=>`L${e.x},${e.y}`),`Z`].join(` `),{cssStyles:_}=t,v;if(t.look===`handDrawn`){let e=N.svg(i).path(g,A(t,{}));v=i.insert(()=>e,`:first-child`).attr(`class`,`basic label-container`),_&&v.attr(`style`,_)}else v=i.insert(`path`,`:first-child`).attr(`d`,g).attr(`class`,`basic label-container`).attr(`style`,r);t.look===`handDrawn`?Y(t,v):Y(t,v,{width:c,height:d});let y=m+u+f/2;return o.attr(`transform`,`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${y-a.height/2-(a.y-(a.top??0))})`),t.intersect=function(e){return Q.polygon(t,h,e)},i}function je(e,t,{dir:n,config:{state:r,themeVariables:i}}){let{nodeStyles:a}=D(t);t.label=``;let o=e.insert(`g`).attr(`class`,X(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=Math.max(70,t?.width??0),l=Math.max(10,t?.height??0);n===`LR`&&(c=Math.max(10,t?.width??0),l=Math.max(70,t?.height??0));let u=-1*c/2,d=-1*l/2,f=N.svg(o),p=A(t,{stroke:i.lineColor,fill:i.lineColor});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let m=f.rectangle(u,d,c,l,p),h=o.insert(()=>m,`:first-child`);s&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,a),Y(t,h);let g=r?.padding??0;return t.width&&t.height&&(t.width+=g/2||0,t.height+=g/2||0),t.intersect=function(e){return Q.rect(t,e)},o}async function Me(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.labelStyle=n;let a=t.look===`neo`?16:t.padding??0,o=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10),t.width=(t?.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=(t?.width?t?.width:Math.max(15,c.width))+a*2,u=(t?.height?t?.height:Math.max(10,c.height))+o*2,d=u/2,{cssStyles:f}=t,p=N.svg(s),m=A(t,{});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=[{x:-l/2,y:-u/2},{x:l/2-d,y:-u/2},...R(-l/2+d,0,d,50,90,270),{x:l/2-d,y:u/2},{x:-l/2,y:u/2}],g=I(h),_=p.path(g,m),v=s.insert(()=>_,`:first-child`);return v.attr(`class`,`basic label-container outer-path`),f&&t.look!==`handDrawn`&&v.selectChildren(`path`).attr(`style`,f),i&&t.look!==`handDrawn`&&v.selectChildren(`path`).attr(`style`,i),Y(t,v),t.intersect=function(e){return r.info(`Pill intersect`,t,{radius:d,point:e}),Q.polygon(t,h,e)},s}async function Ne(e,t){let{labelStyles:n,nodeStyles:r}=D(t),i=t.look===`neo`?3.5:4;t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?70:a,s=t.look===`neo`?32:a;if(t.width||t.height){let e=(t.height??0)/i;t.width=(t?.width??0)-2*e-s,t.height=(t.height??0)-o}let{shapeSvg:c,bbox:l}=await J(e,t,X(t)),u=(t?.height?t?.height:l.height)+o,d=u/i,f=(t?.width?t?.width:l.width)+2*d+s,p=[{x:d,y:0},{x:f-d,y:0},{x:f,y:-u/2},{x:f-d,y:-u},{x:d,y:-u},{x:0,y:-u/2}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=N.svg(c),n=A(t,{}),r=cn(0,0,f,u,d),i=e.path(r,n);m=c.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-f/2}, ${u/2})`),h&&m.attr(`style`,h)}else m=U(c,f,u,p);return r&&m.attr(`style`,r),t.width=f,t.height=u,Y(t,m),t.intersect=function(e){return Q.polygon(t,p,e)},c}async function Pe(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.label=``,t.labelStyle=n;let{shapeSvg:a}=await J(e,t,X(t)),o=Math.max(30,t?.width??0),s=Math.max(30,t?.height??0),{cssStyles:c}=t,l=N.svg(a),u=A(t,{});t.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let d=[{x:0,y:0},{x:o,y:0},{x:0,y:s},{x:o,y:s}],f=I(d),p=l.path(f,u),m=a.insert(()=>p,`:first-child`);return m.attr(`class`,`basic label-container outer-path`),c&&t.look!==`handDrawn`&&m.selectChildren(`path`).attr(`style`,c),i&&t.look!==`handDrawn`&&m.selectChildren(`path`).attr(`style`,i),m.attr(`transform`,`translate(${-o/2}, ${-s/2})`),Y(t,m),t.intersect=function(e){return r.info(`Pill intersect`,t,{points:d}),Q.polygon(t,d,e)},a}async function Fe(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=D(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:f}=await J(e,t,`icon-shape default`),p=t.pos===`t`,m=c,h=c,{nodeBorder:g}=n,{stylesMap:_}=j(t),y=-h/2,b=-m/2,x=t.label?8:0,S=N.svg(u),C=A(t,{stroke:`none`,fill:`none`});t.look!==`handDrawn`&&(C.roughness=0,C.fillStyle=`solid`);let w=S.rectangle(y,b,h,m,C),T=Math.max(h,d.width),E=m+d.height+x,O=S.rectangle(-T/2,-E/2,T,E,{...C,fill:`transparent`,stroke:`none`}),k=u.insert(()=>w,`:first-child`),M=u.insert(()=>O);if(t.icon){let e=u.append(`g`);e.html(`<g>${await v(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${p?d.height/2+x/2-i/2-o:-d.height/2-x/2-i/2-o})`),e.attr(`style`,`color: ${_.get(`stroke`)??g};`)}return f.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${p?-E/2:E/2-d.height})`),k.attr(`transform`,`translate(0,${p?d.height/2+x/2:-d.height/2-x/2})`),Y(t,M),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return Q.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=p?[{x:n-d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2+d.height+x},{x:n+h/2,y:i-a/2+d.height+x},{x:n+h/2,y:i+a/2},{x:n-h/2,y:i+a/2},{x:n-h/2,y:i-a/2+d.height+x},{x:n-d.width/2,y:i-a/2+d.height+x}]:[{x:n-h/2,y:i-a/2},{x:n+h/2,y:i-a/2},{x:n+h/2,y:i-a/2+m},{x:n+d.width/2,y:i-a/2+m},{x:n+d.width/2/2,y:i+a/2},{x:n-d.width/2,y:i+a/2},{x:n-d.width/2,y:i-a/2+m},{x:n-h/2,y:i-a/2+m}],Q.polygon(t,o,e)},u}async function Ie(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=D(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:f}=await J(e,t,`icon-shape default`),p=t.label?8:0,m=t.pos===`t`,{nodeBorder:h,mainBkg:g}=n,{stylesMap:_}=j(t),y=N.svg(u),b=A(t,{});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`),b.stroke=_.get(`fill`)??g;let x=u.append(`g`);t.icon&&x.html(`<g>${await v(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let S=x.node().getBBox(),C=S.width,w=S.height,T=S.x,E=S.y,O=Math.max(C,w)*Math.SQRT2+40,k=y.circle(0,0,O,b),M=Math.max(O,d.width),P=O+d.height+p,F=y.rectangle(-M/2,-P/2,M,P,{...b,fill:`transparent`,stroke:`none`}),I=u.insert(()=>k,`:first-child`),L=u.insert(()=>F);return x.attr(`transform`,`translate(${-C/2-T},${m?d.height/2+p/2-w/2-E:-d.height/2-p/2-w/2-E})`),x.attr(`style`,`color: ${_.get(`stroke`)??h};`),f.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${m?-P/2:P/2-d.height})`),I.attr(`transform`,`translate(0,${m?d.height/2+p/2:-d.height/2-p/2})`),Y(t,L),t.intersect=function(e){return r.info(`iconSquare intersect`,t,e),Q.rect(t,e)},u}async function Le(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=D(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:f,label:p}=await J(e,t,`icon-shape default`),m=t.pos===`t`,h=c+f*2,g=c+f*2,{nodeBorder:_,mainBkg:y}=n,{stylesMap:b}=j(t),x=-g/2,S=-h/2,C=t.label?8:0,w=N.svg(u),T=A(t,{});t.look!==`handDrawn`&&(T.roughness=0,T.fillStyle=`solid`),T.stroke=b.get(`fill`)??y;let E=w.path(Z(x,S,g,h,5),T),O=Math.max(g,d.width),k=h+d.height+C,M=w.rectangle(-O/2,-k/2,O,k,{...T,fill:`transparent`,stroke:`none`}),P=u.insert(()=>E,`:first-child`).attr(`class`,`icon-shape2`),F=u.insert(()=>M);if(t.icon){let e=u.append(`g`);e.html(`<g>${await v(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${m?d.height/2+C/2-i/2-o:-d.height/2-C/2-i/2-o})`),e.attr(`style`,`color: ${b.get(`stroke`)??_};`)}return p.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${m?-k/2:k/2-d.height})`),P.attr(`transform`,`translate(0,${m?d.height/2+C/2:-d.height/2-C/2})`),Y(t,F),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return Q.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=m?[{x:n-d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2+d.height+C},{x:n+g/2,y:i-a/2+d.height+C},{x:n+g/2,y:i+a/2},{x:n-g/2,y:i+a/2},{x:n-g/2,y:i-a/2+d.height+C},{x:n-d.width/2,y:i-a/2+d.height+C}]:[{x:n-g/2,y:i-a/2},{x:n+g/2,y:i-a/2},{x:n+g/2,y:i-a/2+h},{x:n+d.width/2,y:i-a/2+h},{x:n+d.width/2/2,y:i+a/2},{x:n-d.width/2,y:i+a/2},{x:n-d.width/2,y:i-a/2+h},{x:n-g/2,y:i-a/2+h}],Q.polygon(t,o,e)},u}async function Re(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=D(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:f,label:p}=await J(e,t,`icon-shape default`),m=t.pos===`t`,h=c+f*2,g=c+f*2,{nodeBorder:_,mainBkg:y}=n,{stylesMap:b}=j(t),x=-g/2,S=-h/2,C=t.label?8:0,w=N.svg(u),T=A(t,{});t.look!==`handDrawn`&&(T.roughness=0,T.fillStyle=`solid`),T.stroke=b.get(`fill`)??y;let E=w.path(Z(x,S,g,h,.1),T),O=Math.max(g,d.width),k=h+d.height+C,M=w.rectangle(-O/2,-k/2,O,k,{...T,fill:`transparent`,stroke:`none`}),P=u.insert(()=>E,`:first-child`),F=u.insert(()=>M);if(t.icon){let e=u.append(`g`);e.html(`<g>${await v(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${m?d.height/2+C/2-i/2-o:-d.height/2-C/2-i/2-o})`),e.attr(`style`,`color: ${b.get(`stroke`)??_};`)}return p.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${m?-k/2:k/2-d.height})`),P.attr(`transform`,`translate(0,${m?d.height/2+C/2:-d.height/2-C/2})`),Y(t,F),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return Q.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=m?[{x:n-d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2+d.height+C},{x:n+g/2,y:i-a/2+d.height+C},{x:n+g/2,y:i+a/2},{x:n-g/2,y:i+a/2},{x:n-g/2,y:i-a/2+d.height+C},{x:n-d.width/2,y:i-a/2+d.height+C}]:[{x:n-g/2,y:i-a/2},{x:n+g/2,y:i-a/2},{x:n+g/2,y:i-a/2+h},{x:n+d.width/2,y:i-a/2+h},{x:n+d.width/2/2,y:i+a/2},{x:n-d.width/2,y:i+a/2},{x:n-d.width/2,y:i-a/2+h},{x:n-g/2,y:i-a/2+h}],Q.polygon(t,o,e)},u}async function ze(e,t,{config:{flowchart:n}}){let i=new Image;i.src=t?.img??``,await i.decode();let a=Number(i.naturalWidth.toString().replace(`px`,``)),o=Number(i.naturalHeight.toString().replace(`px`,``));t.imageAspectRatio=a/o;let{labelStyles:s}=D(t);t.labelStyle=s;let c=n?.wrappingWidth;t.defaultWidth=n?.wrappingWidth;let l=Math.max(t.label?c??0:0,t?.assetWidth??a),u=t.constraint===`on`&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:l,d=t.constraint===`on`?u/t.imageAspectRatio:t?.assetHeight??o;t.width=Math.max(u,c??0);let{shapeSvg:f,bbox:p,label:m}=await J(e,t,`image-shape default`),h=t.pos===`t`,g=-u/2,_=-d/2,v=t.label?8:0,y=N.svg(f),b=A(t,{});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=y.rectangle(g,_,u,d,b),S=Math.max(u,p.width),C=d+p.height+v,w=y.rectangle(-S/2,-C/2,S,C,{...b,fill:`none`,stroke:`none`}),T=f.insert(()=>x,`:first-child`),E=f.insert(()=>w);if(t.img){let e=f.append(`image`);e.attr(`href`,t.img),e.attr(`width`,u),e.attr(`height`,d),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-u/2},${h?C/2-d:-C/2})`)}return m.attr(`transform`,`translate(${-p.width/2-(p.x-(p.left??0))},${h?-d/2-p.height/2-v/2:d/2-p.height/2+v/2})`),T.attr(`transform`,`translate(0,${h?p.height/2+v/2:-p.height/2-v/2})`),Y(t,E),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return Q.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=h?[{x:n-p.width/2,y:i-a/2},{x:n+p.width/2,y:i-a/2},{x:n+p.width/2,y:i-a/2+p.height+v},{x:n+u/2,y:i-a/2+p.height+v},{x:n+u/2,y:i+a/2},{x:n-u/2,y:i+a/2},{x:n-u/2,y:i-a/2+p.height+v},{x:n-p.width/2,y:i-a/2+p.height+v}]:[{x:n-u/2,y:i-a/2},{x:n+u/2,y:i-a/2},{x:n+u/2,y:i-a/2+d},{x:n+p.width/2,y:i-a/2+d},{x:n+p.width/2/2,y:i+a/2},{x:n-p.width/2,y:i+a/2},{x:n-p.width/2,y:i-a/2+d},{x:n-u/2,y:i-a/2+d}],Q.polygon(t,o,e)},f}async function Be(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=Math.max(c.height+a*2,t.height??0),u=Math.max(c.width+o*2,(t.width??0)-l),d=[{x:0,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:-3*l/6,y:-l}],f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=N.svg(s),n=A(t,{}),r=I(d),i=e.path(r,n);f=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),p&&f.attr(`style`,p)}else f=U(s,u,l,d);return r&&f.attr(`style`,r),t.width=u,t.height=l,Y(t,f),t.intersect=function(e){return Q.polygon(t,d,e)},s}async function Ve(e,t){let{shapeSvg:n,bbox:r,label:i}=await J(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),Y(t,a),t.intersect=function(e){return Q.rect(t,e)},n}async function He(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=Math.max(c.height+a,t.height??0),u=Math.max(c.width+o,(t.width??0)-l),d=[{x:0,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:-(3*l)/6,y:-l}],f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=N.svg(s),n=A(t,{}),r=I(d),i=e.path(r,n);f=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),p&&f.attr(`style`,p)}else f=U(s,u,l,d);return r&&f.attr(`style`,r),t.width=u,t.height=l,Y(t,f),t.intersect=function(e){return Q.polygon(t,d,e)},s}async function Ue(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=Math.max(c.height+a,t.height??0),u=Math.max(c.width+o,(t.width??0)-l),d=[{x:-3*l/6,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:0,y:-l}],f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=N.svg(s),n=A(t,{}),r=I(d),i=e.path(r,n);f=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),p&&f.attr(`style`,p)}else f=U(s,u,l,d);return r&&f.attr(`style`,r),t.width=u,t.height=l,Y(t,f),t.intersect=function(e){return Q.polygon(t,d,e)},s}function We(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.label=``,t.labelStyle=n;let a=e.insert(`g`).attr(`class`,X(t)).attr(`id`,t.domId??t.id),{cssStyles:o}=t,s=Math.max(35,t?.width??0),c=Math.max(35,t?.height??0),l=[{x:s,y:0},{x:0,y:c+7/2},{x:s-14,y:c+7/2},{x:0,y:2*c},{x:s,y:c-7/2},{x:14,y:c-7/2}],u=N.svg(a),d=A(t,{});t.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let f=I(l),p=u.path(f,d),m=a.insert(()=>p,`:first-child`);return m.attr(`class`,`outer-path`),o&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,o),i&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,i),m.attr(`transform`,`translate(-${s/2},${-c})`),Y(t,m),t.intersect=function(e){return r.info(`lightningBolt intersect`,t,e),Q.polygon(t,l,e)},a}async function Ge(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-a,t.width<pn&&(t.width=pn);let n=e/2/(2.5+e/50);t.height=(t.height??0)-o-n*3,t.height<fn&&(t.height=fn)}let{shapeSvg:s,bbox:c,label:l}=await J(e,t,X(t)),u=(t?.width?t?.width:c.width)+a*2,d=u/2,f=d/(2.5+u/50),p=(t?.height?t?.height:c.height)+f+o*2,m=p*.1,h,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=N.svg(s),n=un(0,0,u,p,d,f,m),r=dn(0,f,u,p,d,f),i=A(t,{}),a=e.path(n,i),o=e.path(r,i);s.insert(()=>o,`:first-child`).attr(`class`,`line`),h=s.insert(()=>a,`:first-child`),h.attr(`class`,`basic label-container`),g&&h.attr(`style`,g)}else{let e=ln(0,0,u,p,d,f,m);h=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,C(g)).attr(`style`,r)}return h.attr(`label-offset-y`,f),h.attr(`transform`,`translate(${-u/2}, ${-(p/2+f)})`),Y(t,h),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+f-(c.y-(c.top??0))})`),t.intersect=function(e){let n=Q.rect(t,e),r=n.x-(t.x??0);if(d!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-f)){let i=f*f*(1-r*r/(d*d));i>0&&(i=Math.sqrt(i)),i=f-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}async function Ke(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=(t.width??0)*10/11-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:s,bbox:c,label:l}=await J(e,t,X(t)),u=(t?.width?t?.width:c.width)+(a??0)*2,d=(t?.height?t?.height:c.height)+(o??0)*2,f=t.look===`neo`?d/4:d/8,p=d+f,{cssStyles:m}=t,h=N.svg(s),g=A(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-u/2-u/2*.1,y:-p/2},{x:-u/2-u/2*.1,y:p/2},...L(-u/2-u/2*.1,p/2,u/2+u/2*.1,p/2,f,.8),{x:u/2+u/2*.1,y:-p/2},{x:-u/2-u/2*.1,y:-p/2},{x:-u/2,y:-p/2},{x:-u/2,y:p/2*1.1},{x:-u/2,y:-p/2}],v=h.polygon(_.map(e=>[e.x,e.y]),g),y=s.insert(()=>v,`:first-child`);return y.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&y.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&y.selectAll(`path`).attr(`style`,r),y.attr(`transform`,`translate(0,${-f/2})`),l.attr(`transform`,`translate(${-u/2+(t.padding??0)+u/2*.1/2-(c.x-(c.left??0))},${-d/2+(t.padding??0)-f/2-(c.y-(c.top??0))})`),Y(t,y),t.intersect=function(e){return Q.polygon(t,_,e)},s}async function qe(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=t.look===`neo`?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2-2*s,10),t.height=Math.max((t?.height??0)-o*2-2*s,10));let{shapeSvg:c,bbox:l,label:u}=await J(e,t,X(t)),d=(t?.width?t?.width:l.width)+a*2+2*s,f=(t?.height?t?.height:l.height)+o*2+2*s,p=d-2*s,m=f-2*s,h=-p/2,g=-m/2,{cssStyles:_}=t,v=N.svg(c),y=A(t,{}),b=[{x:h-s,y:g+s},{x:h-s,y:g+m+s},{x:h+p-s,y:g+m+s},{x:h+p-s,y:g+m},{x:h+p,y:g+m},{x:h+p,y:g+m-s},{x:h+p+s,y:g+m-s},{x:h+p+s,y:g-s},{x:h+s,y:g-s},{x:h+s,y:g},{x:h,y:g},{x:h,y:g+s}],x=[{x:h,y:g+s},{x:h+p-s,y:g+s},{x:h+p-s,y:g+m},{x:h+p,y:g+m},{x:h+p,y:g},{x:h,y:g}];t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let S=I(b),C=v.path(S,y),w=I(x),T=v.path(w,y);t.look!==`handDrawn`&&(C=ee(C),T=ee(T));let E=c.insert(`g`,`:first-child`);return E.insert(()=>C),E.insert(()=>T),E.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&E.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&E.selectAll(`path`).attr(`style`,r),u.attr(`transform`,`translate(${-(l.width/2)-s-(l.x-(l.left??0))}, ${-(l.height/2)+s-(l.y-(l.top??0))})`),Y(t,E),t.intersect=function(e){return Q.polygon(t,b,e)},c}async function Je(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await J(e,t,X(t)),s=t.padding??0,c=t.look===`neo`?16:s,l=t.look===`neo`?12:s,u=!0;(t.width||t.height)&&(u=!1,t.width=(t?.width??0)-c*2,t.height=(t?.height??0)-l*3);let d=Math.max(a.width,t?.width??0)+c*2,f=Math.max(a.height,t?.height??0)+l*3,p=t.look===`neo`?f/4:f/8,m=f+(u?p/2:-p/2),h=-d/2,g=-m/2,{cssStyles:_}=t,v=L(h-10,g+m+10,h+d-10,g+m+10,p,.8),y=v?.[v.length-1],b=[{x:h-10,y:g+10},{x:h-10,y:g+m+10},...v,{x:h+d-10,y:y.y-10},{x:h+d,y:y.y-10},{x:h+d,y:y.y-20},{x:h+d+10,y:y.y-20},{x:h+d+10,y:g-10},{x:h+10,y:g-10},{x:h+10,y:g},{x:h,y:g},{x:h,y:g+10}],x=[{x:h,y:g+10},{x:h+d-10,y:g+10},{x:h+d-10,y:y.y-10},{x:h+d,y:y.y-10},{x:h+d,y:g},{x:h,y:g}],S=N.svg(i),C=A(t,{});t.look!==`handDrawn`&&(C.roughness=0,C.fillStyle=`solid`);let w=I(b),T=S.path(w,C),E=I(x),O=S.path(E,C),k=i.insert(()=>T,`:first-child`);return k.insert(()=>O),k.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,r),k.attr(`transform`,`translate(0,${-p/2})`),o.attr(`transform`,`translate(${-(a.width/2)-10-(a.x-(a.left??0))}, ${-(a.height/2)+10-p/2-(a.y-(a.top??0))})`),Y(t,k),t.intersect=function(e){return Q.polygon(t,b,e)},i}async function Ye(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=D(t);t.labelStyle=r,t.useHtmlLabels||u(f())||(t.centerLabel=!0);let{shapeSvg:a,bbox:o,label:s}=await J(e,t,X(t)),c=Math.max(o.width+(t.padding??0)*2,t?.width??0),l=Math.max(o.height+(t.padding??0)*2,t?.height??0),d=-c/2,p=-l/2,{cssStyles:m}=t,h=N.svg(a),g=A(t,{fill:n.noteBkgColor,stroke:n.noteBorderColor});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=h.rectangle(d,p,c,l,g),v=a.insert(()=>_,`:first-child`);return v.attr(`class`,`basic label-container outer-path`),s.attr(`class`,`label noteLabel`),m&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,m),i&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,i),s.attr(`transform`,`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),Y(t,v),t.intersect=function(e){return Q.rect(t,e)},a}async function Xe(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await J(e,t,X(t)),o=a.width+(t.padding??0)+(a.height+(t.padding??0)),s=.5,c=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=N.svg(i),n=A(t,{}),r=mn(0,0,o),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2+s}, ${o/2})`),u&&l.attr(`style`,u)}else l=U(i,o,o,c),l.attr(`transform`,`translate(${-o/2+s}, ${o/2})`);return r&&l.attr(`style`,r),Y(t,l),t.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}],i=Q.polygon(e,r,t);return{x:i.x-.5,y:i.y-.5}},t.intersect=function(e){return this.calcIntersect(t,e)},i}async function Ze(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?21:i??0,o=t.look===`neo`?12:i??0,{shapeSvg:s,bbox:c,label:l}=await J(e,t,X(t)),u=c.width+(t.look===`neo`?a*2:a),d=Math.max(c.height+(t.look===`neo`?o*2:o),t.height??0),f=d/4,p=-Math.max(u,(t.width??0)-f)/2,m=-d/2,h=m/2,g=[{x:p+h,y:m},{x:p,y:0},{x:p+h,y:-m},{x:-p,y:-m},{x:-p,y:m}],{cssStyles:_}=t,v=N.svg(s),y=A(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=I(g),x=v.path(b,y),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),S.attr(`transform`,`translate(${-h/2},0)`),l.attr(`transform`,`translate(${-h/2-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),Y(t,S),t.intersect=function(e){return Q.polygon(t,g,e)},s}async function Qe(e,t){let{labelStyles:n,nodeStyles:a}=D(t);t.labelStyle=n;let o;o=t.cssClasses?`node `+t.cssClasses:`node default`;let s=e.insert(`g`).attr(`class`,o).attr(`id`,t.domId||t.id),c=s.insert(`g`),l=s.insert(`g`).attr(`class`,`label`).attr(`style`,a),d=t.description,f=t.label,p=await Rt(l,f,t.labelStyle,!0,!0),m={width:0,height:0};if(u(g())){let e=p.children[0],t=i(p);m=e.getBoundingClientRect(),t.attr(`width`,m.width),t.attr(`height`,m.height)}r.info(`Text 2`,d);let h=d||[],_=p.getBBox(),v=await Rt(l,Array.isArray(h)?h.join(`<br/>`):h,t.labelStyle,!0,!0),y=v.children[0],b=i(v);m=y.getBoundingClientRect(),b.attr(`width`,m.width),b.attr(`height`,m.height);let x=(t.padding||0)/2;i(v).attr(`transform`,`translate( `+(m.width>_.width?0:(_.width-m.width)/2)+`, `+(_.height+x+5)+`)`),i(p).attr(`transform`,`translate( `+(m.width<_.width?0:-(_.width-m.width)/2)+`, 0)`),m=l.node().getBBox(),l.attr(`transform`,`translate(`+-m.width/2+`, `+(-m.height/2-x+3)+`)`);let S=m.width+(t.padding||0),C=m.height+(t.padding||0),w=-m.width/2-x,T=-m.height/2-x,E,O;if(t.look===`handDrawn`){let e=N.svg(s),n=A(t,{}),i=e.path(Z(w,T,S,C,t.rx||0),n),a=e.line(-m.width/2-x,-m.height/2-x+_.height+x,m.width/2+x,-m.height/2-x+_.height+x,n);O=s.insert(()=>(r.debug(`Rough node insert CXC`,i),a),`:first-child`),E=s.insert(()=>(r.debug(`Rough node insert CXC`,i),i),`:first-child`)}else E=c.insert(`rect`,`:first-child`),O=c.insert(`line`),E.attr(`class`,`outer title-state`).attr(`style`,a).attr(`x`,-m.width/2-x).attr(`y`,-m.height/2-x).attr(`width`,m.width+(t.padding||0)).attr(`height`,m.height+(t.padding||0)),O.attr(`class`,`divider`).attr(`x1`,-m.width/2-x).attr(`x2`,m.width/2+x).attr(`y1`,-m.height/2-x+_.height+x).attr(`y2`,-m.height/2-x+_.height+x);return Y(t,E),t.intersect=function(e){return Q.rect(t,e)},s}async function $e(e,t,{config:{themeVariables:n}}){let r=n?.radius??5;return we(e,t,{rx:r,ry:r,classes:``,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1})}async function et(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await J(e,t,X(t)),l=(t?.width??s.width)+i*2+(t.look===`neo`?hn:hn*2),u=(t?.height??s.height)+a*2,d=l-hn,f=u,p=hn-l/2,m=-u/2,{cssStyles:h}=t,g=N.svg(o),_=A(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:p,y:m},{x:p+d,y:m},{x:p+d,y:m+f},{x:p-hn,y:m+f},{x:p-hn,y:m},{x:p,y:m},{x:p,y:m+f}],y=g.polygon(v.map(e=>[e.x,e.y]),_),b=o.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`).attr(`style`,C(h)),r&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,r),h&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${hn/2-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),Y(t,b),t.intersect=function(e){return Q.rect(t,e)},o}async function tt(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2,10),t.height=Math.max((t?.height??0)/1.5-o*2,10));let{shapeSvg:s,bbox:c,label:l}=await J(e,t,X(t)),u=(t?.width?t?.width:c.width)+a*2,d=((t?.height?t?.height:c.height)+o*2)*1.5,f=u,p=d/1.5,m=-f/2,h=-p/2,{cssStyles:g}=t,_=N.svg(s),v=A(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:m,y:h},{x:m,y:h+p},{x:m+f,y:h+p},{x:m+f,y:h-p/2}],b=I(y),x=_.path(b,v),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,r),S.attr(`transform`,`translate(0, ${p/4})`),l.attr(`transform`,`translate(${-f/2+(t.padding??0)-(c.x-(c.left??0))}, ${-p/4+(t.padding??0)-(c.y-(c.top??0))})`),Y(t,S),t.intersect=function(e){return Q.polygon(t,y,e)},s}async function nt(e,t){let n=t.padding??0,r=t.look===`neo`?16:n*2,i=t.look===`neo`?12:n;return we(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??r,labelPaddingY:i})}async function rt(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?20:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=c.height+(t.look===`neo`?o*2:o),u=c.width+l/4+(t.look===`neo`?a*2:a),d=l/2,{cssStyles:f}=t,p=N.svg(s),m=A(t,{});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=[{x:-u/2+d,y:-l/2},{x:u/2-d,y:-l/2},...R(-u/2+d,0,d,50,90,270),{x:u/2-d,y:l/2},...R(u/2-d,0,d,50,270,450)],g=I(h),_=p.path(g,m),v=s.insert(()=>_,`:first-child`);return v.attr(`class`,`basic label-container outer-path`),f&&t.look!==`handDrawn`&&v.selectChildren(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&v.selectChildren(`path`).attr(`style`,r),Y(t,v),t.intersect=function(e){return Q.polygon(t,h,e)},s}async function it(e,t){return we(e,t,{rx:t.look===`neo`?3:5,ry:t.look===`neo`?3:5,classes:`flowchart-node`})}function at(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=D(t);t.labelStyle=r;let{cssStyles:a}=t,{lineColor:o,stateBorder:s,nodeBorder:c,nodeShadow:l}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let u=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId??t.id),d=N.svg(u),f=A(t,{});t.look!==`handDrawn`&&(f.roughness=0,f.fillStyle=`solid`);let p=d.circle(0,0,t.width,{...f,stroke:o,strokeWidth:2}),m=s??c,h=(t.width??0)*5/14,g=d.circle(0,0,h,{...f,fill:m,stroke:m,strokeWidth:2,fillStyle:`solid`}),_=u.insert(()=>p,`:first-child`);if(_.insert(()=>g),t.look!==`handDrawn`&&_.attr(`class`,`outer-path`),a&&_.selectAll(`path`).attr(`style`,a),i&&_.selectAll(`path`).attr(`style`,i),t.width<25&&l&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;_.attr(`style`,`filter:url(#${n})`)}return Y(t,_),t.intersect=function(e){return Q.circle(t,(t.width??0)/2,e)},u}function ot(e,t,{config:{themeVariables:n}}){let{lineColor:r,nodeShadow:i}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let a=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),o;if(t.look===`handDrawn`){let e=N.svg(a).circle(0,0,t.width,O(r));o=a.insert(()=>e),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14)}else o=a.insert(`circle`,`:first-child`),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14);if(t.width<25&&i&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;o.attr(`style`,`filter:url(#${n})`)}return Y(t,o),t.intersect=function(e){return Q.circle(t,(t.width??7)/2,e)},a}async function st(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t?.padding??8,a=t.look===`neo`?28:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=Math.max(c.width+2*gn+a,t.width??0),u=Math.max(c.height+o,t.height??0),d=l-2*gn,f=u,p=-l/2,m=-u/2,h=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(t.look===`handDrawn`){let e=N.svg(s),n=A(t,{}),r=e.rectangle(p,m,d+16,f,n),i=e.line(p+gn,m,p+gn,m+f,n),a=e.line(p+gn+d,m,p+gn+d,m+f,n);s.insert(()=>i,`:first-child`),s.insert(()=>a,`:first-child`);let o=s.insert(()=>r,`:first-child`),{cssStyles:c}=t;o.attr(`class`,`basic label-container`).attr(`style`,C(c)),Y(t,o)}else{let e=U(s,d,f,h);r&&e.attr(`style`,r),Y(t,e)}return t.intersect=function(e){return Q.polygon(t,h,e)},s}async function ct(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-o*2,10),t.width=Math.max((t?.width??0)-a*2-_n*(t.height+o*2),10));let{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=(t?.height?t?.height:c.height)+o*2,u=_n*l,d=_n*l,f=(t?.width?t?.width:c.width)+a*2+u-u,p=l,m=-f/2,h=-p/2,{cssStyles:g}=t,_=N.svg(s),v=A(t,{}),y=[{x:m-u/2,y:h},{x:m+f+u/2,y:h},{x:m+f+u/2,y:h+p},{x:m-u/2,y:h+p}],b=[{x:m+f-u/2,y:h+p},{x:m+f+u/2,y:h+p},{x:m+f+u/2,y:h+p-d}];t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let x=I(y),S=_.path(x,v),C=I(b),w=_.path(C,{...v,fillStyle:`solid`}),T=s.insert(()=>w,`:first-child`);return T.insert(()=>S,`:first-child`),T.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&T.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&T.selectAll(`path`).attr(`style`,r),Y(t,T),t.intersect=function(e){return Q.polygon(t,y,e)},s}async function lt(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await J(e,t,X(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/8,u=.2*s,d=.2*c,f=c+l,{cssStyles:p}=t,m=N.svg(i),h=A(t,{});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=[{x:-s/2-s/2*.1,y:f/2},...L(-s/2-s/2*.1,f/2,s/2+s/2*.1,f/2,l,.8),{x:s/2+s/2*.1,y:-f/2},{x:-s/2-s/2*.1,y:-f/2}],_=-s/2+s/2*.1,v=-f/2-d*.4,y=[{x:_+s-u,y:(v+c)*1.3},{x:_+s,y:v+c-d},{x:_+s,y:(v+c)*.9},...L(_+s,(v+c)*1.25,_+s-u,(v+c)*1.3,-c*.02,.5)],b=I(g),x=m.path(b,h),S=I(y),C=m.path(S,{...h,fillStyle:`solid`}),w=i.insert(()=>C,`:first-child`);return w.insert(()=>x,`:first-child`),w.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),w.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),Y(t,w),t.intersect=function(e){return Q.polygon(t,g,e)},i}async function ut(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await J(e,t,X(t)),o=Math.max(a.width+(t.padding??0),t?.width||0),s=Math.max(a.height+(t.padding??0),t?.height||0),c=-o/2,l=-s/2,u=i.insert(`rect`,`:first-child`);return u.attr(`class`,`text`).attr(`style`,r).attr(`rx`,0).attr(`ry`,0).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),Y(t,u),t.intersect=function(e){return Q.rect(t,e)},i}async function dt(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?12:i/2,o=t.height??0;if(t.height&&(t.height-=a,t.height<xn&&(t.height=xn)),t.width){let e=o/2/(2.5+o/50);t.width=t.width-a-e*3,t.width<Sn&&(t.width=Sn)}let{shapeSvg:s,bbox:c,label:l}=await J(e,t,X(t)),u=Math.max(t.height??0,c.height)+a,d=u/2,f=d/(2.5+u/50),p=Math.max(t.width??0,c.width)+f+a,{cssStyles:m}=t,h;if(t.look===`handDrawn`){let e=N.svg(s),n=yn(0,0,p,u,f,d),r=bn(0,0,p,u,f,d),i=e.path(n,A(t,{})),a=e.path(r,A(t,{fill:`none`}));h=s.insert(()=>a,`:first-child`),h=s.insert(()=>i,`:first-child`),h.attr(`class`,`basic label-container`),m&&h.attr(`style`,m)}else{let e=vn(0,0,p,u,f,d);h=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container`).attr(`style`,C(m)).attr(`style`,r),h.attr(`class`,`basic label-container outer-path`),m&&h.selectAll(`path`).attr(`style`,m),r&&h.selectAll(`path`).attr(`style`,r)}return h.attr(`label-offset-x`,f),h.attr(`transform`,`translate(${-p/2}, ${u/2} )`),l.attr(`transform`,`translate(${-(c.width/2)-f-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),Y(t,h),t.intersect=function(e){let n=Q.rect(t,e),r=n.y-(t.y??0);if(d!=0&&(Math.abs(r)<(t.height??0)/2||Math.abs(r)==(t.height??0)/2&&Math.abs(n.x-(t.x??0))>(t.width??0)/2-f)){let i=f*f*(1-r*r/(d*d));i!=0&&(i=Math.sqrt(Math.abs(i))),i=f-i,e.x-(t.x??0)>0&&(i=-i),n.x+=i}return n},s}async function ft(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=(t.look,i),o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=Math.max(c.height+a,t.height??0),u=Math.max(c.width+o,(t.width??0)-l),d=[{x:-3*l/6,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:0,y:-l}],f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=N.svg(s),n=A(t,{}),r=I(d),i=e.path(r,n);f=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),p&&f.attr(`style`,p)}else f=U(s,u,l,d);return r&&f.attr(`style`,r),t.width=u,t.height=l,Y(t,f),t.intersect=function(e){return Q.polygon(t,d,e)},s}async function pt(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=(t.height??0)-o*2,t.height<5&&(t.height=5),t.width=(t.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=(t?.width?t?.width:c.width)+a*2,u=(t?.height?t?.height:c.height)+o*2,{cssStyles:d}=t,f=N.svg(s),p=A(t,{});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let m=[{x:-l/2*.8,y:-u/2},{x:l/2*.8,y:-u/2},{x:l/2,y:-u/2*.6},{x:l/2,y:u/2},{x:-l/2,y:u/2},{x:-l/2,y:-u/2*.6}],h=I(m),g=f.path(h,p),_=s.insert(()=>g,`:first-child`);return _.attr(`class`,`basic label-container outer-path`),d&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,d),r&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,r),Y(t,_),t.intersect=function(e){return Q.polygon(t,m,e)},s}async function mt(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.width=((t?.width??0)-o)/2,t.width<wn&&(t.width=wn),t.height=t?.height??0,t.height<Cn&&(t.height=Cn));let{shapeSvg:s,bbox:c,label:l}=await J(e,t,X(t)),u=m(g().flowchart?.htmlLabels),d=(t?.width?t?.width:c.width)+o,f=t?.height?t?.height:d+c.height,p=f,h=[{x:0,y:0},{x:p,y:0},{x:p/2,y:-f}],{cssStyles:_}=t,v=N.svg(s),y=A(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=I(h),x=v.path(b,y),S=s.insert(()=>x,`:first-child`).attr(`transform`,`translate(${-f/2}, ${f/2})`).attr(`class`,`outer-path`);return _&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,_),i&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,i),t.width=d,t.height=f,Y(t,S),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${f/2-(c.height+(t.padding??0)/(u?2:1)-(c.y-(c.top??0)))})`),t.intersect=function(e){return r.info(`Triangle intersect`,t,h,e),Q.polygon(t,h,e)},s}async function ht(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=!0;(t.width||t.height)&&(s=!1,t.width=(t?.width??0)-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:c,bbox:l,label:u}=await J(e,t,X(t)),d=(t?.width?t?.width:l.width)+(a??0)*2,f=(t?.height?t?.height:l.height)+(o??0)*2,p=t.look===`neo`?f/4:f/8,m=f+(s?p:-p),{cssStyles:h}=t,g=14-d,_=g>0?g/2:0,v=N.svg(c),y=A(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=[{x:-d/2-_,y:m/2},...L(-d/2-_,m/2,d/2+_,m/2,p,.8),{x:d/2+_,y:-m/2},{x:-d/2-_,y:-m/2}],x=I(b),S=v.path(x,y),C=c.insert(()=>S,`:first-child`);return C.attr(`class`,`basic label-container outer-path`),h&&t.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,h),r&&t.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,r),C.attr(`transform`,`translate(0,${-p/2})`),u.attr(`transform`,`translate(${-d/2+(t.padding??0)-(l.x-(l.left??0))},${-f/2+(t.padding??0)-p-(l.y-(l.top??0))})`),Y(t,C),t.intersect=function(e){return Q.polygon(t,b,e)},c}async function gt(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?20:i;if(t.width||t.height){t.width=t?.width??0,t.width<20&&(t.width=20),t.height=t?.height??0,t.height<10&&(t.height=10);let e=Math.min(t.height*.2,t.height/4);t.height=Math.ceil(t.height-o-20/9*e),t.width-=a*2}let{shapeSvg:s,bbox:c}=await J(e,t,X(t)),l=(t?.width?t?.width:c.width)+a*2,u=(t?.height?t?.height:c.height)+o,d=u/8,f=u+d*2,{cssStyles:p}=t,m=N.svg(s),h=A(t,{});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=[{x:-l/2,y:f/2},...L(-l/2,f/2,l/2,f/2,d,1),{x:l/2,y:-f/2},...L(l/2,-f/2,-l/2,-f/2,d,-1)],_=I(g),v=m.path(_,h),y=s.insert(()=>v,`:first-child`);return y.attr(`class`,`basic label-container`),p&&t.look!==`handDrawn`&&y.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&y.selectAll(`path`).attr(`style`,r),Y(t,y),t.intersect=function(e){return Q.polygon(t,g,e)},s}async function _t(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-i*2-$,10),t.height=Math.max((t?.height??0)-a*2-$,10));let{shapeSvg:o,bbox:s,label:c}=await J(e,t,X(t)),l=(t?.width?t?.width:s.width)+i*2+$,u=(t?.height?t?.height:s.height)+a*2+$,d=l-$,f=u-$,p=-d/2,m=-f/2,{cssStyles:h}=t,g=N.svg(o),_=A(t,{}),v=[{x:p-$,y:m-$},{x:p-$,y:m+f},{x:p+d,y:m+f},{x:p+d,y:m-$}],y=`M${p-$},${m-$} L${p+d},${m-$} L${p+d},${m+f} L${p-$},${m+f} L${p-$},${m-$}
3
- M${p-$},${m} L${p+d},${m}
4
- M${p},${m-$} L${p},${m+f}`;t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let b=g.path(y,_),x=o.insert(()=>b,`:first-child`);return x.attr(`transform`,`translate(${$/2}, ${$/2})`),x.attr(`class`,`basic label-container outer-path`),h&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,h),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${-(s.width/2)+$/2-(s.x-(s.left??0))}, ${-(s.height/2)+$/2-(s.y-(s.top??0))})`),Y(t,x),t.intersect=function(e){return Q.polygon(t,v,e)},o}async function vt(e,t){let n=t;n.alias&&(t.label=n.alias);let{theme:r,themeVariables:a}=f(),{rowEven:o,rowOdd:s,nodeBorder:c,borderColorArray:l}=a;if(t.look===`handDrawn`){let{themeVariables:n}=f(),{background:r}=n;await vt(e,{...t,id:t.id+`-background`,domId:(t.domId||t.id)+`-background`,look:`default`,cssStyles:[`stroke: none`,`fill: ${r}`]})}let u=f();t.useHtmlLabels=u.htmlLabels;let d=u.er?.diagramPadding??10,p=u.er?.entityPadding??6,{cssStyles:h}=t,{labelStyles:g,nodeStyles:_}=D(t);if(n.attributes.length===0&&t.label){let i={rx:0,ry:0,labelPaddingX:d,labelPaddingY:d*1.5,classes:``};S(t.label,u)+i.labelPaddingX*2<u.er.minEntityWidth&&(t.width=u.er.minEntityWidth);let a=await we(e,t,i);if(r!=null&&Tn.has(r)){let e=n.colorIndex??0;a.attr(`data-color-id`,`color-${e%l.length}`)}if(!m(u.htmlLabels)){let e=a.select(`text`),t=e.node()?.getBBox();e.attr(`transform`,`translate(${-t.width/2}, 0)`)}return a}u.htmlLabels||(d*=1.25,p*=1.25);let v=X(t);v||=`node default`;let y=e.insert(`g`).attr(`class`,v).attr(`id`,t.domId||t.id),b=await yt(y,t.label??``,u,0,0,[`name`],g);b.height+=p;let x=0,C=[],w=[],T=0,E=0,O=0,k=0,j=!0,M=!0;for(let e of n.attributes){let t=await yt(y,e.type,u,0,x,[`attribute-type`],g);T=Math.max(T,t.width+d);let n=await yt(y,e.name,u,0,x,[`attribute-name`],g);E=Math.max(E,n.width+d);let r=await yt(y,e.keys.join(),u,0,x,[`attribute-keys`],g);O=Math.max(O,r.width+d);let i=await yt(y,e.comment,u,0,x,[`attribute-comment`],g);k=Math.max(k,i.width+d);let a=Math.max(t.height,n.height,r.height,i.height)+p;w.push({yOffset:x,rowHeight:a}),x+=a}let P=4;O<=d&&(j=!1,O=0,P--),k<=d&&(M=!1,k=0,P--);let F=y.node().getBBox();if(b.width+d*2-(T+E+O+k)>0){let e=b.width+d*2-(T+E+O+k);T+=e/P,E+=e/P,O>0&&(O+=e/P),k>0&&(k+=e/P)}let I=T+E+O+k,L=N.svg(y),R=A(t,{});t.look!==`handDrawn`&&(R.roughness=0,R.fillStyle=`solid`);let ee=0;w.length>0&&(ee=w.reduce((e,t)=>e+(t?.rowHeight??0),0));let te=Math.max(F.width+d*2,t?.width||0,I),ne=Math.max((ee??0)+b.height,t?.height||0),z=-te/2,B=-ne/2;if(y.selectAll(`g:not(:first-child)`).each((e,t,n)=>{let r=i(n[t]),a=r.attr(`transform`),o=0,s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]),r.attr(`class`).includes(`attribute-name`)?o+=T:r.attr(`class`).includes(`attribute-keys`)?o+=T+E:r.attr(`class`).includes(`attribute-comment`)&&(o+=T+E+O))}r.attr(`transform`,`translate(${z+d/2+o}, ${s+B+b.height+p/2})`)}),y.select(`.name`).attr(`transform`,`translate(`+-b.width/2+`, `+(B+p/2)+`)`),r!=null&&Tn.has(r)){let e=n.colorIndex??0;y.attr(`data-color-id`,`color-${e%l.length}`)}let re=L.rectangle(z,B,te,ne,R),ie=y.insert(()=>re,`:first-child`).attr(`class`,`outer-path`).attr(`style`,h.join(``));C.push(0);for(let[e,t]of w.entries()){let n=(e+1)%2==0&&t.yOffset!==0,r=L.rectangle(z,b.height+B+t?.yOffset,te,t?.rowHeight,{...R,fill:n?o:s,stroke:c});y.insert(()=>r,`g.label`).attr(`style`,h.join(``)).attr(`class`,`row-rect-${n?`even`:`odd`}`)}let ae=1e-4,V=bt(z,b.height+B,te+z,b.height+B,ae),H=L.polygon(V.map(e=>[e.x,e.y]),R);if(y.insert(()=>H).attr(`class`,`divider`),V=bt(T+z,b.height+B,T+z,ne+B,ae),H=L.polygon(V.map(e=>[e.x,e.y]),R),y.insert(()=>H).attr(`class`,`divider`),j){let e=T+E+z;V=bt(e,b.height+B,e,ne+B,ae),H=L.polygon(V.map(e=>[e.x,e.y]),R),y.insert(()=>H).attr(`class`,`divider`)}if(M){let e=T+E+O+z;V=bt(e,b.height+B,e,ne+B,ae),H=L.polygon(V.map(e=>[e.x,e.y]),R),y.insert(()=>H).attr(`class`,`divider`)}for(let e of C){let t=b.height+B+e;V=bt(z,t,te+z,t,ae),H=L.polygon(V.map(e=>[e.x,e.y]),R),y.insert(()=>H).attr(`class`,`divider`)}if(Y(t,ie),_&&t.look!==`handDrawn`)if(r!=null&&En.has(r))y.selectAll(`path`).attr(`style`,_);else{let e=_.split(`;`)?.filter(e=>e.includes(`stroke`))?.map(e=>`${e}`).join(`; `);y.selectAll(`path`).attr(`style`,e??``),y.selectAll(`.row-rect-even path`).attr(`style`,_)}return t.intersect=function(e){return Q.rect(t,e)},y}async function yt(e,t,n,r=0,a=0,o=[],s=``){let c=e.insert(`g`).attr(`class`,`label ${o.join(` `)}`).attr(`transform`,`translate(${r}, ${a})`).attr(`style`,s);t!==l(t)&&(t=l(t),t=t.replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`));let u=c.node().appendChild(await T(c,t,{width:S(t,n)+100,style:s,useHtmlLabels:n.htmlLabels},n));if(t.includes(`&lt;`)||t.includes(`&gt;`)){let e=u.children[0];for(e.textContent=e.textContent.replaceAll(`&lt;`,`<`).replaceAll(`&gt;`,`>`);e.childNodes[0];)e=e.childNodes[0],e.textContent=e.textContent.replaceAll(`&lt;`,`<`).replaceAll(`&gt;`,`>`)}let d=u.getBBox();if(m(n.htmlLabels)){let e=u.children[0];e.style.textAlign=`start`;let t=i(u);d=e.getBoundingClientRect(),t.attr(`width`,d.width),t.attr(`height`,d.height)}return d}function bt(e,t,n,r,i){return e===n?[{x:e-i/2,y:t},{x:e+i/2,y:t},{x:n+i/2,y:r},{x:n-i/2,y:r}]:[{x:e,y:t-i/2},{x:e,y:t+i/2},{x:n,y:r+i/2},{x:n,y:r-i/2}]}async function xt(e,t,n,r,i=n.class.padding??12){let a=r?0:3,o=e.insert(`g`).attr(`class`,X(t)).attr(`id`,t.domId||t.id),s=null,c=null,l=null,u=null,d=0,f=0,p=0;if(s=o.insert(`g`).attr(`class`,`annotation-group text`),t.annotations.length>0){let e=t.annotations[0];await St(s,{text:`\xAB${e}\xBB`},0),d=s.node().getBBox().height}c=o.insert(`g`).attr(`class`,`label-group text`),await St(c,t,0,[`font-weight: bolder`]);let m=c.node().getBBox();f=m.height,l=o.insert(`g`).attr(`class`,`members-group text`);let h=0;for(let e of t.members){let t=await St(l,e,h,[e.parseClassifier()]);h+=t+a}p=l.node().getBBox().height,p<=0&&(p=i/2),u=o.insert(`g`).attr(`class`,`methods-group text`);let g=0;for(let e of t.methods){let t=await St(u,e,g,[e.parseClassifier()]);g+=t+a}let _=o.node().getBBox();if(s!==null){let e=s.node().getBBox();s.attr(`transform`,`translate(${-e.width/2})`)}return c.attr(`transform`,`translate(${-m.width/2}, ${d})`),_=o.node().getBBox(),l.attr(`transform`,`translate(0, ${d+f+i*2})`),_=o.node().getBBox(),u.attr(`transform`,`translate(0, ${d+f+(p?p+i*4:i*2)})`),_=o.node().getBBox(),{shapeSvg:o,bbox:_}}async function St(e,t,n,r=[]){let a=e.insert(`g`).attr(`class`,`label`).attr(`style`,r.join(`; `)),o=f(),c=`useHtmlLabels`in t?t.useHtmlLabels:m(o.htmlLabels)??!0,l=``;l=`text`in t?t.text:t.label,!c&&l.startsWith(`\\`)&&(l=l.substring(1)),s(l)&&(c=!0);let u=await T(a,d(y(l)),{width:S(l,o)+50,classes:`markdown-node-label`,useHtmlLabels:c},o),p,h=1;if(c){let e=u.children[0],t=i(u);h=e.innerHTML.split(`<br>`).length,e.innerHTML.includes(`</math>`)&&(h+=e.innerHTML.split(`<mrow>`).length-1),await P(e),p=e.getBoundingClientRect(),t.attr(`width`,p.width),t.attr(`height`,p.height)}else{r.includes(`font-weight: bolder`)&&i(u).selectAll(`tspan`).attr(`font-weight`,``),h=u.children.length;let e=u.children[0];(u.textContent===``||u.textContent.includes(`&gt`))&&(e.textContent=l[0]+l.substring(1).replaceAll(`&gt;`,`>`).replaceAll(`&lt;`,`<`).trim(),l[1]===` `&&(e.textContent=e.textContent[0]+` `+e.textContent.substring(1))),e.textContent===`undefined`&&(e.textContent=``),p=u.getBBox()}return a.attr(`transform`,`translate(0,`+(-p.height/(2*h)+n)+`)`),p.height}async function Ct(e,t){let n=g(),{themeVariables:r}=n,{useGradient:a}=r,o=n.class.padding??12,s=o,c=t.useHtmlLabels??m(n.htmlLabels)??!0,l=t;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];let{shapeSvg:u,bbox:d}=await xt(e,t,n,c,s),{labelStyles:f,nodeStyles:p}=D(t);t.labelStyle=f,t.cssStyles=l.styles||``;let h=l.styles?.join(`;`)||p||``;t.cssStyles||=h.replaceAll(`!important`,``).split(`;`);let _=l.members.length===0&&l.methods.length===0&&!n.class?.hideEmptyMembersBox,v=N.svg(u),y=A(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=Math.max(t.width??0,d.width),x=Math.max(t.height??0,d.height),S=(t.height??0)>d.height;l.members.length===0&&l.methods.length===0?x+=s:l.members.length>0&&l.methods.length===0&&(x+=s*2);let C=-b/2,w=-x/2,T=_?o*2:l.members.length===0&&l.methods.length===0?-o:0;S&&(T=o*2);let E=v.rectangle(C-o,w-o-(_?o:l.members.length===0&&l.methods.length===0?-o/2:0),b+2*o,x+2*o+T,y),O=u.insert(()=>E,`:first-child`);O.attr(`class`,`basic label-container outer-path`);let k=O.node().getBBox(),j=u.select(`.annotation-group`).node().getBBox().height-(_?o/2:0)||0,M=u.select(`.label-group`).node().getBBox().height-(_?o/2:0)||0,P=u.select(`.members-group`).node().getBBox().height-(_?o/2:0)||0,F=(j+M+w+o-(w-o-(_?o:l.members.length===0&&l.methods.length===0?-o/2:0)))/2;if(u.selectAll(`.text`).each((e,t,r)=>{let a=i(r[t]),d=a.attr(`transform`),f=0;if(d){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(d);e&&(f=parseFloat(e[2]))}let p=f+w+o-(_?o:l.members.length===0&&l.methods.length===0?-o/2:0);if(a.attr(`class`).includes(`methods-group`)){let e=Math.max(P,s/2);p=S?Math.max(F,j+M+e+w+s*2+o)+s*2:j+M+e+w+s*4+o}l.members.length===0&&l.methods.length===0&&n.class?.hideEmptyMembersBox&&(p=l.annotations.length>0?f-s:f),c||(p-=4);let m=C;(a.attr(`class`).includes(`label-group`)||a.attr(`class`).includes(`annotation-group`))&&(m=-a.node()?.getBBox().width/2||0,u.selectAll(`text`).each(function(e,t,n){window.getComputedStyle(n[t]).textAnchor===`middle`&&(m=0)})),a.attr(`transform`,`translate(${m}, ${p})`)}),l.members.length>0||l.methods.length>0||_){let e=j+M+w+o,n=v.line(k.x,e,k.x+k.width,e+.001,y);u.insert(()=>n).attr(`class`,`divider${t.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,h)}if(_||l.members.length>0||l.methods.length>0){let e=j+M+P+w+s*2+o,n=v.line(k.x,S?Math.max(F,e):e,k.x+k.width,(S?Math.max(F,e):e)+.001,y);u.insert(()=>n).attr(`class`,`divider${t.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,h)}if(l.look!==`handDrawn`&&u.selectAll(`path`).attr(`style`,h),O.select(`:nth-child(2)`).attr(`style`,h),u.selectAll(`.divider`).select(`path`).attr(`style`,h),t.labelStyle?u.selectAll(`span`).attr(`style`,t.labelStyle):u.selectAll(`span`).attr(`style`,h),!c){let e=RegExp(/color\s*:\s*([^;]*)/),t=e.exec(h);if(t){let e=t[0].replace(`color`,`fill`);u.selectAll(`tspan`).attr(`style`,e)}else if(f){let t=e.exec(f);if(t){let e=t[0].replace(`color`,`fill`);u.selectAll(`tspan`).attr(`style`,e)}}}return Y(t,O),t.intersect=function(e){return Q.rect(t,e)},u}async function wt(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let a=t,o=t,s=`verifyMethod`in t,c=X(t),l=g(),{themeVariables:u}=l,{borderColorArray:d,requirementEdgeLabelBackground:f}=u,p=l.layout===`elk`?`start`:`center`,m=e.insert(`g`).attr(`class`,c).attr(`id`,t.domId??t.id),h;h=s?await q(m,`&lt;&lt;${a.type}&gt;&gt;`,0,t.labelStyle):await q(m,`&lt;&lt;Element&gt;&gt;`,0,t.labelStyle);let _=h,v=await q(m,a.name,_,t.labelStyle+`; font-weight: bold;`);if(_+=v+20,s){let e=await q(m,`${a.requirementId?`ID: ${a.requirementId}`:``}`,_,t.labelStyle,p);_+=e;let n=await q(m,`${a.text?`Text: ${a.text}`:``}`,_,t.labelStyle,p);_+=n;let r=await q(m,`${a.risk?`Risk: ${a.risk}`:``}`,_,t.labelStyle,p);_+=r,await q(m,`${a.verifyMethod?`Verification: ${a.verifyMethod}`:``}`,_,t.labelStyle,p)}else{let e=await q(m,`${o.type?`Type: ${o.type}`:``}`,_,t.labelStyle,p);_+=e,await q(m,`${o.docRef?`Doc Ref: ${o.docRef}`:``}`,_,t.labelStyle,p)}let y=(m.node()?.getBBox().width??200)+20,b=(m.node()?.getBBox().height??200)+20,x=-y/2,S=-b/2,C=N.svg(m),w=A(t,{});t.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let T=C.rectangle(x,S,y,b,w),E=m.insert(()=>T,`:first-child`);if(E.attr(`class`,`basic label-container outer-path`).attr(`style`,r),d?.length){let e=t.colorIndex??0;m.attr(`data-color-id`,`color-${e%d.length}`)}if(m.selectAll(`.label`).each((e,t,n)=>{let r=i(n[t]),a=r.attr(`transform`),o=0,s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]))}let c=s-b/2,l=x+20/2;(t===0||t===1)&&(l=o),r.attr(`transform`,`translate(${l}, ${c+20})`)}),_>h+v+20){let e=S+h+v+20,n;if(t.look===`neo`){let t=.001,r=[[x,e],[x+y,e],[x+y,e+t],[x,e+t]];n=C.polygon(r,w)}else n=C.line(x,e,x+y,e,w);m.insert(()=>n).attr(`class`,`divider`)}return Y(t,E),t.intersect=function(e){return Q.rect(t,e)},r&&t.look!==`handDrawn`&&(f||d?.length)&&m.selectAll(`path`).attr(`style`,r),m}async function q(e,t,n,r=``,a=`center`){if(t===``)return 0;let o=e.insert(`g`).attr(`class`,`label`).attr(`style`,r),s=g(),c=s.htmlLabels??!0,l=await T(o,d(y(t)),{width:S(t,s)+50,classes:`markdown-node-label`,useHtmlLabels:c,style:r},s),u;if(c){let e=l.children[0],t=i(l);a===`start`&&i(e).style(`text-align`,`left`),u=e.getBoundingClientRect(),t.attr(`width`,u.width),t.attr(`height`,u.height)}else{let e=l.children[0];for(let t of e.children)r&&t.setAttribute(`style`,r);if(a===`start`){e.setAttribute(`text-anchor`,`start`);for(let t of e.children)t.setAttribute(`text-anchor`,`start`)}u=l.getBBox(),u.height+=6}return o.attr(`transform`,`translate(${-u.width/2},${-u.height/2+n})`),u.height}async function Tt(e,t,{config:n}){let{labelStyles:r,nodeStyles:i}=D(t);t.labelStyle=r||``;let a=t.width;t.width=(t.width??200)-10;let{shapeSvg:o,bbox:s,label:c}=await J(e,t,X(t)),l=t.padding||10,u=``,d;`ticket`in t&&t.ticket&&n?.kanban?.ticketBaseUrl&&(u=n?.kanban?.ticketBaseUrl.replace(`#TICKET#`,t.ticket),d=o.insert(`svg:a`,`:first-child`).attr(`class`,`kanban-ticket-link`).attr(`xlink:href`,u).attr(`target`,`_blank`));let f={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||``,width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1},p,m;d?{label:p,bbox:m}=await It(d,`ticket`in t&&t.ticket||``,f):{label:p,bbox:m}=await It(o,`ticket`in t&&t.ticket||``,f);let{label:h,bbox:g}=await It(o,`assigned`in t&&t.assigned||``,f);t.width=a;let _=t?.width||0,v=Math.max(m.height,g.height)/2,y=Math.max(s.height+20,t?.height||0)+v,b=-_/2,x=-y/2;c.attr(`transform`,`translate(`+(l-_/2)+`, `+(-v-s.height/2)+`)`),p.attr(`transform`,`translate(`+(l-_/2)+`, `+(-v+s.height/2)+`)`),h.attr(`transform`,`translate(`+(l+_/2-g.width-20)+`, `+(-v+s.height/2)+`)`);let S,{rx:C,ry:w}=t,{cssStyles:T}=t;if(t.look===`handDrawn`){let e=N.svg(o),n=A(t,{}),r=C||w?e.path(Z(b,x,_,y,C||0),n):e.rectangle(b,x,_,y,n);S=o.insert(()=>r,`:first-child`),S.attr(`class`,`basic label-container`).attr(`style`,T||null)}else{S=o.insert(`rect`,`:first-child`),S.attr(`class`,`basic label-container __APA__`).attr(`style`,i).attr(`rx`,C??5).attr(`ry`,w??5).attr(`x`,b).attr(`y`,x).attr(`width`,_).attr(`height`,y);let e=`priority`in t&&t.priority;if(e){let t=o.append(`line`),n=b+2,r=x+Math.floor((C??0)/2),i=x+y-Math.floor((C??0)/2);t.attr(`x1`,n).attr(`y1`,r).attr(`x2`,n).attr(`y2`,i).attr(`stroke-width`,`4`).attr(`stroke`,Dn(e))}}return Y(t,S),t.height=y,t.intersect=function(e){return Q.rect(t,e)},o}async function Et(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.labelStyle=n;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await J(e,t,X(t)),l=o.width+10*s,u=o.height+8*s,d=.15*l,{cssStyles:f}=t,p=o.width+20,m=o.height+20,h=Math.max(l,p),g=Math.max(u,m);c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`);let _,v=`M0 0
5
- a${d},${d} 1 0,0 ${h*.25},${-1*g*.1}
6
- a${d},${d} 1 0,0 ${h*.25},0
7
- a${d},${d} 1 0,0 ${h*.25},0
8
- a${d},${d} 1 0,0 ${h*.25},${g*.1}
9
-
10
- a${d},${d} 1 0,0 ${h*.15},${g*.33}
11
- a${d*.8},${d*.8} 1 0,0 0,${g*.34}
12
- a${d},${d} 1 0,0 ${-1*h*.15},${g*.33}
13
-
14
- a${d},${d} 1 0,0 ${-1*h*.25},${g*.15}
15
- a${d},${d} 1 0,0 ${-1*h*.25},0
16
- a${d},${d} 1 0,0 ${-1*h*.25},0
17
- a${d},${d} 1 0,0 ${-1*h*.25},${-1*g*.15}
18
-
19
- a${d},${d} 1 0,0 ${-1*h*.1},${-1*g*.33}
20
- a${d*.8},${d*.8} 1 0,0 0,${-1*g*.34}
21
- a${d},${d} 1 0,0 ${h*.1},${-1*g*.33}
22
- H0 V0 Z`;if(t.look===`handDrawn`){let e=N.svg(a),n=A(t,{}),r=e.path(v,n);_=a.insert(()=>r,`:first-child`),_.attr(`class`,`basic label-container`).attr(`style`,C(f))}else _=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,v);return _.attr(`transform`,`translate(${-h/2}, ${-g/2})`),Y(t,_),t.calcIntersect=function(e,t){return Q.rect(e,t)},t.intersect=function(e){return r.info(`Bang intersect`,t,e),Q.rect(t,e)},a}async function Dt(e,t){let{labelStyles:n,nodeStyles:i}=D(t);t.labelStyle=n;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await J(e,t,X(t)),l=o.width+2*s,u=o.height+2*s,d=.15*l,f=.25*l,p=.35*l,m=.2*l,{cssStyles:h}=t,g,_=`M0 0
23
- a${d},${d} 0 0,1 ${l*.25},${-1*l*.1}
24
- a${p},${p} 1 0,1 ${l*.4},${-1*l*.1}
25
- a${f},${f} 1 0,1 ${l*.35},${l*.2}
26
-
27
- a${d},${d} 1 0,1 ${l*.15},${u*.35}
28
- a${m},${m} 1 0,1 ${-1*l*.15},${u*.65}
29
-
30
- a${f},${d} 1 0,1 ${-1*l*.25},${l*.15}
31
- a${p},${p} 1 0,1 ${-1*l*.5},0
32
- a${d},${d} 1 0,1 ${-1*l*.25},${-1*l*.15}
33
-
34
- a${d},${d} 1 0,1 ${-1*l*.1},${-1*u*.35}
35
- a${m},${m} 1 0,1 ${l*.1},${-1*u*.65}
36
- H0 V0 Z`;if(t.look===`handDrawn`){let e=N.svg(a),n=A(t,{}),r=e.path(_,n);g=a.insert(()=>r,`:first-child`),g.attr(`class`,`basic label-container`).attr(`style`,C(h))}else g=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,_);return c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`),g.attr(`transform`,`translate(${-l/2}, ${-u/2})`),Y(t,g),t.calcIntersect=function(e,t){return Q.rect(e,t)},t.intersect=function(e){return r.info(`Cloud intersect`,t,e),Q.rect(t,e)},a}async function Ot(e,t){let{labelStyles:n,nodeStyles:r}=D(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,halfPadding:o,label:s}=await J(e,t,X(t)),c=a.width+8*o,l=a.height+2*o,u=t.look===`neo`?`
37
- M${-c/2} ${l/2-5}
38
- v${-l+10}
39
- q0,-5 5,-5
40
- h${c-10}
41
- q5,0 5,5
42
- v${l-5}
43
- H${-c/2}
44
- Z
45
- `:`
46
- M${-c/2} ${l/2-5}
47
- v${-l+10}
48
- q0,-5 5,-5
49
- h${c-10}
50
- q5,0 5,5
51
- v${l-10}
52
- q0,5 -5,5
53
- h${-(c-10)}
54
- q-5,0 -5,-5
55
- Z
56
- `;if(!t.domId)throw Error(`defaultMindmapNode: node "${t.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let d=i.append(`path`).attr(`id`,t.domId).attr(`class`,`node-bkg node-`+t.type).attr(`style`,r).attr(`d`,u);return i.append(`line`).attr(`class`,`node-line-`).attr(`x1`,-c/2).attr(`y1`,l/2).attr(`x2`,c/2).attr(`y2`,l/2),s.attr(`transform`,`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>s.node()),Y(t,d),t.calcIntersect=function(e,t){return Q.rect(e,t)},t.intersect=function(e){return Q.rect(t,e)},i}async function kt(e,t){return pe(e,t,{padding:t.padding??0})}function At(e){return e in kn}var jt,Mt,Nt,Pt,Ft,J,It,Y,X,Lt,Z,Rt,zt,Bt,Vt,Ht,Q,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,$,Tn,En,Dn,On,kn,An=e((()=>{k(),w(),_(),b(),h(),o(),n(),a(),M(),jt=1,Mt=3,t(P,`configureLabelImages`),t(F,`hasTextBesidesImages`),Nt=3,Pt=32,Ft=t(async(e,t,n)=>{let r=g(),a=e.insert(`g`).attr(`class`,n??`node default`).attr(`id`,t.domId||t.id),o=a.insert(`g`).attr(`class`,`label`).attr(`style`,C(t.labelStyle)),s=[{text:typeof t.label==`string`?t.label:t.label?.[0]??``,cssClass:`c4-name`},{text:t.stereotype,cssClass:`c4-type`},...(t.description??[]).map(e=>({text:e,cssClass:`c4-descr`}))].filter(e=>e.text),l=t.width?Math.max(t.width-2*(t.padding??0),Pt):g().flowchart?.wrappingWidth??200,u=r.wrap?l:1/0,d=await Promise.all(s.map(async e=>{let n=o.append(`g`).attr(`class`,e.cssClass),a=await T(n,c(y(e.text??``),r),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:u,style:t.labelStyle},r);return i(a).selectAll(`tspan.text-outer-tspan`).attr(`text-anchor`,`middle`),i(a).selectAll(`tspan.text-inner-tspan`).attr(`font-weight`,null).attr(`font-style`,null),{el:n,box:n.node().getBBox()}})),f=Math.max(...d.map(({box:e})=>e.width),0),p=0;for(let{el:e,box:t}of d)e.attr(`transform`,`translate(${f/2-t.x-t.width/2}, ${p-t.y})`),p+=t.height+Nt;let m=d.length>0?p-Nt:0;return o.insert(`rect`,`:first-child`),o.attr(`transform`,`translate(${-f/2}, ${-m/2})`),{shapeSvg:a,bbox:o.node().getBBox(),halfPadding:(t.padding??0)/2,label:o}},`c4LabelHelper`),J=t(async(e,t,n)=>{if(t.stereotype!==void 0)return Ft(e,t,n);let r,a=t.useHtmlLabels||m(g()?.htmlLabels);r=n||`node default`;let o=e.insert(`g`).attr(`class`,r).attr(`id`,t.domId||t.id),s=o.insert(`g`).attr(`class`,`label`).attr(`style`,C(t.labelStyle)),l;l=t.label===void 0?``:typeof t.label==`string`?t.label:t.label[0];let u=!!t.icon||!!t.img,d=t.labelType===`markdown`,f=await T(s,c(y(l),g()),{useHtmlLabels:a,width:t.width||t.wrappingWidth||g().flowchart?.wrappingWidth,classes:d?`markdown-node-label`:``,style:t.labelStyle,addSvgBackground:u,markdown:d},g()),p=(t?.padding??0)/2,h;if(a){let e=f.children[0],t=i(f);await P(e),h=await E.measure(()=>e.getBoundingClientRect()),t.attr(`width`,h.width),t.attr(`height`,h.height)}else h=await E.measure(()=>f.getBBox());return a?s.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`):s.attr(`transform`,`translate(0, `+-h.height/2+`)`),t.centerLabel&&s.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:o,bbox:h,halfPadding:p,label:s}},`labelHelper`),It=t(async(e,t,n)=>{let r=n.useHtmlLabels??u(g()),a=e.insert(`g`).attr(`class`,`label`).attr(`style`,n.labelStyle||``),o=await T(a,c(y(t),g()),{useHtmlLabels:r,width:n.width||g()?.flowchart?.wrappingWidth,style:n.labelStyle,addSvgBackground:!!n.icon||!!n.img}),s=n.padding/2,l;if(u(g())){let e=o.children[0],t=i(o);l=await E.measure(()=>e.getBoundingClientRect()),t.attr(`width`,l.width),t.attr(`height`,l.height)}else l=await E.measure(()=>o.getBBox());return r?a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`):a.attr(`transform`,`translate(0, `+-l.height/2+`)`),n.centerLabel&&a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`),a.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:l,halfPadding:s,label:a}},`insertLabel`),Y=t((e,t,n)=>{if(n){e.width=n.width,e.height=n.height;return}let r=t.node().getBBox();e.width=r.width,e.height=r.height},`updateNodeBounds`),X=t((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`),t(I,`createPathFromPoints`),t(L,`generateFullSineWavePoints`),t(R,`generateCirclePoints`),t(ee,`mergePaths`),Lt=t((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),Z=t((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),Rt=t(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let o=g(),s=u(o);return await T(e,a,{style:n,isTitle:r,useHtmlLabels:s,markdown:!1,isNode:i,width:1/0},o)},`createLabel`),t(te,`intersectNode`),zt=te,t(ne,`intersectEllipse`),Bt=ne,t(z,`intersectCircle`),Vt=z,t(B,`intersectLine`),t(re,`sameSign`),Ht=B,t(ie,`intersectPolygon`),Q={node:zt,circle:Vt,ellipse:Bt,polygon:ie,rect:Lt},t(ae,`anchor`),t(V,`generateArcPoints`),t(H,`calculateArcSagitta`),t(oe,`bowTieRect`),t(se,`bucket`),Ut=20,Wt=8,Gt=80,Kt=8,t(ce,`collapsedGroup`),t(U,`insertPolygonShape`),qt=[`right`,`left`,`up`,`down`],Jt=`point`,Yt=t(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n);break}return t},`expandAndDeduplicateDirections`),Xt=t(e=>qt.filter(t=>e.has(t)).join(`|`)||Jt,`getDirectionKey`),Zt={"right|left|up|down":t(({height:e,midpoint:t,padding:n,width:r})=>[{x:0,y:0},{x:t,y:0},{x:r/2,y:2*n},{x:r-t,y:0},{x:r,y:0},{x:r,y:-e/3},{x:r+2*n,y:-e/2},{x:r,y:-2*e/3},{x:r,y:-e},{x:r-t,y:-e},{x:r/2,y:-e-2*n},{x:t,y:-e},{x:0,y:-e},{x:0,y:-2*e/3},{x:-2*n,y:-e/2},{x:0,y:-e/3}],`right|left|up|down`),"right|left|up":t(({height:e,midpoint:t,width:n})=>[{x:t,y:0},{x:n-t,y:0},{x:n,y:-e/2},{x:n-t,y:-e},{x:t,y:-e},{x:0,y:-e/2}],`right|left|up`),"right|left|down":t(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:t,y:-e},{x:n-t,y:-e},{x:n,y:0}],`right|left|down`),"right|up|down":t(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:n,y:-e+t},{x:0,y:-e}],`right|up|down`),"left|up|down":t(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:0,y:-e+t},{x:n,y:-e}],`left|up|down`),"right|left":t(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`right|left`),"up|down":t(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`up|down`),"right|up":t(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:0,y:-e}],`right|up`),"right|down":t(({height:e,width:t})=>[{x:0,y:0},{x:t,y:0},{x:0,y:-e}],`right|down`),"left|up":t(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:n,y:-e}],`left|up`),"left|down":t(({height:e,width:t})=>[{x:t,y:0},{x:0,y:0},{x:t,y:-e}],`left|down`),right:t(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e+n}],`right`),left:t(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`left`),up:t(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n}],`up`),down:t(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`down`),[Jt]:()=>[{x:0,y:0}]},Qt=t((e,t,n,r)=>{let i=Yt(e),a=(n.padding??0)/2,o=t.height+4*a,s=o/2,c=r??t.width+2*s+2*a;return(Zt[Xt(i)]??Zt[Jt])({height:o,midpoint:s,padding:a,width:c})},`getArrowPoints`),t(le,`block_arrow`),t(ue,`browser`),$t=12,t(de,`card`),t(fe,`choice`),t(pe,`circle`),t(me,`composite`),t(he,`consoleWindow`),t(ge,`createLine`),t(_e,`crossedCircle`),t(W,`generateCirclePoints`),t(ve,`curlyBraceLeft`),t(G,`generateCirclePoints`),t(ye,`curlyBraceRight`),t(K,`generateCirclePoints`),t(be,`curlyBraces`),t(xe,`curvedTrapezoid`),t(Se,`person`),en=t((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),tn=t((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),nn=t((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),rn=8,an=8,t(Ce,`cylinder`),t(we,`drawRect`),t(Te,`datastore`),t(Ee,`dividedRectangle`),t(De,`doublecircle`),t(Oe,`filledCircle`),on=10,sn=10,t(ke,`flippedTriangle`),t(Ae,`folder`),t(je,`forkJoin`),t(Me,`halfRoundedRectangle`),cn=t((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`),t(Ne,`hexagon`),t(Pe,`hourglass`),t(Fe,`icon`),t(Ie,`iconCircle`),t(Le,`iconRounded`),t(Re,`iconSquare`),t(ze,`imageSquare`),t(Be,`inv_trapezoid`),t(Ve,`labelRect`),t(He,`lean_left`),t(Ue,`lean_right`),t(We,`lightningBolt`),ln=t((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),un=t((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),dn=t((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),fn=10,pn=10,t(Ge,`linedCylinder`),t(Ke,`linedWaveEdgedRect`),t(qe,`multiRect`),t(Je,`multiWaveEdgedRectangle`),t(Ye,`note`),mn=t((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`),t(Xe,`question`),t(Ze,`rect_left_inv_arrow`),t(Qe,`rectWithTitle`),t($e,`roundedRect`),hn=8,t(et,`shadedProcess`),t(tt,`slopedRect`),t(nt,`squareRect`),t(rt,`stadium`),t(it,`state`),t(at,`stateEnd`),t(ot,`stateStart`),gn=8,t(st,`subroutine`),_n=.2,t(ct,`taggedRect`),t(lt,`taggedWaveEdgedRectangle`),t(ut,`text`),vn=t((e,t,n,r,i,a)=>`M${e},${t}
57
- a${i},${a} 0,0,1 0,${-r}
58
- l${n},0
59
- a${i},${a} 0,0,1 0,${r}
60
- M${n},${-r}
61
- a${i},${a} 0,0,0 0,${r}
62
- l${-n},0`,`createCylinderPathD`),yn=t((e,t,n,r,i,a)=>[`M${e},${t}`,`M${e+n},${t}`,`a${i},${a} 0,0,0 0,${-r}`,`l${-n},0`,`a${i},${a} 0,0,0 0,${r}`,`l${n},0`].join(` `),`createOuterCylinderPathD`),bn=t((e,t,n,r,i,a)=>[`M${e+n/2},${-r/2}`,`a${i},${a} 0,0,0 0,${r}`].join(` `),`createInnerCylinderPathD`),xn=5,Sn=10,t(dt,`tiltedCylinder`),t(ft,`trapezoid`),t(pt,`trapezoidalPentagon`),Cn=10,wn=10,t(mt,`triangle`),t(ht,`waveEdgedRectangle`),t(gt,`waveRectangle`),$=10,t(_t,`windowPane`),Tn=new Set([`redux-color`,`redux-dark-color`]),En=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`]),t(vt,`erBox`),t(yt,`addText`),t(bt,`lineToPolygon`),t(xt,`textHelper`),t(St,`addText`),t(Ct,`classBox`),t(wt,`requirementBox`),t(q,`addText`),Dn=t(e=>{switch(e){case`Very High`:return`red`;case`High`:return`orange`;case`Medium`:return null;case`Low`:return`blue`;case`Very Low`:return`lightblue`}},`colorFromPriority`),t(Tt,`kanbanItem`),t(Et,`bang`),t(Dt,`cloud`),t(Ot,`defaultMindmapNode`),t(kt,`mindmapCircle`),On=[{semanticName:`Process`,name:`Rectangle`,shortName:`rect`,description:`Standard process shape`,aliases:[`proc`,`process`,`rectangle`],internalAliases:[`squareRect`],handler:nt},{semanticName:`Event`,name:`Rounded Rectangle`,shortName:`rounded`,description:`Represents an event`,aliases:[`event`],internalAliases:[`roundedRect`],handler:$e},{semanticName:`Terminal Point`,name:`Stadium`,shortName:`stadium`,description:`Terminal point`,aliases:[`terminal`,`pill`],handler:rt},{semanticName:`Subprocess`,name:`Framed Rectangle`,shortName:`fr-rect`,description:`Subprocess`,aliases:[`subprocess`,`subproc`,`framed-rectangle`,`subroutine`],handler:st},{semanticName:`Database`,name:`Cylinder`,shortName:`cyl`,description:`Database storage`,aliases:[`db`,`database`,`cylinder`],handler:Ce},{semanticName:`Data Store`,name:`Data Store`,shortName:`datastore`,description:`Data flow diagram data store`,aliases:[`data-store`],handler:Te},{semanticName:`Folder`,name:`Folder`,shortName:`folder`,description:`Folder or directory`,aliases:[`directory`],handler:Ae},{semanticName:`Bucket`,name:`Bucket`,shortName:`bucket`,description:`Object storage bucket`,handler:se},{semanticName:`Console`,name:`Console (terminal window)`,shortName:`console`,description:`Terminal or console window`,handler:he},{semanticName:`Browser`,name:`Browser`,shortName:`browser`,description:`Browser window`,handler:ue},{semanticName:`Person`,name:`Person`,shortName:`person`,description:`Person (circular head above a rounded body)`,handler:Se},{semanticName:`Start`,name:`Circle`,shortName:`circle`,description:`Starting point`,aliases:[`circ`],handler:pe},{semanticName:`Bang`,name:`Bang`,shortName:`bang`,description:`Bang`,aliases:[`bang`],handler:Et},{semanticName:`Cloud`,name:`Cloud`,shortName:`cloud`,description:`cloud`,aliases:[`cloud`],handler:Dt},{semanticName:`Decision`,name:`Diamond`,shortName:`diam`,description:`Decision-making step`,aliases:[`decision`,`diamond`,`question`],handler:Xe},{semanticName:`Prepare Conditional`,name:`Hexagon`,shortName:`hex`,description:`Preparation or condition step`,aliases:[`hexagon`,`prepare`],handler:Ne},{semanticName:`Data Input/Output`,name:`Lean Right`,shortName:`lean-r`,description:`Represents input or output`,aliases:[`lean-right`,`in-out`],internalAliases:[`lean_right`],handler:Ue},{semanticName:`Data Input/Output`,name:`Lean Left`,shortName:`lean-l`,description:`Represents output or input`,aliases:[`lean-left`,`out-in`],internalAliases:[`lean_left`],handler:He},{semanticName:`Priority Action`,name:`Trapezoid Base Bottom`,shortName:`trap-b`,description:`Priority action`,aliases:[`priority`,`trapezoid-bottom`,`trapezoid`],handler:ft},{semanticName:`Manual Operation`,name:`Trapezoid Base Top`,shortName:`trap-t`,description:`Represents a manual task`,aliases:[`manual`,`trapezoid-top`,`inv-trapezoid`],internalAliases:[`inv_trapezoid`],handler:Be},{semanticName:`Stop`,name:`Double Circle`,shortName:`dbl-circ`,description:`Represents a stop point`,aliases:[`double-circle`],internalAliases:[`doublecircle`],handler:De},{semanticName:`Text Block`,name:`Text Block`,shortName:`text`,description:`Text block`,handler:ut},{semanticName:`Card`,name:`Notched Rectangle`,shortName:`notch-rect`,description:`Represents a card`,aliases:[`card`,`notched-rectangle`],handler:de},{semanticName:`Lined/Shaded Process`,name:`Lined Rectangle`,shortName:`lin-rect`,description:`Lined process shape`,aliases:[`lined-rectangle`,`lined-process`,`lin-proc`,`shaded-process`],handler:et},{semanticName:`Start`,name:`Small Circle`,shortName:`sm-circ`,description:`Small starting point`,aliases:[`start`,`small-circle`],internalAliases:[`stateStart`],handler:ot},{semanticName:`Stop`,name:`Framed Circle`,shortName:`fr-circ`,description:`Stop point`,aliases:[`stop`,`framed-circle`],internalAliases:[`stateEnd`],handler:at},{semanticName:`Fork/Join`,name:`Filled Rectangle`,shortName:`fork`,description:`Fork or join in process flow`,aliases:[`join`],internalAliases:[`forkJoin`],handler:je},{semanticName:`Collate`,name:`Hourglass`,shortName:`hourglass`,description:`Represents a collate operation`,aliases:[`hourglass`,`collate`],handler:Pe},{semanticName:`Comment`,name:`Curly Brace`,shortName:`brace`,description:`Adds a comment`,aliases:[`comment`,`brace-l`],handler:ve},{semanticName:`Comment Right`,name:`Curly Brace`,shortName:`brace-r`,description:`Adds a comment`,handler:ye},{semanticName:`Comment with braces on both sides`,name:`Curly Braces`,shortName:`braces`,description:`Adds a comment`,handler:be},{semanticName:`Com Link`,name:`Lightning Bolt`,shortName:`bolt`,description:`Communication link`,aliases:[`com-link`,`lightning-bolt`],handler:We},{semanticName:`Document`,name:`Document`,shortName:`doc`,description:`Represents a document`,aliases:[`doc`,`document`],handler:ht},{semanticName:`Delay`,name:`Half-Rounded Rectangle`,shortName:`delay`,description:`Represents a delay`,aliases:[`half-rounded-rectangle`],handler:Me},{semanticName:`Direct Access Storage`,name:`Horizontal Cylinder`,shortName:`h-cyl`,description:`Direct access storage`,aliases:[`das`,`horizontal-cylinder`],handler:dt},{semanticName:`Disk Storage`,name:`Lined Cylinder`,shortName:`lin-cyl`,description:`Disk storage`,aliases:[`disk`,`lined-cylinder`],handler:Ge},{semanticName:`Display`,name:`Curved Trapezoid`,shortName:`curv-trap`,description:`Represents a display`,aliases:[`curved-trapezoid`,`display`],handler:xe},{semanticName:`Divided Process`,name:`Divided Rectangle`,shortName:`div-rect`,description:`Divided process shape`,aliases:[`div-proc`,`divided-rectangle`,`divided-process`],handler:Ee},{semanticName:`Extract`,name:`Triangle`,shortName:`tri`,description:`Extraction process`,aliases:[`extract`,`triangle`],handler:mt},{semanticName:`Internal Storage`,name:`Window Pane`,shortName:`win-pane`,description:`Internal storage`,aliases:[`internal-storage`,`window-pane`],handler:_t},{semanticName:`Junction`,name:`Filled Circle`,shortName:`f-circ`,description:`Junction point`,aliases:[`junction`,`filled-circle`],handler:Oe},{semanticName:`Loop Limit`,name:`Trapezoidal Pentagon`,shortName:`notch-pent`,description:`Loop limit step`,aliases:[`loop-limit`,`notched-pentagon`],handler:pt},{semanticName:`Manual File`,name:`Flipped Triangle`,shortName:`flip-tri`,description:`Manual file operation`,aliases:[`manual-file`,`flipped-triangle`],handler:ke},{semanticName:`Manual Input`,name:`Sloped Rectangle`,shortName:`sl-rect`,description:`Manual input step`,aliases:[`manual-input`,`sloped-rectangle`],handler:tt},{semanticName:`Multi-Document`,name:`Stacked Document`,shortName:`docs`,description:`Multiple documents`,aliases:[`documents`,`st-doc`,`stacked-document`],handler:Je},{semanticName:`Multi-Process`,name:`Stacked Rectangle`,shortName:`st-rect`,description:`Multiple processes`,aliases:[`procs`,`processes`,`stacked-rectangle`],handler:qe},{semanticName:`Stored Data`,name:`Bow Tie Rectangle`,shortName:`bow-rect`,description:`Stored data`,aliases:[`stored-data`,`bow-tie-rectangle`],handler:oe},{semanticName:`Summary`,name:`Crossed Circle`,shortName:`cross-circ`,description:`Summary`,aliases:[`summary`,`crossed-circle`],handler:_e},{semanticName:`Tagged Document`,name:`Tagged Document`,shortName:`tag-doc`,description:`Tagged document`,aliases:[`tag-doc`,`tagged-document`],handler:lt},{semanticName:`Tagged Process`,name:`Tagged Rectangle`,shortName:`tag-rect`,description:`Tagged process`,aliases:[`tagged-rectangle`,`tag-proc`,`tagged-process`],handler:ct},{semanticName:`Paper Tape`,name:`Flag`,shortName:`flag`,description:`Paper tape`,aliases:[`paper-tape`],handler:gt},{semanticName:`Odd`,name:`Odd`,shortName:`odd`,description:`Odd shape`,internalAliases:[`rect_left_inv_arrow`],handler:Ze},{semanticName:`Lined Document`,name:`Lined Document`,shortName:`lin-doc`,description:`Lined document`,aliases:[`lined-document`],handler:Ke}],kn=t(()=>{let e=[...Object.entries({state:it,choice:fe,note:Ye,composite:me,rectWithTitle:Qe,labelRect:Ve,block_arrow:le,collapsedGroup:ce,iconSquare:Re,iconCircle:Ie,icon:Fe,iconRounded:Le,imageSquare:ze,anchor:ae,kanbanItem:Tt,mindmapCircle:kt,defaultMindmapNode:Ot,classBox:Ct,erBox:vt,requirementBox:wt}),...On.flatMap(e=>[e.shortName,...`aliases`in e?e.aliases:[],...`internalAliases`in e?e.internalAliases:[]].map(t=>[t,e.handler]))];return Object.fromEntries(e)},`generateShapeMap`)(),t(At,`isValidShape`)}));export{At as a,Y as c,Lt as i,Z as n,J as o,An as r,kn as s,Rt as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{jt as r,t as i}from"./src-DnfeXQPr.js";var a,o=e((()=>{n(),i(),a=t((e,t)=>{let n;return t===`sandbox`&&(n=r(`#i`+e)),r(t===`sandbox`?n.nodes()[0].contentDocument.body:`body`).select(`[id="${e}"]`)},`getDiagramElement`)}));export{o as n,a as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-CacB07dV.js";var t,n,r,i=e((()=>{t=Object.defineProperty,n=(e,n)=>t(e,`name`,{value:n,configurable:!0}),r=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})}}));export{n,i as r,r as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{zt as r}from"./src-DnfeXQPr.js";import{j as i}from"./chunk-DU6HZSFF-drzh6GsU.js";import{n as a}from"./chunk-PWAF6VOD-DMmD1vVf.js";import{d as o}from"./chunk-75Z2AOVW-3qybijF5.js";import{i as s}from"./chunk-GMAD6QVW-Bppi3Ctd.js";import{n as c}from"./chunk-P2QGCYS3-lRzkRjBB.js";import{r as l}from"./chunk-TEH6E4GO-B2RGEohZ.js";import{r as u}from"./chunk-OBVCFTLP-DJeNil5M.js";import{i as d}from"./chunk-R7TYR2AO-CYLA5UC5.js";import{l as f}from"./chunk-F27PBJKO-FiY35l4v.js";import{n as p}from"./chunk-XXDRQBXY-DnJkbUaw.js";import{t as m}from"./chunk-POPQ4Y6H-DouASMBW.js";import{n as h}from"./chunk-JQ64N6SF-DGg5kcEV.js";import{n as g}from"./chunk-CKBBP62Z-cIrXq6jN.js";import{a as _,i as v,n as y,r as b,t as x}from"./chunk-LCL6LL3I-CCYcjd7p.js";var S;e((()=>{v(),p(),m(),g(),f(),h(),d(),u(),l(),c(),s(),a(),o(),i(),r(),n(),S={parser:y,get db(){return new x},renderer:b,styles:_,init:t(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)}}))();export{S as diagram};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{zt as r}from"./src-DnfeXQPr.js";import{j as i}from"./chunk-DU6HZSFF-drzh6GsU.js";import{n as a}from"./chunk-PWAF6VOD-DMmD1vVf.js";import{d as o}from"./chunk-75Z2AOVW-3qybijF5.js";import{i as s}from"./chunk-GMAD6QVW-Bppi3Ctd.js";import{n as c}from"./chunk-P2QGCYS3-lRzkRjBB.js";import{r as l}from"./chunk-TEH6E4GO-B2RGEohZ.js";import{r as u}from"./chunk-OBVCFTLP-DJeNil5M.js";import{i as d}from"./chunk-R7TYR2AO-CYLA5UC5.js";import{l as f}from"./chunk-F27PBJKO-FiY35l4v.js";import{n as p}from"./chunk-XXDRQBXY-DnJkbUaw.js";import{t as m}from"./chunk-POPQ4Y6H-DouASMBW.js";import{n as h}from"./chunk-JQ64N6SF-DGg5kcEV.js";import{n as g}from"./chunk-CKBBP62Z-cIrXq6jN.js";import{a as _,i as v,n as y,r as b,t as x}from"./chunk-LCL6LL3I-CCYcjd7p.js";var S;e((()=>{v(),p(),m(),g(),f(),h(),d(),u(),l(),c(),s(),a(),o(),i(),r(),n(),S={parser:y,get db(){return new x},renderer:b,styles:_,init:t(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)}}))();export{S as diagram};
@@ -1 +0,0 @@
1
- .management-container{max-width:1200px;color:var(--text-main,#f8fafc);margin:0 auto;padding:32px 28px;font-family:inherit;animation:.3s ease-out mgFadeIn}@keyframes mgFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.management-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.management-title-group{flex-direction:column;gap:4px;display:flex}.management-title{letter-spacing:-.02em;color:var(--text-main,#fff);align-items:center;gap:12px;margin:0;font-size:1.65rem;font-weight:700;display:flex}.management-title-icon{font-size:1.75rem;line-height:1}.management-subtitle{color:var(--text-muted,#94a3b8);margin:0;font-size:.92rem}.management-primary-btn{background:var(--accent,#3b82f6);color:var(--text-on-accent);border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 4px 14px var(--accent-glow,#2563eb47);border:none;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.management-primary-btn:hover{background:var(--accent-hover,#60a5fa);box-shadow:0 6px 20px var(--accent-glow,#2563eb52);transform:translateY(-1px)}.management-primary-btn:active{transform:translateY(0)}.management-control-bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.management-search-wrapper{flex:1;min-width:260px;position:relative}.management-search-icon{color:var(--text-muted,#64748b);pointer-events:none;font-size:.95rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.management-search-input{background:var(--input-bg,#0f172a99);border:1px solid var(--border,#ffffff1a);border-radius:var(--radius-lg);width:100%;color:var(--text-main,#f8fafc);box-sizing:border-box;outline:none;padding:10px 14px 10px 42px;font-size:.9rem;transition:all .2s}.management-search-input:focus{border-color:var(--accent,#3b82f6);background:var(--surface-strong,#0f172ad9);box-shadow:0 0 0 3px var(--accent-glow,#3b82f633)}.management-filter-pills{background:var(--input-bg,#0f172a99);border-radius:var(--radius-lg);border:1px solid var(--border,#ffffff14);gap:4px;padding:4px;display:flex}.management-pill-btn{border-radius:var(--radius-md);color:var(--text-muted,#94a3b8);cursor:pointer;text-transform:none;background:0 0;border:none;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .2s}.management-pill-btn:hover{color:var(--text-main,#f8fafc)}.management-pill-btn.active{background:var(--accent,#3b82f6);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow,#3b82f64d);font-weight:600}.schedule-inline-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.schedule-inline-word{color:var(--text-muted,#94a3b8);white-space:nowrap;font-size:.85rem}.schedule-repeat-select{width:auto;min-width:130px}.schedule-day-input{width:auto;min-width:90px}.schedule-time-input{width:auto;min-width:110px}.schedule-timezone-select{width:auto;min-width:180px;max-width:260px}.schedule-weekday-circles{gap:6px;display:flex}.management-pill-btn-circle{border:1px solid var(--border,#ffffff1a);background:var(--input-bg,#0f172a99);width:30px;height:30px;color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:50%;flex:none;font-size:.78rem;font-weight:600;transition:all .2s}.management-pill-btn-circle:hover{color:var(--text-main,#f8fafc)}.management-pill-btn-circle.active{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow,#3b82f64d)}.mgmt-list{border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);flex-direction:column;display:flex;overflow:hidden}.mgmt-row{background:var(--surface-bg,#1e293b66);border-top:1px solid var(--border,#ffffff0f);cursor:pointer;align-items:center;gap:16px;padding:13px 16px;transition:background .15s;display:flex}.mgmt-row:first-child{border-top:none}.mgmt-row:hover{background:var(--surface-strong,#1e293b9e)}.mgmt-row.is-disabled .mgmt-row-main{opacity:.5}.mgmt-row-main{flex:1;min-width:0}.mgmt-row-title{color:var(--text-main,#f8fafc);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.mgmt-row-meta{color:var(--text-muted,#94a3b8);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:.78rem;display:flex}.mgmt-row-meta code{font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.74rem}.mgmt-row-sep{opacity:.4}.mgmt-row-sub{color:var(--text-muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.8rem;overflow:hidden}.mgmt-status{letter-spacing:.05em;text-transform:none;font-size:.72rem;font-weight:700}.mgmt-status.ok{color:#34d399}.mgmt-status.failed{color:#f87171}.mgmt-status.running{color:var(--interactive-fg)}.mgmt-empty{text-align:center;color:var(--text-muted,#94a3b8);padding:48px 20px;font-size:.88rem;line-height:1.7}.mgmt-empty p{margin:0}.linked-empty{text-align:center;max-width:760px;color:var(--text-muted);margin:clamp(28px,7vh,80px) auto 0}.linked-empty-icon{margin-bottom:18px;display:inline-flex}.linked-empty h2{color:var(--text-main);margin:0 0 10px;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.3}.linked-empty>p{max-width:520px;margin:0 auto;font-size:.92rem;line-height:1.6}.linked-empty-steps{text-align:left;border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0;display:grid}.linked-empty-steps>div{flex-direction:column;gap:7px;min-width:0;padding:18px 20px;display:flex}.linked-empty-steps>div+div{border-inline-start:1px solid var(--border)}.linked-empty-steps strong{color:var(--text-main);font-size:.86rem}.linked-empty-steps span{font-size:.82rem;line-height:1.5}.linked-empty-cli{margin-top:14px!important;font-size:.79rem!important}.linked-folder-row{cursor:default;align-items:flex-start}.linked-folder-heading,.linked-folder-actions,.linked-folder-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.linked-folder-heading .mgmt-row-title{white-space:normal;overflow-wrap:anywhere}.linked-folder-description,.linked-folder-note-snippet{color:var(--text-soft,var(--text-muted));overflow-wrap:anywhere;margin:8px 0 0;font-size:.82rem;line-height:1.45}.linked-folder-meta{color:var(--text-muted);margin-top:10px;font-size:.78rem}.linked-folder-note-snippet{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.linked-folder-error,.linked-field-error{color:var(--error,#f87171);margin:8px 0 0;font-size:.8rem;line-height:1.4}.linked-load-error{text-align:center;color:var(--text-main);padding:44px 20px}.linked-load-error p{margin:0 0 14px}.management-error-banner{border:1px solid var(--error,#f87171);border-radius:var(--radius-lg);color:var(--error,#f87171);overflow-wrap:anywhere;margin:0 0 14px;padding:10px 12px;font-size:.82rem;line-height:1.45}.linked-add-modal .management-error-banner,.management-modal-body .management-error-banner{margin:0}.linked-folder-actions{flex:none;justify-content:flex-end}.linked-add-modal{max-height:calc(100vh - 40px);overflow-y:auto}.linked-detail-modal{flex-direction:column;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);display:flex}.linked-detail-modal .management-modal-header,.linked-detail-modal .management-modal-footer{flex:none}.linked-detail-modal .management-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.linked-detail-modal .management-modal-body>.mgmt-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(46vh,420px);overflow:hidden auto}.linked-note-row{cursor:default}.linked-note-preview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--input-bg);margin-top:12px;padding:14px}.linked-note-preview p{color:var(--text-muted);margin:0}.linked-note-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:min(36vh,320px);font:inherit;margin:0;font-size:.83rem;line-height:1.6;overflow:auto}.linked-path-row{gap:8px;display:flex}.linked-path-row .management-input-field{flex:1;min-width:0}.linked-optional,.linked-field-hint{color:var(--text-muted);font-weight:400}.linked-optional{margin-inline-start:5px}.linked-field-hint{margin:0;font-size:.78rem;line-height:1.45}.linked-scope-note{border-inline-start:2px solid var(--accent);background:var(--input-bg);color:var(--text-soft,var(--text-muted));margin:2px 0 0;padding:12px 14px;font-size:.81rem;line-height:1.5}.linked-add-modal [aria-invalid=true]{border-color:var(--error,#f87171)}.linked-add-modal :is(button,input,textarea):focus-visible,.linked-folder-actions button:focus-visible,.linked-empty button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=680px){.linked-empty{margin-top:24px}.linked-empty-steps{text-align:center;grid-template-columns:1fr}.linked-empty-steps>div{padding:13px 10px}.linked-empty-steps>div+div{border-inline-start:0;border-block-start:1px solid var(--border)}.linked-folder-row{flex-direction:column}.linked-folder-actions{justify-content:flex-start;width:100%}}.mgmt-row-stack{flex-direction:column;gap:8px;display:flex}.mcp-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=640px){.mcp-catalog-grid{grid-template-columns:1fr}}.mcp-catalog-card{background:var(--surface-bg,#1e293b73);border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);text-align:left;cursor:pointer;box-sizing:border-box;flex-direction:column;min-height:84px;padding:12px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.mcp-catalog-card:hover:not(:disabled){border-color:var(--accent,#3b82f6);background:var(--surface-strong,#1e293ba6);box-shadow:var(--shadow-md,0 8px 24px #00000038);transform:translateY(-1px)}.mcp-catalog-card.selected{box-shadow:0 0 0 1px var(--accent,#10b981), 0 4px 14px var(--accent-glow,#10b98133);border-color:var(--accent,#10b981)!important}.mcp-catalog-card-header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mcp-catalog-card-title{color:var(--text-main,#f8fafc);flex:1;align-items:center;gap:6px;min-width:0;font-size:.92rem;font-weight:600;display:flex}.mcp-catalog-card-title .name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mcp-catalog-card-desc{color:var(--text-muted,#94a3b8);-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.mgmt-detail-grid{color:var(--text-muted,#94a3b8);grid-template-columns:max-content 1fr;gap:6px 16px;font-size:.85rem;display:grid}.mgmt-detail-grid>span:nth-child(odd){color:var(--text-muted,#64748b)}.mgmt-detail-grid code{color:var(--text-main,#cbd5e1);word-break:break-word;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.8rem}.mgmt-prose{border:1px solid var(--border,#ffffff14);border-radius:var(--radius-lg);background:var(--input-bg,#0f172a59);max-height:340px;padding:2px 14px;overflow-y:auto}.management-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.management-card{background:var(--surface-bg,#1e293b73);border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);-webkit-backdrop-filter:var(--glass-blur,blur(12px));backdrop-filter:var(--glass-blur,blur(12px));flex-direction:column;justify-content:space-between;padding:20px;transition:all .2s;display:flex;position:relative;overflow:hidden}.management-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent,#3b82f680), transparent);opacity:0;height:2px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.management-card:hover{border-color:var(--accent,#3b82f6);box-shadow:var(--shadow-md,0 8px 24px #00000038), 0 0 12px var(--accent-glow,#3b82f626);background:var(--surface-strong,#1e293ba6);transform:translateY(-2px)}.management-card:hover:before{opacity:1}.management-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.management-card-title-group{align-items:center;gap:10px;display:flex}.management-card-icon{border-radius:var(--radius-lg);background:var(--accent-subtle,#3b82f626);border:1px solid var(--accent-border,#3b82f640);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.2rem;display:flex}.management-card-title{color:var(--text-main,#f8fafc);word-break:break-word;margin:0;font-size:1.05rem;font-weight:600}.management-card-title-badge{color:var(--interactive-fg);background:var(--accent-subtle,#10b9811f);border-radius:var(--radius-sm);border:1px solid var(--accent-border,#10b98140);padding:3px 10px;font-size:.88rem;font-weight:700}.management-badge{border-radius:var(--radius-sm);letter-spacing:.02em;flex-shrink:0;align-items:center;gap:6px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.management-badge.active,.management-badge.connected{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.management-badge.workspace{background:var(--accent-subtle,#3b82f626);color:var(--interactive-fg);border:1px solid var(--accent-border,#3b82f64d)}.management-badge.global{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.management-badge.inactive,.management-badge.disconnected{color:var(--text-muted,#94a3b8);background:#94a3b826;border:1px solid #94a3b840}.management-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.management-tag{letter-spacing:.06em;text-transform:none;flex-shrink:0;font-size:.7rem;font-weight:700}.management-tag.workspace{color:var(--interactive-fg)}.management-tag.global{color:#c084fc}.management-plugin-row{background:var(--surface-bg,#1e293b73);border:1px solid var(--border,#ffffff14);border-radius:var(--radius-xl);cursor:pointer;align-items:center;gap:14px;padding:12px 16px;transition:all .2s;display:flex}.management-plugin-row:hover{border-color:var(--accent,#3b82f6);background:var(--surface-strong,#1e293ba6);box-shadow:var(--shadow-md,0 8px 24px #00000038)}.management-plugin-info{flex:1;min-width:0}.management-plugin-name{color:var(--text-main,#f8fafc);align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:flex}.management-plugin-desc{color:var(--text-muted,#94a3b8);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8rem;overflow:hidden}.management-plugin-name .management-dot{background:var(--text-muted,#64748b)}.management-plugin-name .management-dot.connected{background:#34d399}.management-section-title{color:var(--text-main,#f8fafc);margin:0 0 12px;font-size:.95rem;font-weight:600}.management-installed-row{flex-wrap:wrap;gap:12px;margin-bottom:28px;display:flex}.management-plugin-avatar{border-radius:var(--radius-lg);border:1px solid var(--border,#ffffff14);cursor:pointer;background:#ffffff0f;justify-content:center;align-items:center;width:52px;height:52px;padding:0;transition:all .2s;display:flex}.management-plugin-avatar:hover{border-color:var(--accent,#3b82f6);box-shadow:var(--shadow-sm,0 4px 14px #00000029);transform:translateY(-2px)}.management-plugin-icon-btn{border:1px solid var(--border,#ffffff24);width:30px;height:30px;color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.management-plugin-icon-btn:hover{border-color:var(--accent,#3b82f6);color:var(--interactive-fg);background:var(--accent-subtle,#3b82f61a)}.management-card-body{flex:1;margin-bottom:16px}.management-card-desc{color:var(--text-muted,#94a3b8);-webkit-line-clamp:3;line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;margin:0 0 10px;font-size:.88rem;line-height:1.55;display:-webkit-box;overflow:hidden}.management-code-snippet{background:var(--input-bg,#0f172ab3);border-radius:var(--radius-md);border:1px solid var(--border,#ffffff0f);color:var(--interactive-fg);word-break:break-all;padding:8px 12px;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.8rem}.management-card-footer{border-top:1px solid var(--border,#ffffff0f);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px;display:flex}.management-action-btn{border-radius:var(--radius-md);border:1px solid var(--border,#ffffff1a);color:var(--text-main,#cbd5e1);cursor:pointer;background:#ffffff0a;padding:6px 12px;font-size:.82rem;font-weight:500;transition:all .2s}.management-action-btn:hover{color:var(--text-main);border-color:var(--border,#fff3);background:#ffffff1a}.management-action-btn.danger{color:#f87171;background:#ef44441a;border-color:#ef44444d}.management-action-btn.danger:hover{color:#fca5a5;background:#ef444440;border-color:#ef444480}.management-expand-btn{border-radius:var(--radius-md);border:1px solid var(--border,#ffffff1f);background:var(--input-bg,#ffffff0d);width:32px;height:32px;color:var(--text-main,#f8fafc);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.management-expand-btn:hover{background:var(--surface-strong,#ffffff26);border-color:var(--accent,#3b82f6);color:var(--interactive-fg)}.management-expand-btn.is-expanded{background:var(--accent-subtle,#3b82f626);border-color:var(--accent,#3b82f6);color:var(--interactive-fg)}.management-expand-btn svg{transition:transform .25s}.management-expand-btn.is-expanded svg{transform:rotate(180deg)}.settings-toggle-switch{flex-shrink:0;width:44px;min-width:44px;height:24px;display:inline-block;position:relative}.settings-toggle-switch input{opacity:0;width:0;height:0}.settings-toggle-slider{border:1px solid var(--border-strong,transparent);border-radius:var(--radius-3xl);cursor:pointer;background-color:#fff3;transition:background-color .2s,border-color .2s;position:absolute;inset:0}.settings-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s,background-color .2s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000040}.settings-toggle-switch input:checked+.settings-toggle-slider{background-color:var(--accent,#10b981);border-color:color-mix(in srgb, var(--accent,#10b981) 70%, var(--border-strong,#fff3))}.settings-toggle-switch input:checked+.settings-toggle-slider:before{background-color:var(--accent-contrast,#fff);transform:translate(20px)}.management-modal-overlay{-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));z-index:9999;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out mgFadeIn;display:flex;position:fixed;inset:0}.management-modal{background:var(--surface-bg,#1e293b);border:1px solid var(--border,#ffffff1f);border-radius:var(--radius-2xl);width:100%;max-width:720px;box-shadow:var(--shadow-lg,0 20px 40px #00000080);overflow:hidden}.management-modal.mcp-catalog-modal{max-width:820px}.management-modal-header{border-bottom:1px solid var(--border,#ffffff14);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.management-modal-title{color:var(--text-main,#fff);margin:0;font-size:1.2rem;font-weight:600}.management-modal-close{color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px;font-size:1.2rem;transition:color .15s}.management-modal-close:hover{color:var(--text-main)}.management-modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.management-form-group{flex-direction:column;gap:6px;display:flex}.management-label{color:var(--text-main,#cbd5e1);font-size:.85rem;font-weight:500}.management-input-field,.management-textarea-field{background:var(--input-bg,#0f172a99);border:1px solid var(--border,#ffffff1a);border-radius:var(--radius-lg);width:100%;color:var(--text-main,#f8fafc);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:all .2s}.management-input-field:focus,.management-textarea-field:focus{border-color:var(--accent,#3b82f6);background:var(--surface-strong,#0f172ad9);box-shadow:0 0 0 3px var(--accent-glow,#3b82f633)}.management-textarea-field{resize:vertical;min-height:110px}.management-modal-footer{border-top:1px solid var(--border,#ffffff14);background:#00000026;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.management-empty-state{text-align:center;background:var(--surface-bg,#1e293b40);border:1px dashed var(--border,#ffffff1a);border-radius:var(--radius-2xl);grid-column:1/-1;padding:60px 20px}.management-empty-icon{opacity:.7;margin-bottom:16px;font-size:3rem}.management-empty-title{color:var(--text-main,#f8fafc);margin:0 0 8px;font-size:1.15rem;font-weight:600}.management-empty-desc{color:var(--text-muted,#94a3b8);max-width:420px;margin:0 auto 20px;font-size:.9rem;line-height:1.5}.mcp-server-type-toggle{background:var(--input-bg,#00000040);border:1px solid var(--border,#ffffff1a);border-radius:var(--radius-xl,12px);gap:4px;padding:4px;display:flex}.mcp-toggle-btn{border-radius:var(--radius-lg,8px);cursor:pointer;color:var(--text-muted,#94a3b8);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.mcp-toggle-btn:hover{color:var(--text-main,#fff);background:#ffffff0d}.mcp-toggle-btn.active{background:var(--accent,#3b82f6);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow,#3b82f64d)}.mcp-toggle-icon{font-size:1rem}.mcp-test-row{flex-wrap:wrap;align-items:center;gap:12px;padding-top:4px;display:flex}.mcp-test-btn{border-radius:var(--radius-lg,8px);cursor:pointer;border:1px solid var(--border,#ffffff26);background:var(--surface-bg,#ffffff0f);color:var(--text-main,#fff);align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.mcp-test-btn:hover:not(:disabled){background:var(--surface-strong,#ffffff1f);border-color:var(--accent,#3b82f6)}.mcp-test-btn:disabled{opacity:.6;cursor:not-allowed}.mcp-test-status{word-break:break-word;align-items:center;gap:6px;font-size:.84rem;line-height:1.4;display:flex}.mcp-test-status.success{color:#34d399}.mcp-test-status.error{color:#f87171}.mcp-test-status.testing{color:var(--interactive-fg)}.management-badge.remote{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.mcp-spin{animation:.8s linear infinite mcp-spin}@keyframes mcp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mcp-security-notice{border-radius:var(--radius-lg,10px);background:#f59e0b0d;border:1px solid #f59e0b47;margin-top:14px;overflow:hidden}.mcp-security-header{color:#fbbf24;background:#f59e0b1f;border-bottom:1px solid #f59e0b33;align-items:center;gap:8px;padding:10px 14px;font-size:.86rem;font-weight:600;display:flex}.mcp-security-icon{color:#f59e0b;flex-shrink:0}.mcp-security-body{background:#0f172a73;padding:12px 14px}.mcp-security-ack{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:12px;display:flex}.mcp-security-ack-text{color:var(--text-main,#e2e8f0);flex-direction:column;gap:4px;font-size:.84rem;display:flex}.mcp-security-subtext{color:var(--text-muted,#94a3b8);font-size:.78rem;line-height:1.4}.mint-custom-checkbox{appearance:none;cursor:pointer;box-sizing:border-box;background:#ffffff14;border:1.5px solid #ffffff38;border-radius:5px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;margin:0;transition:all .16s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.mint-custom-checkbox:hover{border-color:var(--accent,#10b981);background:#ffffff1f;box-shadow:0 0 0 3px #10b98129}.mint-custom-checkbox:checked{background-color:var(--accent,#10b981);border-color:var(--accent,#10b981);box-shadow:0 2px 8px var(--accent-glow,#10b98159)}.mint-custom-checkbox:checked:after{content:"";background:var(--text-on-accent);width:11px;height:11px;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='3.5 8.5 6.5 11.5 12.5 5.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='3.5 8.5 6.5 11.5 12.5 5.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.mint-custom-checkbox:active{transform:scale(.92)}.mint-custom-checkbox:focus-visible{box-shadow:0 0 0 3px #10b9814d}.mcp-allow-all-row{border-radius:var(--radius-lg,10px);background:var(--surface-bg,#ffffff08);border:1px solid var(--border,#ffffff14);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:12px;margin-top:14px;padding:12px 14px;transition:all .2s;display:flex}.mcp-allow-all-row:hover{background:var(--surface-strong,#ffffff0f);border-color:#ffffff29}.mcp-allow-all-row:hover .mint-custom-checkbox:not(:checked),.mcp-security-ack:hover .mint-custom-checkbox:not(:checked){border-color:var(--accent,#10b981);background:#ffffff1f}.mcp-allow-all-row .mint-custom-checkbox,.mcp-security-ack .mint-custom-checkbox{margin-top:2px}.mcp-allow-all-text{flex-direction:column;gap:3px;display:flex}.mcp-allow-all-title{color:var(--text-main,#fff);font-size:.88rem;font-weight:500}.mcp-allow-all-desc{color:var(--text-muted,#94a3b8);font-size:.78rem;line-height:1.4}
@@ -1 +0,0 @@
1
- import{i as e,n as t}from"./chunk-CacB07dV.js";import{k as n,o as r,u as i,y as a}from"./index-D8D9MeRA.js";var o,s,c,l,u,d,f=t((()=>{o=e=>{let t=e.replace(`#`,``);if(t.length===3)return{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16)};let n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:{r:16,g:185,b:129}},s=(e,t)=>{let n=e.replace(`#`,``);if(n.length!==6)return e;let r=parseInt(n,16),i=Math.min(255,(r>>16)+t),a=Math.min(255,(r>>8&255)+t),o=Math.min(255,(r&255)+t);return`#${(i<<16|a<<8|o).toString(16).padStart(6,`0`)}`},c=e=>{let t=o(e);return .299*t.r+.587*t.g+.114*t.b>160?`#09090b`:`#ffffff`},l=null,u=null,d=e=>{if(typeof document>`u`)return;let t=e.theme||`dark`,n=e.surfaceStyle||(e.glassBlur===`none`?`opaque`:`glass`),r=e.accentColor||`#10b981`,i=o(r),a=c(r),d=t;t===`system`?(d=window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,u||(l=window.matchMedia(`(prefers-color-scheme: dark)`),u=e=>{document.documentElement.setAttribute(`data-theme`,e.matches?`dark`:`light`)},l.addEventListener(`change`,u))):u&&l&&(l.removeEventListener(`change`,u),u=null,l=null),document.documentElement.setAttribute(`data-theme`,d),document.documentElement.setAttribute(`data-surface`,n);let f=r.trim().toLowerCase();if(document.documentElement.setAttribute(`data-accent-mode`,f===`#ffffff`||f===`#fff`?`monochrome`:`color`),document.documentElement.style.setProperty(`--accent-default`,r),document.documentElement.style.setProperty(`--accent`,r),document.documentElement.style.setProperty(`--accent-hover`,s(r,20)),document.documentElement.style.setProperty(`--accent-glow`,`rgba(${i.r}, ${i.g}, ${i.b}, 0.35)`),document.documentElement.style.setProperty(`--accent-subtle`,`rgba(${i.r}, ${i.g}, ${i.b}, 0.14)`),document.documentElement.style.setProperty(`--accent-border`,`rgba(${i.r}, ${i.g}, ${i.b}, 0.3)`),document.documentElement.style.setProperty(`--text-on-accent`,a),document.documentElement.style.setProperty(`--accent-contrast`,a),n===`opaque`?document.documentElement.style.setProperty(`--glass-blur`,`none`):document.documentElement.style.setProperty(`--glass-blur`,e.glassBlur||`blur(16px)`),e.fontFamily&&(document.body.style.fontFamily=e.fontFamily),e.fontSize&&(document.documentElement.style.fontSize=e.fontSize),t===`custom`){if(e.customBgStart&&e.customBgEnd&&(document.documentElement.style.setProperty(`--bg-canvas`,e.customBgStart),document.documentElement.style.setProperty(`--bg-color`,e.customBgStart),document.documentElement.style.setProperty(`--bg-gradient`,`linear-gradient(135deg, ${e.customBgStart} 0%, ${e.customBgEnd} 100%)`)),e.customPanelBg){let t=o(e.customPanelBg);document.documentElement.style.setProperty(`--bg-surface`,`rgba(${t.r}, ${t.g}, ${t.b}, 0.75)`),document.documentElement.style.setProperty(`--panel-bg`,`rgba(${t.r}, ${t.g}, ${t.b}, 0.75)`),document.documentElement.style.setProperty(`--surface-bg`,`rgba(${t.r}, ${t.g}, ${t.b}, 0.62)`)}return}[`--bg-canvas`,`--bg-color`,`--bg-gradient`,`--panel-bg`,`--panel-raised`,`--panel-soft`,`--chrome-bg`,`--surface-bg`,`--surface-strong`,`--input-bg`,`--text-main`,`--text-chat`,`--text-soft`].forEach(e=>document.documentElement.style.removeProperty(e))}}));function p(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function m(e){if(!e)return new Date;if(e instanceof Date)return e;if(typeof e!=`string`)return new Date(e);let t=e.trim();/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/.test(t)?t=t.replace(` `,`T`)+`Z`:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?$/.test(t)&&(t+=`Z`);let n=new Date(t);return Number.isNaN(n.getTime())?new Date:n}function ee(e,t){let n=m(e).getTime(),r=m(t).getTime();return!Number.isFinite(n)||!Number.isFinite(r)?!1:Math.abs(r-n)>h}function te(e){let t=m(e);if(Number.isNaN(t.getTime()))return``;let n=new Date,r=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});if(t.toDateString()===n.toDateString())return r;let i=new Date(n);return i.setDate(n.getDate()-1),t.toDateString()===i.toDateString()?`Yesterday, ${r}`:`${t.toLocaleDateString([],{month:`short`,day:`numeric`})}, ${r}`}function ne(e){return e instanceof Error?e.message:String(e)}function re(e){let t=URL.createObjectURL(e);return{objectUrl:t,revoke:()=>{try{URL.revokeObjectURL(t)}catch{}}}}function ie(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result)),r.onerror=()=>n(r.error??Error(`Unable to read image`)),r.readAsDataURL(e)})}function ae(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result)),r.onerror=()=>n(r.error??Error(`Unable to read document`)),r.readAsDataURL(e)})}async function oe(e){let t=await new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`Unable to prepare image preview`)),r.src=e}),n=document.createElement(`canvas`);n.width=t.naturalWidth||t.width,n.height=t.naturalHeight||t.height;let r=n.getContext(`2d`,{willReadFrequently:!0});if(!r||n.width===0||n.height===0)return e;r.drawImage(t,0,0);let i=r.getImageData(0,0,n.width,n.height),a=n.width,o=n.height,s=-1,c=-1;for(let e=0;e<n.height;e+=1)for(let t=0;t<n.width;t+=1)i.data[(e*n.width+t)*4+3]>12&&(a=Math.min(a,t),o=Math.min(o,e),s=Math.max(s,t),c=Math.max(c,e));if(s<a||c<o)return e;let l=Math.max(0,a-8),u=Math.max(0,o-8),d=Math.min(n.width-l,s-a+1+16),f=Math.min(n.height-u,c-o+1+16);if(d>=n.width*.92&&f>=n.height*.92)return e;let p=document.createElement(`canvas`);p.width=d,p.height=f;let m=p.getContext(`2d`);return m?(m.drawImage(n,l,u,d,f,0,0,d,f),p.toDataURL(`image/png`)):e}var h,g,se=t((()=>{f(),h=1800*1e3,g=e=>{d(e)}}));function _(e){if(!e)return!1;let t=e.toLowerCase();return t.endsWith(`:free`)||t.includes(`:free`)}function ce(e,t){let n=e.trim(),r=n.toLowerCase();if(N[n])return N[n];for(let[e,t]of Object.entries(N))if(e.toLowerCase()===r||r.endsWith(e.toLowerCase()))return t;let i=`128K Context`;r.includes(`gemini`)||t===`gemini`?i=r.includes(`pro`)?`2M Context`:`1M Context`:r.includes(`claude`)||t===`anthropic`?i=`200K Context`:(r.includes(`llama-3`)||r.includes(`qwen`))&&(i=`128K Context`);let a=r.includes(`reason`)||r.includes(`thinking`)||r.includes(`r1`)||r.includes(`o1`)||r.includes(`o3`)||r.includes(`qwq`)||r.includes(`sonnet-5`)||r.includes(`opus-5`)||r.includes(`3-7`)||r.includes(`2.5`)||r.includes(`glm`)||r.includes(`deepseek`)||r.includes(`qwen`)||t===`gemini`;return{description:a?`${n} supports advanced multi-step reasoning and dynamic thinking effort.`:`${n} is an optimized model for responsive conversational interactions.`,contextWindow:i,supportsThinking:a}}var v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P=t((()=>{v=[`gemini-3.6-flash`,`gemini-3.5-flash`,`gemini-3.5-flash-lite`,`gemini-3.1-flash-lite`,`gemini-2.5-flash`],y=[`gemini-2.5-flash-native-audio-preview-12-2025`,`gemini-3.1-flash-live-preview`],b=[`Puck`,`Charon`,`Kore`,`Fenrir`,`Aoede`,`Leda`,`Orus`,`Zephyr`],x=[`gpt-5.6-sol`,`gpt-5.6-terra`,`gpt-5.6-luna`,`gpt-5.5-thinking`,`gpt-5.5-pro`],S=[`claude-sonnet-5`,`claude-opus-5`,`claude-sonnet-4.6`,`claude-opus-4.8`,`claude-haiku-4.5`],C=[`openai/gpt-5.6-terra`,`anthropic/claude-sonnet-5`,`google/gemini-3.6-flash`,`x-ai/grok-4.5`,`deepseek/deepseek-v4-pro`],w=[`anthropic/claude-3.7-sonnet`,`anthropic/claude-3.5-sonnet`,`openai/gpt-4o`,`openai/gpt-4o-mini`,`deepseek/deepseek-r1`,`deepseek/deepseek-chat`,`google/gemini-2.5-flash`,`google/gemini-2.5-pro`,`meta-llama/llama-3.3-70b-instruct`,`qwen/qwen-2.5-72b-instruct`],T=[`deepseek-chat`,`deepseek-reasoner`],E=[`Qwen/Qwen3.6-27B`,`deepseek-ai/DeepSeek-V4-Flash`,`google/gemma-3-27b-it`,`meta-llama/Llama-3.3-70B-Instruct`,`microsoft/phi-4`,`zai-org/GLM-5.2-FP8`,`mistralai/Mistral-Large-Instruct`,`openai/gpt-oss-120b`],D=[`local-model`,`Qwen/Qwen2.5-7B-Instruct-GGUF`,`meta-llama/Llama-3.2-3B-Instruct-GGUF`,`lmstudio-community/gemma-2-9b-it-GGUF`],O=[],k={gemini:v,openai:x,anthropic:S,openrouter:C,deepseek:T,huggingface:E,local_openai:D,ollama:O},A={nanobanana:[{value:`gemini-3.1-flash-image`,label:`Gemini 3.1 Flash Image (Default)`},{value:`gemini-3-pro-image`,label:`Gemini 3 Pro Image`},{value:`gemini-2.5-flash-image`,label:`Gemini 2.5 Flash Image`}],bfl:[{value:`flux-pro-1.1`,label:`FLUX 1.1 Pro (Default)`},{value:`flux-pro-1.1-ultra`,label:`FLUX 1.1 Pro Ultra`},{value:`flux-pro`,label:`FLUX Pro`},{value:`flux-dev`,label:`FLUX Dev`},{value:`flux-schnell`,label:`FLUX Schnell`},{value:`flux-kontext-pro`,label:`FLUX Kontext Pro`},{value:`flux-kontext-max`,label:`FLUX Kontext Max`},{value:`flux-fill-pro`,label:`FLUX Fill Pro`}],dalle:[{value:`gpt-image-1`,label:`GPT Image 1 (Default)`},{value:`dall-e-3`,label:`DALLΒ·E 3`}],stability:[{value:`ultra`,label:`Stable Image Ultra (Default)`},{value:`core`,label:`Stable Image Core`},{value:`sd3.5-large`,label:`SD3.5 Large`},{value:`sd3.5-large-turbo`,label:`SD3.5 Large Turbo`},{value:`sd3-medium`,label:`SD3 Medium`}],ideogram:[{value:`V_3`,label:`Ideogram V3 (Default)`},{value:`V_2`,label:`Ideogram V2`},{value:`V_2_TURBO`,label:`Ideogram V2 Turbo`}],replicate:[{value:`black-forest-labs/flux-1.1-pro`,label:`FLUX 1.1 Pro (Default)`},{value:`black-forest-labs/flux-kontext-pro`,label:`FLUX Kontext Pro`},{value:`black-forest-labs/flux-fill-pro`,label:`FLUX Fill Pro`},{value:`black-forest-labs/flux-schnell`,label:`FLUX Schnell`},{value:`stability-ai/sdxl`,label:`SDXL`},{value:`timbrooks/instruct-pix2pix`,label:`InstructPix2Pix`}]},j={veo:[{value:`veo-3.1-generate-preview`,label:`Veo 3.1 Generate Preview (Default)`},{value:`veo-3.1-fast-generate-preview`,label:`Veo 3.1 Fast Generate Preview`},{value:`veo-3.1-lite-generate-preview`,label:`Veo 3.1 Lite Generate Preview`},{value:`veo-2.0-generate-001`,label:`Veo 2.0 Generate`}]},M={gemini:{listKey:`nanobanana`,configField:`nanobananaModel`},dalle:{listKey:`dalle`,configField:`dalleModel`},stability:{listKey:`stability`,configField:`stabilityModel`},ideogram:{listKey:`ideogram`,configField:`ideogramModel`},replicate:{listKey:`replicate`,configField:`replicateModel`},bfl:{listKey:`bfl`,configField:`bflModel`}},N={"gemini-2.5-flash":{description:`Google ultra-fast multimodal model with adaptive reasoning and high efficiency.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-2.5-pro":{description:`Google advanced flagship model for complex coding, mathematical reasoning, and multimodal analysis.`,contextWindow:`2M Context`,supportsThinking:!0},"gemini-3.6-flash":{description:`Next-gen Gemini Flash model with enhanced tool use and native speed.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-3.5-flash":{description:`High-throughput Gemini reasoning model for fast agentic workflows.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-3.5-flash-lite":{description:`Ultra-lightweight Gemini model optimized for latency and quick queries.`,contextWindow:`1M Context`,supportsThinking:!0},"gemini-3.1-flash-lite":{description:`Compact high-speed Gemini variant for real-time applications.`,contextWindow:`1M Context`,supportsThinking:!0},"claude-sonnet-5":{description:`Anthropic flagship hybrid model with extended thinking and deep coding comprehension.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-opus-5":{description:`Anthropic frontier model for state-of-the-art reasoning, analysis, and architecture.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-sonnet-4.6":{description:`High-intelligence Claude model optimized for precise software engineering.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-opus-4.8":{description:`Heavyweight reasoning model designed for complex multi-turn logic.`,contextWindow:`200K Context`,supportsThinking:!0},"claude-haiku-4.5":{description:`Fast and responsive Claude model for lightweight conversational turns.`,contextWindow:`200K Context`,supportsThinking:!1},"gpt-5.6-terra":{description:`Balanced frontier OpenAI model with robust multi-step reasoning capabilities.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.6-luna":{description:`Next-generation versatile model for coding, creative synthesis, and tool use.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.6-sol":{description:`High-performance OpenAI model designed for deep analysis and problem solving.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.5-thinking":{description:`OpenAI dedicated thinking model with extended chain-of-thought processing.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-5.5-pro":{description:`Flagship OpenAI model with high instruction precision and broad domain mastery.`,contextWindow:`128K Context`,supportsThinking:!0},"gpt-4o":{description:`OpenAI versatile multimodal model for text, vision, and high-speed chat.`,contextWindow:`128K Context`,supportsThinking:!1},"gpt-4o-mini":{description:`Compact and fast OpenAI model for everyday conversational tasks.`,contextWindow:`128K Context`,supportsThinking:!1},"deepseek-v4-flash":{description:`High-throughput DeepSeek model built for swift responses and programming.`,contextWindow:`128K Context`,supportsThinking:!1},"deepseek-v4-pro":{description:`Advanced DeepSeek model featuring deep multilingual and coding reasoning.`,contextWindow:`128K Context`,supportsThinking:!0},"deepseek-reasoner":{description:`DeepSeek native reasoning model (R1 architecture) with comprehensive chain-of-thought.`,contextWindow:`64K Context`,supportsThinking:!0},"deepseek-chat":{description:`General-purpose DeepSeek V3 conversational and coding model.`,contextWindow:`64K Context`,supportsThinking:!1}}}));function le(e,t){if(t){if(t.trim().startsWith(`<svg`))return(0,R.jsx)(`div`,{dangerouslySetInnerHTML:{__html:t},style:{width:`22px`,height:`22px`,display:`flex`,alignItems:`center`,justifyContent:`center`}});if(t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`data:image`))return(0,R.jsx)(`img`,{src:t,alt:e,style:{width:`22px`,height:`22px`,objectFit:`contain`}});let n=t.toLowerCase().trim();if(n===`search`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#3b82f6`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,R.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]});if(n===`database`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#a855f7`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}),(0,R.jsx)(`path`,{d:`M21 12c0 1.66-4 3-9 3s-9-1.34-9-3`}),(0,R.jsx)(`path`,{d:`M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5`})]});if(n===`cloud`)return(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`path`,{d:`M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z`})});if(n===`code`||n===`terminal`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#10b981`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`polyline`,{points:`16 18 22 12 16 6`}),(0,R.jsx)(`polyline`,{points:`8 6 2 12 8 18`})]});if(n===`api`||n===`bolt`)return(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f59e0b`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`polygon`,{points:`13 2 3 14 12 14 11 22 21 10 12 10 13 2`})});if(n===`globe`||n===`remote`||n===`web`||n===`url`||n===`🌐`)return(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,R.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]})}let n=e.toLowerCase().trim();return n===`docker`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#0db7ed`,children:(0,R.jsx)(`path`,{d:`M13 8.5h2v2h-2zm-3 0h2v2h-2zm-3 0h2v2H7zm-3 3h2v2H4zm3 0h2v2H7zm3 0h2v2h-2zm3 0h2v2h-2zm3 0h2v2h-2zm-12 3h2v2H4zm3 0h2v2H7zm3 0h2v2h-2zm3 0h2v2h-2zm3 0h2v2h-2zm-6.2 3.8c-.8.5-2.1.8-3.4.6-2.5-.3-4.5-2.2-4.8-4.7h-1c.4 3.4 3.1 6 6.5 6 3 0 5.6-2 6.4-4.8.6-.2 1.4-.4 2.2-.2.3.1.6.3.8.5.6.6 1.4.9 2.2.9h.4c.5-.7.8-1.5.8-2.4 0-.3 0-.6-.1-.9-.7.1-1.4 0-2.1-.3-.6-.3-1.1-.8-1.5-1.4l-.2-.3h-2.1c-.2.7-.6 1.3-1.2 1.7-.6.4-1.3.6-2 .4z`})}):n===`git`||n===`gitkraken`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f05032`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`18`,cy:`18`,r:`3`}),(0,R.jsx)(`circle`,{cx:`6`,cy:`6`,r:`3`}),(0,R.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,R.jsx)(`path`,{d:`M6 9v6`}),(0,R.jsx)(`path`,{d:`M9 18h6`})]}):n===`github`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#f0f6fc`,children:(0,R.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.53 1.032 1.53 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z`})}):n===`node`||n===`nodejs`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#68a063`,children:(0,R.jsx)(`path`,{d:`M12 2L2 7.5v9L12 22l10-5.5v-9L12 2zm0 2.3l7.7 4.2v7L12 19.7 4.3 15.5v-7L12 4.3zm-1 4.2v3.5l-3-1.7V8.5l3 1.7zm2 0l3-1.7v1.8l-3 1.7V8.5z`})}):n===`gmail`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,R.jsx)(`path`,{fill:`#EA4335`,d:`M20 4H4C2.9 4 2 4.9 2 6v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z`,fillOpacity:`0.1`}),(0,R.jsx)(`path`,{fill:`#EA4335`,d:`M20 5H4c-.6 0-1.1.3-1.5.7l9.5 7.1 9.5-7.1c-.4-.4-.9-.7-1.5-.7z`}),(0,R.jsx)(`path`,{fill:`#34A853`,d:`M2 7v11c0 .6.4 1 1 1h2V9.3L2 7z`}),(0,R.jsx)(`path`,{fill:`#4285F4`,d:`M22 7l-3 2.3V19h2c.6 0 1-.4 1-1V7z`}),(0,R.jsx)(`path`,{fill:`#FBBC05`,d:`M5 19h14v-9.7l-7 5.3-7-5.3V19z`})]}):n===`calendar`||n===`google_calendar`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,R.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`3`,fill:`#ffffff`}),(0,R.jsx)(`path`,{d:`M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z`,fill:`#4285F4`}),(0,R.jsx)(`path`,{d:`M19 3H5a2 2 0 0 0-2 2v3h18V5a2 2 0 0 0-2-2z`,fill:`#185ABC`}),(0,R.jsx)(`path`,{d:`M7 2v3M17 2v3`,stroke:`#ffffff`,strokeWidth:`1.5`,strokeLinecap:`round`}),(0,R.jsx)(`text`,{x:`12`,y:`17`,fontSize:`8.5`,fontWeight:`bold`,fill:`#ffffff`,textAnchor:`middle`,fontFamily:`system-ui, -apple-system, sans-serif`,children:`31`})]}):n===`notion`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#ffffff`,children:(0,R.jsx)(`path`,{d:`M4.459 4.208c.746.606 1.026.56 2.424.466l11.424-.701c.28 0 .093-.28-.047-.326L15.69 2.155c-.42-.326-.98-.42-1.54-.373L3.712 2.808c-.42.046-.7.326-.7.7 0 .093.047.233.094.28l1.353 1.42zm.84 3.733v12.775c0 .7.373 1.073 1.12 1.026l12.774-.746c.746-.047.886-.606.886-1.12V7.1c0-.513-.233-.746-.746-.7l-13.24.793c-.56.047-.794.28-.794.746zm11.794 1.306c.093.373 0 .746-.373.793l-1.026.14v8.583c-.42.233-.886.373-1.306.373-.513 0-.84-.14-1.26-.653l-4.153-6.53v6.067l1.353.326c.093.047.14.28.14.42 0 .28-.233.373-.7.373l-2.846.14c-.093 0-.233-.093-.233-.373 0-.233.14-.373.28-.42l1.026-.14V9.95l-1.026-.14c-.093-.047-.186-.28-.186-.42 0-.28.233-.373.746-.373l2.8.047c.56 0 .98.14 1.353.746l4.06 6.344V10.23l-1.167-.14c-.093-.047-.14-.28-.14-.42 0-.28.233-.373.746-.373l2.707-.093c.14 0 .28.093.28.42z`})}):n===`youtube_music`||n===`yt_music`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`#FF0000`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`5.5`,fill:`none`,stroke:`#FFFFFF`,strokeWidth:`1.6`}),(0,R.jsx)(`polygon`,{points:`10.5 8.5 15.5 12 10.5 15.5`,fill:`#FFFFFF`})]}):n===`vercel`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#ffffff`,children:(0,R.jsx)(`path`,{d:`M12 1L24 22H0L12 1Z`})}):n===`spotify`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#1ed760`,children:(0,R.jsx)(`path`,{d:`M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.308-1.758-8.793-.963-.335.077-.67-.133-.746-.467-.077-.334.132-.67.467-.746 3.812-.871 7.102-.494 9.722 1.112.294.18.386.563.207.857zm1.233-2.743c-.226.367-.706.482-1.073.257-2.687-1.652-6.785-2.131-9.965-1.166-.413.126-.847-.106-.973-.519-.125-.413.106-.847.519-.973 3.632-1.102 8.147-.568 11.235 1.328.367.226.482.706.257 1.073zm.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.496.15-1.022-.132-1.173-.628-.15-.496.132-1.022.628-1.173 3.535-1.073 9.404-.871 12.984 1.254.446.265.592.844.327 1.29-.265.446-.844.592-1.29.327z`})}):n===`discord`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#5865f2`,children:(0,R.jsx)(`path`,{d:`M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994.021-.041.001-.09-.041-.106a13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.061 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.893.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.028zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z`})}):n===`filesystem`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f59e0b`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`path`,{d:`M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z`})}):n===`slack`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#e01e5a`,strokeWidth:`2.4`,strokeLinecap:`round`,children:[(0,R.jsx)(`line`,{x1:`9`,y1:`3`,x2:`7`,y2:`21`}),(0,R.jsx)(`line`,{x1:`17`,y1:`3`,x2:`15`,y2:`21`}),(0,R.jsx)(`line`,{x1:`3`,y1:`9`,x2:`21`,y2:`7`}),(0,R.jsx)(`line`,{x1:`3`,y1:`17`,x2:`21`,y2:`15`})]}):n===`postgres`||n===`sqlite`||n===`postgresql`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:n===`postgres`||n===`postgresql`?`#336791`:`#0f80cc`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}),(0,R.jsx)(`path`,{d:`M21 12c0 1.66-4 3-9 3s-9-1.34-9-3`}),(0,R.jsx)(`path`,{d:`M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5`})]}):n===`puppeteer`||n===`playwright`||n===`browser`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,R.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}):n===`fetch`||n===`web`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#22c55e`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,R.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}):n===`time`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#a78bfa`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`polyline`,{points:`12 6 12 12 16 14`})]}):n===`memory`?(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f472b6`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2z`}),(0,R.jsx)(`path`,{d:`M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2z`})]}):n===`sequential-thinking`||n===`sequentialthinking`?(0,R.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#fb923c`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,R.jsx)(`path`,{d:`M8 3v18M16 3v18M3 8h5M3 16h5M16 8h5M16 16h5`})}):(0,R.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#10b981`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`rect`,{x:`2`,y:`2`,width:`20`,height:`8`,rx:`2`,ry:`2`}),(0,R.jsx)(`rect`,{x:`2`,y:`14`,width:`20`,height:`8`,rx:`2`,ry:`2`}),(0,R.jsx)(`line`,{x1:`6`,y1:`6`,x2:`6.01`,y2:`6`}),(0,R.jsx)(`line`,{x1:`6`,y1:`18`,x2:`6.01`,y2:`18`})]})}function ue(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M22 10v6M2 10l10-5 10 5-10 5z`}),(0,R.jsx)(`path`,{d:`M6 12v5c3 3 9 3 12 0v-5`})]})}function de(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M12 2v8M18 10V4M6 10V4`}),(0,R.jsx)(`path`,{d:`M4 10h16v3a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4v-3z`}),(0,R.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12`,y2:`22`})]})}function fe(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`}),(0,R.jsx)(`polyline`,{points:`3.27 6.96 12 12.01 20.73 6.96`}),(0,R.jsx)(`line`,{x1:`12`,y1:`22.08`,x2:`12`,y2:`12`})]})}function pe(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,R.jsx)(`polyline`,{points:`12 9 12 13 15 15`}),(0,R.jsx)(`path`,{d:`M9 2h6M5 5l-1.5-1.5M19 5l1.5-1.5`})]})}function me(e=20,t=`currentColor`){return(0,R.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.5 1.5`}),(0,R.jsx)(`path`,{d:`M14 11a5 5 0 0 0-7.07 0l-2.83 2.83a5 5 0 0 0 7.07 7.07l1.5-1.5`})]})}function F(e,t){return(0,R.jsx)(`div`,{style:{width:t,height:t,borderRadius:`var(--radius-lg)`,background:`var(--accent, #10b981)`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:e})}function he(e=38){return F((0,R.jsx)(`svg`,{width:e*.56,height:e*.56,viewBox:`0 0 24 24`,fill:`rgba(255, 255, 255, 0.92)`,children:(0,R.jsx)(`path`,{d:`M3 7a2 2 0 0 1 2-2h4.17a2 2 0 0 1 1.41.59L12 7h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z`})}),e)}function I(e=38){return F((0,R.jsxs)(`svg`,{width:e*.56,height:e*.56,viewBox:`0 0 24 24`,fill:`none`,stroke:`rgba(255, 255, 255, 0.92)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`path`,{d:`M22 10v6M2 10l10-5 10 5-10 5z`}),(0,R.jsx)(`path`,{d:`M6 12v5c3 3 9 3 12 0v-5`})]}),e)}function L(e=38){return F((0,R.jsxs)(`svg`,{width:e*.56,height:e*.56,viewBox:`0 0 24 24`,fill:`none`,stroke:`rgba(255, 255, 255, 0.92)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,R.jsx)(`polyline`,{points:`12 9 12 13 15 15`}),(0,R.jsx)(`path`,{d:`M9 2h6M5 5l-1.5-1.5M19 5l1.5-1.5`})]}),e)}var R,z,ge=t((()=>{n(),R=a(),z=[{key:`spotify`,name:`Spotify`,desc:`Control playback with AI. Requires playerctl locally or Spotify OAuth.`,icon:`🎡`,enabledField:`pluginSpotifyEnabled`,nativeName:`spotify`,hasCredentials:!0,isOAuth:!0,oauthProvider:`spotify`,fields:[{label:`Spotify Client ID`,field:`spotifyClientId`,type:`text`,placeholder:`Enter Spotify Client ID...`},{label:`Spotify Client Secret`,field:`spotifyClientSecret`,type:`password`,placeholder:`Enter Spotify Client Secret...`}]},{key:`discord`,name:`Discord RPC`,desc:`Show "Using Mint Assistant" status in your local Discord client.`,icon:`πŸ’¬`,enabledField:`pluginDiscordEnabled`,hasCredentials:!1},{key:`gmail`,name:`Gmail`,desc:`Read, summarize, draft, and send emails via Google OAuth / API credentials.`,icon:`πŸ“§`,enabledField:`pluginGmailEnabled`,nativeName:`gmail`,hasCredentials:!0,isOAuth:!0,oauthProvider:`google`,fields:[{label:`Google Client ID`,field:`gmailClientId`,type:`text`,placeholder:`your_client_id.apps.googleusercontent.com`},{label:`Google Client Secret`,field:`gmailClientSecret`,type:`password`,placeholder:`your_client_secret`},{label:`Gmail Refresh Token`,field:`gmailRefreshToken`,type:`password`,placeholder:`your_refresh_token`}]},{key:`calendar`,name:`Google Calendar`,desc:`Read schedule, check availability, and create calendar events.`,icon:`πŸ“…`,enabledField:`pluginCalendarEnabled`,nativeName:`google_calendar`,hasCredentials:!0,isOAuth:!0,oauthProvider:`google`,fields:[{label:`Google Client ID`,field:`googleCalendarClientId`,type:`text`,placeholder:`your_client_id.apps.googleusercontent.com`},{label:`Google Client Secret`,field:`googleCalendarClientSecret`,type:`password`,placeholder:`your_client_secret`},{label:`Google Refresh Token`,field:`googleCalendarRefreshToken`,type:`password`,placeholder:`your_refresh_token`}]},{key:`notion`,name:`Notion`,desc:`Search pages, query databases, and create notes in Notion.`,icon:`πŸ“`,enabledField:`pluginNotionEnabled`,nativeName:`notion`,hasCredentials:!0,isOAuth:!0,oauthProvider:`notion`,fields:[{label:`Notion Integration API Key`,field:`notionApiKey`,type:`password`,placeholder:`secret_...`},{label:`Default Database ID`,field:`notionDatabaseId`,type:`text`,placeholder:`32-character database ID`}]},{key:`github`,name:`GitHub`,desc:`Access repositories, pull requests, and issues via GitHub OAuth.`,icon:`🐱`,enabledField:`pluginGithubEnabled`,nativeName:`github`,hasCredentials:!0,isOAuth:!0,oauthProvider:`github`,fields:[{label:`GitHub Client ID`,field:`githubClientId`,type:`text`,placeholder:`Ov23...`},{label:`GitHub Client Secret`,field:`githubClientSecret`,type:`password`,placeholder:`your_github_client_secret`},{label:`GitHub Personal Access Token (Optional)`,field:`githubToken`,type:`password`,placeholder:`ghp_...`}]},{key:`dev_tools`,name:`Dev Tools`,desc:`Read git status, log, and branch info from the workspace.`,icon:`πŸ› οΈ`,enabledField:`pluginDevToolsEnabled`,hasCredentials:!1,nativeName:`dev_tools`},{key:`docker`,name:`Docker`,desc:`List, start, stop, or restart local Docker containers.`,icon:`🐳`,enabledField:`pluginDockerEnabled`,hasCredentials:!1,nativeName:`docker`},{key:`obsidian`,name:`Local Notes`,desc:`List, read, or append Markdown notes in your notes folder.`,icon:`πŸ—’οΈ`,enabledField:`pluginObsidianEnabled`,hasCredentials:!1,nativeName:`obsidian`},{key:`system_metrics`,name:`System Metrics`,desc:`Read native RAM, CPU, and uptime metrics.`,icon:`πŸ“Š`,enabledField:`pluginSystemMetricsEnabled`,hasCredentials:!1,nativeName:`system_metrics`}]})),_e=t((()=>{}));function B(e){if(!e)return`Primary provider`;let t=e.startsWith(`custom:`)?e.replace(/^custom:/,``):e;switch(t.toLowerCase()){case`gemini`:return`Gemini`;case`openai`:return`OpenAI`;case`openrouter`:return`OpenRouter`;case`deepseek`:return`DeepSeek`;case`anthropic`:return`Claude`;case`huggingface`:return`Hugging Face`;case`local_openai`:return`Local OpenAI`;case`ollama`:return`Ollama`;case`groq`:return`Groq`;default:return t.charAt(0).toUpperCase()+t.slice(1)}}function ve(e){if(!e?.fallbackProvider)return``;let t=e.fallbackReason?` (${e.fallbackReason})`:``;return`${B(e.fallbackProvider)} unavailable${t}, fell back to ${B(e.provider)}.`}var ye=t((()=>{}));function V(e){return[...k[e]??[]]}function be(e,t,n){let[i,a]=(0,H.useState)(V(e)),[o,s]=(0,H.useState)(!1),c=(0,H.useRef)(0);return(0,H.useEffect)(()=>{if(a(V(e)),e===`ollama`||e===`huggingface`)return;let i=++c.current;s(!0),r(e,t,n).then(e=>{i===c.current&&a(e)}).catch(()=>{}).finally(()=>{i===c.current&&s(!1)})},[e,t,n]),{models:i,loading:o}}var H,xe=t((()=>{H=e(n()),P(),i()})),U,Se=t((()=>{U=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eAnthropic%3c/title%3e%3cpath%20d='M13.827%203.52h3.603L24%2020h-3.603l-6.57-16.48zm-7.258%200h3.767L16.906%2020h-3.674l-1.343-3.461H5.017l-1.344%203.46H0L6.57%203.522zm4.132%209.959L8.453%207.687%206.205%2013.48H10.7z'%3e%3c/path%3e%3c/svg%3e`})),W,Ce=t((()=>{W=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eDeepSeek%3c/title%3e%3cpath%20d='M23.748%204.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434%201.202-.422%201.84.027%201.436.633%202.58%201.838%203.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526%205.526%200%2001-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365%2011.365%200%2000-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055%203.055%200%2001-.465.137%209.597%209.597%200%2000-2.883-.102c-1.885.21-3.39%201.102-4.497%202.623C.082%208.606-.231%2010.684.152%2012.85c.403%202.284%201.569%204.175%203.36%205.653%201.858%201.533%203.997%202.284%206.438%202.14%201.482-.085%203.133-.284%204.994-1.86.47.234.962.327%201.78.397.63.059%201.236-.03%201.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926%201.096-1.296%202.746-2.642%203.392-7.003.05-.347.007-.565%200-.845-.004-.17.035-.237.23-.256a4.173%204.173%200%20001.545-.475c1.396-.763%201.96-2.015%202.093-3.517.02-.23-.004-.467-.247-.588zM11.581%2018c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696%204.696%200%20011.529-.039c2.132.312%203.946%201.265%205.468%202.774.868.86%201.525%201.887%202.202%202.891.72%201.066%201.494%202.082%202.48%202.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306%200%2001.415-.287.302.302%200%2001.2.288.306.306%200%2001-.31.307.303.303%200%2001-.304-.308zm3.11%201.596c-.2.081-.399.151-.59.16a1.245%201.245%200%2001-.798-.254c-.274-.23-.47-.358-.552-.758a1.73%201.73%200%2001.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559%200%2001-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136%201.146.016.352.144.618.408%201.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z'%20fill='%234D6BFE'%3e%3c/path%3e%3c/svg%3e`})),G,we=t((()=>{G=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGemini%3c/title%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='%233186FF'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-0-_R_0_)'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-1-_R_0_)'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-2-_R_0_)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-0-_R_0_'%20x1='7'%20x2='11'%20y1='15.5'%20y2='12'%3e%3cstop%20stop-color='%2308B962'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%2308B962'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-1-_R_0_'%20x1='8'%20x2='11.5'%20y1='5.5'%20y2='11'%3e%3cstop%20stop-color='%23F94543'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%23F94543'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-2-_R_0_'%20x1='3.5'%20x2='17.5'%20y1='13.5'%20y2='12'%3e%3cstop%20stop-color='%23FABC12'%3e%3c/stop%3e%3cstop%20offset='.46'%20stop-color='%23FABC12'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e`})),K,Te=t((()=>{K=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eHuggingFace%3c/title%3e%3cpath%20d='M2.25%2011.535c0-3.407%201.847-6.554%204.844-8.258a9.822%209.822%200%20019.687%200c2.997%201.704%204.844%204.851%204.844%208.258%200%205.266-4.337%209.535-9.687%209.535S2.25%2016.8%202.25%2011.535z'%20fill='%23FF9D0B'%3e%3c/path%3e%3cpath%20d='M11.938%2020.086c4.797%200%208.687-3.829%208.687-8.551%200-4.722-3.89-8.55-8.687-8.55-4.798%200-8.688%203.828-8.688%208.55%200%204.722%203.89%208.55%208.688%208.55z'%20fill='%23FFD21E'%3e%3c/path%3e%3cpath%20d='M11.875%2015.113c2.457%200%203.25-2.156%203.25-3.263%200-.576-.393-.394-1.023-.089-.582.283-1.365.675-2.224.675-1.798%200-3.25-1.693-3.25-.586%200%201.107.79%203.263%203.25%203.263h-.003z'%20fill='%23FF323D'%3e%3c/path%3e%3cpath%20d='M14.76%209.21c.32.108.445.753.767.585.447-.233.707-.708.659-1.204a1.235%201.235%200%2000-.879-1.059%201.262%201.262%200%2000-1.33.394c-.322.384-.377.92-.14%201.36.153.283.638-.177.925-.079l-.002.003zm-5.887%200c-.32.108-.448.753-.768.585a1.226%201.226%200%2001-.658-1.204c.048-.495.395-.913.878-1.059a1.262%201.262%200%20011.33.394c.322.384.377.92.14%201.36-.152.283-.64-.177-.925-.079l.003.003zm1.12%205.34a2.166%202.166%200%20011.325-1.106c.07-.02.144.06.219.171l.192.306c.069.1.139.175.209.175.074%200%20.15-.074.223-.172l.205-.302c.08-.11.157-.188.234-.165.537.168.986.536%201.25%201.026.932-.724%201.275-1.905%201.275-2.633%200-.508-.306-.426-.81-.19l-.616.296c-.52.24-1.148.48-1.824.48-.676%200-1.302-.24-1.823-.48l-.589-.283c-.52-.248-.838-.342-.838.177%200%20.703.32%201.831%201.187%202.56l.18.14z'%20fill='%233A3B45'%3e%3c/path%3e%3cpath%20d='M17.812%2010.366a.806.806%200%2000.813-.8c0-.441-.364-.8-.813-.8a.806.806%200%2000-.812.8c0%20.442.364.8.812.8zm-11.624%200a.806.806%200%2000.812-.8c0-.441-.364-.8-.812-.8a.806.806%200%2000-.813.8c0%20.442.364.8.813.8zM4.515%2013.073c-.405%200-.765.162-1.017.46a1.455%201.455%200%2000-.333.925%201.801%201.801%200%2000-.485-.074c-.387%200-.737.146-.985.409a1.41%201.41%200%2000-.2%201.722%201.302%201.302%200%2000-.447.694c-.06.222-.12.69.2%201.166a1.267%201.267%200%2000-.093%201.236c.238.533.81.958%201.89%201.405l.24.096c.768.3%201.473.492%201.478.494.89.243%201.808.375%202.732.394%201.465%200%202.513-.443%203.115-1.314.93-1.342.842-2.575-.274-3.763l-.151-.154c-.692-.684-1.155-1.69-1.25-1.912-.195-.655-.71-1.383-1.562-1.383-.46.007-.889.233-1.15.605-.25-.31-.495-.553-.715-.694a1.87%201.87%200%2000-.993-.312zm14.97%200c.405%200%20.767.162%201.017.46.216.262.333.588.333.925.158-.047.322-.071.487-.074.388%200%20.738.146.985.409a1.41%201.41%200%2001.2%201.722c.22.178.377.422.445.694.06.222.12.69-.2%201.166.244.37.279.836.093%201.236-.238.533-.81.958-1.889%201.405l-.239.096c-.77.3-1.475.492-1.48.494-.89.243-1.808.375-2.732.394-1.465%200-2.513-.443-3.115-1.314-.93-1.342-.842-2.575.274-3.763l.151-.154c.695-.684%201.157-1.69%201.252-1.912.195-.655.708-1.383%201.56-1.383.46.007.889.233%201.15.605.25-.31.495-.553.718-.694.244-.162.523-.265.814-.3l.176-.012z'%20fill='%23FF9D0B'%3e%3c/path%3e%3cpath%20d='M9.785%2020.132c.688-.994.638-1.74-.305-2.667-.945-.928-1.495-2.288-1.495-2.288s-.205-.788-.672-.714c-.468.074-.81%201.25.17%201.971.977.721-.195%201.21-.573.534-.375-.677-1.405-2.416-1.94-2.751-.532-.332-.907-.148-.782.541.125.687%202.357%202.35%202.14%202.707-.218.362-.983-.42-.983-.42S2.953%2014.9%202.43%2015.46c-.52.558.398%201.026%201.7%201.803%201.308.778%201.41.985%201.225%201.28-.187.295-3.07-2.1-3.34-1.083-.27%201.011%202.943%201.304%202.745%202.006-.2.7-2.265-1.324-2.685-.537-.425.79%202.913%201.718%202.94%201.725%201.075.276%203.813.859%204.77-.522zm4.432%200c-.687-.994-.64-1.74.305-2.667.943-.928%201.493-2.288%201.493-2.288s.205-.788.675-.714c.465.074.807%201.25-.17%201.971-.98.721.195%201.21.57.534.377-.677%201.407-2.416%201.94-2.751.532-.332.91-.148.782.541-.125.687-2.355%202.35-2.137%202.707.215.362.98-.42.98-.42S21.05%2014.9%2021.57%2015.46c.52.558-.395%201.026-1.7%201.803-1.308.778-1.408.985-1.225%201.28.187.295%203.07-2.1%203.34-1.083.27%201.011-2.94%201.304-2.743%202.006.2.7%202.263-1.324%202.685-.537.423.79-2.912%201.718-2.94%201.725-1.077.276-3.815.859-4.77-.522z'%20fill='%23FFD21E'%3e%3c/path%3e%3c/svg%3e`})),q,J=t((()=>{q=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eLM%20Studio%3c/title%3e%3cpath%20d='M2.84%202a1.273%201.273%200%20100%202.547h14.107a1.273%201.273%200%20100-2.547H2.84zM7.935%205.33a1.273%201.273%200%20000%202.548H22.04a1.274%201.274%200%20000-2.547H7.935zM3.624%209.935c0-.704.57-1.274%201.274-1.274h14.106a1.274%201.274%200%20010%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM1.273%2012.188a1.273%201.273%200%20100%202.547H15.38a1.274%201.274%200%20000-2.547H1.273zM3.624%2016.792c0-.704.57-1.274%201.274-1.274h14.106a1.273%201.273%200%20110%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM13.029%2018.849a1.273%201.273%200%20100%202.547h9.698a1.273%201.273%200%20100-2.547h-9.698z'%20fill-opacity='.3'%3e%3c/path%3e%3cpath%20d='M2.84%202a1.273%201.273%200%20100%202.547h10.287a1.274%201.274%200%20000-2.547H2.84zM7.935%205.33a1.273%201.273%200%20000%202.548H18.22a1.274%201.274%200%20000-2.547H7.935zM3.624%209.935c0-.704.57-1.274%201.274-1.274h10.286a1.273%201.273%200%20010%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM1.273%2012.188a1.273%201.273%200%20100%202.547H11.56a1.274%201.274%200%20000-2.547H1.273zM3.624%2016.792c0-.704.57-1.274%201.274-1.274h10.286a1.273%201.273%200%20110%202.547H4.898c-.703%200-1.274-.57-1.274-1.273zM13.029%2018.849a1.273%201.273%200%20100%202.547h5.78a1.273%201.273%200%20100-2.547h-5.78z'%3e%3c/path%3e%3c/svg%3e`})),Y,Ee=t((()=>{Y=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOllama%3c/title%3e%3cpath%20d='M7.905%201.09c.216.085.411.225.588.41.295.306.544.744.734%201.263.191.522.315%201.1.362%201.68a5.054%205.054%200%20012.049-.636l.051-.004c.87-.07%201.73.087%202.48.474.101.053.2.11.297.17.05-.569.172-1.134.36-1.644.19-.52.439-.957.733-1.264a1.67%201.67%200%2001.589-.41c.257-.1.53-.118.796-.042.401.114.745.368%201.016.737.248.337.434.769.561%201.287.23.934.27%202.163.115%203.645l.053.04.026.019c.757.576%201.284%201.397%201.563%202.35.435%201.487.216%203.155-.534%204.088l-.018.021.002.003c.417.762.67%201.567.724%202.4l.002.03c.064%201.065-.2%202.137-.814%203.19l-.007.01.01.024c.472%201.157.62%202.322.438%203.486l-.006.039a.651.651%200%2001-.747.536.648.648%200%2001-.54-.742c.167-1.033.01-2.069-.48-3.123a.643.643%200%2001.04-.617l.004-.006c.604-.924.854-1.83.8-2.72-.046-.779-.325-1.544-.8-2.273a.644.644%200%2001.18-.886l.009-.006c.243-.159.467-.565.58-1.12a4.229%204.229%200%2000-.095-1.974c-.205-.7-.58-1.284-1.105-1.683-.595-.454-1.383-.673-2.38-.61a.653.653%200%2001-.632-.371c-.314-.665-.772-1.141-1.343-1.436a3.288%203.288%200%2000-1.772-.332c-1.245.099-2.343.801-2.67%201.686a.652.652%200%2001-.61.425c-1.067.002-1.893.252-2.497.703-.522.39-.878.935-1.066%201.588a4.07%204.07%200%2000-.068%201.886c.112.558.331%201.02.582%201.269l.008.007c.212.207.257.53.109.785-.36.622-.629%201.549-.673%202.44-.05%201.018.186%201.902.719%202.536l.016.019a.643.643%200%2001.095.69c-.576%201.236-.753%202.252-.562%203.052a.652.652%200%2001-1.269.298c-.243-1.018-.078-2.184.473-3.498l.014-.035-.008-.012a4.339%204.339%200%2001-.598-1.309l-.005-.019a5.764%205.764%200%2001-.177-1.785c.044-.91.278-1.842.622-2.59l.012-.026-.002-.002c-.293-.418-.51-.953-.63-1.545l-.005-.024a5.352%205.352%200%2001.093-2.49c.262-.915.777-1.701%201.536-2.269.06-.045.123-.09.186-.132-.159-1.493-.119-2.73.112-3.67.127-.518.314-.95.562-1.287.27-.368.614-.622%201.015-.737.266-.076.54-.059.797.042zm4.116%209.09c.936%200%201.8.313%202.446.855.63.527%201.005%201.235%201.005%201.94%200%20.888-.406%201.58-1.133%202.022-.62.375-1.451.557-2.403.557-1.009%200-1.871-.259-2.493-.734-.617-.47-.963-1.13-.963-1.845%200-.707.398-1.417%201.056-1.946.668-.537%201.55-.849%202.485-.849zm0%20.896a3.07%203.07%200%2000-1.916.65c-.461.37-.722.835-.722%201.25%200%20.428.21.829.61%201.134.455.347%201.124.548%201.943.548.799%200%201.473-.147%201.932-.426.463-.28.7-.686.7-1.257%200-.423-.246-.89-.683-1.256-.484-.405-1.14-.643-1.864-.643zm.662%201.21l.004.004c.12.151.095.37-.056.49l-.292.23v.446a.375.375%200%2001-.376.373.375.375%200%2001-.376-.373v-.46l-.271-.218a.347.347%200%2001-.052-.49.353.353%200%2001.494-.051l.215.172.22-.174a.353.353%200%2001.49.051zm-5.04-1.919c.478%200%20.867.39.867.871a.87.87%200%2001-.868.871.87.87%200%2001-.867-.87.87.87%200%2001.867-.872zm8.706%200c.48%200%20.868.39.868.871a.87.87%200%2001-.868.871.87.87%200%2001-.867-.87.87.87%200%2001.867-.872zM7.44%202.3l-.003.002a.659.659%200%2000-.285.238l-.005.006c-.138.189-.258.467-.348.832-.17.692-.216%201.631-.124%202.782.43-.128.899-.208%201.404-.237l.01-.001.019-.034c.046-.082.095-.161.148-.239.123-.771.022-1.692-.253-2.444-.134-.364-.297-.65-.453-.813a.628.628%200%2000-.107-.09L7.44%202.3zm9.174.04l-.002.001a.628.628%200%2000-.107.09c-.156.163-.32.45-.453.814-.29.794-.387%201.776-.23%202.572l.058.097.008.014h.03a5.184%205.184%200%20011.466.212c.086-1.124.038-2.043-.128-2.722-.09-.365-.21-.643-.349-.832l-.004-.006a.659.659%200%2000-.285-.239h-.004z'%3e%3c/path%3e%3c/svg%3e`})),X,De=t((()=>{X=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M9.205%208.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357%201.356-.523%202.117-.523%202.854%200%204.662%202.212%204.662%204.566%200%20.167%200%20.357-.024.547l-4.71-2.759a.797.797%200%2000-.856%200l-5.97%203.473zm10.609%208.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473%201.95-1.118a.433.433%200%2001.476%200l4.543%202.617c1.309.76%202.189%202.378%202.189%203.948%200%201.808-1.07%203.473-2.76%204.163zM7.802%2012.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545%201.95-4.472%204.591-4.472%201%200%201.927.333%202.712.928L8.23%205.067c-.285.166-.428.404-.428.737v6.898zM12%2015.128l-2.795-1.57v-3.33L12%208.658l2.795%201.57v3.33L12%2015.128zm1.796%207.23c-1%200-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974%201.142c.167.095.238.238.238.428v5.233c0%202.545-1.974%204.472-4.614%204.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482%204.482%200%20014.21%206.327v5.423c0%20.333.143.571.428.738l5.947%203.449-1.95%201.118a.432.432%200%2001-.476%200zm-.262%203.9c-2.688%200-4.662-2.021-4.662-4.519%200-.19.024-.38.047-.57l4.686%202.71c.286.167.571.167.856%200l5.97-3.448v2.26c0%20.19-.07.333-.237.428l-4.543%202.616c-.619.357-1.356.523-2.117.523zm5.899%202.83a5.947%205.947%200%20005.827-4.756C22.287%2018.339%2024%2015.84%2024%2013.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498%200-3.401-2.759-5.947-5.946-5.947-.642%200-1.26.095-1.88.31A5.962%205.962%200%200010.205%200a5.947%205.947%200%2000-5.827%204.757C1.713%205.447%200%207.945%200%2010.49c0%201.666.713%203.283%201.998%204.448-.119.5-.19%201-.19%201.499%200%203.401%202.759%205.946%205.946%205.946.642%200%201.26-.095%201.88-.309a5.96%205.96%200%20004.162%201.713z'%3e%3c/path%3e%3c/svg%3e`})),Z,Oe=t((()=>{Z=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenRouter%3c/title%3e%3cpath%20d='M18.654%203.87a5.087%205.087%200%20110%2010.174L23.7%2019.09c.64.641.187%201.737-.72%201.737H8.48a8.479%208.479%200%20010-16.958h10.175zM8.479%207.26a5.087%205.087%200%20100%2010.176%205.087%205.087%200%20000-10.175z'%20fill='%23C8FF00'%3e%3c/path%3e%3c/svg%3e`}));function ke(e){return!e||e.typographyScaleVersion===2?e:{...e,fontSize:e.fontSize===`18px`?`16px`:e.fontSize,typographyScaleVersion:2}}var Q,$,Ae=t((()=>{Q={theme:`dark`,tuiTheme:`dark`,accentColor:`#10b981`,systemTextColor:`#f8fafc`,chatTextColor:`#f8fafc`,customBgStart:`#0f172a`,customBgEnd:`#1e1b4b`,customPanelBg:`#1e293b`,surfaceStyle:`opaque`,glassBlur:`none`,fontFamily:`'Prompt', sans-serif`,fontSize:`16px`,typographyScaleVersion:2,apiKey:``,aiProvider:`gemini`,geminiModel:`gemini-2.5-flash`,openaiModel:`gpt-5.6-luna`,openrouterModel:`openai/gpt-5.6-terra`,deepseekModel:`deepseek-v4-flash`,anthropicModel:`claude-sonnet-5`,ollamaModel:`llama3:latest`,temperature:null,modelTemperatures:{},thinkingEnabled:!0,thinkingEffort:`medium`,modelThinkingConfigs:{},language:`th-TH`,proactiveInterval:60,proactiveCooldown:120,enableVoiceReply:!0,enableAgentCollaboration:!1,autoSkillWriting:!1,ttsProvider:`google`,ttsVolume:1,ttsSpeed:1,ttsPitch:1,voiceMode:`legacy`,geminiLiveModel:`gemini-2.5-flash-native-audio-preview-12-2025`,geminiLiveVoice:`Puck`,pluginSpotifyEnabled:!1,pluginCalendarEnabled:!1,pluginGmailEnabled:!1,pluginNotionEnabled:!1,pluginDiscordEnabled:!1,showDesktopWidget:!0,mcpServers:{},hfModel:`Qwen/Qwen3.6-27B`,localApiBaseUrl:``,localModelName:`local-model`,ollamaHost:``,anthropicApiKey:``,openaiApiKey:``,openrouterApiKey:``,deepseekApiKey:``,hfApiKey:``,bflApiKey:``,bflModel:`flux-pro-1.1`,automationBrowser:`chromium`,browserDebugUrl:`http://127.0.0.1:9222/json/list`,browserExtensionContextUrl:`http://127.0.0.1:3212/context`,enableHeadlessTaskQueue:!1,enableAutoUpdate:!1,updaterEndpoint:``,updaterPublicKey:``,telegramBotToken:``,enableTelegramBridge:!1,discordBotToken:``,discordApplicationId:``,enableDiscordBridge:!1,slackBotToken:``,slackAppToken:``,enableSlackBridge:!1,lineChannelAccessToken:``,lineChannelSecret:``,enableLineBridge:!1,lineWebhookHost:`127.0.0.1`,lineWebhookPort:3e3,whatsappCloudAccessToken:``,whatsappPhoneNumberId:``,whatsappVerifyToken:``,whatsappAppSecret:``,enableWhatsappBridge:!1,whatsappWebhookHost:`127.0.0.1`,whatsappWebhookPort:3001,enableBridgeAckNotification:!0,bridgeAckMessage:`[Mint Agent] Remote command received, processing...`,notionApiKey:``,notionDatabaseId:``,gmailClientId:``,gmailClientSecret:``,spotifyClientId:``,spotifyClientSecret:``,googleCalendarClientId:``,googleCalendarClientSecret:``,searchProvider:`google`,braveSearchApiKey:``,googleSearchApiKey:``,googleSearchCx:``,searxngBaseUrl:``,imageGenProvider:`gemini`,stabilityApiKey:``,ideogramApiKey:``,replicateApiKey:``,nanobananaModel:`gemini-3.1-flash-image`,dalleModel:`gpt-image-1`,stabilityModel:`ultra`,ideogramModel:`V_3`,replicateModel:`black-forest-labs/flux-1.1-pro`,videoGenProvider:`veo`,veoModel:`veo-3.1-generate-preview`,agents:[{id:`planner`,name:`Planner`,provider:`gemini`,model:`gemini-2.5-flash`,apiKey:``,systemPrompt:`You are the Lead Planning Agent. Break down user goals into clear executable steps.`,systemInstruction:`You are the Lead Planning Agent. Break down user goals into clear executable steps.`,enabled:!0,avatar:`🎯`},{id:`coder`,name:`Coder`,provider:`openai`,model:`gpt-5.6-luna`,apiKey:``,systemPrompt:`You are the Senior Software Engineer. Implement features with clean code and tests.`,systemInstruction:`You are the Senior Software Engineer. Implement features with clean code and tests.`,enabled:!0,avatar:`πŸ’»`},{id:`critic`,name:`Critic`,provider:`anthropic`,model:`claude-sonnet-5`,apiKey:``,systemPrompt:`You are the Security & Quality Auditor. Review code, find bugs, and suggest improvements.`,systemInstruction:`You are the Security & Quality Auditor. Review code, find bugs, and suggest improvements.`,enabled:!0,avatar:`πŸ”`}],customProviders:[],customModelSelections:{}},$=e=>{let t=e.tuiTheme||e.theme,n=t===`system`||t===`light`?t:`dark`;return{...e,tuiTheme:n}}}));export{P as $,me as A,y as B,ve as C,z as D,_e as E,I as F,A as G,v as H,ue as I,x as J,D as K,L,le as M,fe as N,ge as O,pe as P,ce as Q,S as R,be as S,B as T,E as U,b as V,M as W,w as X,C as Y,j as Z,W as _,Oe as a,te as at,Se as b,X as c,m as ct,J as d,ee as dt,_ as et,q as f,we as g,G as h,ke as i,ne as it,de as j,he as k,Ee as l,ae as lt,Te as m,Ae as n,re as nt,Z as o,se as ot,K as p,O as q,$ as r,oe as rt,De as s,p as st,Q as t,g as tt,Y as u,ie as ut,Ce as v,ye as w,xe as x,U as y,T as z};
@@ -1 +0,0 @@
1
- import{n as e,r as t}from"./chunk-CacB07dV.js";function n(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}function r(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}var i=e((()=>{})),a=t({Channel:()=>m,Resource:()=>h,SERIALIZE_TO_IPC_FN:()=>p,invoke:()=>s,transformCallback:()=>o});function o(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}async function s(e,t={},n){return window.__TAURI_INTERNALS__.invoke(e,t,n)}var c,l,u,d,f,p,m,h,g=e((()=>{i(),p=`__TAURI_TO_IPC_KEY__`,m=class{constructor(e){c.set(this,void 0),l.set(this,0),u.set(this,[]),d.set(this,void 0),r(this,c,e||(()=>{}),`f`),this.id=o(e=>{let t=e.index;if(`end`in e){t==n(this,l,`f`)?this.cleanupCallback():r(this,d,t,`f`);return}let i=e.message;if(t==n(this,l,`f`)){for(n(this,c,`f`).call(this,i),r(this,l,n(this,l,`f`)+1,`f`);n(this,l,`f`)in n(this,u,`f`);){let e=n(this,u,`f`)[n(this,l,`f`)];n(this,c,`f`).call(this,e),delete n(this,u,`f`)[n(this,l,`f`)],r(this,l,n(this,l,`f`)+1,`f`)}n(this,l,`f`)===n(this,d,`f`)&&this.cleanupCallback()}else n(this,u,`f`)[t]=i})}cleanupCallback(){window.__TAURI_INTERNALS__.unregisterCallback(this.id)}set onmessage(e){r(this,c,e,`f`)}get onmessage(){return n(this,c,`f`)}[(c=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,p)](){return`__CHANNEL__:${this.id}`}toJSON(){return this[p]()}},h=class{get rid(){return n(this,f,`f`)}constructor(e){f.set(this,void 0),r(this,f,e,`f`)}async close(){return s(`plugin:resources|close`,{rid:this.rid})}},f=new WeakMap}));export{s as a,g as i,p as n,o,a as r,h as t};