@pheem49/mint 1.14.0 → 1.16.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 (925) hide show
  1. package/Cargo.lock +1258 -35
  2. package/Cargo.toml +5 -2
  3. package/LICENSE +21 -654
  4. package/README.md +93 -756
  5. package/Release_Note.md +53 -446
  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/main.rs +468 -0
  9. package/apps/mint-companion/tsconfig.json +20 -0
  10. package/apps/mint-companion/vite.config.ts +3 -0
  11. package/components.json +19 -0
  12. package/crates/mint-cli/Cargo.toml +9 -1
  13. package/crates/mint-cli/src/agent/approval_prompts.rs +16 -3
  14. package/crates/mint-cli/src/agent/live_status.rs +545 -148
  15. package/crates/mint-cli/src/agent/markdown_render.rs +601 -61
  16. package/crates/mint-cli/src/agent.rs +723 -258
  17. package/crates/mint-cli/src/commands/agent.rs +83 -74
  18. package/crates/mint-cli/src/commands/eval.rs +9 -5
  19. package/crates/mint-cli/src/commands/git.rs +204 -0
  20. package/crates/mint-cli/src/commands/integrations.rs +35 -0
  21. package/crates/mint-cli/src/commands/knowledge.rs +13 -32
  22. package/crates/mint-cli/src/commands/mod.rs +81 -2
  23. package/crates/mint-cli/src/commands/tailnet_web.rs +235 -0
  24. package/crates/mint-cli/src/image.rs +32 -11
  25. package/crates/mint-cli/src/interactive/chat_tui.rs +7853 -0
  26. package/crates/mint-cli/src/interactive/command_ui.rs +477 -0
  27. package/crates/mint-cli/src/interactive/format.rs +8 -0
  28. package/crates/mint-cli/src/interactive/input_box.rs +94 -8
  29. package/crates/mint-cli/src/interactive/picker.rs +180 -37
  30. package/crates/mint-cli/src/interactive/resume_picker.rs +686 -0
  31. package/crates/mint-cli/src/interactive/slash_commands.rs +1071 -501
  32. package/crates/mint-cli/src/interactive/thought_viewer.rs +286 -0
  33. package/crates/mint-cli/src/interactive/tool_activity.rs +328 -0
  34. package/crates/mint-cli/src/interactive.rs +454 -166
  35. package/crates/mint-cli/src/main.rs +93 -26
  36. package/crates/mint-cli/src/markdown.rs +12 -5
  37. package/crates/mint-cli/src/mcp.rs +5 -0
  38. package/crates/mint-cli/src/mod_host.rs +6 -0
  39. package/crates/mint-cli/src/mods_cli.rs +62 -0
  40. package/crates/mint-cli/src/mods_ui.rs +187 -0
  41. package/crates/mint-cli/src/onboard.rs +37 -61
  42. package/crates/mint-cli/src/plugins_cli.rs +8 -5
  43. package/crates/mint-cli/src/setup.rs +10 -8
  44. package/crates/mint-cli/src/terminal_theme.rs +189 -0
  45. package/crates/mint-cli/src/updater.rs +112 -23
  46. package/crates/mint-cli/tests/library_intake.rs +77 -0
  47. package/crates/mint-cli/tests/mods_testing.rs +133 -0
  48. package/crates/mint-companion-protocol/Cargo.toml +10 -0
  49. package/crates/mint-companion-protocol/src/lib.rs +163 -0
  50. package/crates/mint-core/Cargo.toml +6 -3
  51. package/crates/mint-core/build.rs +26 -0
  52. package/crates/mint-core/src/agent/agent_loop.rs +1 -0
  53. package/crates/mint-core/src/agent/chat.rs +1003 -209
  54. package/crates/mint-core/src/agent/code_tools.rs +98 -2
  55. package/crates/mint-core/src/agent/memory/sources.rs +240 -0
  56. package/crates/mint-core/src/agent/memory.rs +805 -33
  57. package/crates/mint-core/src/agent/skill_inventory.rs +325 -0
  58. package/crates/mint-core/src/agent/skills.rs +437 -90
  59. package/crates/mint-core/src/agent.rs +1 -0
  60. package/crates/mint-core/src/api_server/routes/background_jobs.rs +310 -0
  61. package/crates/mint-core/src/api_server/routes/chat.rs +233 -190
  62. package/crates/mint-core/src/api_server/routes/html_preview.rs +77 -0
  63. package/crates/mint-core/src/api_server/routes/library.rs +97 -0
  64. package/crates/mint-core/src/api_server/routes/linked_folders.rs +118 -3
  65. package/crates/mint-core/src/api_server/routes/media_gen.rs +10 -57
  66. package/crates/mint-core/src/api_server/routes/misc.rs +114 -121
  67. package/crates/mint-core/src/api_server/routes/mod.rs +6 -0
  68. package/crates/mint-core/src/api_server/routes/mods.rs +31 -0
  69. package/crates/mint-core/src/api_server/routes/sessions.rs +85 -0
  70. package/crates/mint-core/src/api_server/routes/skills_subagents.rs +12 -42
  71. package/crates/mint-core/src/api_server/routes/slash.rs +50 -1
  72. package/crates/mint-core/src/api_server/routes/sources.rs +101 -0
  73. package/crates/mint-core/src/api_server.rs +140 -12
  74. package/crates/mint-core/src/avatar_bridge.rs +13 -2
  75. package/crates/mint-core/src/browser/cdp.rs +74 -83
  76. package/crates/mint-core/src/browser/evidence.rs +260 -0
  77. package/crates/mint-core/src/browser/input.rs +1 -1
  78. package/crates/mint-core/src/browser/interact.rs +98 -124
  79. package/crates/mint-core/src/browser/lifecycle.rs +75 -4
  80. package/crates/mint-core/src/browser/mod.rs +16 -2
  81. package/crates/mint-core/src/browser/navigate.rs +27 -19
  82. package/crates/mint-core/src/browser/observe.js +40 -0
  83. package/crates/mint-core/src/browser/session.rs +1610 -0
  84. package/crates/mint-core/src/companion.rs +716 -0
  85. package/crates/mint-core/src/cron/scheduler.rs +34 -2
  86. package/crates/mint-core/src/git/branches.rs +348 -0
  87. package/crates/mint-core/src/git/checkpoint.rs +40 -0
  88. package/crates/mint-core/src/git/diff.rs +206 -0
  89. package/crates/mint-core/src/git/mod.rs +10 -2
  90. package/crates/mint-core/src/integrations/channels.rs +88 -345
  91. package/crates/mint-core/src/integrations/mcp.rs +397 -50
  92. package/crates/mint-core/src/integrations/mcp_calls.rs +823 -0
  93. package/crates/mint-core/src/integrations/mcp_catalog.rs +267 -0
  94. package/crates/mint-core/src/integrations/mcp_device.rs +319 -0
  95. package/crates/mint-core/src/integrations/mcp_result.rs +356 -0
  96. package/crates/mint-core/src/integrations/webhooks.rs +539 -0
  97. package/crates/mint-core/src/integrations.rs +2 -0
  98. package/crates/mint-core/src/lib.rs +107 -40
  99. package/crates/mint-core/src/live_sync.rs +28 -9
  100. package/crates/mint-core/src/media/auto_shorts.rs +1 -0
  101. package/crates/mint-core/src/media/gemini_live.rs +145 -14
  102. package/crates/mint-core/src/media/image_models.rs +3 -27
  103. package/crates/mint-core/src/media/image_workflow.rs +216 -0
  104. package/crates/mint-core/src/media/library/intake.rs +144 -0
  105. package/crates/mint-core/src/media/library/migration.rs +56 -0
  106. package/crates/mint-core/src/media/library/removal.rs +55 -0
  107. package/crates/mint-core/src/media/library/tests.rs +730 -0
  108. package/crates/mint-core/src/media/library/thumbnails.rs +72 -0
  109. package/crates/mint-core/src/media/library.rs +545 -0
  110. package/crates/mint-core/src/media/mic_transcribe.rs +1 -0
  111. package/crates/mint-core/src/media/model_catalog.rs +375 -0
  112. package/crates/mint-core/src/media/pictures.rs +79 -222
  113. package/crates/mint-core/src/media/subtitle.rs +1 -0
  114. package/crates/mint-core/src/media/video_models.rs +3 -22
  115. package/crates/mint-core/src/media.rs +3 -0
  116. package/crates/mint-core/src/mods/manager.rs +1124 -0
  117. package/crates/mint-core/src/mods/mod.rs +569 -0
  118. package/crates/mint-core/src/mods/operations.rs +204 -0
  119. package/crates/mint-core/src/mods/session.rs +146 -0
  120. package/crates/mint-core/src/mods/slash.rs +59 -0
  121. package/crates/mint-core/src/mods/telemetry.rs +306 -0
  122. package/crates/mint-core/src/orchestration/approvals.rs +344 -0
  123. package/crates/mint-core/src/orchestration/context_render.rs +105 -0
  124. package/crates/mint-core/src/orchestration/mcp_review.rs +153 -0
  125. package/crates/mint-core/src/orchestration/memory_skill.rs +110 -33
  126. package/crates/mint-core/src/orchestration/mod.rs +3129 -481
  127. package/crates/mint-core/src/orchestration/mod_authoring_regressions.rs +209 -0
  128. package/crates/mint-core/src/orchestration/progress_clock.rs +80 -0
  129. package/crates/mint-core/src/orchestration/repeated_failures.rs +116 -0
  130. package/crates/mint-core/src/orchestration/review_regressions.rs +449 -0
  131. package/crates/mint-core/src/orchestration/run_control.rs +196 -0
  132. package/crates/mint-core/src/orchestration/tools/browser.rs +16 -139
  133. package/crates/mint-core/src/orchestration/tools/files.rs +161 -14
  134. package/crates/mint-core/src/orchestration/tools/media.rs +37 -41
  135. package/crates/mint-core/src/orchestration/tools/misc.rs +5 -3
  136. package/crates/mint-core/src/orchestration/tools/mod.rs +2 -0
  137. package/crates/mint-core/src/orchestration/tools/mods.rs +161 -0
  138. package/crates/mint-core/src/orchestration/tools/plugins_mcp.rs +303 -71
  139. package/crates/mint-core/src/orchestration/tools/shell.rs +95 -2
  140. package/crates/mint-core/src/orchestration/tools/web.rs +1 -1
  141. package/crates/mint-core/src/orchestration/workspace_helpers.rs +4 -1
  142. package/crates/mint-core/src/prompts/agent.rs +75 -31
  143. package/crates/mint-core/src/prompts/chat.rs +1 -1
  144. package/crates/mint-core/src/prompts/persona.rs +1 -1
  145. package/crates/mint-core/src/prompts/tool_catalog.rs +121 -27
  146. package/crates/mint-core/src/search/knowledge.rs +7 -1
  147. package/crates/mint-core/src/search/linked_folders/index.rs +896 -0
  148. package/crates/mint-core/src/search/linked_folders.rs +473 -131
  149. package/crates/mint-core/src/slash/catalog.rs +1 -1
  150. package/crates/mint-core/src/slash/mod.rs +644 -33
  151. package/crates/mint-core/src/slash/model_fetcher.rs +12 -3
  152. package/crates/mint-core/src/slash/models.rs +66 -10
  153. package/crates/mint-core/src/slash/mods.rs +155 -0
  154. package/crates/mint-core/src/system/bg_shell.rs +1129 -95
  155. package/crates/mint-core/src/system/config.rs +235 -10
  156. package/crates/mint-core/src/system/html_preview.rs +398 -0
  157. package/crates/mint-core/src/system/mint_web.rs +164 -0
  158. package/crates/mint-core/src/system/release_notes.rs +18 -0
  159. package/crates/mint-core/src/system/shell.rs +21 -6
  160. package/crates/mint-core/src/system/workspace.rs +292 -0
  161. package/crates/mint-core/src/system/workspace_history.rs +604 -0
  162. package/crates/mint-core/src/system.rs +5 -0
  163. package/crates/mint-core/tests/background_retention.rs +34 -0
  164. package/crates/mint-core/tests/background_shutdown.rs +24 -0
  165. package/crates/mint-core/tests/library_http.rs +209 -0
  166. package/crates/mint-core/tests/mcp_contract.rs +283 -0
  167. package/crates/mint-core/tests/mcp_stdio.rs +11 -10
  168. package/crates/mint-core/tests/media_model_catalog_http.rs +403 -0
  169. package/crates/mint-core/tests/memory_persistence.rs +39 -0
  170. package/crates/mint-core/tests/mods_http.rs +215 -0
  171. package/crates/mint-core/tests/terminal_shutdown.rs +109 -0
  172. package/crates/mint-mod-runtime/Cargo.toml +18 -0
  173. package/crates/mint-mod-runtime/src/lib.rs +507 -0
  174. package/crates/mint-mod-runtime/src/sdk.js +56 -0
  175. package/crates/mint-mod-runtime/src/test_sdk.js +32 -0
  176. package/crates/mint-mod-runtime/src/testing.rs +94 -0
  177. package/crates/mint-mod-runtime/tests/runtime.rs +156 -0
  178. package/docs/mods/AUTHORING.md +61 -0
  179. package/docs/mods/README.md +139 -0
  180. package/docs/mods/TESTING.md +56 -0
  181. package/docs/mods/mint-mods.d.ts +66 -0
  182. package/examples/device-mcp/README.md +22 -0
  183. package/examples/device-mcp/contract.md +49 -0
  184. package/examples/device-mcp/mock-device.mjs +66 -0
  185. package/examples/device-mcp/server.mjs +48 -0
  186. package/examples/device-mcp/server.test.mjs +78 -0
  187. package/examples/mods/task-checklist/README.md +1 -0
  188. package/examples/mods/task-checklist/main.ts +17 -0
  189. package/examples/mods/task-checklist/manifest.json +1 -0
  190. package/examples/mods/task-checklist/tests/checklist.test.ts +15 -0
  191. package/examples/mods/token-meter/README.md +1 -0
  192. package/examples/mods/token-meter/main.ts +8 -0
  193. package/examples/mods/token-meter/manifest.json +1 -0
  194. package/examples/mods/tool-guard/README.md +1 -0
  195. package/examples/mods/tool-guard/main.ts +9 -0
  196. package/examples/mods/tool-guard/manifest.json +1 -0
  197. package/out/web/assets/CliSessionsView-CtzUJpK_.css +1 -0
  198. package/out/web/assets/CliSessionsView-D7hw0Mgj.js +1 -0
  199. package/out/web/assets/CodeReviewPage-C7bEOJfd.js +4 -0
  200. package/out/web/assets/CodeReviewPage-Dte9uLiL.css +1 -0
  201. package/out/web/assets/CommandPalette-0RrF-AOT.js +1 -0
  202. package/out/web/assets/ImageStudioPanel-CdxkAf_r.js +1 -0
  203. package/out/web/assets/ImageStudioPanel-D0lnhQV5.css +1 -0
  204. package/out/web/assets/LibraryPage--Qfisp6D.js +2 -0
  205. package/out/web/assets/LibraryPage-DAxUTAg7.css +1 -0
  206. package/out/web/assets/LinkedFoldersView-2nfZbDgN.js +1 -0
  207. package/out/web/assets/McpRegistryPicker-h9uS8_wT.js +1 -0
  208. package/out/web/assets/McpServersView-slfQJzNB.js +1 -0
  209. package/out/web/assets/MintDashboard-BSR5XpXh.js +25 -0
  210. package/out/web/assets/MintDashboard-CWUcCGhd.css +1 -0
  211. package/out/web/assets/PluginsView-l7LSm503.js +1 -0
  212. package/out/web/assets/ScheduledTasksView-CttmLbq1.js +1 -0
  213. package/out/web/assets/SettingsWindow-BCMLYvEV.js +4 -0
  214. package/out/web/assets/SettingsWindow-DcMVmU9u.css +1 -0
  215. package/out/web/assets/SkillsView-rNs1qr_U.js +2 -0
  216. package/out/web/assets/ToolSurfacePage-B9DzEPWN.js +37 -0
  217. package/out/web/assets/ToolSurfacePage-CTfgggF2.css +1 -0
  218. package/out/web/assets/VeoStudioPanel-DOj7_WR3.css +1 -0
  219. package/out/web/assets/VeoStudioPanel-DiJs_Cg2.js +4 -0
  220. package/out/web/assets/WorkspacePanel-CbJ1PFoZ.js +1 -0
  221. package/out/web/assets/WorkspaceSelector-B2xIp04D.js +1 -0
  222. package/out/web/assets/WorkspaceSelector-Ca8uJOsS.css +1 -0
  223. package/out/web/assets/{abnfDiagram-VCTEODGH-DAOBA7ZG.js → abnfDiagram-VCTEODGH-CD0CjoGl.js} +1 -1
  224. package/out/web/assets/{architecture-7GRP2DOG-CgSwQOPQ.js → architecture-7GRP2DOG-RKV83OeZ.js} +1 -1
  225. package/out/web/assets/{architectureDiagram-5GKGNRK7-CYp3yupP.js → architectureDiagram-5GKGNRK7-nN_HAFct.js} +1 -1
  226. package/out/web/assets/{blockDiagram-NRAW4CY4-CyWybDWr.js → blockDiagram-NRAW4CY4-BrrqzHW5.js} +1 -1
  227. package/out/web/assets/{c4Diagram-UCG6FXSJ-BvY3U709.js → c4Diagram-UCG6FXSJ-DTdV8_zE.js} +1 -1
  228. package/out/web/assets/{chunk-75Z2AOVW-TLXCoZYv.js → chunk-75Z2AOVW-_M0z5olV.js} +1 -1
  229. package/out/web/assets/chunk-CKBBP62Z-BpQEgeHF.js +2 -0
  230. package/out/web/assets/{chunk-CLGD4ZFX-xjsKtNS7.js → chunk-CLGD4ZFX-D54yGvGS.js} +1 -1
  231. package/out/web/assets/chunk-DSNCTWBM-C-gvT2ru.js +2 -0
  232. package/out/web/assets/chunk-DU6HZSFF-CnFngIhW.js +128 -0
  233. package/out/web/assets/{chunk-F27PBJKO-BFpgF55A.js → chunk-F27PBJKO-BqtWrnEO.js} +1 -1
  234. package/out/web/assets/{chunk-G27WJ6UU-DfF7qW-C.js → chunk-G27WJ6UU-Ckoq5mi2.js} +1 -1
  235. package/out/web/assets/{chunk-GMAD6QVW-C-558kh_.js → chunk-GMAD6QVW-BuhEcgHq.js} +1 -1
  236. package/out/web/assets/{chunk-JQ64N6SF-wJmeGKAw.js → chunk-JQ64N6SF-CF8T7GiZ.js} +1 -1
  237. package/out/web/assets/{chunk-LCL6LL3I-C1wHD8Ie.js → chunk-LCL6LL3I-BhXV9zyH.js} +1 -1
  238. package/out/web/assets/{chunk-OBVCFTLP-BsRTPBqs.js → chunk-OBVCFTLP-CRIkunUB.js} +1 -1
  239. package/out/web/assets/{chunk-P2QGCYS3-HZIiM7Ni.js → chunk-P2QGCYS3-UFEU6BxZ.js} +1 -1
  240. package/out/web/assets/{chunk-POPQ4Y6H-Dk9wvVb0.js → chunk-POPQ4Y6H-CQcrNbjr.js} +1 -1
  241. package/out/web/assets/{chunk-PWAF6VOD-BmjYLNbq.js → chunk-PWAF6VOD-Cc2uVDsG.js} +1 -1
  242. package/out/web/assets/{chunk-R7TYR2AO-CaHIf-lK.js → chunk-R7TYR2AO-DiCxzdAY.js} +1 -1
  243. package/out/web/assets/{chunk-RHFEMEQ7-_T561hOU.js → chunk-RHFEMEQ7-b7hnPmrR.js} +1 -1
  244. package/out/web/assets/{chunk-SVP7TREG-CM-GGYoY.js → chunk-SVP7TREG-Bu_yYb-V.js} +1 -1
  245. package/out/web/assets/{chunk-TEH6E4GO-K2A8Vg2C.js → chunk-TEH6E4GO-G4Cdlyrt.js} +1 -1
  246. package/out/web/assets/classDiagram-DTDB5LWJ-RnC2mYO4.js +1 -0
  247. package/out/web/assets/classDiagram-v2-JRS7N3AN-RnC2mYO4.js +1 -0
  248. package/out/web/assets/config-CnvCChUM.js +2 -0
  249. package/out/web/assets/config-DM6oIVO3.css +1 -0
  250. package/out/web/assets/core-DsKkQ7ig.js +1 -0
  251. package/out/web/assets/{cynefin-OW5HDTMX-ClzaB6cc.js → cynefin-OW5HDTMX-CnzQfOGp.js} +1 -1
  252. package/out/web/assets/{cynefinDiagram-5FMLGOSQ-D_JzZBzf.js → cynefinDiagram-5FMLGOSQ-DVtQnfpm.js} +1 -1
  253. package/out/web/assets/{dagre-3AP2YEHR-BDuUeMHj.js → dagre-3AP2YEHR-DG76_k5_.js} +1 -1
  254. package/out/web/assets/{diagram-S7CK7UJ4-DgtcfE8P.js → diagram-S7CK7UJ4-CaouUoze.js} +1 -1
  255. package/out/web/assets/{diagram-UQ7AKVKN-DTLoEYti.js → diagram-UQ7AKVKN-B4bEc26B.js} +1 -1
  256. package/out/web/assets/{diagram-VSXAHHWV-ChGl9pXz.js → diagram-VSXAHHWV-BJ86Ov2Y.js} +1 -1
  257. package/out/web/assets/{diagram-VX7I27RA-Be8DWz0S.js → diagram-VX7I27RA-7hH5IPYf.js} +1 -1
  258. package/out/web/assets/{diagram-Z3DM3KII-BMXjRTOF.js → diagram-Z3DM3KII-CCM4clo8.js} +1 -1
  259. package/out/web/assets/dist-js-BkYNznHX.js +1 -0
  260. package/out/web/assets/{ebnfDiagram-PWID7BFC-8Q9pl1CJ.js → ebnfDiagram-PWID7BFC-Da7WAM3k.js} +1 -1
  261. package/out/web/assets/{erDiagram-SSCWMZ5O-DjH8Lnkn.js → erDiagram-SSCWMZ5O-CzzmnZWT.js} +1 -1
  262. package/out/web/assets/event-Cdt7Byyj.js +1 -0
  263. package/out/web/assets/{eventmodeling-NTZA5JFV-BKUH_DOp.js → eventmodeling-NTZA5JFV-xcfsA0XD.js} +1 -1
  264. package/out/web/assets/fira-code-latin-600-normal-BmSSHshu.woff +0 -0
  265. package/out/web/assets/fira-code-latin-600-normal-CvYZpPHg.woff2 +0 -0
  266. package/out/web/assets/fira-code-symbols2-600-normal-Dvq6IQE5.woff +0 -0
  267. package/out/web/assets/flowDiagram-A5DVABFB-JdtH1673.js +1 -0
  268. package/out/web/assets/{ganttDiagram-EL5Y4UJY-D7fZKJNM.js → ganttDiagram-EL5Y4UJY-B3ClFGmL.js} +1 -1
  269. package/out/web/assets/{gitGraph-4MIJSDKK-BypWaaBU.js → gitGraph-4MIJSDKK-BZ_y_cDU.js} +1 -1
  270. package/out/web/assets/{gitGraphDiagram-WWUBYQGX-DWiw_3bq.js → gitGraphDiagram-WWUBYQGX-drhRSYm3.js} +1 -1
  271. package/out/web/assets/index-BZ9xgmMP.css +1 -0
  272. package/out/web/assets/index-Ca8cCS4h.js +168 -0
  273. package/out/web/assets/{info-A6RAGUB7-KkAUxT4j.js → info-A6RAGUB7-B7I3K0F1.js} +1 -1
  274. package/out/web/assets/{infoDiagram-RXCK75RN-BNb6E48y.js → infoDiagram-RXCK75RN-deX_1MPh.js} +1 -1
  275. package/out/web/assets/{ishikawaDiagram-5VMMS53U-Caa-JoAK.js → ishikawaDiagram-5VMMS53U-s38yo28y.js} +1 -1
  276. package/out/web/assets/{journeyDiagram-EYS64GPL-DOrmFGz6.js → journeyDiagram-EYS64GPL-CZn2kB8b.js} +1 -1
  277. package/out/web/assets/jsx-runtime-DN4NhQUK.js +1 -0
  278. package/out/web/assets/{kanban-definition-3QL26DDD-BOWCYcK0.js → kanban-definition-3QL26DDD-DodjgySL.js} +1 -1
  279. package/out/web/assets/markdown-CMhYIcWB.js +39 -0
  280. package/out/web/assets/{mermaid-parser.core-BQqjCkS_.js → mermaid-parser.core-Whu2rlJC.js} +3 -3
  281. package/out/web/assets/mermaid.core-CKyPo8VH.js +11 -0
  282. package/out/web/assets/{mindmap-definition-FBJOCRG2-jTceWpr0.js → mindmap-definition-FBJOCRG2-260WBDxZ.js} +1 -1
  283. package/out/web/assets/modelManager-CUaGWMWu.js +2 -0
  284. package/out/web/assets/oauthManager-DlNhXJr6.js +1 -0
  285. package/out/web/assets/{packet-AYTQ26CC-CJ5RXgol.js → packet-AYTQ26CC-CEeIRKRG.js} +1 -1
  286. package/out/web/assets/{pegDiagram-XKGWAZYB-y8wMtd0y.js → pegDiagram-XKGWAZYB-BYadI-KO.js} +1 -1
  287. package/out/web/assets/{pie-WAS4IAKB-72fTBbl4.js → pie-WAS4IAKB-D8uf4dh5.js} +1 -1
  288. package/out/web/assets/{pieDiagram-E7YTZNPT-e0O02qWq.js → pieDiagram-E7YTZNPT-CjSDy4hO.js} +1 -1
  289. package/out/web/assets/{quadrantDiagram-AXDQQJYC-C9phYLom.js → quadrantDiagram-AXDQQJYC-B8D3gU5d.js} +1 -1
  290. package/out/web/assets/{radar-RG4KPBEZ-BAU2hzUT.js → radar-RG4KPBEZ-DZJxnokY.js} +1 -1
  291. package/out/web/assets/{railroad-74A4TZTK-B0bCAVHC.js → railroad-74A4TZTK-DBysUiUi.js} +1 -1
  292. package/out/web/assets/{railroad-abnf-HS5TGJTU-WhxO7ndE.js → railroad-abnf-HS5TGJTU-CHWxoJYg.js} +1 -1
  293. package/out/web/assets/{railroad-ebnf-LZEXJU2U-BkA0m7-F.js → railroad-ebnf-LZEXJU2U-DDv7X6bY.js} +1 -1
  294. package/out/web/assets/{railroad-peg-WCYAUIDC-BsVpHIaj.js → railroad-peg-WCYAUIDC-DpfcYYNJ.js} +1 -1
  295. package/out/web/assets/{railroadDiagram-O6MQD6OU-CyOLN65Q.js → railroadDiagram-O6MQD6OU-CYtyv0t3.js} +1 -1
  296. package/out/web/assets/{requirementDiagram-EFPCY7ZU-DQXJ7Dud.js → requirementDiagram-EFPCY7ZU-D2X-Ewik.js} +1 -1
  297. package/out/web/assets/{sankeyDiagram-P5KCCOFB-B2XLyIIc.js → sankeyDiagram-P5KCCOFB-Bn2x6C4Y.js} +1 -1
  298. package/out/web/assets/{sequenceDiagram-WJ2MYXX4-DGQY4wwm.js → sequenceDiagram-WJ2MYXX4-BvFLKtPd.js} +1 -1
  299. package/out/web/assets/{stateDiagram-HBIQ2CUA-DHZpDwNy.js → stateDiagram-HBIQ2CUA-Bx0GWeaY.js} +1 -1
  300. package/out/web/assets/stateDiagram-v2-4QOOHH4V--hol1yg_.js +1 -0
  301. package/out/web/assets/studio-B1mk40wD.js +1 -0
  302. package/out/web/assets/{swimlanes-XN3QIQJK-Bn_jcZz-.js → swimlanes-XN3QIQJK-CCma0T7L.js} +1 -1
  303. package/out/web/assets/swimlanesDiagram-VK2B7HYN-BkohoVsU.js +8 -0
  304. package/out/web/assets/{timeline-definition-24CTP7MA-CdTERuJZ.js → timeline-definition-24CTP7MA-iCRhhJ7C.js} +1 -1
  305. package/out/web/assets/{treeView-Q6P3EWNA-TKBKQG6R.js → treeView-Q6P3EWNA-DZ-y08qp.js} +1 -1
  306. package/out/web/assets/{treemap-WGGIJYW6-BP7gQoiC.js → treemap-WGGIJYW6-De0CxzMx.js} +1 -1
  307. package/out/web/assets/{vennDiagram-4TSXK5OY-BHUmxDuK.js → vennDiagram-4TSXK5OY-w_7aZ6xe.js} +1 -1
  308. package/out/web/assets/{wardley-WFR3VGLG-9bct5AAN.js → wardley-WFR3VGLG-DT0y0xJ4.js} +1 -1
  309. package/out/web/assets/{wardleyDiagram-VM6X3IG4-BfJwDDso.js → wardleyDiagram-VM6X3IG4-DAdXELbQ.js} +1 -1
  310. package/out/web/assets/window-BJCVtyET.js +1 -0
  311. package/out/web/assets/{xychartDiagram-S5SC5T6Z-Dqd9Mvpo.js → xychartDiagram-S5SC5T6Z-IZIXf3Vo.js} +1 -1
  312. package/out/web/index-web.html +4 -4
  313. package/out/web/index.html +4 -4
  314. package/package.json +80 -20
  315. package/shared-modules/.github/workflows/ci.yml +120 -0
  316. package/shared-modules/.github/workflows/update.yaml +28 -0
  317. package/slash-commands.json +16 -2
  318. package/src/bin/auto-build.js +66 -0
  319. package/src/bin/desktop.js +113 -0
  320. package/src/bin/desktop.test.js +113 -0
  321. package/src/bin/index.js +18 -25
  322. package/src/bin/index.test.js +89 -0
  323. package/src/bin/measure-effects.mjs +53 -0
  324. package/src/bin/package.test.js +28 -0
  325. package/src/bin/release-notes.test.js +84 -0
  326. package/src/bin/styles.test.js +20 -0
  327. package/src/bin/web.js +5 -0
  328. package/src/bin/web.test.js +39 -0
  329. package/src/renderer/index-web.html +1 -0
  330. package/src/renderer/index.html +1 -2
  331. package/src/renderer/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  332. package/src/renderer/shared/agentProgress.ts +201 -3
  333. package/src/renderer/shared/components/AgentActivityDrawer.tsx +9 -8
  334. package/src/renderer/shared/components/AgentActivityTable.tsx +193 -133
  335. package/src/renderer/shared/components/ApprovalCard.test.tsx +24 -0
  336. package/src/renderer/shared/components/ApprovalCard.tsx +10 -3
  337. package/src/renderer/shared/components/ArtifactPreviewPanel.tsx +91 -40
  338. package/src/renderer/shared/components/AuthGate.tsx +79 -48
  339. package/src/renderer/shared/components/BackgroundTerminals.tsx +181 -0
  340. package/src/renderer/shared/components/CalculationCard.tsx +41 -15
  341. package/src/renderer/shared/components/ChatCodeBlock.tsx +8 -4
  342. package/src/renderer/shared/components/ChatMessageItem.test.tsx +68 -0
  343. package/src/renderer/shared/components/ChatMessageItem.tsx +52 -33
  344. package/src/renderer/shared/components/ChatPanel.test.tsx +21 -0
  345. package/src/renderer/shared/components/ChatPanel.tsx +676 -415
  346. package/src/renderer/shared/components/ChunkErrorBoundary.tsx +115 -64
  347. package/src/renderer/shared/components/CliSessionsView.test.tsx +125 -0
  348. package/src/renderer/shared/components/CliSessionsView.tsx +543 -0
  349. package/src/renderer/shared/components/CodeReviewPage.tsx +668 -0
  350. package/src/renderer/shared/components/CollapsiblePasteInput.tsx +90 -0
  351. package/src/renderer/shared/components/CommandPalette.tsx +8 -8
  352. package/src/renderer/shared/components/ContextCompactionStatus.tsx +17 -0
  353. package/src/renderer/shared/components/DashboardSidebar.tsx +853 -229
  354. package/src/renderer/shared/components/DesktopTitlebar.tsx +371 -0
  355. package/src/renderer/shared/components/DiffReviewModal.tsx +3 -3
  356. package/src/renderer/shared/components/ErrorNotice.tsx +29 -0
  357. package/src/renderer/shared/components/FormattedMessage.tsx +11 -0
  358. package/src/renderer/shared/components/GeminiLiveOverlay.css +86 -0
  359. package/src/renderer/shared/components/GeminiLiveOverlay.test.tsx +24 -0
  360. package/src/renderer/shared/components/GeminiLiveOverlay.tsx +85 -101
  361. package/src/renderer/shared/components/GitBranchSelector.tsx +442 -0
  362. package/src/renderer/shared/components/GlideSelect.css +138 -0
  363. package/src/renderer/shared/components/GlideSelect.d.ts +31 -0
  364. package/src/renderer/shared/components/GlideSelect.jsx +266 -0
  365. package/src/renderer/shared/components/ImageGenCard.tsx +31 -12
  366. package/src/renderer/shared/components/ImageSearchCard.tsx +76 -65
  367. package/src/renderer/shared/components/ImageStudioPanel.tsx +49 -49
  368. package/src/renderer/shared/components/InlineThoughtNote.tsx +27 -0
  369. package/src/renderer/shared/components/LibraryItemCard.tsx +72 -0
  370. package/src/renderer/shared/components/LibraryPage.tsx +165 -0
  371. package/src/renderer/shared/components/LibraryPreview.tsx +59 -0
  372. package/src/renderer/shared/components/LinkedFoldersView.tsx +365 -46
  373. package/src/renderer/shared/components/McpRegistryPicker.tsx +1 -1
  374. package/src/renderer/shared/components/McpServersView.tsx +51 -30
  375. package/src/renderer/shared/components/McpToolAllowlist.tsx +2 -4
  376. package/src/renderer/shared/components/McpToolResults.tsx +99 -0
  377. package/src/renderer/shared/components/MermaidCard.tsx +14 -8
  378. package/src/renderer/shared/components/MintDashboard.tsx +1002 -831
  379. package/src/renderer/shared/components/ModSessionControls.tsx +8 -0
  380. package/src/renderer/shared/components/ModUi.test.tsx +65 -0
  381. package/src/renderer/shared/components/ModUi.tsx +26 -0
  382. package/src/renderer/shared/components/ModelSelectorPopover.tsx +547 -219
  383. package/src/renderer/shared/components/ModsPanel.tsx +156 -0
  384. package/src/renderer/shared/components/PlanChecklistWidget.tsx +1 -1
  385. package/src/renderer/shared/components/PluginsView.tsx +1 -1
  386. package/src/renderer/shared/components/ProgressActivity.tsx +17 -0
  387. package/src/renderer/shared/components/ReviewHistory.tsx +42 -0
  388. package/src/renderer/shared/components/RewindModal.tsx +11 -18
  389. package/src/renderer/shared/components/RunSummaryDashboard.tsx +8 -14
  390. package/src/renderer/shared/components/ScheduledTasksView.tsx +11 -10
  391. package/src/renderer/shared/components/ScreenCaptureDialog.css +221 -0
  392. package/src/renderer/shared/components/ScreenCaptureDialog.tsx +199 -0
  393. package/src/renderer/shared/components/SelectField.test.tsx +27 -0
  394. package/src/renderer/shared/components/SelectField.tsx +38 -0
  395. package/src/renderer/shared/components/SessionSources.tsx +48 -0
  396. package/src/renderer/shared/components/SessionSourcesPopover.tsx +61 -0
  397. package/src/renderer/shared/components/Settings/AgentsTab.tsx +41 -45
  398. package/src/renderer/shared/components/Settings/AudioTab.tsx +16 -15
  399. package/src/renderer/shared/components/Settings/AutomationTab.tsx +10 -60
  400. package/src/renderer/shared/components/Settings/AvatarCropModal.tsx +368 -0
  401. package/src/renderer/shared/components/Settings/GeneralTab.tsx +368 -113
  402. package/src/renderer/shared/components/Settings/MemoryTab.test.tsx +37 -0
  403. package/src/renderer/shared/components/Settings/MemoryTab.tsx +71 -31
  404. package/src/renderer/shared/components/Settings/NotificationsTab.test.tsx +15 -0
  405. package/src/renderer/shared/components/Settings/NotificationsTab.tsx +84 -0
  406. package/src/renderer/shared/components/Settings/PluginsTab.tsx +20 -12
  407. package/src/renderer/shared/components/Settings/ProfileTab.tsx +29 -5
  408. package/src/renderer/shared/components/Settings/SearchableModelCombobox.tsx +411 -0
  409. package/src/renderer/shared/components/Settings/ThemeTab.tsx +416 -165
  410. package/src/renderer/shared/components/SkillsView.tsx +41 -16
  411. package/src/renderer/shared/components/SlashChoicePanel.tsx +88 -0
  412. package/src/renderer/shared/components/SlashSuggestions.test.tsx +33 -0
  413. package/src/renderer/shared/components/SlashSuggestions.tsx +41 -12
  414. package/src/renderer/shared/components/SourcesBlock.tsx +55 -51
  415. package/src/renderer/shared/components/StockCard.tsx +58 -24
  416. package/src/renderer/shared/components/SubagentDagView.tsx +4 -4
  417. package/src/renderer/shared/components/TerminalDock.tsx +241 -0
  418. package/src/renderer/shared/components/ThinkingBlock.tsx +14 -8
  419. package/src/renderer/shared/components/ToolSurfacePage.test.tsx +32 -0
  420. package/src/renderer/shared/components/ToolSurfacePage.tsx +568 -0
  421. package/src/renderer/shared/components/ToolsPanelToggle.tsx +13 -0
  422. package/src/renderer/shared/components/UiFeatureCard.tsx +267 -0
  423. package/src/renderer/shared/components/UiGridCard.tsx +188 -0
  424. package/src/renderer/shared/components/UiMockupWidget.tsx +149 -0
  425. package/src/renderer/shared/components/VeoStudioPanel.tsx +22 -37
  426. package/src/renderer/shared/components/ViewedImages.tsx +36 -0
  427. package/src/renderer/shared/components/VirtualChatHistory.tsx +82 -0
  428. package/src/renderer/shared/components/VoicePill.css +85 -0
  429. package/src/renderer/shared/components/VoicePill.d.ts +12 -0
  430. package/src/renderer/shared/components/VoicePill.jsx +190 -0
  431. package/src/renderer/shared/components/VoicePill.test.tsx +22 -0
  432. package/src/renderer/shared/components/WeatherCard.tsx +3 -3
  433. package/src/renderer/shared/components/WorkspaceContextPopover.tsx +138 -0
  434. package/src/renderer/shared/components/WorkspacePaneResizer.tsx +92 -0
  435. package/src/renderer/shared/components/WorkspacePreviewActions.test.tsx +44 -0
  436. package/src/renderer/shared/components/WorkspacePreviewActions.tsx +19 -0
  437. package/src/renderer/shared/components/WorkspaceSelector.tsx +154 -0
  438. package/src/renderer/shared/components/background-terminals.css +292 -0
  439. package/src/renderer/shared/components/ui/README.md +52 -0
  440. package/src/renderer/shared/components/ui/button.tsx +37 -0
  441. package/src/renderer/shared/components/ui/demo.tsx +26 -0
  442. package/src/renderer/shared/components/ui/error-recovery.css +35 -0
  443. package/src/renderer/shared/components/ui/error-recovery.tsx +35 -0
  444. package/src/renderer/shared/components/ui/voice-powered-orb.css +6 -0
  445. package/src/renderer/shared/components/ui/voice-powered-orb.tsx +374 -0
  446. package/src/renderer/shared/components/workspace-selector.css +248 -0
  447. package/src/renderer/shared/constants/config.ts +57 -3
  448. package/src/renderer/shared/constants/models.ts +189 -2
  449. package/src/renderer/shared/constants/slashCommands.ts +1 -1
  450. package/src/renderer/shared/conversation/coordinator.test.ts +27 -0
  451. package/src/renderer/shared/conversation/coordinator.ts +82 -0
  452. package/src/renderer/shared/conversation/lifecycle.test.ts +362 -0
  453. package/src/renderer/shared/conversation/lifecycle.ts +418 -0
  454. package/src/renderer/shared/conversation/projectNavigation.test.ts +105 -0
  455. package/src/renderer/shared/conversation/projectNavigation.ts +39 -0
  456. package/src/renderer/shared/conversation/sourcesTransport.ts +27 -0
  457. package/src/renderer/shared/conversation/syncView.test.ts +13 -0
  458. package/src/renderer/shared/conversation/syncView.ts +6 -0
  459. package/src/renderer/shared/conversation/transport.test.ts +163 -0
  460. package/src/renderer/shared/conversation/transport.ts +159 -0
  461. package/src/renderer/shared/conversation/useConversationCoordinator.ts +64 -0
  462. package/src/renderer/shared/css/agent-observability.css +46 -15
  463. package/src/renderer/shared/css/auth-gate.css +114 -15
  464. package/src/renderer/shared/css/chat-ui-cards.css +495 -0
  465. package/src/renderer/shared/css/code-review.css +856 -0
  466. package/src/renderer/shared/css/code-sessions.css +479 -0
  467. package/src/renderer/shared/css/collapsed-paste.css +35 -0
  468. package/src/renderer/shared/css/effects.css +15 -0
  469. package/src/renderer/shared/css/error-notice.css +60 -0
  470. package/src/renderer/shared/css/file-changes.css +132 -0
  471. package/src/renderer/shared/css/image-studio.css +16 -16
  472. package/src/renderer/shared/css/library.css +476 -0
  473. package/src/renderer/shared/css/management-views.css +415 -27
  474. package/src/renderer/shared/css/mcp-results.css +11 -0
  475. package/src/renderer/shared/css/model-selector.css +543 -85
  476. package/src/renderer/shared/css/mods.css +77 -0
  477. package/src/renderer/shared/css/notification-notice.css +28 -0
  478. package/src/renderer/shared/css/session-sources-popover.css +9 -0
  479. package/src/renderer/shared/css/session-sources.css +23 -0
  480. package/src/renderer/shared/css/settings/agents.css +1 -1
  481. package/src/renderer/shared/css/settings/automation.css +13 -13
  482. package/src/renderer/shared/css/settings/general.css +526 -5
  483. package/src/renderer/shared/css/settings/memory.css +154 -0
  484. package/src/renderer/shared/css/settings/notifications.css +11 -0
  485. package/src/renderer/shared/css/settings/plugins.css +5 -5
  486. package/src/renderer/shared/css/settings/profile.css +331 -1
  487. package/src/renderer/shared/css/settings/theme.css +656 -3
  488. package/src/renderer/shared/css/slash-choice.css +95 -0
  489. package/src/renderer/shared/css/slash-suggestions.css +68 -0
  490. package/src/renderer/shared/css/sources-block.css +91 -0
  491. package/src/renderer/shared/css/thinking-status.css +46 -0
  492. package/src/renderer/shared/css/tools-panel.css +7 -0
  493. package/src/renderer/shared/css/ui-tailwind.css +19 -0
  494. package/src/renderer/shared/css/veo-studio.css +16 -15
  495. package/src/renderer/shared/css/viewed-images.css +15 -0
  496. package/src/renderer/shared/fonts.css +46 -0
  497. package/src/renderer/shared/fonts.ts +10 -37
  498. package/src/renderer/shared/lib/utils.ts +6 -0
  499. package/src/renderer/shared/library/controller.test.ts +61 -0
  500. package/src/renderer/shared/library/controller.ts +57 -0
  501. package/src/renderer/shared/library/transport.test.ts +26 -0
  502. package/src/renderer/shared/library/transport.ts +60 -0
  503. package/src/renderer/shared/library/useLibraryFile.ts +38 -0
  504. package/src/renderer/shared/mods.ts +58 -0
  505. package/src/renderer/shared/platform.test.ts +90 -0
  506. package/src/renderer/shared/platform.ts +219 -7
  507. package/src/renderer/shared/theme/themeManager.test.ts +43 -0
  508. package/src/renderer/shared/theme/themeManager.ts +157 -0
  509. package/src/renderer/shared/theme/themes.ts +116 -0
  510. package/src/renderer/shared/theme/tokens.css +318 -0
  511. package/src/renderer/shared/types.ts +137 -2
  512. package/src/renderer/shared/utils/agentActivity.test.ts +75 -0
  513. package/src/renderer/shared/utils/agentActivity.ts +168 -8
  514. package/src/renderer/shared/utils/approval.tsx +7 -0
  515. package/src/renderer/shared/utils/artifactBrowser.test.ts +80 -0
  516. package/src/renderer/shared/utils/artifactBrowser.ts +41 -0
  517. package/src/renderer/shared/utils/cardJson.test.ts +35 -0
  518. package/src/renderer/shared/utils/cardJson.ts +30 -0
  519. package/src/renderer/shared/utils/contextCompaction.test.tsx +48 -0
  520. package/src/renderer/shared/utils/contextCompaction.ts +21 -0
  521. package/src/renderer/shared/utils/effectVisibility.ts +9 -0
  522. package/src/renderer/shared/utils/fileIcons.ts +1 -1
  523. package/src/renderer/shared/utils/markdown.tsx +330 -81
  524. package/src/renderer/shared/utils/markdown.webImages.test.tsx +40 -0
  525. package/src/renderer/shared/utils/mcpResults.test.tsx +91 -0
  526. package/src/renderer/shared/utils/modViewport.ts +7 -0
  527. package/src/renderer/shared/utils/nativeRecordingSession.test.ts +61 -0
  528. package/src/renderer/shared/utils/nativeRecordingSession.ts +46 -0
  529. package/src/renderer/shared/utils/notificationSettings.test.ts +14 -0
  530. package/src/renderer/shared/utils/notificationSettings.ts +23 -0
  531. package/src/renderer/shared/utils/notifications.test.ts +51 -0
  532. package/src/renderer/shared/utils/notifications.ts +54 -0
  533. package/src/renderer/shared/utils/pastedText.test.ts +20 -0
  534. package/src/renderer/shared/utils/pastedText.ts +13 -0
  535. package/src/renderer/shared/utils/progressCache.test.ts +32 -0
  536. package/src/renderer/shared/utils/providers.ts +8 -3
  537. package/src/renderer/shared/utils/screenCapture.ts +43 -0
  538. package/src/renderer/shared/utils/sessionSources.test.ts +31 -0
  539. package/src/renderer/shared/utils/sessionSources.ts +34 -0
  540. package/src/renderer/shared/utils/slashCommandProcessor.ts +5 -2
  541. package/src/renderer/shared/utils/sourceAttachments.ts +28 -0
  542. package/src/renderer/shared/utils/speech.ts +51 -9
  543. package/src/renderer/shared/utils/syntaxHighlight.test.tsx +22 -0
  544. package/src/renderer/shared/utils/syntaxHighlight.tsx +26 -0
  545. package/src/renderer/shared/utils/ui.ts +4 -64
  546. package/src/renderer/shared/utils/useGeminiLiveVoice.ts +49 -5
  547. package/src/renderer/shared/utils/useLatestCallback.ts +9 -0
  548. package/src/renderer/shared/utils/useNativeVoiceInput.ts +80 -72
  549. package/src/renderer/shared/utils/useSessionSources.ts +33 -0
  550. package/src/renderer/shared/utils/viewedImages.ts +26 -0
  551. package/src/renderer/shared/utils/workspacePane.test.ts +33 -0
  552. package/src/renderer/shared/utils/workspacePane.ts +20 -0
  553. package/src/renderer/shared/utils/workspacePreview.test.ts +24 -0
  554. package/src/renderer/shared/utils/workspacePreview.ts +16 -0
  555. package/src/renderer/shared/utils/workspaceSnapshot.test.ts +49 -0
  556. package/src/renderer/shared/utils/workspaceSnapshot.ts +26 -0
  557. package/src/renderer/shared/utils/workspaces.ts +10 -0
  558. package/src/renderer/shared/workspaceUndo.ts +88 -0
  559. package/src/renderer/src/App.tsx +16 -1
  560. package/src/renderer/src/components/BrowserShell.tsx +108 -0
  561. package/src/renderer/src/components/BrowserSuggestionsPopup.tsx +91 -0
  562. package/src/renderer/src/components/LiveTranslateControls.tsx +65 -0
  563. package/src/renderer/src/components/MintDashboard.tsx +4 -2
  564. package/src/renderer/src/components/PicturesLibrary.tsx +2 -287
  565. package/src/renderer/src/components/ScreenPicker.css +227 -0
  566. package/src/renderer/src/components/ScreenPicker.tsx +312 -526
  567. package/src/renderer/src/components/SettingsWindow.tsx +48 -5
  568. package/src/renderer/src/components/SpotlightWindow.tsx +1 -0
  569. package/src/renderer/src/components/WidgetWindow.tsx +27 -3
  570. package/src/renderer/src/components/WorkspacePanel.tsx +269 -61
  571. package/src/renderer/src/components/browser-shell.css +185 -0
  572. package/src/renderer/src/components/browser-suggestions-popup.css +55 -0
  573. package/src/renderer/src/components/liveTranslateFrames.test.ts +44 -0
  574. package/src/renderer/src/components/liveTranslateFrames.ts +45 -0
  575. package/src/renderer/src/components/liveTranslateLanguage.ts +6 -0
  576. package/src/renderer/src/css/app-shell.css +400 -204
  577. package/src/renderer/src/css/chat.css +1666 -594
  578. package/src/renderer/src/css/dashboard.css +11 -0
  579. package/src/renderer/src/css/desktop-tools.css +928 -0
  580. package/src/renderer/src/css/misc.css +5 -60
  581. package/src/renderer/src/css/pictures.css +2 -407
  582. package/src/renderer/src/css/settings/base.css +394 -157
  583. package/src/renderer/src/css/sidebar-workspace.css +1072 -376
  584. package/src/renderer/src/css/spotlight.css +15 -26
  585. package/src/renderer/src/css/tool-surfaces.css +784 -0
  586. package/src/renderer/src/css/widget.css +36 -8
  587. package/src/renderer/src/env.d.ts +4 -9
  588. package/src/renderer/src/hooks/useProviderModels.ts +2 -9
  589. package/src/renderer/src/index.css +53 -46
  590. package/src/renderer/src/main.tsx +12 -0
  591. package/src/renderer/src/proactiveSuggestions.ts +29 -0
  592. package/src/renderer/src/tauri.ts +302 -339
  593. package/src/renderer/src/voiceInput.ts +2 -1
  594. package/src/renderer/src-web/App.tsx +40 -0
  595. package/src/renderer/src-web/components/MintDashboard.tsx +4 -2
  596. package/src/renderer/src-web/components/PicturesLibrary.tsx +2 -284
  597. package/src/renderer/src-web/components/PullToRefresh.tsx +107 -0
  598. package/src/renderer/src-web/components/SettingsWindow.tsx +36 -5
  599. package/src/renderer/src-web/css/app-shell.css +188 -207
  600. package/src/renderer/src-web/css/chat.css +1236 -507
  601. package/src/renderer/src-web/css/dashboard.css +11 -0
  602. package/src/renderer/src-web/css/misc.css +3 -55
  603. package/src/renderer/src-web/css/mobile.css +679 -0
  604. package/src/renderer/src-web/css/pictures.css +2 -415
  605. package/src/renderer/src-web/css/pull-to-refresh.css +54 -0
  606. package/src/renderer/src-web/css/settings/base.css +353 -134
  607. package/src/renderer/src-web/css/settings/mobile.css +320 -0
  608. package/src/renderer/src-web/css/sidebar-workspace.css +546 -187
  609. package/src/renderer/src-web/css/spotlight.css +9 -26
  610. package/src/renderer/src-web/css/widget.css +1 -6
  611. package/src/renderer/src-web/env.d.ts +4 -12
  612. package/src/renderer/src-web/hooks/useProviderModels.ts +2 -9
  613. package/src/renderer/src-web/index.css +53 -96
  614. package/src/renderer/src-web/main.tsx +12 -0
  615. package/src/renderer/src-web/proactiveSuggestions.ts +3 -0
  616. package/src/renderer/src-web/tauri.ts +309 -364
  617. package/src/renderer/tests/backgroundTerminals.browser.html +81 -0
  618. package/src/renderer/tests/chatPanelFixture.ts +23 -0
  619. package/src/renderer/tests/chatPerformance.browser.html +71 -0
  620. package/src/renderer/tests/cliSessions.browser.html +82 -0
  621. package/src/renderer/tests/collapsedPaste.browser.html +70 -0
  622. package/src/renderer/tests/composerMenus.browser.html +116 -0
  623. package/src/renderer/tests/contextCompaction.browser.html +17 -0
  624. package/src/renderer/tests/conversationLifecycle.browser.html +70 -0
  625. package/src/renderer/tests/effectsPerformance.browser.html +13 -0
  626. package/src/renderer/tests/errorRecovery.browser.html +21 -0
  627. package/src/renderer/tests/glideSelect.browser.html +71 -0
  628. package/src/renderer/tests/glideSelect.preview.html +27 -0
  629. package/src/renderer/tests/library.browser.html +1 -0
  630. package/src/renderer/tests/library.browser.tsx +78 -0
  631. package/src/renderer/tests/liveOrb.browser.html +49 -0
  632. package/src/renderer/tests/liveVoice.browser.html +29 -0
  633. package/src/renderer/tests/modInput.browser.html +22 -0
  634. package/src/renderer/tests/sessionSources.browser.html +1 -0
  635. package/src/renderer/tests/sessionSources.browser.tsx +107 -0
  636. package/src/renderer/tests/skills.browser.html +24 -0
  637. package/src/renderer/tests/toolsPanel.browser.html +1 -0
  638. package/src/renderer/tests/toolsPanel.browser.tsx +113 -0
  639. package/src/renderer/tests/viewedImages.browser.html +1 -0
  640. package/src/renderer/tests/viewedImages.browser.tsx +93 -0
  641. package/src/renderer/tests/voicePill.browser.html +80 -0
  642. package/src/renderer/tests/voicePill.preview.html +34 -0
  643. package/src/renderer/tests/webSources.browser.html +1 -0
  644. package/src/renderer/tests/webSources.browser.tsx +98 -0
  645. package/src/renderer/tests/workspaceUndo.browser.html +92 -0
  646. package/src-tauri/Cargo.toml +40 -0
  647. package/src-tauri/build.rs +3 -0
  648. package/src-tauri/src/app/lifecycle.rs +277 -0
  649. package/src-tauri/src/app/mod.rs +4 -0
  650. package/src-tauri/src/app/shortcuts.rs +40 -0
  651. package/src-tauri/src/app/tray.rs +52 -0
  652. package/src-tauri/src/background/events.rs +70 -0
  653. package/src-tauri/src/background/headless.rs +230 -0
  654. package/src-tauri/src/background/mod.rs +4 -0
  655. package/src-tauri/src/background/proactive.rs +262 -0
  656. package/src-tauri/src/commands/approvals.rs +20 -0
  657. package/src-tauri/src/commands/auth.rs +127 -0
  658. package/src-tauri/src/commands/conversation.rs +642 -0
  659. package/src-tauri/src/commands/integrations.rs +157 -0
  660. package/src-tauri/src/commands/media.rs +179 -0
  661. package/src-tauri/src/commands/mod.rs +11 -0
  662. package/src-tauri/src/commands/mods.rs +6 -0
  663. package/src-tauri/src/commands/settings.rs +141 -0
  664. package/src-tauri/src/commands/voice.rs +153 -0
  665. package/src-tauri/src/commands/workspace.rs +501 -0
  666. package/src-tauri/src/lib.rs +10 -0
  667. package/src-tauri/src/main.rs +3 -0
  668. package/src-tauri/src/native/actions.rs +206 -0
  669. package/src-tauri/src/native/browser.rs +252 -0
  670. package/src-tauri/src/native/capture.rs +695 -0
  671. package/src-tauri/src/native/discord_rpc.rs +99 -0
  672. package/src-tauri/src/native/integrations.rs +126 -0
  673. package/src-tauri/src/native/mod.rs +12 -0
  674. package/src-tauri/src/native/notifications.rs +51 -0
  675. package/src-tauri/src/native/plugins.rs +14 -0
  676. package/src-tauri/src/native/system.rs +250 -0
  677. package/src-tauri/src/native/terminal.rs +201 -0
  678. package/src-tauri/src/native/updater.rs +148 -0
  679. package/src-tauri/src/native/windows.rs +143 -0
  680. package/tsconfig.json +2 -0
  681. package/vite.config.ts +4 -1
  682. package/vite.config.web.ts +5 -0
  683. package/.cargo/config.toml +0 -13
  684. package/.claude/settings.local.json +0 -182
  685. package/.codex +0 -0
  686. package/CLAUDE.md +0 -102
  687. package/out/web/Live2DCubismCore.js +0 -9
  688. package/out/web/assets/MintDashboard-DWSqucgb.js +0 -57
  689. package/out/web/assets/SettingsWindow-DFM2aj5B.js +0 -2
  690. package/out/web/assets/chunk-CKBBP62Z-nr1uKPj9.js +0 -2
  691. package/out/web/assets/chunk-DSNCTWBM-Dtj8Rqsd.js +0 -2
  692. package/out/web/assets/chunk-DU6HZSFF-2tv5K1wT.js +0 -128
  693. package/out/web/assets/classDiagram-DTDB5LWJ-BdSFArgw.js +0 -1
  694. package/out/web/assets/classDiagram-v2-JRS7N3AN-BdSFArgw.js +0 -1
  695. package/out/web/assets/core-DImejIUG.js +0 -1
  696. package/out/web/assets/dist-js-BxuKEVWM.js +0 -1
  697. package/out/web/assets/event-BNl8Zahw.js +0 -1
  698. package/out/web/assets/fira-code-cyrillic-400-normal-UC0NFL4U.woff2 +0 -0
  699. package/out/web/assets/fira-code-cyrillic-400-normal-dc1q3VD7.woff +0 -0
  700. package/out/web/assets/fira-code-cyrillic-500-normal-Bu7VCL72.woff +0 -0
  701. package/out/web/assets/fira-code-cyrillic-500-normal-CX35h3Mg.woff2 +0 -0
  702. package/out/web/assets/fira-code-cyrillic-ext-400-normal-Buh61xzB.woff +0 -0
  703. package/out/web/assets/fira-code-cyrillic-ext-400-normal-txZ9Fk_1.woff2 +0 -0
  704. package/out/web/assets/fira-code-cyrillic-ext-500-normal-CYRspHgm.woff2 +0 -0
  705. package/out/web/assets/fira-code-cyrillic-ext-500-normal-CwtLmSFD.woff +0 -0
  706. package/out/web/assets/fira-code-greek-400-normal-B2Gh_Y8s.woff2 +0 -0
  707. package/out/web/assets/fira-code-greek-400-normal-DobhaxvF.woff +0 -0
  708. package/out/web/assets/fira-code-greek-500-normal-CVO0IRNt.woff2 +0 -0
  709. package/out/web/assets/fira-code-greek-500-normal-DEXIWiey.woff +0 -0
  710. package/out/web/assets/fira-code-greek-ext-400-normal-DR7mBgIM.woff2 +0 -0
  711. package/out/web/assets/fira-code-greek-ext-400-normal-DSPUheWg.woff +0 -0
  712. package/out/web/assets/fira-code-greek-ext-500-normal-BO3iq16n.woff2 +0 -0
  713. package/out/web/assets/fira-code-greek-ext-500-normal-CMiNLXER.woff +0 -0
  714. package/out/web/assets/fira-code-latin-ext-400-normal-DG73JjOf.woff +0 -0
  715. package/out/web/assets/fira-code-latin-ext-400-normal-KSMg0QLl.woff2 +0 -0
  716. package/out/web/assets/fira-code-latin-ext-500-normal-CaANqXjI.woff +0 -0
  717. package/out/web/assets/fira-code-latin-ext-500-normal-Crd9e_oI.woff2 +0 -0
  718. package/out/web/assets/flowDiagram-A5DVABFB-BpnHUSU7.js +0 -1
  719. package/out/web/assets/index-CVRg270z.css +0 -1
  720. package/out/web/assets/index-DxZQr9yD.js +0 -10
  721. package/out/web/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  722. package/out/web/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  723. package/out/web/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  724. package/out/web/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  725. package/out/web/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  726. package/out/web/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  727. package/out/web/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  728. package/out/web/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  729. package/out/web/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  730. package/out/web/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  731. package/out/web/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  732. package/out/web/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  733. package/out/web/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  734. package/out/web/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  735. package/out/web/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  736. package/out/web/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  737. package/out/web/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  738. package/out/web/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  739. package/out/web/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  740. package/out/web/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  741. package/out/web/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  742. package/out/web/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  743. package/out/web/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  744. package/out/web/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  745. package/out/web/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  746. package/out/web/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  747. package/out/web/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  748. package/out/web/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  749. package/out/web/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  750. package/out/web/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  751. package/out/web/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  752. package/out/web/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  753. package/out/web/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  754. package/out/web/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  755. package/out/web/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  756. package/out/web/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  757. package/out/web/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  758. package/out/web/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  759. package/out/web/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  760. package/out/web/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  761. package/out/web/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  762. package/out/web/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  763. package/out/web/assets/kanit-latin-400-normal-BUlsQXH3.woff2 +0 -0
  764. package/out/web/assets/kanit-latin-400-normal-HVZWrfev.woff +0 -0
  765. package/out/web/assets/kanit-latin-500-normal-CX_4XcKi.woff2 +0 -0
  766. package/out/web/assets/kanit-latin-500-normal-qBha86O4.woff +0 -0
  767. package/out/web/assets/kanit-latin-600-normal-0lS78yAd.woff2 +0 -0
  768. package/out/web/assets/kanit-latin-600-normal-DlacpeTg.woff +0 -0
  769. package/out/web/assets/kanit-latin-ext-400-normal-B2xPf58u.woff2 +0 -0
  770. package/out/web/assets/kanit-latin-ext-400-normal-CHvNKHHD.woff +0 -0
  771. package/out/web/assets/kanit-latin-ext-500-normal-BFdWrG22.woff +0 -0
  772. package/out/web/assets/kanit-latin-ext-500-normal-EHs3suD6.woff2 +0 -0
  773. package/out/web/assets/kanit-latin-ext-600-normal-BBDzoLaj.woff +0 -0
  774. package/out/web/assets/kanit-latin-ext-600-normal-DAX3wtuq.woff2 +0 -0
  775. package/out/web/assets/kanit-thai-400-normal-D2nliXKa.woff +0 -0
  776. package/out/web/assets/kanit-thai-400-normal-D80Pglro.woff2 +0 -0
  777. package/out/web/assets/kanit-thai-500-normal-BB8gri04.woff2 +0 -0
  778. package/out/web/assets/kanit-thai-500-normal-Iy_w0a80.woff +0 -0
  779. package/out/web/assets/kanit-thai-600-normal-Bj6oiaDc.woff2 +0 -0
  780. package/out/web/assets/kanit-thai-600-normal-wbTlPO7I.woff +0 -0
  781. package/out/web/assets/kanit-vietnamese-400-normal-DRI8YWyb.woff2 +0 -0
  782. package/out/web/assets/kanit-vietnamese-400-normal-dow6Bnto.woff +0 -0
  783. package/out/web/assets/kanit-vietnamese-500-normal-BzTrpCM3.woff2 +0 -0
  784. package/out/web/assets/kanit-vietnamese-500-normal-T1ndT7MF.woff +0 -0
  785. package/out/web/assets/kanit-vietnamese-600-normal-Bi7fw3I4.woff2 +0 -0
  786. package/out/web/assets/kanit-vietnamese-600-normal-DXCRAa_8.woff +0 -0
  787. package/out/web/assets/mali-latin-400-normal-ByPcZ8Gx.woff +0 -0
  788. package/out/web/assets/mali-latin-400-normal-Cuc6Ykl8.woff2 +0 -0
  789. package/out/web/assets/mali-latin-500-normal-B01M-LP6.woff2 +0 -0
  790. package/out/web/assets/mali-latin-500-normal-Thgqw_9f.woff +0 -0
  791. package/out/web/assets/mali-latin-600-normal-B9TiUNpT.woff2 +0 -0
  792. package/out/web/assets/mali-latin-600-normal-CycpQCwU.woff +0 -0
  793. package/out/web/assets/mali-latin-ext-400-normal-DUVdJQO4.woff +0 -0
  794. package/out/web/assets/mali-latin-ext-400-normal-iCG1ALuJ.woff2 +0 -0
  795. package/out/web/assets/mali-latin-ext-500-normal-BfJE4UMZ.woff2 +0 -0
  796. package/out/web/assets/mali-latin-ext-500-normal-FoLEyOKS.woff +0 -0
  797. package/out/web/assets/mali-latin-ext-600-normal-BTvIfiCp.woff2 +0 -0
  798. package/out/web/assets/mali-latin-ext-600-normal-DAQcLVmD.woff +0 -0
  799. package/out/web/assets/mali-thai-400-normal-BO7A3bLZ.woff2 +0 -0
  800. package/out/web/assets/mali-thai-400-normal-CX9VrjTn.woff +0 -0
  801. package/out/web/assets/mali-thai-500-normal-Cph2qha9.woff +0 -0
  802. package/out/web/assets/mali-thai-500-normal-D89rMT77.woff2 +0 -0
  803. package/out/web/assets/mali-thai-600-normal-DPgXT6rZ.woff +0 -0
  804. package/out/web/assets/mali-thai-600-normal-DlTx3OsB.woff2 +0 -0
  805. package/out/web/assets/mali-vietnamese-400-normal-DUKxzXaz.woff2 +0 -0
  806. package/out/web/assets/mali-vietnamese-400-normal-gFDLvsOK.woff +0 -0
  807. package/out/web/assets/mali-vietnamese-500-normal--OY07q2c.woff +0 -0
  808. package/out/web/assets/mali-vietnamese-500-normal-KDrNRwfW.woff2 +0 -0
  809. package/out/web/assets/mali-vietnamese-600-normal-CtTMUU7T.woff +0 -0
  810. package/out/web/assets/mali-vietnamese-600-normal-DFlJr66u.woff2 +0 -0
  811. package/out/web/assets/mermaid.core-DYGGlqOf.js +0 -11
  812. package/out/web/assets/mitr-latin-400-normal-Cb18vPmZ.woff +0 -0
  813. package/out/web/assets/mitr-latin-400-normal-CwbkLQ4a.woff2 +0 -0
  814. package/out/web/assets/mitr-latin-500-normal-B4JOhzAi.woff +0 -0
  815. package/out/web/assets/mitr-latin-500-normal-BmClOow2.woff2 +0 -0
  816. package/out/web/assets/mitr-latin-ext-400-normal-B3CPG7Yo.woff2 +0 -0
  817. package/out/web/assets/mitr-latin-ext-400-normal-DTx65hiC.woff +0 -0
  818. package/out/web/assets/mitr-latin-ext-500-normal-B_Diajz1.woff2 +0 -0
  819. package/out/web/assets/mitr-latin-ext-500-normal-DYOsVaVT.woff +0 -0
  820. package/out/web/assets/mitr-thai-400-normal-CS4Do6aM.woff +0 -0
  821. package/out/web/assets/mitr-thai-400-normal-CXWaAdVj.woff2 +0 -0
  822. package/out/web/assets/mitr-thai-500-normal-CVdBrEVH.woff2 +0 -0
  823. package/out/web/assets/mitr-thai-500-normal-CW_B5D-i.woff +0 -0
  824. package/out/web/assets/mitr-vietnamese-400-normal-CPMGWyoC.woff2 +0 -0
  825. package/out/web/assets/mitr-vietnamese-400-normal-Z6XhIpdY.woff +0 -0
  826. package/out/web/assets/mitr-vietnamese-500-normal-CDrv0585.woff2 +0 -0
  827. package/out/web/assets/mitr-vietnamese-500-normal-CMQWyq-Z.woff +0 -0
  828. package/out/web/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2 +0 -0
  829. package/out/web/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff +0 -0
  830. package/out/web/assets/noto-sans-thai-latin-500-normal-BC04jsmm.woff +0 -0
  831. package/out/web/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2 +0 -0
  832. package/out/web/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2 +0 -0
  833. package/out/web/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff +0 -0
  834. package/out/web/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff +0 -0
  835. package/out/web/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2 +0 -0
  836. package/out/web/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2 +0 -0
  837. package/out/web/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.woff +0 -0
  838. package/out/web/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff +0 -0
  839. package/out/web/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2 +0 -0
  840. package/out/web/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2 +0 -0
  841. package/out/web/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff +0 -0
  842. package/out/web/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff +0 -0
  843. package/out/web/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2 +0 -0
  844. package/out/web/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff +0 -0
  845. package/out/web/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2 +0 -0
  846. package/out/web/assets/oauthManager-DNiwM8Rn.js +0 -2
  847. package/out/web/assets/oauthManager-DuamS1Av.css +0 -1
  848. package/out/web/assets/outfit-latin-300-normal-AWLfuCom.woff +0 -0
  849. package/out/web/assets/outfit-latin-300-normal-CRYTwY6m.woff2 +0 -0
  850. package/out/web/assets/outfit-latin-400-normal-BGsTXAXT.woff2 +0 -0
  851. package/out/web/assets/outfit-latin-400-normal-DMwTpYkH.woff +0 -0
  852. package/out/web/assets/outfit-latin-500-normal-ClnHRwRh.woff +0 -0
  853. package/out/web/assets/outfit-latin-500-normal-DKnIMDSk.woff2 +0 -0
  854. package/out/web/assets/outfit-latin-600-normal-B7SfZ07L.woff2 +0 -0
  855. package/out/web/assets/outfit-latin-600-normal-BEfTtDA7.woff +0 -0
  856. package/out/web/assets/outfit-latin-ext-300-normal-BYS6Dpvq.woff2 +0 -0
  857. package/out/web/assets/outfit-latin-ext-300-normal-CMIMshEd.woff +0 -0
  858. package/out/web/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2 +0 -0
  859. package/out/web/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff +0 -0
  860. package/out/web/assets/outfit-latin-ext-500-normal-DrCvqoFD.woff +0 -0
  861. package/out/web/assets/outfit-latin-ext-500-normal-zeox_O30.woff2 +0 -0
  862. package/out/web/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2 +0 -0
  863. package/out/web/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff +0 -0
  864. package/out/web/assets/preload-helper-D0uHx7FM.js +0 -1
  865. package/out/web/assets/prompt-latin-400-normal-BQ9zjSN8.woff2 +0 -0
  866. package/out/web/assets/prompt-latin-400-normal-CxU4ec_r.woff +0 -0
  867. package/out/web/assets/prompt-latin-500-normal-B1edBDQ9.woff +0 -0
  868. package/out/web/assets/prompt-latin-500-normal-CxzxEHZc.woff2 +0 -0
  869. package/out/web/assets/prompt-latin-600-normal-CSDDLorv.woff +0 -0
  870. package/out/web/assets/prompt-latin-600-normal-hKZWXsc1.woff2 +0 -0
  871. package/out/web/assets/prompt-latin-ext-400-normal-1pHbN9uy.woff +0 -0
  872. package/out/web/assets/prompt-latin-ext-400-normal-DdSafGZ9.woff2 +0 -0
  873. package/out/web/assets/prompt-latin-ext-500-normal--EZ1um7s.woff2 +0 -0
  874. package/out/web/assets/prompt-latin-ext-500-normal-D-lI1EVT.woff +0 -0
  875. package/out/web/assets/prompt-latin-ext-600-normal-C8b50x67.woff +0 -0
  876. package/out/web/assets/prompt-latin-ext-600-normal-Cg9L7iJU.woff2 +0 -0
  877. package/out/web/assets/prompt-thai-400-normal-BrkKv8cO.woff2 +0 -0
  878. package/out/web/assets/prompt-thai-400-normal-DJypnfr3.woff +0 -0
  879. package/out/web/assets/prompt-thai-500-normal-C18pDUoL.woff2 +0 -0
  880. package/out/web/assets/prompt-thai-500-normal-D7YNqUJD.woff +0 -0
  881. package/out/web/assets/prompt-thai-600-normal-CYPViXds.woff +0 -0
  882. package/out/web/assets/prompt-thai-600-normal-MrdfU7zR.woff2 +0 -0
  883. package/out/web/assets/prompt-vietnamese-400-normal-BCPzsgPT.woff2 +0 -0
  884. package/out/web/assets/prompt-vietnamese-400-normal-D4pLyeNK.woff +0 -0
  885. package/out/web/assets/prompt-vietnamese-500-normal-DmzxmPwa.woff2 +0 -0
  886. package/out/web/assets/prompt-vietnamese-500-normal-w_sS_j2F.woff +0 -0
  887. package/out/web/assets/prompt-vietnamese-600-normal-1dyohtNh.woff +0 -0
  888. package/out/web/assets/prompt-vietnamese-600-normal-7QWjJBsF.woff2 +0 -0
  889. package/out/web/assets/sarabun-latin-400-normal-DmguIS-7.woff +0 -0
  890. package/out/web/assets/sarabun-latin-400-normal-URPBxl-K.woff2 +0 -0
  891. package/out/web/assets/sarabun-latin-500-normal-BjUTcdxu.woff2 +0 -0
  892. package/out/web/assets/sarabun-latin-500-normal-CJexTAnl.woff +0 -0
  893. package/out/web/assets/sarabun-latin-600-normal-9FonlkKx.woff +0 -0
  894. package/out/web/assets/sarabun-latin-600-normal-DMD3TROr.woff2 +0 -0
  895. package/out/web/assets/sarabun-latin-ext-400-normal-BbP7GpLL.woff2 +0 -0
  896. package/out/web/assets/sarabun-latin-ext-400-normal-BsmTn0SS.woff +0 -0
  897. package/out/web/assets/sarabun-latin-ext-500-normal-Cot16Bd2.woff +0 -0
  898. package/out/web/assets/sarabun-latin-ext-500-normal-DE1LysqI.woff2 +0 -0
  899. package/out/web/assets/sarabun-latin-ext-600-normal-0tXu9x_i.woff +0 -0
  900. package/out/web/assets/sarabun-latin-ext-600-normal-BRxjKUQ6.woff2 +0 -0
  901. package/out/web/assets/sarabun-thai-400-normal-C2DaJlKK.woff2 +0 -0
  902. package/out/web/assets/sarabun-thai-400-normal-CH-UbWgg.woff +0 -0
  903. package/out/web/assets/sarabun-thai-500-normal-BVssjame.woff2 +0 -0
  904. package/out/web/assets/sarabun-thai-500-normal-C3iDLEzi.woff +0 -0
  905. package/out/web/assets/sarabun-thai-600-normal-3dIAQ-_s.woff2 +0 -0
  906. package/out/web/assets/sarabun-thai-600-normal-DWKeTe6a.woff +0 -0
  907. package/out/web/assets/sarabun-vietnamese-400-normal-DPfkSCMy.woff +0 -0
  908. package/out/web/assets/sarabun-vietnamese-400-normal-igdrzAGY.woff2 +0 -0
  909. package/out/web/assets/sarabun-vietnamese-500-normal-CpRVvGRU.woff +0 -0
  910. package/out/web/assets/sarabun-vietnamese-500-normal-Dpe7Br9m.woff2 +0 -0
  911. package/out/web/assets/sarabun-vietnamese-600-normal-BMbOgAW-.woff +0 -0
  912. package/out/web/assets/sarabun-vietnamese-600-normal-DkxrOlLB.woff2 +0 -0
  913. package/out/web/assets/stateDiagram-v2-4QOOHH4V-s6P9g2_b.js +0 -1
  914. package/out/web/assets/swimlanesDiagram-VK2B7HYN-CV9fOLrV.js +0 -8
  915. package/out/web/assets/tauri-CNrHQ2Gb.js +0 -3
  916. package/out/web/assets/window-DkIhgI7B.js +0 -1
  917. package/skills-lock.json +0 -41
  918. package/src/renderer/public/Live2DCubismCore.js +0 -9
  919. package/src/renderer/src/companionWidget.ts +0 -95
  920. package/src/renderer/src/components/Live2DStage.tsx +0 -389
  921. package/src/renderer/src/components/ModelPanel.tsx +0 -154
  922. package/src/renderer/src/css/model.css +0 -627
  923. package/src/renderer/src-web/companionWidget.ts +0 -37
  924. package/src/renderer/src-web/components/ModelPanel.tsx +0 -12
  925. package/src/renderer/src-web/css/model.css +0 -628
@@ -1,4 +1,4 @@
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-2tv5K1wT.js";import{n as _,t as v}from"./chunk-PWAF6VOD-BmjYLNbq.js";import{a as y,d as b,m as x,r as S,u as C}from"./chunk-75Z2AOVW-TLXCoZYv.js";import{i as w,n as T,r as E}from"./chunk-GMAD6QVW-C-558kh_.js";import{a as D,i as O,n as k,o as A,t as j}from"./chunk-P2QGCYS3-HZIiM7Ni.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}
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-CnFngIhW.js";import{n as _,t as v}from"./chunk-PWAF6VOD-Cc2uVDsG.js";import{a as y,d as b,m as x,r as S,u as C}from"./chunk-75Z2AOVW-_M0z5olV.js";import{i as w,n as T,r as E}from"./chunk-GMAD6QVW-BuhEcgHq.js";import{a as D,i as O,n as k,o as A,t as j}from"./chunk-P2QGCYS3-UFEU6BxZ.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
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
3
  M${p-$},${m} L${p+d},${m}
4
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
@@ -0,0 +1 @@
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-CnFngIhW.js";import{n as a}from"./chunk-PWAF6VOD-Cc2uVDsG.js";import{d as o}from"./chunk-75Z2AOVW-_M0z5olV.js";import{i as s}from"./chunk-GMAD6QVW-BuhEcgHq.js";import{n as c}from"./chunk-P2QGCYS3-UFEU6BxZ.js";import{r as l}from"./chunk-TEH6E4GO-G4Cdlyrt.js";import{r as u}from"./chunk-OBVCFTLP-CRIkunUB.js";import{i as d}from"./chunk-R7TYR2AO-DiCxzdAY.js";import{l as f}from"./chunk-F27PBJKO-BqtWrnEO.js";import{n as p}from"./chunk-XXDRQBXY-DnJkbUaw.js";import{t as m}from"./chunk-POPQ4Y6H-CQcrNbjr.js";import{n as h}from"./chunk-JQ64N6SF-CF8T7GiZ.js";import{n as g}from"./chunk-CKBBP62Z-BpQEgeHF.js";import{a as _,i as v,n as y,r as b,t as x}from"./chunk-LCL6LL3I-BhXV9zyH.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};
@@ -0,0 +1 @@
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-CnFngIhW.js";import{n as a}from"./chunk-PWAF6VOD-Cc2uVDsG.js";import{d as o}from"./chunk-75Z2AOVW-_M0z5olV.js";import{i as s}from"./chunk-GMAD6QVW-BuhEcgHq.js";import{n as c}from"./chunk-P2QGCYS3-UFEU6BxZ.js";import{r as l}from"./chunk-TEH6E4GO-G4Cdlyrt.js";import{r as u}from"./chunk-OBVCFTLP-CRIkunUB.js";import{i as d}from"./chunk-R7TYR2AO-DiCxzdAY.js";import{l as f}from"./chunk-F27PBJKO-BqtWrnEO.js";import{n as p}from"./chunk-XXDRQBXY-DnJkbUaw.js";import{t as m}from"./chunk-POPQ4Y6H-CQcrNbjr.js";import{n as h}from"./chunk-JQ64N6SF-CF8T7GiZ.js";import{n as g}from"./chunk-CKBBP62Z-BpQEgeHF.js";import{a as _,i as v,n as y,r as b,t as x}from"./chunk-LCL6LL3I-BhXV9zyH.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};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-js-BkYNznHX.js","assets/chunk-CacB07dV.js","assets/core-DsKkQ7ig.js"])))=>i.map(i=>d[i]);
2
+ import{i as e,n as t}from"./chunk-CacB07dV.js";import{n,t as r}from"./jsx-runtime-DN4NhQUK.js";import{S as i,_ as a,b as o,c as s,g as c,i as l,qr as u,x as d}from"./index-Ca8cCS4h.js";var f,p,m,h=t((()=>{f=e(n()),p={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`},m=(0,f.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n,absoluteStrokeWidth:r=!1,className:i=``,altIcon:a,showAlt:o=!1,icon:s,primaryColor:c,secondaryColor:l,disableSecondaryOpacity:u=!1,...d},m)=>{let h=n===void 0?void 0:r?Number(n)*24/Number(t):n,g=h===void 0?{}:{strokeWidth:h,stroke:`currentColor`};return(0,f.createElement)(`svg`,{ref:m,...p,width:t,height:t,color:c||e,className:i,...g,...d},[...o&&a?a:s].sort(([,e],[,t])=>{let n=e.opacity!==void 0;return t.opacity===void 0?n?-1:0:1}).map(([t,n])=>{let r=n.opacity!==void 0,i=r&&!u?n.opacity:void 0,a=l?{...n.stroke===void 0?{fill:r?l:c||e}:{stroke:r?l:c||e}}:{};return(0,f.createElement)(t,{...n,...g,...a,opacity:i,key:n.key})}))}),m.displayName=`HugeiconsIcon`})),g=t((()=>{h()})),ee,te=t((()=>{ee=[[`path`,{d:`M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}]]})),_,ne=t((()=>{_=[[`path`,{d:`M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}]]})),v,y=t((()=>{v=[[`path`,{d:`M7 6.5C7 4.01472 9.01472 2 11.5 2C13.9853 2 16 4.01472 16 6.5V11.5C16 13.9853 13.9853 16 11.5 16C9.01472 16 7 13.9853 7 11.5V6.5Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M11.5 19H11.0828C7.57267 19 4.57706 16.4623 4 13M11.5 19H11.9172C15.4273 19 18.4229 16.4623 19 13M11.5 19V22`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]]})),re,ie=t((()=>{re=[[`path`,{d:`M5 14L8.5 17.5L19 6.5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}]]})),ae=t((()=>{te(),ne(),y(),ie()})),oe=t((()=>{}));function se({options:e=de,value:t,defaultValue:n,onChange:r,placeholder:i=`Select…`,showTags:a=!0,accentColor:o=`#f5f5f5`,surfaceColor:s=`#27272a`,highlightColor:c=`#3f3f46`,textColor:l=`#f5f5f5`,size:u=`md`,radius:d=10,menuWidth:f=176,placement:p=`bottom`,align:h=`left`,popDuration:g=180,glideDuration:te=220,rememberPosition:_=!0,disabled:ne=!1,ariaLabel:v=`Select`,className:y=``,id:ie,labelledBy:ae,title:oe,style:se,fullWidth:pe=!1}){let C=e.map(fe),[he,ge]=(0,b.useState)(n??``),w=t??he,T=C.findIndex(e=>e.value===w),[E,D]=(0,b.useState)(`closed`),[O,k]=(0,b.useState)(null),[A,j]=(0,b.useState)(p),[M,_e]=(0,b.useState)({top:0,left:0,width:f,maxHeight:300}),N=(0,b.useRef)(null),P=(0,b.useRef)(null),F=(0,b.useRef)(null),I=(0,b.useRef)(null),L=(0,b.useRef)(null),R=(0,b.useRef)(!1),z=(0,b.useRef)(void 0),B=(0,b.useRef)(null),V=(0,b.useId)(),H=le[u]??le.md,U=H.row+ue,ve=Math.round(g*2/3),W=ne||C.length===0;(0,b.useLayoutEffect)(()=>{if(E!==`open`)return;let e=F.current,t=P.current;if(!e||!t)return;let n=()=>{let e=t.getBoundingClientRect(),n=Math.max(0,window.innerHeight-e.bottom-S-8),r=Math.max(0,e.top-S-8),i=Math.min(300,C.length*U+7),a=p===`bottom`?n<i&&r>n?`top`:`bottom`:r<i&&n>r?`bottom`:`top`,o=Math.min(300,a===`bottom`?n:r),s=Math.min(i,o),c=Math.min(Math.max(f,e.width),window.innerWidth-16),l=Math.max(8,Math.min(h===`right`?e.right-c:e.left,window.innerWidth-c-8));j(a),_e({fontFamily:getComputedStyle(t).fontFamily,top:a===`bottom`?e.bottom+S:e.top-S-s,left:l,width:c,maxHeight:o})};n(),e.dataset.state=`closed`,e.offsetHeight,e.dataset.state=`open`;let r=L.current;r&&(r.style.transition=`none`,r.style.transform=`translateY(${Math.max(0,T)*U}px)`,r.style.opacity=`0`,r.offsetHeight,r.style.transition=``);let i=e=>{F.current?.contains(e.target)||n()};return window.addEventListener(`resize`,n),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,n),window.removeEventListener(`scroll`,i,!0)}},[E,p,h,f,C.length,U]),(0,b.useLayoutEffect)(()=>{let e=L.current;if(!e||E!==`open`)return;if(O===null){e.style.opacity=`0`;return}let t=R.current||e.style.opacity!==`1`;e.style.transitionDuration=t?`0ms, 150ms`:``,e.style.transform=`translateY(${O*U}px)`,e.style.opacity=`1`,R.current=!1;let n=I.current;if(n){let e=O*U;e<n.scrollTop?n.scrollTop=e:e+H.row>n.scrollTop+n.clientHeight&&(n.scrollTop=e+H.row-n.clientHeight)}},[O,E,U,H.row,M.maxHeight]);let G=e=>{W||(clearTimeout(z.current),R.current=!0,k(T>=0?T:e?0:null),D(`open`))},K=e=>{k(null),B.current=null,clearTimeout(z.current);let t=F.current;if(e===`instant`||!t){D(`closed`);return}t.style.transitionDuration=``,t.dataset.state=`closed`,D(`closing`),z.current=setTimeout(()=>D(`closed`),ve+20)},q=(e,n)=>{let i=C[e];if(!i){K(`instant`);return}i.value!==w&&(t===void 0&&ge(i.value),r?.(i.value,i),!n&&N.current&&(N.current.dataset.swap=``)),K(`instant`),P.current?.focus({preventScroll:!0})},ye=e=>{let t=e.key,n=C.length,r=O??Math.max(0,T);if(E!==`open`){[`Enter`,` `,`ArrowDown`,`ArrowUp`].includes(t)&&(e.preventDefault(),G(!0));return}let i=t=>{e.preventDefault(),R.current=!0,k(Math.min(n-1,Math.max(0,t)))};t===`ArrowDown`||t===`ArrowUp`?i(O===null?r:r+(t===`ArrowDown`?1:-1)):t===`Home`||t===`End`?i(t===`Home`?0:n-1):t===`Enter`||t===` `?(e.preventDefault(),q(r,!0)):t===`Escape`||t===`Tab`?(t===`Escape`&&(e.preventDefault(),e.stopPropagation()),K(`instant`)):t.length===1&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&i(me(C,r,t))};(0,b.useEffect)(()=>{if(E===`closed`)return;let e=e=>{!N.current?.contains(e.target)&&!F.current?.contains(e.target)&&K(`pop`)},t=e=>{!N.current?.contains(e.target)&&!F.current?.contains(e.target)&&K(`instant`)};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`focusin`,t),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`focusin`,t)}},[E]),(0,b.useEffect)(()=>{W&&E!==`closed`&&K(`instant`)},[W]),(0,b.useEffect)(()=>()=>clearTimeout(z.current),[]);let J=(e,t)=>{let n=I.current;if(!B.current||!n)return null;let r=n.getBoundingClientRect();if(e<r.top||e>=r.bottom||t<r.left||t>=r.right)return null;let i=e-r.top+n.scrollTop,a=Math.floor(i/U);return a>=0&&a<C.length&&i%U<H.row?a:null},be=e=>{if(!(B.current||e.button!==0)&&e.pointerType!==`touch`){e.preventDefault();try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}B.current={id:e.pointerId},R.current=!0,k(J(e.clientY,e.clientX))}},xe=e=>{if(!B.current||B.current.id!==e.pointerId)return;let t=J(e.clientY,e.clientX);t!==O&&k(t)},Y=e=>{if(!B.current||B.current.id!==e.pointerId)return;let t=e.type===`pointerup`?J(e.clientY,e.clientX):null;B.current=null,t===null?_||k(null):q(t,!1)},Se=e=>{if(e.pointerType===`touch`||B.current)return;let t=e.target.closest(`[data-index]`);if(!t)return;let n=Number(t.dataset.index);n!==O&&k(n)},X={"--gs-accent":o,"--gs-surface":s,"--gs-highlight":c,"--gs-text":l,"--gs-radius":`${d}px`,"--gs-inner-radius":`${Math.max(3,d-4)}px`,"--gs-chip":`${H.chip}px`,"--gs-row":`${H.row}px`,"--gs-font":`${H.font}px`,"--gs-menu-w":`${f}px`,"--gs-pop":`${g}ms`,"--gs-pop-out":`${ve}ms`,"--gs-glide":`${te}ms`,"--gs-origin":`${A===`bottom`?`top`:`bottom`} ${h}`};return(0,x.jsxs)(`div`,{ref:N,className:`glide-select${y?` ${y}`:``}`,"data-size":u,"data-disabled":W?``:void 0,"data-full-width":pe?``:void 0,style:{...X,...se},onAnimationEnd:e=>{e.animationName===`gs-swap`&&N.current&&delete N.current.dataset.swap},children:[(0,x.jsxs)(`button`,{ref:P,id:ie,title:oe,type:`button`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":E===`open`,"aria-controls":E===`closed`?void 0:`${V}-list`,"aria-activedescendant":E===`open`&&O!==null?`${V}-${O}`:void 0,"aria-label":ae?void 0:v,"aria-labelledby":ae,disabled:W,className:`glide-select__trigger`,onPointerDown:e=>{e.button!==0||W||(e.currentTarget.focus({preventScroll:!0}),E===`open`?K(`pop`):G(!1))},onClick:e=>{e.detail===0&&E===`closed`&&G(!0)},onKeyDown:ye,children:[(0,x.jsx)(`span`,{className:`glide-select__label`,"data-empty":T<0?``:void 0,children:T>=0?C[T].label:i},w),(0,x.jsx)(`span`,{className:`glide-select__chevron`,"aria-hidden":`true`,children:(0,x.jsx)(m,{icon:ee,size:12,strokeWidth:2.5})})]}),E!==`closed`&&(0,ce.createPortal)((0,x.jsx)(`div`,{ref:F,className:`glide-select__menu`,"data-state":`open`,"data-side":A,"data-align":h,style:{...X,top:M.top,left:M.left,width:M.width,maxHeight:M.maxHeight,fontFamily:M.fontFamily},children:(0,x.jsxs)(`div`,{ref:I,id:`${V}-list`,role:`listbox`,"aria-label":v,className:`glide-select__list`,style:{maxHeight:Math.max(0,M.maxHeight-8)},"data-live":O===null?void 0:``,onPointerOver:Se,onPointerLeave:()=>{!B.current&&!_&&k(null)},onPointerDown:be,onPointerMove:xe,onPointerUp:Y,onPointerCancel:Y,onLostPointerCapture:Y,children:[(0,x.jsx)(`span`,{ref:L,className:`glide-select__pill`,"aria-hidden":`true`}),C.map((e,t)=>(0,x.jsxs)(`div`,{id:`${V}-${t}`,role:`option`,"aria-selected":t===T,"data-index":t,className:`glide-select__option`,onClick:e=>{(e.detail===0||e.nativeEvent.pointerType===`touch`)&&q(t,!1)},children:[(0,x.jsx)(`span`,{className:`glide-select__name`,children:e.label}),a&&e.tag?(0,x.jsx)(`span`,{className:`glide-select__tag`,children:e.tag}):null,(0,x.jsx)(`span`,{className:`glide-select__check`,"data-on":t===T?``:void 0,"aria-hidden":`true`,children:(0,x.jsx)(m,{icon:re,size:13,strokeWidth:2.5})})]},e.value))]})}),document.body)]})}var b,ce,x,le,ue,S,de,fe,pe,me,C=t((()=>{b=e(n()),ce=u(),g(),ae(),oe(),x=r(),le={sm:{chip:28,row:26,font:12},md:{chip:32,row:30,font:13},lg:{chip:44,row:40,font:14}},ue=1,S=6,de=[`One`,`Two`,`Three`],fe=e=>typeof e==`string`?{value:e,label:e}:e,pe=e=>typeof e.label==`string`?e.label:e.value,me=(e,t,n)=>{let r=n.toLowerCase();for(let n=1;n<=e.length;n++){let i=(t+n)%e.length;if(pe(e[i]).toLowerCase().startsWith(r))return i}return t}}));function he(e){return w.Children.toArray(e).flatMap(e=>{if(!(0,w.isValidElement)(e))return[];if(e.type===w.Fragment)return he(e.props.children);if(e.type!==`option`)return[];let t=w.Children.toArray(e.props.children).join(``);return[{value:String(e.props.value??t),label:t}]})}function ge({children:e,value:t,defaultValue:n,onValueChange:r,disabled:i,id:a,"aria-label":o,"aria-labelledby":s,className:c,title:l,style:u,fullWidth:d=!0}){return(0,T.jsx)(se,{options:he(e),value:t===void 0?void 0:String(t),defaultValue:n===void 0?void 0:String(n),onChange:r,disabled:i,id:a,ariaLabel:o??l??`Select`,labelledBy:s,className:c?`mint-select-field ${c}`:`mint-select-field`,title:l,style:u,fullWidth:d})}var w,T,E=t((()=>{w=e(n()),C(),T=r()})),D,O,k,A,j,M,_e=t((()=>{i(),o(),D=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}},O=(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`)}`},k=e=>{let t=D(e);return .299*t.r+.587*t.g+.114*t.b>160?`#09090b`:`#ffffff`},A=null,j=null,M=e=>{if(typeof document>`u`)return;let t=e.theme||`dark`,n=e.glassBlur===`none`?`opaque`:e.surfaceStyle||`glass`,r=e.accentColor||`#10b981`,i=D(r),a=k(r),o=t;t===`system`?(o=window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,j||(A=window.matchMedia(`(prefers-color-scheme: dark)`),j=e=>{document.documentElement.setAttribute(`data-theme`,e.matches?`dark`:`light`)},A.addEventListener(`change`,j))):j&&A&&(A.removeEventListener(`change`,j),j=null,A=null),d(),document.documentElement.setAttribute(`data-reduced-effects`,String(e.reducedEffects===!0)),document.documentElement.setAttribute(`data-theme`,o),document.documentElement.setAttribute(`data-surface`,n);let s=r.trim().toLowerCase();if(document.documentElement.setAttribute(`data-accent-mode`,s===`#ffffff`||s===`#fff`?`monochrome`:`color`),document.documentElement.style.setProperty(`--accent-default`,r),document.documentElement.style.setProperty(`--accent`,r),document.documentElement.style.setProperty(`--accent-hover`,O(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=D(e.customPanelBg),r=n===`opaque`?e.customPanelBg:`rgba(${t.r}, ${t.g}, ${t.b}, 0.75)`,i=n===`opaque`?e.customPanelBg:`rgba(${t.r}, ${t.g}, ${t.b}, 0.62)`;document.documentElement.style.setProperty(`--bg-surface`,r),document.documentElement.style.setProperty(`--panel-bg`,r),document.documentElement.style.setProperty(`--surface-bg`,i)}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 N(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function P(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 F(e,t){let n=P(e).getTime(),r=P(t).getTime();return!Number.isFinite(n)||!Number.isFinite(r)?!1:Math.abs(r-n)>H}function I(e){let t=P(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 L(e){return e instanceof Error?e.message:String(e)}function R(e){let t=URL.createObjectURL(e);return{objectUrl:t,revoke:()=>{try{URL.revokeObjectURL(t)}catch{}}}}function z(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 B(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 V(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,U,ve=t((()=>{_e(),H=1800*1e3,U=e=>{M(e)}}));function W(e){if(!e)return!1;let t=e.toLowerCase();return t.endsWith(`:free`)||t.includes(`:free`)}function G(e,t){let n=e.trim(),r=n.toLowerCase();if(ke[n])return ke[n];for(let[e,t]of Object.entries(ke))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 K,q,ye,J,be,xe,Y,Se,X,Ce,we,Te,Ee,De,Oe,ke,Ae=t((()=>{K=[`gemini-3.6-flash`,`gemini-3.5-flash`,`gemini-3.5-flash-lite`,`gemini-3.1-flash-lite`,`gemini-2.5-flash`],q=[`gemini-2.5-flash-native-audio-preview-12-2025`,`gemini-3.1-flash-live-preview`],ye=[`Puck`,`Charon`,`Kore`,`Fenrir`,`Aoede`,`Leda`,`Orus`,`Zephyr`],J=[`gpt-5.6-sol`,`gpt-5.6-terra`,`gpt-5.6-luna`,`gpt-5.5-thinking`,`gpt-5.5-pro`],be=[`claude-sonnet-5`,`claude-opus-5`,`claude-sonnet-4.6`,`claude-opus-4.8`,`claude-haiku-4.5`],xe=[`openai/gpt-5.6-terra`,`anthropic/claude-sonnet-5`,`google/gemini-3.6-flash`,`x-ai/grok-4.5`,`deepseek/deepseek-v4-pro`],Y=[`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`],Se=[`deepseek-chat`,`deepseek-reasoner`],X=[`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`],Ce=[`local-model`,`Qwen/Qwen2.5-7B-Instruct-GGUF`,`meta-llama/Llama-3.2-3B-Instruct-GGUF`,`lmstudio-community/gemma-2-9b-it-GGUF`],we=[],Te={gemini:K,openai:J,anthropic:be,openrouter:xe,deepseek:Se,huggingface:X,local_openai:Ce,ollama:we},Ee={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`}]},De={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`}]},Oe={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`}},ke={"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 je(e,t){if(t){if(t.trim().startsWith(`<svg`))return(0,Z.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,Z.jsx)(`img`,{src:t,alt:e,style:{width:`22px`,height:`22px`,objectFit:`contain`}});let n=t.toLowerCase().trim();if(n===`search`)return(0,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#3b82f6`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,Z.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]});if(n===`database`)return(0,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#a855f7`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}),(0,Z.jsx)(`path`,{d:`M21 12c0 1.66-4 3-9 3s-9-1.34-9-3`}),(0,Z.jsx)(`path`,{d:`M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5`})]});if(n===`cloud`)return(0,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#10b981`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`polyline`,{points:`16 18 22 12 16 6`}),(0,Z.jsx)(`polyline`,{points:`8 6 2 12 8 18`})]});if(n===`api`||n===`bolt`)return(0,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f59e0b`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,Z.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,Z.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,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#0db7ed`,children:(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f05032`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`circle`,{cx:`18`,cy:`18`,r:`3`}),(0,Z.jsx)(`circle`,{cx:`6`,cy:`6`,r:`3`}),(0,Z.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,Z.jsx)(`path`,{d:`M6 9v6`}),(0,Z.jsx)(`path`,{d:`M9 18h6`})]}):n===`github`?(0,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#f0f6fc`,children:(0,Z.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,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#68a063`,children:(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,Z.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,Z.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,Z.jsx)(`path`,{fill:`#34A853`,d:`M2 7v11c0 .6.4 1 1 1h2V9.3L2 7z`}),(0,Z.jsx)(`path`,{fill:`#4285F4`,d:`M22 7l-3 2.3V19h2c.6 0 1-.4 1-1V7z`}),(0,Z.jsx)(`path`,{fill:`#FBBC05`,d:`M5 19h14v-9.7l-7 5.3-7-5.3V19z`})]}):n===`calendar`||n===`google_calendar`?(0,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,Z.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`3`,fill:`#ffffff`}),(0,Z.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,Z.jsx)(`path`,{d:`M19 3H5a2 2 0 0 0-2 2v3h18V5a2 2 0 0 0-2-2z`,fill:`#185ABC`}),(0,Z.jsx)(`path`,{d:`M7 2v3M17 2v3`,stroke:`#ffffff`,strokeWidth:`1.5`,strokeLinecap:`round`}),(0,Z.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,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#ffffff`,children:(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`#FF0000`}),(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`5.5`,fill:`none`,stroke:`#FFFFFF`,strokeWidth:`1.6`}),(0,Z.jsx)(`polygon`,{points:`10.5 8.5 15.5 12 10.5 15.5`,fill:`#FFFFFF`})]}):n===`vercel`?(0,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#ffffff`,children:(0,Z.jsx)(`path`,{d:`M12 1L24 22H0L12 1Z`})}):n===`spotify`?(0,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#1ed760`,children:(0,Z.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,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`#5865f2`,children:(0,Z.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,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f59e0b`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#e01e5a`,strokeWidth:`2.4`,strokeLinecap:`round`,children:[(0,Z.jsx)(`line`,{x1:`9`,y1:`3`,x2:`7`,y2:`21`}),(0,Z.jsx)(`line`,{x1:`17`,y1:`3`,x2:`15`,y2:`21`}),(0,Z.jsx)(`line`,{x1:`3`,y1:`9`,x2:`21`,y2:`7`}),(0,Z.jsx)(`line`,{x1:`3`,y1:`17`,x2:`21`,y2:`15`})]}):n===`postgres`||n===`sqlite`||n===`postgresql`?(0,Z.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,Z.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`}),(0,Z.jsx)(`path`,{d:`M21 12c0 1.66-4 3-9 3s-9-1.34-9-3`}),(0,Z.jsx)(`path`,{d:`M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5`})]}):n===`puppeteer`||n===`playwright`||n===`browser`?(0,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#38bdf8`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,Z.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#22c55e`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,Z.jsx)(`line`,{x1:`2`,y1:`12`,x2:`22`,y2:`12`}),(0,Z.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,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#a78bfa`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,Z.jsx)(`polyline`,{points:`12 6 12 12 16 14`})]}):n===`memory`?(0,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f472b6`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.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,Z.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,Z.jsx)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#fb923c`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,Z.jsx)(`path`,{d:`M8 3v18M16 3v18M3 8h5M3 16h5M16 8h5M16 16h5`})}):(0,Z.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#10b981`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`rect`,{x:`2`,y:`2`,width:`20`,height:`8`,rx:`2`,ry:`2`}),(0,Z.jsx)(`rect`,{x:`2`,y:`14`,width:`20`,height:`8`,rx:`2`,ry:`2`}),(0,Z.jsx)(`line`,{x1:`6`,y1:`6`,x2:`6.01`,y2:`6`}),(0,Z.jsx)(`line`,{x1:`6`,y1:`18`,x2:`6.01`,y2:`18`})]})}function Me(e=20,t=`currentColor`){return(0,Z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`path`,{d:`M22 10v6M2 10l10-5 10 5-10 5z`}),(0,Z.jsx)(`path`,{d:`M6 12v5c3 3 9 3 12 0v-5`})]})}function Ne(e=20,t=`currentColor`){return(0,Z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`path`,{d:`M12 2v8M18 10V4M6 10V4`}),(0,Z.jsx)(`path`,{d:`M4 10h16v3a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4v-3z`}),(0,Z.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12`,y2:`22`})]})}function Pe(e=20,t=`currentColor`){return(0,Z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.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,Z.jsx)(`polyline`,{points:`3.27 6.96 12 12.01 20.73 6.96`}),(0,Z.jsx)(`line`,{x1:`12`,y1:`22.08`,x2:`12`,y2:`12`})]})}function Fe(e=20,t=`currentColor`){return(0,Z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,Z.jsx)(`polyline`,{points:`12 9 12 13 15 15`}),(0,Z.jsx)(`path`,{d:`M9 2h6M5 5l-1.5-1.5M19 5l1.5-1.5`})]})}function Ie(e=20,t=`currentColor`){return(0,Z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:t,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.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,Z.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 Le(e,t){return(0,Z.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 Re(e=38){return Le((0,Z.jsx)(`svg`,{width:e*.56,height:e*.56,viewBox:`0 0 24 24`,fill:`rgba(255, 255, 255, 0.92)`,children:(0,Z.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 ze(e=38){return Le((0,Z.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,Z.jsx)(`path`,{d:`M22 10v6M2 10l10-5 10 5-10 5z`}),(0,Z.jsx)(`path`,{d:`M6 12v5c3 3 9 3 12 0v-5`})]}),e)}function Be(e=38){return Le((0,Z.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,Z.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,Z.jsx)(`polyline`,{points:`12 9 12 13 15 15`}),(0,Z.jsx)(`path`,{d:`M9 2h6M5 5l-1.5-1.5M19 5l1.5-1.5`})]}),e)}var Z,Ve,He=t((()=>{n(),Z=r(),Ve=[{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`}]})),Ue=t((()=>{}));function We(e){let t=e&&typeof e==`object`?e:{};return Object.fromEntries(Object.entries(qe).map(([e,n])=>[e,typeof t[e]==`boolean`?t[e]:n]))}function Ge(e,t,n){let r=We(e);return r.enabled&&r[t]&&r[n]}async function Ke(e=!1){if(window.__TAURI_INTERNALS__){let t=await c(()=>import(`./dist-js-BkYNznHX.js`),__vite__mapDeps([0,1,2]));return await t.isPermissionGranted()?`granted`:e?t.requestPermission():`default`}return typeof Notification>`u`?`unsupported`:e?Notification.requestPermission():Notification.permission}var qe,Je=t((()=>{a(),qe={enabled:!0,replies:!0,approvals:!0,system:!0,os:!0,inApp:!0}}));function Ye(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 Xe(e){if(!e?.fallbackProvider)return``;let t=e.fallbackReason?` (${e.fallbackReason})`:``;return`${Ye(e.fallbackProvider)} unavailable${t}, fell back to ${Ye(e.provider)}.`}var Ze=t((()=>{}));function Qe(e){return[...Te[e]??[]]}function $e(e,t,n){let[r,i]=(0,Q.useState)(Qe(e)),[a,o]=(0,Q.useState)(!1),s=(0,Q.useRef)(0);return(0,Q.useEffect)(()=>{if(i(Qe(e)),e===`ollama`||e===`huggingface`)return;let r=++s.current;o(!0),l(e,t,n).then(e=>{r===s.current&&i(e)}).catch(()=>{}).finally(()=>{r===s.current&&o(!1)})},[e,t,n]),{models:r,loading:a}}var Q,et=t((()=>{Q=e(n()),Ae(),s()})),tt,nt=t((()=>{tt=`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`})),rt,it=t((()=>{rt=`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`})),at,ot=t((()=>{at=`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`})),st,ct=t((()=>{st=`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`})),lt,ut=t((()=>{lt=`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`})),dt,ft=t((()=>{dt=`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`})),pt,mt=t((()=>{pt=`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`})),ht,gt=t((()=>{ht=`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 _t(e){let t=e.fontFamily;return t?t===`'Inter', 'Noto Sans Thai', ui-sans-serif, system-ui, sans-serif`?{...e,fontFamily:$.fontFamily}:t===`'Noto Sans Thai', sans-serif`||t===`'Noto Sans Thai', 'Inter', ui-sans-serif, system-ui, sans-serif`?{...e,fontFamily:`'Noto Sans Thai', 'Inter', ui-sans-serif, system-ui, sans-serif`}:[`'Prompt', sans-serif`,`'Outfit', sans-serif`,`'Inter', sans-serif`,`'Sarabun', sans-serif`,`'Kanit', sans-serif`,`'Mitr', sans-serif`,`'Mali', sans-serif`,`'Mali', cursive`].includes(t)?{...e,fontFamily:$.fontFamily}:e:e}function vt(e){return!e||e.typographyScaleVersion===2?e:{...e,fontSize:e.fontSize===`18px`?`16px`:e.fontSize,typographyScaleVersion:2}}var $,yt,bt=t((()=>{Je(),$={notificationSettings:{...qe},theme:`dark`,tuiTheme:`dark`,accentColor:`#10b981`,systemTextColor:`#f8fafc`,chatTextColor:`#f8fafc`,customBgStart:`#0f172a`,customBgEnd:`#1e1b4b`,customPanelBg:`#1e293b`,surfaceStyle:`opaque`,glassBlur:`none`,reducedEffects:!1,fontFamily:`'IBM Plex Sans Thai', 'Noto Sans Thai', 'Inter', ui-sans-serif, system-ui, 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:{}},yt=e=>{let t=e.tuiTheme||e.theme,n=t===`system`||t===`light`?t:`dark`;return{...e,tuiTheme:n}}}));export{J as $,Ge as A,ze as B,$e as C,ne as Ct,Je as D,Ye as E,h as Et,Ie as F,q as G,Be as H,Ne as I,X as J,ye as K,je as L,Ve as M,He as N,Ke as O,Re as P,we as Q,Pe as R,et as S,_ as St,Ze as T,m as Tt,be as U,Me as V,Se as W,Ee as X,Oe as Y,Ce as Z,ot as _,ge as _t,vt as a,W as at,tt as b,v as bt,mt as c,V as ct,dt as d,ve as dt,xe as et,ut as f,N as ft,at as g,F as gt,ct as h,z as ht,yt as i,Ae as it,Ue as j,We as k,pt as l,L as lt,st as m,B as mt,bt as n,De as nt,gt as o,U as ot,lt as p,P as pt,K as q,_t as r,G as rt,ht as s,R as st,$ as t,Y as tt,ft as u,I as ut,rt as v,E as vt,Xe as w,g as wt,nt as x,y as xt,it as y,ae as yt,Fe as z};
@@ -0,0 +1 @@
1
+ .glide-select{--gs-accent:#f5f5f5;--gs-surface:#27272a;--gs-highlight:#3f3f46;--gs-text:#f5f5f5;--gs-radius:10px;--gs-inner-radius:6px;--gs-chip:32px;--gs-row:30px;--gs-font:13px;--gs-menu-w:176px;--gs-pop:.18s;--gs-pop-out:.12s;--gs-glide:.22s;--gs-origin:top left;--gs-ease-out:cubic-bezier(.23, 1, .32, 1);min-width:0;display:inline-block;position:relative}.glide-select[data-disabled]{opacity:.5}.glide-select__trigger{height:var(--gs-chip);border-radius:var(--gs-inner-radius);background:var(--gs-surface);color:var(--gs-text);font-family:inherit;font-size:var(--gs-font);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color .1s ease, transform .16s var(--gs-ease-out);border:0;outline:none;align-items:center;gap:6px;margin:0;padding:0 8px 0 10px;font-weight:500;line-height:1;display:inline-flex;position:relative}.glide-select__trigger:disabled{cursor:default}@media (hover:hover) and (pointer:fine){.glide-select__trigger:not(:disabled):hover{background:color-mix(in srgb, var(--gs-highlight) 60%, var(--gs-surface))}}.glide-select__trigger[aria-expanded=true]{background:color-mix(in srgb, var(--gs-highlight) 60%, var(--gs-surface))}.glide-select__trigger:not(:disabled):active{transform:scale(.97)}.glide-select__label[data-empty]{opacity:.6}.glide-select[data-swap] .glide-select__label{animation:.16s gs-swap}@keyframes gs-swap{0%{opacity:.6;filter:blur(2px)}}.glide-select__chevron{color:color-mix(in srgb, var(--gs-text) 55%, transparent);transition:transform .2s var(--gs-ease-out);display:inline-flex}.glide-select__trigger[aria-expanded=true] .glide-select__chevron{transform:rotate(180deg)}.glide-select__menu{--gs-ease-out:cubic-bezier(.23, 1, .32, 1);z-index:10000;box-sizing:border-box;width:var(--gs-menu-w);border-radius:var(--gs-radius);background:var(--gs-surface);transform-origin:var(--gs-origin);opacity:0;transition:opacity var(--gs-pop) var(--gs-ease-out), transform var(--gs-pop) var(--gs-ease-out);padding:4px;position:fixed;transform:scale(.95);box-shadow:0 4px 16px #00000038}.glide-select__menu[data-state=open]{opacity:1;transform:none}.glide-select__menu[data-state=closed]{transition-duration:var(--gs-pop-out);pointer-events:none}.glide-select__list{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;gap:1px;display:grid;position:relative;overflow-y:auto}.glide-select__pill{height:var(--gs-row);border-radius:var(--gs-inner-radius);background:var(--gs-highlight);opacity:0;pointer-events:none;transition:transform var(--gs-glide) var(--gs-ease-out), opacity .15s ease;position:absolute;top:0;left:0;right:0}.glide-select__option{z-index:1;box-sizing:border-box;height:var(--gs-row);border-radius:var(--gs-inner-radius);color:var(--gs-text);font-family:inherit;font-size:var(--gs-font);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;gap:8px;padding:0 8px 0 10px;transition:background-color .15s;display:flex;position:relative}.glide-select__option[aria-selected=true]{background:color-mix(in srgb, var(--gs-highlight) 60%, transparent)}.glide-select__list[data-live] .glide-select__option[aria-selected=true]{background:0 0}.glide-select__name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-weight:500;overflow:hidden}.glide-select__tag{color:color-mix(in srgb, var(--gs-text) 55%, transparent);font-size:calc(var(--gs-font) - 2px);flex-shrink:0}.glide-select__check{color:var(--gs-accent);visibility:hidden;flex-shrink:0;display:inline-flex}.glide-select__check[data-on]{visibility:visible}.glide-select__trigger:focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px}.glide-select[data-full-width]{width:100%;display:block}.glide-select[data-full-width] .glide-select__trigger{justify-content:space-between;width:100%;display:flex}.glide-select__label{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;overflow:hidden}.glide-select__chevron{flex-shrink:0}@media (prefers-reduced-motion:reduce){.glide-select__menu{transition:opacity var(--gs-pop) ease;transform:none!important}.glide-select__menu[data-state=closed]{transition-duration:var(--gs-pop-out)}.glide-select__pill{transition:opacity .15s}.glide-select__chevron{transition:none}.glide-select__trigger{transition:background-color .1s}.glide-select__trigger:not(:disabled):active{transform:none}.glide-select[data-swap] .glide-select__label{animation:none}}@media (forced-colors:active){.glide-select__trigger,.glide-select__menu{border:1px solid buttontext}.glide-select__option[aria-selected=true]{outline-offset:-1px;outline:1px solid highlight}.glide-select__trigger:focus-visible{outline-color:highlight}}.glide-select.mint-select-field{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.glide-select.mint-select-field.code-sort-select{flex-shrink:0;width:auto}.glide-select.mint-select-field.schedule-repeat-select{width:auto;min-width:130px}.glide-select.mint-select-field.schedule-timezone-select{width:auto;min-width:180px;max-width:260px}.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}.mcp-management-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mcp-search-wrapper{flex:0 400px;min-width:min(260px,100%)}.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}.mcp-image-input-setting{border:1px solid var(--border,#ffffff14);border-radius:var(--radius-lg,12px);background:var(--surface,#ffffff08);width:fit-content;max-width:min(100%,620px);color:var(--text-main,#f8fafc);cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 28px;padding:12px 14px;font-size:.88rem;line-height:1.5;transition:border-color .18s,background-color .18s;display:flex}.mcp-image-input-setting:hover,.mcp-image-input-setting:focus-within{border-color:var(--accent,#3b82f6);background:var(--surface-hover,#ffffff0d)}.mcp-image-input-setting input{width:16px;height:16px;accent-color:var(--accent,#3b82f6);flex:none;margin:2px 0 0}.mcp-image-input-hint{color:var(--text-muted,#94a3b8)}@media (width<=640px){.mcp-management-actions{justify-content:flex-start;width:100%}.mcp-management-actions>button{flex:auto}.mcp-search-wrapper{flex:100%;min-width:0}.mcp-image-input-setting{width:auto;max-width:100%;margin-bottom:24px;font-size:.84rem}}.management-installed-row{flex-wrap:wrap;gap:12px;margin-bottom:28px;display:flex}.mcp-installed-section{margin-bottom:28px}.mcp-installed-section .management-section-title{margin-bottom:12px}.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-avatar:focus-visible{outline:2px solid var(--accent,#3b82f6);outline-offset:3px;border-color:var(--accent,#3b82f6)}.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)}.mcp-timeout-input{font-variant-numeric:tabular-nums;min-height:42px}.mcp-timeout-input:focus-visible{outline:2px solid var(--accent,#10b981);outline-offset:2px}.mcp-allowlist-heading{align-items:center;gap:10px;margin-bottom:8px;display:flex}.mcp-allowlist-toggle{border:1px solid var(--border,#ffffff1a);border-radius:var(--radius-md,8px);background:var(--surface-bg,#ffffff0a);color:var(--text-main,#f8fafc);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-left:auto;padding:6px 10px;font-size:.82rem;line-height:1.3;transition:border-color .18s,background-color .18s;display:inline-flex}.mcp-allowlist-toggle:hover,.mcp-allowlist-toggle:focus-within{border-color:var(--interactive-fg,#10b981);background:var(--surface-strong,#ffffff12)}.mcp-allowlist-toggle .mint-custom-checkbox{width:17px;min-width:17px;height:17px}.mcp-allowlist-toggle .mint-custom-checkbox:checked{background-color:var(--interactive-fg,#10b981);border-color:var(--interactive-fg,#10b981);box-shadow:0 0 0 3px color-mix(in srgb, var(--interactive-fg,#10b981) 20%, transparent)}.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}
@@ -0,0 +1 @@
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:()=>h,PluginListener:()=>g,Resource:()=>_,SERIALIZE_TO_IPC_FN:()=>m,addPluginListener:()=>s,invoke:()=>c,transformCallback:()=>o});function o(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}async function s(e,t,n){let r=new h(n);try{return await c(`plugin:${e}|register_listener`,{event:t,handler:r}),new g(e,t,r.id)}catch{return await c(`plugin:${e}|registerListener`,{event:t,handler:r}),new g(e,t,r.id)}}async function c(e,t={},n){return window.__TAURI_INTERNALS__.invoke(e,t,n)}var l,u,d,f,p,m,h,g,_,v=e((()=>{i(),m=`__TAURI_TO_IPC_KEY__`,h=class{constructor(e){l.set(this,void 0),u.set(this,0),d.set(this,[]),f.set(this,void 0),r(this,l,e||(()=>{}),`f`),this.id=o(e=>{let t=e.index;if(`end`in e){t==n(this,u,`f`)?this.cleanupCallback():r(this,f,t,`f`);return}let i=e.message;if(t==n(this,u,`f`)){for(n(this,l,`f`).call(this,i),r(this,u,n(this,u,`f`)+1,`f`);n(this,u,`f`)in n(this,d,`f`);){let e=n(this,d,`f`)[n(this,u,`f`)];n(this,l,`f`).call(this,e),delete n(this,d,`f`)[n(this,u,`f`)],r(this,u,n(this,u,`f`)+1,`f`)}n(this,u,`f`)===n(this,f,`f`)&&this.cleanupCallback()}else n(this,d,`f`)[t]=i})}cleanupCallback(){window.__TAURI_INTERNALS__.unregisterCallback(this.id)}set onmessage(e){r(this,l,e,`f`)}get onmessage(){return n(this,l,`f`)}[(l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,m)](){return`__CHANNEL__:${this.id}`}toJSON(){return this[m]()}},g=class{constructor(e,t,n){this.plugin=e,this.event=t,this.channelId=n}async unregister(){return c(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}},_=class{get rid(){return n(this,p,`f`)}constructor(e){p.set(this,void 0),r(this,p,e,`f`)}async close(){return c(`plugin:resources|close`,{rid:this.rid})}},p=new WeakMap}));export{v as a,a as i,m as n,c as o,s as r,o as s,_ as t};
@@ -1 +1 @@
1
- import{n as e}from"./chunk-CacB07dV.js";import{w as t}from"./chunk-FOHPRMQF-BaVC1uA7.js";import{G as n,W as r}from"./mermaid-parser.core-BQqjCkS_.js";e((()=>{n(),t()}))();export{r as createCynefinServices};
1
+ import{n as e}from"./chunk-CacB07dV.js";import{w as t}from"./chunk-FOHPRMQF-BaVC1uA7.js";import{G as n,W as r}from"./mermaid-parser.core-Whu2rlJC.js";e((()=>{n(),t()}))();export{r as createCynefinServices};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./mermaid-parser.core-BQqjCkS_.js";import{n as r,r as i}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{Bt as a,zt as o}from"./src-DnfeXQPr.js";import{D as s,U as c,W as l,a as u,b as d,c as f,f as p,j as m,q as h,v as g,w as _,y as v}from"./chunk-DU6HZSFF-2tv5K1wT.js";import{n as y,t as b}from"./chunk-CLGD4ZFX-xjsKtNS7.js";import{n as x,t as S}from"./chunk-JWPE2WC7-BwtYOHqU.js";import{d as C,i as w}from"./chunk-75Z2AOVW-TLXCoZYv.js";function T(e){let t=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function E(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t|=0}return t}function D(e,t){return typeof e==`number`&&Number.isFinite(e)&&e!==0?e:E(t)}function O(e,t,n,r){let i=e/2,a=r??e*.015,o=t/7,s=[];for(let e=0;e<=7;e++){let t=T(n+e*17)*a*2-a;s.push({x:i+t,y:e*o})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.y+r.y)/2,o=e%2==0?1:-1,l=a*1.5*o*T(n+e*31+7),u=t.x+l,d=i,f=r.x-l;c+=` C${u},${d} ${f},${i} ${r.x},${r.y}`}return c}function k(e,t,n,r){let i=t/2,a=r??t*.015,o=e/7,s=[];for(let e=0;e<=7;e++){let t=T(n+e*23)*a*2-a;s.push({x:e*o,y:i+t})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.x+r.x)/2,o=e%2==0?1:-1,l=a*1.5*o*T(n+e*37+11),u=i,d=t.y+l,f=i,p=r.y-l;c+=` C${u},${d} ${f},${p} ${r.x},${r.y}`}return c}function A(e,t){let n=e/2,r=t*.5,i=t,a=e*.03;return[`M${n},${r}`,`C${n+a},${r+(i-r)*.2}`,`${n-a*1.5},${r+(i-r)*.55}`,`${n+a*.5},${r+(i-r)*.75}`,`C${n-a},${r+(i-r)*.85}`,`${n+a*.3},${r+(i-r)*.95}`,`${n},${i}`].join(` `)}function j(e,t,n,r){return[`M${e-n},${t}`,`A${n},${r} 0 1,1 ${e+n},${t}`,`A${n},${r} 0 1,1 ${e-n},${t}`,`Z`].join(` `)}var M,N,P,F,I,L,R,z,B,V,H,U;e((()=>{S(),b(),C(),m(),o(),i(),t(),M=r(()=>({domains:new Map,transitions:[]}),`createDefaultData`),N=M(),P={getDomains:r(()=>N.domains,`getDomains`),getTransitions:r(()=>N.transitions,`getTransitions`),setDomains:r(e=>{if(e)for(let t of e){let e=t.domain,n=(t.items??[]).map(e=>({label:e.label}));N.domains.set(e,{name:e,items:n})}},`setDomains`),setTransitions:r(e=>{e&&(N.transitions=e.filter(e=>e.from===e.to?(a.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},`setTransitions`),getConfig:r(()=>w({...p.cynefin,...d().cynefin}),`getConfig`),clear:r(()=>{u(),N=M()},`clear`),setAccTitle:l,getAccTitle:v,setDiagramTitle:h,getDiagramTitle:_,getAccDescription:g,setAccDescription:c},F=r(e=>{x(e,P),P.setDomains(e.domains),P.setTransitions(e.transitions)},`populate`),I={parse:r(async e=>{let t=await n(`cynefin`,e);a.debug(t),F(t)},`parse`)},r(T,`seededRandom`),r(E,`hashString`),r(D,`resolveSeed`),r(O,`generateFoldPath`),r(k,`generateHorizontalBoundary`),r(A,`generateCliffPath`),r(j,`generateConfusionPath`),L={complex:{model:`Probe → Sense → Respond`,practice:`Emergent Practices`},complicated:{model:`Sense → Analyse → Respond`,practice:`Good Practices`},clear:{model:`Sense → Categorise → Respond`,practice:`Best Practices`},chaotic:{model:`Act → Sense → Respond`,practice:`Novel Practices`},confusion:{model:``,practice:`Disorder`}},R=r((e,t)=>{let n=e/2,r=t/2;return{complex:{cx:n/2,cy:r/2,x:0,y:0,w:n,h:r},complicated:{cx:n+n/2,cy:r/2,x:n,y:0,w:n,h:r},chaotic:{cx:n/2,cy:r+r/2,x:0,y:r,w:n,h:r},clear:{cx:n+n/2,cy:r+r/2,x:n,y:r,w:n,h:r},confusion:{cx:n,cy:r,x:n*.7,y:r*.7,w:n*.6,h:r*.6}}},`getDomainLayouts`),z=r(()=>w(s(),d().themeVariables).cynefin,`getCynefinDomainColors`),B=3,V={draw:r((e,t,n,r)=>{let i=r.db,o=i.getDomains(),s=i.getTransitions(),c=i.getDiagramTitle(),l=i.getAccTitle(),u=i.getAccDescription(),d=i.getConfig(),p=z();a.debug(`Rendering Cynefin diagram`);let m=d.width,h=d.height,g=d.padding,_=d.showDomainDescriptions,v=d.boundaryAmplitude,b=m+g*2,x=h+g*2,S={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},C=y(t);f(C,x,b,d.useMaxWidth??!0),C.attr(`viewBox`,`0 0 ${b} ${x}`),l&&C.append(`title`).text(l),u&&C.append(`desc`).text(u);let w=C.append(`g`).attr(`transform`,`translate(${g}, ${g})`),T=R(m,h),E=D(d.seed,t),M=w.append(`g`).attr(`class`,`cynefin-backgrounds`),N=[`complex`,`complicated`,`chaotic`,`clear`];for(let e of N){let t=T[e];M.append(`rect`).attr(`class`,`cynefinDomain`).attr(`x`,t.x).attr(`y`,t.y).attr(`width`,t.w).attr(`height`,t.h).attr(`fill`,S[e]).attr(`fill-opacity`,.4).attr(`stroke`,`none`)}let P=w.append(`g`).attr(`class`,`cynefin-boundaries`);P.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,O(m,h,E,v)).attr(`fill`,`none`),P.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,k(m,h,E+100,v)).attr(`fill`,`none`),P.append(`path`).attr(`class`,`cynefinCliff`).attr(`d`,A(m,h)).attr(`fill`,`none`);let F=m*.15,I=h*.15;w.append(`path`).attr(`class`,`cynefinConfusion`).attr(`d`,j(m/2,h/2,F,I)).attr(`fill`,S.confusion).attr(`fill-opacity`,.5);let V=w.append(`g`).attr(`class`,`cynefin-labels`);for(let e of N){let t=T[e];V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,t.cx).attr(`y`,_?t.cy-30:t.cy).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(e.charAt(0).toUpperCase()+e.slice(1))}if(V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,m/2).attr(`y`,_?h/2-10:h/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(`Confusion`),_){let e=w.append(`g`).attr(`class`,`cynefin-subtitles`);for(let t of N){let n=T[t],r=L[t];e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.model),e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy+5).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.practice)}e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,m/2).attr(`y`,h/2+8).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(L.confusion.practice)}let H=w.append(`g`).attr(`class`,`cynefin-items`);for(let e of[`complex`,`complicated`,`chaotic`,`clear`,`confusion`]){let t=o.get(e);if(!t||t.items.length===0)continue;let n=T[e],r=e===`confusion`,i=t.items,a=0;r&&t.items.length>B&&(a=t.items.length-B,i=t.items.slice(0,B));let s;if(r){let e=_?22:14;s=n.cy+e}else s=n.cy+(_?25:15);if([...i].forEach((t,r)=>{let i=s+r*30,a=H.append(`g`),o=a.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,26/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(t.label),c=t.label.length*7,l=o.node();if(l&&typeof l.getBBox==`function`){let e=l.getBBox();e.width>0&&(c=e.width)}let u=c+20,d=n.cx-u/2;a.attr(`transform`,`translate(${d}, ${i})`),a.insert(`rect`,`text`).attr(`class`,`cynefinItem`).attr(`x`,0).attr(`y`,0).attr(`width`,u).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.95),o.attr(`x`,u/2).attr(`y`,26/2)}),a>0){let t=s+i.length*30,r=`+${a} more`,o=H.append(`g`),c=o.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,26/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(r),l=r.length*7,u=c.node();if(u&&typeof u.getBBox==`function`){let e=u.getBBox();e.width>0&&(l=e.width)}let d=l+20,f=n.cx-d/2;o.attr(`transform`,`translate(${f}, ${t})`),o.insert(`rect`,`text`).attr(`class`,`cynefinItemOverflow`).attr(`x`,0).attr(`y`,0).attr(`width`,d).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.6),c.attr(`x`,d/2).attr(`y`,26/2)}}if(s.length>0){let e=C.select(`defs`).empty()?C.append(`defs`):C.select(`defs`),n=`cynefin-arrow-${t}`;e.append(`marker`).attr(`id`,n).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`cynefinArrowHead`);let r=w.append(`g`).attr(`class`,`cynefin-arrows`);s.forEach(e=>{let t=T[e.from],i=T[e.to];if(!t||!i)return;if(e.from===e.to){a.warn(`Cynefin renderer: skipping self-loop on domain "${e.from}"`);return}let o=t.cx,s=t.cy,c=i.cx,l=i.cy,u=(o+c)/2,d=(s+l)/2,f=c-o,p=l-s,m=Math.sqrt(f*f+p*p),h=m*.15,g=-p/m,_=f/m,v=u+g*h,y=d+_*h;r.append(`path`).attr(`class`,`cynefinArrowLine`).attr(`d`,`M${o},${s} Q${v},${y} ${c},${l}`).attr(`fill`,`none`).attr(`marker-end`,`url(#${n})`),e.label&&r.append(`text`).attr(`class`,`cynefinArrowLabel`).attr(`x`,v).attr(`y`,y-6).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`auto`).text(e.label)})}c&&w.append(`text`).attr(`class`,`cynefinTitle`).attr(`x`,m/2).attr(`y`,-g/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(c)},`draw`)},H=r(()=>w(s(),d().themeVariables).cynefin,`getCynefinTheme`),U={parser:I,db:P,renderer:V,styles:r(()=>{let e=H();return`
1
+ import{n as e}from"./chunk-CacB07dV.js";import{n as t,r as n}from"./mermaid-parser.core-Whu2rlJC.js";import{n as r,r as i}from"./chunk-Y2CYZVJY-C9o-s6OY.js";import{Bt as a,zt as o}from"./src-DnfeXQPr.js";import{D as s,U as c,W as l,a as u,b as d,c as f,f as p,j as m,q as h,v as g,w as _,y as v}from"./chunk-DU6HZSFF-CnFngIhW.js";import{n as y,t as b}from"./chunk-CLGD4ZFX-D54yGvGS.js";import{n as x,t as S}from"./chunk-JWPE2WC7-BwtYOHqU.js";import{d as C,i as w}from"./chunk-75Z2AOVW-_M0z5olV.js";function T(e){let t=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function E(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t|=0}return t}function D(e,t){return typeof e==`number`&&Number.isFinite(e)&&e!==0?e:E(t)}function O(e,t,n,r){let i=e/2,a=r??e*.015,o=t/7,s=[];for(let e=0;e<=7;e++){let t=T(n+e*17)*a*2-a;s.push({x:i+t,y:e*o})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.y+r.y)/2,o=e%2==0?1:-1,l=a*1.5*o*T(n+e*31+7),u=t.x+l,d=i,f=r.x-l;c+=` C${u},${d} ${f},${i} ${r.x},${r.y}`}return c}function k(e,t,n,r){let i=t/2,a=r??t*.015,o=e/7,s=[];for(let e=0;e<=7;e++){let t=T(n+e*23)*a*2-a;s.push({x:e*o,y:i+t})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.x+r.x)/2,o=e%2==0?1:-1,l=a*1.5*o*T(n+e*37+11),u=i,d=t.y+l,f=i,p=r.y-l;c+=` C${u},${d} ${f},${p} ${r.x},${r.y}`}return c}function A(e,t){let n=e/2,r=t*.5,i=t,a=e*.03;return[`M${n},${r}`,`C${n+a},${r+(i-r)*.2}`,`${n-a*1.5},${r+(i-r)*.55}`,`${n+a*.5},${r+(i-r)*.75}`,`C${n-a},${r+(i-r)*.85}`,`${n+a*.3},${r+(i-r)*.95}`,`${n},${i}`].join(` `)}function j(e,t,n,r){return[`M${e-n},${t}`,`A${n},${r} 0 1,1 ${e+n},${t}`,`A${n},${r} 0 1,1 ${e-n},${t}`,`Z`].join(` `)}var M,N,P,F,I,L,R,z,B,V,H,U;e((()=>{S(),b(),C(),m(),o(),i(),t(),M=r(()=>({domains:new Map,transitions:[]}),`createDefaultData`),N=M(),P={getDomains:r(()=>N.domains,`getDomains`),getTransitions:r(()=>N.transitions,`getTransitions`),setDomains:r(e=>{if(e)for(let t of e){let e=t.domain,n=(t.items??[]).map(e=>({label:e.label}));N.domains.set(e,{name:e,items:n})}},`setDomains`),setTransitions:r(e=>{e&&(N.transitions=e.filter(e=>e.from===e.to?(a.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},`setTransitions`),getConfig:r(()=>w({...p.cynefin,...d().cynefin}),`getConfig`),clear:r(()=>{u(),N=M()},`clear`),setAccTitle:l,getAccTitle:v,setDiagramTitle:h,getDiagramTitle:_,getAccDescription:g,setAccDescription:c},F=r(e=>{x(e,P),P.setDomains(e.domains),P.setTransitions(e.transitions)},`populate`),I={parse:r(async e=>{let t=await n(`cynefin`,e);a.debug(t),F(t)},`parse`)},r(T,`seededRandom`),r(E,`hashString`),r(D,`resolveSeed`),r(O,`generateFoldPath`),r(k,`generateHorizontalBoundary`),r(A,`generateCliffPath`),r(j,`generateConfusionPath`),L={complex:{model:`Probe → Sense → Respond`,practice:`Emergent Practices`},complicated:{model:`Sense → Analyse → Respond`,practice:`Good Practices`},clear:{model:`Sense → Categorise → Respond`,practice:`Best Practices`},chaotic:{model:`Act → Sense → Respond`,practice:`Novel Practices`},confusion:{model:``,practice:`Disorder`}},R=r((e,t)=>{let n=e/2,r=t/2;return{complex:{cx:n/2,cy:r/2,x:0,y:0,w:n,h:r},complicated:{cx:n+n/2,cy:r/2,x:n,y:0,w:n,h:r},chaotic:{cx:n/2,cy:r+r/2,x:0,y:r,w:n,h:r},clear:{cx:n+n/2,cy:r+r/2,x:n,y:r,w:n,h:r},confusion:{cx:n,cy:r,x:n*.7,y:r*.7,w:n*.6,h:r*.6}}},`getDomainLayouts`),z=r(()=>w(s(),d().themeVariables).cynefin,`getCynefinDomainColors`),B=3,V={draw:r((e,t,n,r)=>{let i=r.db,o=i.getDomains(),s=i.getTransitions(),c=i.getDiagramTitle(),l=i.getAccTitle(),u=i.getAccDescription(),d=i.getConfig(),p=z();a.debug(`Rendering Cynefin diagram`);let m=d.width,h=d.height,g=d.padding,_=d.showDomainDescriptions,v=d.boundaryAmplitude,b=m+g*2,x=h+g*2,S={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},C=y(t);f(C,x,b,d.useMaxWidth??!0),C.attr(`viewBox`,`0 0 ${b} ${x}`),l&&C.append(`title`).text(l),u&&C.append(`desc`).text(u);let w=C.append(`g`).attr(`transform`,`translate(${g}, ${g})`),T=R(m,h),E=D(d.seed,t),M=w.append(`g`).attr(`class`,`cynefin-backgrounds`),N=[`complex`,`complicated`,`chaotic`,`clear`];for(let e of N){let t=T[e];M.append(`rect`).attr(`class`,`cynefinDomain`).attr(`x`,t.x).attr(`y`,t.y).attr(`width`,t.w).attr(`height`,t.h).attr(`fill`,S[e]).attr(`fill-opacity`,.4).attr(`stroke`,`none`)}let P=w.append(`g`).attr(`class`,`cynefin-boundaries`);P.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,O(m,h,E,v)).attr(`fill`,`none`),P.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,k(m,h,E+100,v)).attr(`fill`,`none`),P.append(`path`).attr(`class`,`cynefinCliff`).attr(`d`,A(m,h)).attr(`fill`,`none`);let F=m*.15,I=h*.15;w.append(`path`).attr(`class`,`cynefinConfusion`).attr(`d`,j(m/2,h/2,F,I)).attr(`fill`,S.confusion).attr(`fill-opacity`,.5);let V=w.append(`g`).attr(`class`,`cynefin-labels`);for(let e of N){let t=T[e];V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,t.cx).attr(`y`,_?t.cy-30:t.cy).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(e.charAt(0).toUpperCase()+e.slice(1))}if(V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,m/2).attr(`y`,_?h/2-10:h/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(`Confusion`),_){let e=w.append(`g`).attr(`class`,`cynefin-subtitles`);for(let t of N){let n=T[t],r=L[t];e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.model),e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy+5).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.practice)}e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,m/2).attr(`y`,h/2+8).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(L.confusion.practice)}let H=w.append(`g`).attr(`class`,`cynefin-items`);for(let e of[`complex`,`complicated`,`chaotic`,`clear`,`confusion`]){let t=o.get(e);if(!t||t.items.length===0)continue;let n=T[e],r=e===`confusion`,i=t.items,a=0;r&&t.items.length>B&&(a=t.items.length-B,i=t.items.slice(0,B));let s;if(r){let e=_?22:14;s=n.cy+e}else s=n.cy+(_?25:15);if([...i].forEach((t,r)=>{let i=s+r*30,a=H.append(`g`),o=a.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,26/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(t.label),c=t.label.length*7,l=o.node();if(l&&typeof l.getBBox==`function`){let e=l.getBBox();e.width>0&&(c=e.width)}let u=c+20,d=n.cx-u/2;a.attr(`transform`,`translate(${d}, ${i})`),a.insert(`rect`,`text`).attr(`class`,`cynefinItem`).attr(`x`,0).attr(`y`,0).attr(`width`,u).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.95),o.attr(`x`,u/2).attr(`y`,26/2)}),a>0){let t=s+i.length*30,r=`+${a} more`,o=H.append(`g`),c=o.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,26/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(r),l=r.length*7,u=c.node();if(u&&typeof u.getBBox==`function`){let e=u.getBBox();e.width>0&&(l=e.width)}let d=l+20,f=n.cx-d/2;o.attr(`transform`,`translate(${f}, ${t})`),o.insert(`rect`,`text`).attr(`class`,`cynefinItemOverflow`).attr(`x`,0).attr(`y`,0).attr(`width`,d).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.6),c.attr(`x`,d/2).attr(`y`,26/2)}}if(s.length>0){let e=C.select(`defs`).empty()?C.append(`defs`):C.select(`defs`),n=`cynefin-arrow-${t}`;e.append(`marker`).attr(`id`,n).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`cynefinArrowHead`);let r=w.append(`g`).attr(`class`,`cynefin-arrows`);s.forEach(e=>{let t=T[e.from],i=T[e.to];if(!t||!i)return;if(e.from===e.to){a.warn(`Cynefin renderer: skipping self-loop on domain "${e.from}"`);return}let o=t.cx,s=t.cy,c=i.cx,l=i.cy,u=(o+c)/2,d=(s+l)/2,f=c-o,p=l-s,m=Math.sqrt(f*f+p*p),h=m*.15,g=-p/m,_=f/m,v=u+g*h,y=d+_*h;r.append(`path`).attr(`class`,`cynefinArrowLine`).attr(`d`,`M${o},${s} Q${v},${y} ${c},${l}`).attr(`fill`,`none`).attr(`marker-end`,`url(#${n})`),e.label&&r.append(`text`).attr(`class`,`cynefinArrowLabel`).attr(`x`,v).attr(`y`,y-6).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`auto`).text(e.label)})}c&&w.append(`text`).attr(`class`,`cynefinTitle`).attr(`x`,m/2).attr(`y`,-g/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(c)},`draw`)},H=r(()=>w(s(),d().themeVariables).cynefin,`getCynefinTheme`),U={parser:I,db:P,renderer:V,styles:r(()=>{let e=H();return`
2
2
  .cynefinDomain {
3
3
  stroke: none;
4
4
  }