flowent 0.0.6 → 0.0.7

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 (265) hide show
  1. package/README.md +1 -1
  2. package/backend/README.md +1 -1
  3. package/backend/pyproject.toml +1 -1
  4. package/backend/src/flowent/__pycache__/__init__.cpython-313.pyc +0 -0
  5. package/backend/src/flowent/__pycache__/_version.cpython-313.pyc +0 -0
  6. package/backend/src/flowent/__pycache__/access.cpython-313.pyc +0 -0
  7. package/backend/src/flowent/__pycache__/agent.cpython-313.pyc +0 -0
  8. package/backend/src/flowent/__pycache__/assistant_commands.cpython-313.pyc +0 -0
  9. package/backend/src/flowent/__pycache__/cli.cpython-313.pyc +0 -0
  10. package/backend/src/flowent/__pycache__/config.cpython-313.pyc +0 -0
  11. package/backend/src/flowent/__pycache__/events.cpython-313.pyc +0 -0
  12. package/backend/src/flowent/__pycache__/graph_runtime.cpython-313.pyc +0 -0
  13. package/backend/src/flowent/__pycache__/graph_service.cpython-313.pyc +0 -0
  14. package/backend/src/flowent/__pycache__/image_assets.cpython-313.pyc +0 -0
  15. package/backend/src/flowent/__pycache__/logging.cpython-313.pyc +0 -0
  16. package/backend/src/flowent/__pycache__/main.cpython-313.pyc +0 -0
  17. package/backend/src/flowent/__pycache__/model_metadata.cpython-313.pyc +0 -0
  18. package/backend/src/flowent/__pycache__/network.cpython-313.pyc +0 -0
  19. package/backend/src/flowent/__pycache__/observability_service.cpython-313.pyc +0 -0
  20. package/backend/src/flowent/__pycache__/registry.cpython-313.pyc +0 -0
  21. package/backend/src/flowent/__pycache__/role_management.cpython-313.pyc +0 -0
  22. package/backend/src/flowent/__pycache__/runtime.cpython-313.pyc +0 -0
  23. package/backend/src/flowent/__pycache__/sandbox.cpython-313.pyc +0 -0
  24. package/backend/src/flowent/__pycache__/security.cpython-313.pyc +0 -0
  25. package/backend/src/flowent/__pycache__/settings.cpython-313.pyc +0 -0
  26. package/backend/src/flowent/__pycache__/settings_management.cpython-313.pyc +0 -0
  27. package/backend/src/flowent/__pycache__/state_db.cpython-313.pyc +0 -0
  28. package/backend/src/flowent/__pycache__/workspace_store.cpython-313.pyc +0 -0
  29. package/backend/src/flowent/agent.py +91 -8
  30. package/backend/src/flowent/channels/__pycache__/__init__.cpython-313.pyc +0 -0
  31. package/backend/src/flowent/channels/__pycache__/telegram.cpython-313.pyc +0 -0
  32. package/backend/src/flowent/graph_service.py +3 -110
  33. package/backend/src/flowent/models/__pycache__/__init__.cpython-313.pyc +0 -0
  34. package/backend/src/flowent/models/__pycache__/agent.cpython-313.pyc +0 -0
  35. package/backend/src/flowent/models/__pycache__/base.cpython-313.pyc +0 -0
  36. package/backend/src/flowent/models/__pycache__/blueprint.cpython-313.pyc +0 -0
  37. package/backend/src/flowent/models/__pycache__/content.cpython-313.pyc +0 -0
  38. package/backend/src/flowent/models/__pycache__/delta.cpython-313.pyc +0 -0
  39. package/backend/src/flowent/models/__pycache__/event.cpython-313.pyc +0 -0
  40. package/backend/src/flowent/models/__pycache__/graph.cpython-313.pyc +0 -0
  41. package/backend/src/flowent/models/__pycache__/history.cpython-313.pyc +0 -0
  42. package/backend/src/flowent/models/__pycache__/llm.cpython-313.pyc +0 -0
  43. package/backend/src/flowent/models/__pycache__/message.cpython-313.pyc +0 -0
  44. package/backend/src/flowent/models/__pycache__/tab.cpython-313.pyc +0 -0
  45. package/backend/src/flowent/models/__pycache__/todo.cpython-313.pyc +0 -0
  46. package/backend/src/flowent/prompts/__pycache__/__init__.cpython-313.pyc +0 -0
  47. package/backend/src/flowent/prompts/__pycache__/common.cpython-313.pyc +0 -0
  48. package/backend/src/flowent/prompts/__pycache__/steward.cpython-313.pyc +0 -0
  49. package/backend/src/flowent/providers/__pycache__/__init__.cpython-313.pyc +0 -0
  50. package/backend/src/flowent/providers/__pycache__/anthropic.cpython-313.pyc +0 -0
  51. package/backend/src/flowent/providers/__pycache__/base_url.cpython-313.pyc +0 -0
  52. package/backend/src/flowent/providers/__pycache__/configuration.cpython-313.pyc +0 -0
  53. package/backend/src/flowent/providers/__pycache__/content.cpython-313.pyc +0 -0
  54. package/backend/src/flowent/providers/__pycache__/errors.cpython-313.pyc +0 -0
  55. package/backend/src/flowent/providers/__pycache__/gateway.cpython-313.pyc +0 -0
  56. package/backend/src/flowent/providers/__pycache__/headers.cpython-313.pyc +0 -0
  57. package/backend/src/flowent/providers/__pycache__/management.cpython-313.pyc +0 -0
  58. package/backend/src/flowent/providers/__pycache__/openai.cpython-313.pyc +0 -0
  59. package/backend/src/flowent/providers/__pycache__/openai_responses.cpython-313.pyc +0 -0
  60. package/backend/src/flowent/providers/__pycache__/registry.cpython-313.pyc +0 -0
  61. package/backend/src/flowent/providers/__pycache__/sse.cpython-313.pyc +0 -0
  62. package/backend/src/flowent/providers/__pycache__/thinking.cpython-313.pyc +0 -0
  63. package/backend/src/flowent/role_management.py +9 -6
  64. package/backend/src/flowent/routes/__init__.py +0 -2
  65. package/backend/src/flowent/routes/__pycache__/__init__.cpython-313.pyc +0 -0
  66. package/backend/src/flowent/routes/__pycache__/access.cpython-313.pyc +0 -0
  67. package/backend/src/flowent/routes/__pycache__/assistant.cpython-313.pyc +0 -0
  68. package/backend/src/flowent/routes/__pycache__/image_assets.cpython-313.pyc +0 -0
  69. package/backend/src/flowent/routes/__pycache__/meta.cpython-313.pyc +0 -0
  70. package/backend/src/flowent/routes/__pycache__/nodes.cpython-313.pyc +0 -0
  71. package/backend/src/flowent/routes/__pycache__/prompts.cpython-313.pyc +0 -0
  72. package/backend/src/flowent/routes/__pycache__/providers_route.cpython-313.pyc +0 -0
  73. package/backend/src/flowent/routes/__pycache__/roles.cpython-313.pyc +0 -0
  74. package/backend/src/flowent/routes/__pycache__/settings.cpython-313.pyc +0 -0
  75. package/backend/src/flowent/routes/__pycache__/tabs.cpython-313.pyc +0 -0
  76. package/backend/src/flowent/routes/__pycache__/ws.cpython-313.pyc +0 -0
  77. package/backend/src/flowent/routes/assistant.py +3 -0
  78. package/backend/src/flowent/routes/nodes.py +11 -1
  79. package/backend/src/flowent/routes/settings.py +169 -118
  80. package/backend/src/flowent/routes/tabs.py +0 -12
  81. package/backend/src/flowent/runtime.py +0 -5
  82. package/backend/src/flowent/security.py +1 -21
  83. package/backend/src/flowent/settings.py +15 -421
  84. package/backend/src/flowent/settings_management.py +260 -164
  85. package/backend/src/flowent/state_db.py +2 -14
  86. package/backend/src/flowent/static/assets/AssistantPage-BW7XAd9I.js +1 -0
  87. package/backend/src/flowent/static/assets/ChannelsPage-tCJHgt6m.js +1 -0
  88. package/backend/src/flowent/static/assets/{PageScaffold-DteOA8V7.js → PageScaffold-f6g2l7XN.js} +1 -1
  89. package/backend/src/flowent/static/assets/PromptsPage-C3Sxn2D7.js +1 -0
  90. package/backend/src/flowent/static/assets/ProvidersPage-BfmdXmNt.js +3 -0
  91. package/backend/src/flowent/static/assets/RolesPage-DET8wO4r.js +1 -0
  92. package/backend/src/flowent/static/assets/SettingsPage-D-g3deMm.js +3 -0
  93. package/backend/src/flowent/static/assets/ToolsPage-CDmtE2g4.js +1 -0
  94. package/backend/src/flowent/static/assets/WorkspacePage-AZsJ0sD0.js +3 -0
  95. package/backend/src/flowent/static/assets/WorkspacePanels-CteCjolX.js +1 -0
  96. package/backend/src/flowent/static/assets/{alert-dialog-DIBUCmqM.js → alert-dialog-Duorp_S-.js} +1 -1
  97. package/backend/src/flowent/static/assets/{dialog-BOvHIBrg.js → dialog-C3ixjGjN.js} +1 -1
  98. package/backend/src/flowent/static/assets/index--o_0fv0N.css +1 -0
  99. package/backend/src/flowent/static/assets/index-C9HuekJm.js +10 -0
  100. package/backend/src/flowent/static/assets/{modelParams-DcEhGnu0.js → modelParams-DmnF2hwR.js} +1 -1
  101. package/backend/src/flowent/static/assets/providerTypes-DT3Ahwl_.js +1 -0
  102. package/backend/src/flowent/static/assets/roles-CuRT_chR.js +1 -0
  103. package/{dist/frontend/assets/select-D9SwnlXF.js → backend/src/flowent/static/assets/select-DCfeNu-F.js} +1 -1
  104. package/backend/src/flowent/static/assets/surface-pWwG5ogx.js +1 -0
  105. package/backend/src/flowent/static/assets/{ui-vendor-UazN8rcv.js → ui-vendor-C5pJa8N7.js} +15 -15
  106. package/backend/src/flowent/static/assets/useAppRoute-FgSHBKhV.js +1 -0
  107. package/backend/src/flowent/static/index.html +3 -3
  108. package/backend/src/flowent/tools/__init__.py +2 -101
  109. package/backend/src/flowent/tools/__pycache__/__init__.cpython-313.pyc +0 -0
  110. package/backend/src/flowent/tools/__pycache__/connect.cpython-313.pyc +0 -0
  111. package/backend/src/flowent/tools/__pycache__/contacts.cpython-313.pyc +0 -0
  112. package/backend/src/flowent/tools/__pycache__/create_agent.cpython-313.pyc +0 -0
  113. package/backend/src/flowent/tools/__pycache__/create_tab.cpython-313.pyc +0 -0
  114. package/backend/src/flowent/tools/__pycache__/delete_tab.cpython-313.pyc +0 -0
  115. package/backend/src/flowent/tools/__pycache__/edit.cpython-313.pyc +0 -0
  116. package/backend/src/flowent/tools/__pycache__/exec.cpython-313.pyc +0 -0
  117. package/backend/src/flowent/tools/__pycache__/fetch.cpython-313.pyc +0 -0
  118. package/backend/src/flowent/tools/__pycache__/idle.cpython-313.pyc +0 -0
  119. package/backend/src/flowent/tools/__pycache__/list_roles.cpython-313.pyc +0 -0
  120. package/backend/src/flowent/tools/__pycache__/list_tabs.cpython-313.pyc +0 -0
  121. package/backend/src/flowent/tools/__pycache__/list_tools.cpython-313.pyc +0 -0
  122. package/backend/src/flowent/tools/__pycache__/manage_prompts.cpython-313.pyc +0 -0
  123. package/backend/src/flowent/tools/__pycache__/manage_providers.cpython-313.pyc +0 -0
  124. package/backend/src/flowent/tools/__pycache__/manage_roles.cpython-313.pyc +0 -0
  125. package/backend/src/flowent/tools/__pycache__/manage_settings.cpython-313.pyc +0 -0
  126. package/backend/src/flowent/tools/__pycache__/read.cpython-313.pyc +0 -0
  127. package/backend/src/flowent/tools/__pycache__/send.cpython-313.pyc +0 -0
  128. package/backend/src/flowent/tools/__pycache__/set_permissions.cpython-313.pyc +0 -0
  129. package/backend/src/flowent/tools/__pycache__/sleep.cpython-313.pyc +0 -0
  130. package/backend/src/flowent/tools/__pycache__/todo.cpython-313.pyc +0 -0
  131. package/backend/src/flowent/tools/list_roles.py +2 -9
  132. package/backend/src/flowent/tools/manage_settings.py +134 -172
  133. package/backend/tests/__pycache__/__init__.cpython-313.pyc +0 -0
  134. package/backend/tests/__pycache__/conftest.cpython-313-pytest-9.0.3.pyc +0 -0
  135. package/backend/tests/integration/api/__pycache__/conftest.cpython-313-pytest-9.0.3.pyc +0 -0
  136. package/backend/tests/integration/api/__pycache__/test_access_api.cpython-313-pytest-9.0.3.pyc +0 -0
  137. package/backend/tests/integration/api/__pycache__/test_assistant_api.cpython-313-pytest-9.0.3.pyc +0 -0
  138. package/backend/tests/integration/api/__pycache__/test_frontend_mounting.cpython-313-pytest-9.0.3.pyc +0 -0
  139. package/backend/tests/integration/api/__pycache__/test_meta_api.cpython-313-pytest-9.0.3.pyc +0 -0
  140. package/backend/tests/integration/api/__pycache__/test_nodes_api.cpython-313-pytest-9.0.3.pyc +0 -0
  141. package/backend/tests/integration/api/__pycache__/test_prompts_api.cpython-313-pytest-9.0.3.pyc +0 -0
  142. package/backend/tests/integration/api/__pycache__/test_roles_api.cpython-313-pytest-9.0.3.pyc +0 -0
  143. package/backend/tests/integration/api/__pycache__/test_tabs_api.cpython-313-pytest-9.0.3.pyc +0 -0
  144. package/backend/tests/integration/api/test_assistant_api.py +68 -0
  145. package/backend/tests/integration/api/test_meta_api.py +0 -1
  146. package/backend/tests/integration/api/test_nodes_api.py +73 -8
  147. package/backend/tests/integration/api/test_tabs_api.py +0 -114
  148. package/backend/tests/unit/__pycache__/test_access.cpython-313-pytest-9.0.3.pyc +0 -0
  149. package/backend/tests/unit/__pycache__/test_cli.cpython-313-pytest-9.0.3.pyc +0 -0
  150. package/backend/tests/unit/__pycache__/test_graph_runtime.cpython-313-pytest-9.0.3.pyc +0 -0
  151. package/backend/tests/unit/__pycache__/test_network.cpython-313-pytest-9.0.3.pyc +0 -0
  152. package/backend/tests/unit/__pycache__/test_state_sqlite_storage.cpython-313-pytest-9.0.3.pyc +0 -0
  153. package/backend/tests/unit/__pycache__/test_workspace_store.cpython-313-pytest-9.0.3.pyc +0 -0
  154. package/backend/tests/unit/agent/__pycache__/test_agent_public_api.cpython-313-pytest-9.0.3.pyc +0 -0
  155. package/backend/tests/unit/agent/__pycache__/test_agent_runtime.cpython-313-pytest-9.0.3.pyc +0 -0
  156. package/backend/tests/unit/agent/test_agent_public_api.py +0 -15
  157. package/backend/tests/unit/agent/test_agent_runtime.py +148 -2
  158. package/backend/tests/unit/channels/__pycache__/test_telegram_channel.cpython-313-pytest-9.0.3.pyc +0 -0
  159. package/backend/tests/unit/logging/__pycache__/test_logging.cpython-313-pytest-9.0.3.pyc +0 -0
  160. package/backend/tests/unit/prompts/__pycache__/test_prompts.cpython-313-pytest-9.0.3.pyc +0 -0
  161. package/backend/tests/unit/providers/__pycache__/test_anthropic_provider.cpython-313-pytest-9.0.3.pyc +0 -0
  162. package/backend/tests/unit/providers/__pycache__/test_errors.cpython-313-pytest-9.0.3.pyc +0 -0
  163. package/backend/tests/unit/providers/__pycache__/test_extract_delta_parts.cpython-313-pytest-9.0.3.pyc +0 -0
  164. package/backend/tests/unit/providers/__pycache__/test_openai_provider.cpython-313-pytest-9.0.3.pyc +0 -0
  165. package/backend/tests/unit/providers/__pycache__/test_openai_responses.cpython-313-pytest-9.0.3.pyc +0 -0
  166. package/backend/tests/unit/providers/__pycache__/test_provider_gateway.cpython-313-pytest-9.0.3.pyc +0 -0
  167. package/backend/tests/unit/providers/__pycache__/test_think_tag_parser.cpython-313-pytest-9.0.3.pyc +0 -0
  168. package/backend/tests/unit/routes/__pycache__/test_prompts_routes.cpython-313-pytest-9.0.3.pyc +0 -0
  169. package/backend/tests/unit/routes/__pycache__/test_providers_route.cpython-313-pytest-9.0.3.pyc +0 -0
  170. package/backend/tests/unit/routes/__pycache__/test_roles_routes.cpython-313-pytest-9.0.3.pyc +0 -0
  171. package/backend/tests/unit/routes/__pycache__/test_settings_routes.cpython-313-pytest-9.0.3.pyc +0 -0
  172. package/backend/tests/unit/routes/test_prompts_routes.py +0 -22
  173. package/backend/tests/unit/routes/test_roles_routes.py +6 -2
  174. package/backend/tests/unit/routes/test_settings_routes.py +0 -19
  175. package/backend/tests/unit/runtime/__pycache__/test_bootstrap_runtime.cpython-313-pytest-9.0.3.pyc +0 -0
  176. package/backend/tests/unit/sandbox/__pycache__/test_sandbox_tools.cpython-313-pytest-9.0.3.pyc +0 -0
  177. package/backend/tests/unit/security/__pycache__/test_security.cpython-313-pytest-9.0.3.pyc +0 -0
  178. package/backend/tests/unit/settings/__pycache__/test_settings_roles.cpython-313-pytest-9.0.3.pyc +0 -0
  179. package/backend/tests/unit/settings/test_settings_roles.py +3 -51
  180. package/backend/tests/unit/test_cli.py +0 -22
  181. package/backend/tests/unit/test_state_sqlite_storage.py +27 -99
  182. package/backend/tests/unit/test_workspace_store.py +0 -3
  183. package/backend/tests/unit/tools/__pycache__/test_connect_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  184. package/backend/tests/unit/tools/__pycache__/test_create_agent_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  185. package/backend/tests/unit/tools/__pycache__/test_delete_tab_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  186. package/backend/tests/unit/tools/__pycache__/test_edit_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  187. package/backend/tests/unit/tools/__pycache__/test_exec_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  188. package/backend/tests/unit/tools/__pycache__/test_fetch_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  189. package/backend/tests/unit/tools/__pycache__/test_manage_prompts_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  190. package/backend/tests/unit/tools/__pycache__/test_manage_providers_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  191. package/backend/tests/unit/tools/__pycache__/test_manage_roles_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  192. package/backend/tests/unit/tools/__pycache__/test_manage_settings_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  193. package/backend/tests/unit/tools/__pycache__/test_read_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  194. package/backend/tests/unit/tools/__pycache__/test_set_permissions_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  195. package/backend/tests/unit/tools/__pycache__/test_todo_tool.cpython-313-pytest-9.0.3.pyc +0 -0
  196. package/backend/tests/unit/tools/__pycache__/test_tool_registry.cpython-313-pytest-9.0.3.pyc +0 -0
  197. package/backend/tests/unit/tools/test_create_agent_tool.py +0 -32
  198. package/backend/tests/unit/tools/test_manage_prompts_tool.py +5 -30
  199. package/backend/tests/unit/tools/test_tool_registry.py +45 -40
  200. package/backend/uv.lock +1 -1
  201. package/dist/frontend/assets/AssistantPage-BW7XAd9I.js +1 -0
  202. package/dist/frontend/assets/ChannelsPage-tCJHgt6m.js +1 -0
  203. package/dist/frontend/assets/{PageScaffold-DteOA8V7.js → PageScaffold-f6g2l7XN.js} +1 -1
  204. package/dist/frontend/assets/PromptsPage-C3Sxn2D7.js +1 -0
  205. package/dist/frontend/assets/ProvidersPage-BfmdXmNt.js +3 -0
  206. package/dist/frontend/assets/RolesPage-DET8wO4r.js +1 -0
  207. package/dist/frontend/assets/SettingsPage-D-g3deMm.js +3 -0
  208. package/dist/frontend/assets/ToolsPage-CDmtE2g4.js +1 -0
  209. package/dist/frontend/assets/WorkspacePage-AZsJ0sD0.js +3 -0
  210. package/dist/frontend/assets/WorkspacePanels-CteCjolX.js +1 -0
  211. package/dist/frontend/assets/{alert-dialog-DIBUCmqM.js → alert-dialog-Duorp_S-.js} +1 -1
  212. package/dist/frontend/assets/{dialog-BOvHIBrg.js → dialog-C3ixjGjN.js} +1 -1
  213. package/dist/frontend/assets/index--o_0fv0N.css +1 -0
  214. package/dist/frontend/assets/index-C9HuekJm.js +10 -0
  215. package/dist/frontend/assets/{modelParams-DcEhGnu0.js → modelParams-DmnF2hwR.js} +1 -1
  216. package/dist/frontend/assets/providerTypes-DT3Ahwl_.js +1 -0
  217. package/dist/frontend/assets/roles-CuRT_chR.js +1 -0
  218. package/{backend/src/flowent/static/assets/select-D9SwnlXF.js → dist/frontend/assets/select-DCfeNu-F.js} +1 -1
  219. package/dist/frontend/assets/surface-pWwG5ogx.js +1 -0
  220. package/dist/frontend/assets/{ui-vendor-UazN8rcv.js → ui-vendor-C5pJa8N7.js} +15 -15
  221. package/dist/frontend/assets/useAppRoute-FgSHBKhV.js +1 -0
  222. package/dist/frontend/index.html +3 -3
  223. package/package.json +1 -1
  224. package/backend/src/flowent/__pycache__/mcp_service.cpython-313.pyc +0 -0
  225. package/backend/src/flowent/mcp_service.py +0 -1918
  226. package/backend/src/flowent/routes/__pycache__/mcp.cpython-313.pyc +0 -0
  227. package/backend/src/flowent/routes/mcp.py +0 -125
  228. package/backend/src/flowent/static/assets/AssistantPage-VBohhz4d.js +0 -1
  229. package/backend/src/flowent/static/assets/ChannelsPage-CIydPZA_.js +0 -1
  230. package/backend/src/flowent/static/assets/McpPage-CHPm2TPY.js +0 -7
  231. package/backend/src/flowent/static/assets/PromptsPage-CSmJ3sZg.js +0 -1
  232. package/backend/src/flowent/static/assets/ProvidersPage-sl2jeG4e.js +0 -3
  233. package/backend/src/flowent/static/assets/RolesPage-DCe7W6Km.js +0 -1
  234. package/backend/src/flowent/static/assets/SettingsPage-Bix9e63E.js +0 -3
  235. package/backend/src/flowent/static/assets/ToolsPage-favNkj5C.js +0 -1
  236. package/backend/src/flowent/static/assets/WorkspaceCommandDialog-DRS6wiD6.js +0 -1
  237. package/backend/src/flowent/static/assets/WorkspacePage-KuaDjt_D.js +0 -3
  238. package/backend/src/flowent/static/assets/WorkspacePanels-BZxBw8M5.js +0 -1
  239. package/backend/src/flowent/static/assets/datetime-eJqd0V2S.js +0 -1
  240. package/backend/src/flowent/static/assets/index-Biio-CoI.js +0 -10
  241. package/backend/src/flowent/static/assets/index-CmQvO7sl.css +0 -1
  242. package/backend/src/flowent/static/assets/roles-BbIEIMeG.js +0 -1
  243. package/backend/src/flowent/static/assets/surface-Bzr1FRG4.js +0 -1
  244. package/backend/src/flowent/static/assets/triState-DgLlKdRR.js +0 -1
  245. package/backend/src/flowent/tools/__pycache__/mcp.cpython-313.pyc +0 -0
  246. package/backend/src/flowent/tools/mcp.py +0 -199
  247. package/backend/tests/integration/api/__pycache__/test_mcp_api.cpython-313-pytest-9.0.3.pyc +0 -0
  248. package/backend/tests/integration/api/test_mcp_api.py +0 -116
  249. package/dist/frontend/assets/AssistantPage-VBohhz4d.js +0 -1
  250. package/dist/frontend/assets/ChannelsPage-CIydPZA_.js +0 -1
  251. package/dist/frontend/assets/McpPage-CHPm2TPY.js +0 -7
  252. package/dist/frontend/assets/PromptsPage-CSmJ3sZg.js +0 -1
  253. package/dist/frontend/assets/ProvidersPage-sl2jeG4e.js +0 -3
  254. package/dist/frontend/assets/RolesPage-DCe7W6Km.js +0 -1
  255. package/dist/frontend/assets/SettingsPage-Bix9e63E.js +0 -3
  256. package/dist/frontend/assets/ToolsPage-favNkj5C.js +0 -1
  257. package/dist/frontend/assets/WorkspaceCommandDialog-DRS6wiD6.js +0 -1
  258. package/dist/frontend/assets/WorkspacePage-KuaDjt_D.js +0 -3
  259. package/dist/frontend/assets/WorkspacePanels-BZxBw8M5.js +0 -1
  260. package/dist/frontend/assets/datetime-eJqd0V2S.js +0 -1
  261. package/dist/frontend/assets/index-Biio-CoI.js +0 -10
  262. package/dist/frontend/assets/index-CmQvO7sl.css +0 -1
  263. package/dist/frontend/assets/roles-BbIEIMeG.js +0 -1
  264. package/dist/frontend/assets/surface-Bzr1FRG4.js +0 -1
  265. package/dist/frontend/assets/triState-DgLlKdRR.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-BYbx6iT9.js";import{d as t,l as n}from"./graph-vendor-DRq_-6fV.js";import{At as r,Et as i,It as a,J as o,Jt as s,Ot as c,Qt as l,St as u,W as d,Xt as f,Y as p,an as m,ct as h,dt as g,en as _,it as v,nn as y,nt as b,q as x,qt as S,rn as C,rt as w,st as T,tn as E,tt as D,vt as O,xt as k,zt as A}from"./ui-vendor-C5pJa8N7.js";import{A as j,G as M,J as ee,K as N,M as P,W as te,Y as F,Z as ne,_ as re,c as I,ct as ie,ft as L,g as ae,h as oe,ht as R,j as z,lt as se,m as ce,mt as B,p as le,q as ue,ut as V,v as de}from"./index-C9HuekJm.js";import{n as fe,t as pe}from"./markdown-vendor-C9RtvaJh.js";import{n as H}from"./surface-pWwG5ogx.js";function me(e){return`/api/image-assets/${encodeURIComponent(e)}`}async function he(e){let t=new FormData;return t.append(`file`,e),F(`/api/image-assets`,{method:`POST`,body:t,errorMessage:`Failed to upload image`})}var U=e(t(),1),W=n();function ge({assetId:e,alt:t,mimeType:n,width:r,height:i,compact:a=!1}){let{openImage:o}=ne(),s=me(e),c=typeof r==`number`&&r>0&&typeof i==`number`&&i>0?`${r} / ${i}`:void 0,l=`${n||`image asset`}${r&&i?` · ${r}x${i}`:``}`;return(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)(V,{type:`button`,variant:`ghost`,onClick:()=>o({src:s,alt:t,meta:l,width:r,height:i}),className:L(`group h-auto w-full flex-col items-stretch overflow-hidden rounded-xl border border-border bg-accent/20 p-0 text-left transition-colors hover:bg-accent/30 hover:text-inherit`,a?`max-w-[240px]`:`max-w-[360px]`),children:[(0,W.jsx)(`div`,{style:c?{aspectRatio:c}:void 0,className:L(`relative overflow-hidden bg-background/45`,a?`min-h-[132px]`:`min-h-[180px]`),children:(0,W.jsx)(`img`,{alt:t||`Image`,className:`h-full w-full object-cover`,loading:`lazy`,src:s})}),(0,W.jsxs)(`div`,{className:`space-y-1 px-3 py-2.5`,children:[(0,W.jsx)(`div`,{className:`text-[12px] font-medium text-foreground`,children:t||`Image`}),(0,W.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:l})]})]})})}function _e({content:e,className:t}){return(0,W.jsx)(`div`,{className:L(`min-w-0 max-w-full select-text overflow-hidden break-words [overflow-wrap:anywhere]`,t),children:(0,W.jsx)(fe,{remarkPlugins:[pe],components:{p:({children:e})=>(0,W.jsx)(`p`,{className:`mb-1.5 last:mb-0 whitespace-pre-wrap`,children:e}),code:({children:e,className:t})=>t?(0,W.jsx)(`code`,{className:`block font-mono text-[0.9em] text-foreground/80`,children:e}):(0,W.jsx)(`code`,{className:`rounded bg-surface-3 px-1 py-0.5 font-mono text-[0.9em] text-foreground/90 break-all`,children:e}),pre:({children:e})=>(0,W.jsx)(`pre`,{className:`mb-1.5 max-w-full overflow-x-auto rounded bg-surface-1 p-2 text-[0.9em] leading-relaxed`,children:e}),a:({href:e,children:t})=>(0,W.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-primary underline hover:text-primary/80`,children:t}),ul:({children:e})=>(0,W.jsx)(`ul`,{className:`mb-1.5 list-disc pl-4 space-y-0.5`,children:e}),ol:({children:e})=>(0,W.jsx)(`ol`,{className:`mb-1.5 list-decimal pl-4 space-y-0.5`,children:e}),li:({children:e})=>(0,W.jsx)(`li`,{className:`leading-relaxed`,children:e}),strong:({children:e})=>(0,W.jsx)(`strong`,{className:`font-semibold text-foreground`,children:e}),em:({children:e})=>(0,W.jsx)(`em`,{className:`italic text-foreground/80`,children:e}),blockquote:({children:e})=>(0,W.jsx)(`blockquote`,{className:`mb-1.5 border-l-2 border-muted-foreground pl-3 text-muted-foreground italic`,children:e}),table:({children:e})=>(0,W.jsx)(`div`,{className:`mb-1.5 overflow-x-auto`,children:(0,W.jsx)(`table`,{className:`w-full border-collapse text-xs`,children:e})}),th:({children:e})=>(0,W.jsx)(`th`,{className:`border border-border bg-surface-2 px-2 py-1 text-left font-semibold text-foreground`,children:e}),td:({children:e})=>(0,W.jsx)(`td`,{className:`border border-border px-2 py-1 text-foreground/80`,children:e}),h1:({children:e})=>(0,W.jsx)(`h1`,{className:`mb-1.5 text-base font-bold text-foreground`,children:e}),h2:({children:e})=>(0,W.jsx)(`h2`,{className:`mb-1.5 text-sm font-bold text-foreground`,children:e}),h3:({children:e})=>(0,W.jsx)(`h3`,{className:`mb-1.5 text-xs font-bold text-foreground/90`,children:e})},children:e})})}function G(e){if(e==null)return null;if(typeof e==`string`){let t=e.trim();if(!t||!t.startsWith(`{`)&&!t.startsWith(`[`))return null;try{return JSON.stringify(JSON.parse(t),null,4)}catch{return null}}if(typeof e==`object`)try{return JSON.stringify(e,null,4)}catch{return String(e)}return null}function K({content:e,layout:t=`parts-order`,parts:n,streaming:r,markdownClassName:i,preClassName:a}){let o=P(n,e),s=o.some(e=>e.type===`image`),c=z(o,e),l=G(c);if(t===`human-attachments-top`&&s){let e=o.filter(e=>e.type===`text`);return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2.5`,children:o.filter(e=>e.type===`image`).map((e,t)=>(0,W.jsx)(ge,{alt:e.alt,assetId:e.asset_id,compact:!0,height:e.height,mimeType:e.mime_type,width:e.width},`${t}-attachment-${e.asset_id}`))}),e.length>0?(0,W.jsx)(K,{content:z(e),markdownClassName:i,preClassName:a,parts:e,streaming:r}):null]})}return l?(0,W.jsx)(`pre`,{className:L(`select-text whitespace-pre-wrap break-words rounded-xl border border-border bg-background/40 px-3.5 py-3 text-[11px] font-mono leading-relaxed text-foreground/80`,a),children:(0,W.jsx)(ve,{text:l,streaming:r})}):o.length>0&&s?(0,W.jsx)(`div`,{className:`space-y-3`,children:o.map((e,t)=>e.type===`text`?(0,W.jsx)(K,{content:e.text,markdownClassName:i,preClassName:a},`${t}-text`):(0,W.jsx)(ge,{alt:e.alt,assetId:e.asset_id,height:e.height,mimeType:e.mime_type,width:e.width},`${t}-image-${e.asset_id}`))}):r?(0,W.jsx)(`div`,{className:L(`min-w-0 select-text whitespace-pre-wrap break-words [overflow-wrap:anywhere]`,i),children:(0,W.jsx)(ve,{text:c,streaming:!0})}):(0,W.jsx)(`div`,{className:`min-w-0`,children:(0,W.jsx)(_e,{content:c,className:i})})}function ve({text:e,streaming:t}){return(0,W.jsxs)(W.Fragment,{children:[e,t?(0,W.jsx)(`span`,{className:`streaming-cursor`}):null]})}var q=[{name:`/clear`,description:`Clear the current chat.`,usage:`/clear`},{name:`/compact`,description:`Compress this chat for future replies.`,usage:`/compact [focus]`},{name:`/help`,description:`Show available commands and usage.`,usage:`/help`}],ye=/^\/\S*/;function be(e){let t=e.trimStart(),n=e.slice(0,e.length-t.length),r=t.match(ye)?.[0]??`/`;return{leadingWhitespace:n,trimmedStart:t,token:r,suffix:t.slice(r.length)}}function J(e,t){return t<=0?0:Math.min(e,t-1)}function Y(e){let{trimmedStart:t,token:n}=be(e);return t.startsWith(`/`)?{filtered:n===`/`?q:q.filter(e=>e.name.startsWith(n)),isCommandInput:!0,token:n}:{filtered:[],isCommandInput:!1,token:``}}function X(e,t,n){let r=t.token===n?J(t.index,e.length):0;return{selectedCommand:e[Math.min(r,Math.max(e.length-1,0))]??null,selectedCommandIndex:r}}function xe(e,t,n,r){if(e.length===0)return{index:0,token:n};let{selectedCommandIndex:i}=X(e,t,n);return{index:(i+r+e.length)%e.length,token:n}}function Se(e,t){let{trimmedStart:n,token:r}=be(e);return r===t&&(n===t||n.startsWith(`${t} `))}function Ce(e,t){let{leadingWhitespace:n,suffix:r}=be(e);return r?`${n}${t.name}${r.startsWith(` `)?r:` ${r}`}`:`${n}${t.name} `}function Z({busy:e=!1,commandsEnabled:t=!0,disabled:n,images:r=[],imageInputEnabled:i=!0,input:o,onAddImages:s=()=>{},onChange:c,onNavigateHistory:l,onKeyDown:u,onRemoveImage:d=()=>{},onSend:f,onStop:p,overlay:m=!1,placeholder:h,targetLabel:g=`Assistant`,stopping:_=!1,suppressCommandNavigation:v=!1}){let y=(0,U.useRef)(null),x=(0,U.useRef)(null),S=e?_?`Stopping...`:`Stop`:`Send`,w=e?_||!p:n,{filtered:T,isCommandInput:E,token:D}=t?Y(o):{filtered:[],isCommandInput:!1,token:``},[O,k]=(0,U.useState)({index:0,token:``}),[A,j]=(0,U.useState)(null),M=t&&r.length===0&&E&&A!==D,{selectedCommand:ee,selectedCommandIndex:N}=X(T,O,D);(0,U.useLayoutEffect)(()=>{let e=y.current;if(!e)return;let t=window.getComputedStyle(e),n=Number.parseFloat(t.lineHeight)||20,r=Number.parseFloat(t.paddingTop)||0,i=Number.parseFloat(t.paddingBottom)||0,a=n+r+i,o=n*8+r+i;e.style.height=`0px`;let s=Math.min(Math.max(e.scrollHeight,a),o);e.style.height=`${s}px`,e.style.overflowY=e.scrollHeight>o?`auto`:`hidden`},[o]);let P=e=>{let n=t?Y(e):{isCommandInput:!1,token:``};n.isCommandInput?n.token!==D&&(k({index:0,token:n.token}),A&&A!==n.token&&j(null)):(j(null),k({index:0,token:``})),c(e)},te=e=>{c(Ce(o,e)),k({index:0,token:e.name}),j(null),y.current?.focus()},F=()=>{j(null),k({index:0,token:``})};return(0,W.jsxs)(`div`,{className:L(m?`w-full pointer-events-auto`:`border-t border-border p-2.5`),children:[M?(0,W.jsx)(`div`,{role:`listbox`,"aria-label":`Available commands`,className:`pointer-events-auto mb-2 overflow-hidden rounded-xl border border-border bg-surface-overlay shadow-sm`,children:T.length>0?T.map((e,t)=>{let n=t===N;return(0,W.jsxs)(V,{type:`button`,variant:`ghost`,role:`option`,"aria-selected":n,onMouseDown:t=>{t.preventDefault(),te(e)},className:L(`h-auto w-full items-start justify-start gap-3 rounded-none px-3 py-2.5 text-left whitespace-normal transition-colors`,n?`bg-accent/60 hover:bg-accent/60`:`hover:bg-accent/35`),children:[(0,W.jsx)(`span`,{className:`mt-0.5 shrink-0 rounded-full border border-border bg-accent/45 px-2 py-0.5 font-mono text-[11px] text-foreground`,children:e.name}),(0,W.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`span`,{className:`block text-[12px] font-medium text-foreground`,children:e.description}),(0,W.jsx)(`span`,{className:`mt-1 block font-mono text-[11px] text-muted-foreground`,children:e.usage})]})]},e.name)}):(0,W.jsx)(`div`,{className:`px-3 py-3 text-[12px] text-muted-foreground`,children:`No matching commands.`})}):null,(0,W.jsxs)(`div`,{className:`rounded-md border border-border bg-background/30 px-2 py-1 shadow-sm transition-[border-color,background-color,box-shadow] duration-200 hover:border-ring/35 focus-within:border-ring/45 focus-within:ring-[3px] focus-within:ring-ring/35`,children:[r.length>0?(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2 border-b border-border px-0.5 py-2`,children:r.map(e=>(0,W.jsx)(Te,{image:e,onRemove:()=>d(e.id)},e.id))}):null,(0,W.jsxs)(`div`,{className:`grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-1`,children:[(0,W.jsx)(se,{ref:x,accept:`image/png,image/jpeg,image/gif,image/webp`,className:`hidden`,multiple:!0,onChange:e=>{e.target.files&&e.target.files.length>0&&(F(),s(e.target.files)),e.currentTarget.value=``},type:`file`}),(0,W.jsx)(V,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":i?`Add images`:`Current model does not support image input`,disabled:!i,onClick:()=>x.current?.click(),className:L(`shrink-0 rounded-full transition-colors disabled:opacity-35`,i?`bg-accent/55 text-foreground hover:bg-accent`:`bg-accent/20 text-muted-foreground`),children:(0,W.jsx)(a,{className:`size-4`})}),(0,W.jsx)(ie,{ref:y,value:o,onChange:e=>P(e.target.value),onKeyDown:e=>{if((e.key===`ArrowUp`||e.key===`ArrowDown`)&&l&&l(e.key===`ArrowUp`?-1:1,{start:e.currentTarget.selectionStart,end:e.currentTarget.selectionEnd})){e.preventDefault();return}if(v&&M&&(e.key===`ArrowUp`||e.key===`ArrowDown`)){u(e);return}if(M){let t=T.length>0&&ee&&!Se(o,ee.name)?ee:null;if(e.key===`Escape`){e.preventDefault(),j(D);return}if(T.length>0&&e.key===`ArrowDown`){e.preventDefault(),k(xe(T,O,D,1));return}if(T.length>0&&e.key===`ArrowUp`){e.preventDefault(),k(xe(T,O,D,-1));return}if(t&&e.key===`Tab`&&!e.shiftKey){e.preventDefault(),te(t);return}if(t&&e.key===`Enter`&&!e.shiftKey){e.preventDefault(),te(t);return}}u(e)},onPaste:e=>{let t=we(e.clipboardData?.items);t.length===0||!i||(e.preventDefault(),F(),s(t))},placeholder:h??(t?`Do anything`:`Message ${g}`),rows:1,className:L(`min-h-5 w-full resize-none self-center border-0 bg-transparent px-0.5 py-0 text-[13px] leading-5 text-foreground shadow-none placeholder:text-muted-foreground focus-visible:border-transparent focus-visible:ring-0`,`rounded-sm`,o.length===0&&`truncate`)}),(0,W.jsxs)(V,{type:`button`,variant:e?`destructive`:`default`,size:`sm`,onClick:e?p:f,disabled:w,"aria-label":e?`Stop ${g}`:`Send ${g} message`,className:L(`shrink-0 rounded-full transition-all duration-300 active:scale-[0.96] disabled:opacity-30`,`h-8 gap-1.5 px-3.5`),children:[e?(0,W.jsx)(b,{className:`size-3.5 fill-current`,strokeWidth:2.4}):(0,W.jsx)(C,{className:`size-4`,strokeWidth:2.5}),(0,W.jsx)(`span`,{className:`text-[11px] font-medium`,children:S})]})]})]}),i?null:(0,W.jsx)(`div`,{className:`px-1.5 pt-2 text-[11px] text-muted-foreground`,children:`Current model does not support image input.`})]})}function we(e){return e?Array.from(e).filter(e=>e.kind===`file`&&e.type.startsWith(`image/`)).flatMap(e=>{let t=e.getAsFile();return t?[t]:[]}):[]}function Te({image:e,onRemove:t}){let{openImage:n}=ne(),r=e.status===`uploading`?`Uploading...`:e.width&&e.height?`${e.width}x${e.height}`:`Ready`;return(0,W.jsxs)(`div`,{className:`relative overflow-hidden rounded-lg border border-border bg-background/35 transition-colors hover:border-ring/35`,children:[(0,W.jsxs)(V,{"aria-label":`Preview ${e.name}`,type:`button`,variant:`ghost`,className:`h-auto w-auto items-start justify-start rounded-none p-0 text-left hover:bg-transparent hover:text-inherit`,onClick:()=>n({src:e.previewUrl,alt:e.name,meta:r,width:e.width,height:e.height}),children:[(0,W.jsx)(`img`,{alt:e.name,className:`h-20 w-20 object-cover`,src:e.previewUrl}),(0,W.jsxs)(`div`,{className:`absolute inset-x-0 bottom-0 bg-background/80 px-2 py-1 text-[10px] text-foreground/84`,children:[(0,W.jsx)(`div`,{className:`truncate`,children:e.name}),(0,W.jsx)(`div`,{className:`text-muted-foreground`,children:r})]})]}),(0,W.jsx)(V,{"aria-label":`Remove ${e.name}`,type:`button`,variant:`ghost`,size:`icon-xs`,className:`absolute right-1 top-1 z-10 rounded-full bg-background/72 text-muted-foreground hover:bg-background/90 hover:text-foreground`,onClick:t,children:(0,W.jsx)(o,{className:`size-3.5`})})]})}function Q({text:e,className:t,iconClassName:n,copiedClassName:r}){let[i,a]=(0,U.useState)(!1),o=(0,U.useRef)(null),s=(0,U.useRef)(!0);return(0,U.useEffect)(()=>()=>{s.current=!1,o.current&&clearTimeout(o.current)},[]),(0,W.jsx)(V,{type:`button`,variant:`ghost`,size:`icon-xs`,onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e).then(()=>{s.current&&(a(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{s.current&&a(!1)},1500))})},"aria-label":`Copy`,className:L(`size-5 rounded p-0.5 text-muted-foreground opacity-0 transition-all hover:bg-accent/45 hover:text-foreground group-hover:opacity-100`,t),title:`Copy`,children:i?(0,W.jsx)(_,{className:L(`size-3 text-foreground`,r)}):(0,W.jsx)(S,{className:L(`size-3`,n)})})}var Ee=(0,U.memo)(function({allowHumanMessageRetry:e=!0,bottomInset:t=0,scrollRef:n,items:r,nodes:i,onRetryHumanMessage:a,onCancelPendingSend:o,onSendPendingSend:s,onScroll:c,retryImageInputEnabled:l=!0,retryingMessageId:u=null,runningHint:d=null}){let f=r.filter(e=>e.type!==`SystemEntry`);return(0,W.jsx)(`div`,{ref:n,onScroll:c,style:{paddingBottom:`${14+t}px`,scrollPaddingBottom:`${14+t}px`},className:`flex-1 overflow-y-auto px-3 pt-3`,children:(0,W.jsxs)(`div`,{className:`mx-auto flex min-h-full w-full max-w-3xl flex-col space-y-2.5`,children:[f.length===0&&!d?(0,W.jsx)(Be,{}):null,f.map((t,n)=>(0,W.jsx)(`div`,{className:`[content-visibility:auto] [contain-intrinsic-size:auto_100px]`,children:(0,W.jsx)(Oe,{allowHumanMessageRetry:e,item:t,nodes:i,onRetryHumanMessage:a,onCancelPendingSend:o,onSendPendingSend:s,retryImageInputEnabled:l,retryingMessageId:u})},ze(t,n))),d?(0,W.jsx)(`div`,{children:(0,W.jsx)(De,{label:d.label,toolName:d.toolName})}):null]})})});function De({label:e,toolName:t}){return(0,W.jsx)(`div`,{className:`flex min-w-0 items-center`,children:(0,W.jsxs)(`div`,{className:`inline-flex max-w-full items-center gap-2 rounded-full border border-border bg-accent/25 px-3 py-1.5 text-[11px] text-muted-foreground/82`,children:[(0,W.jsx)(`span`,{className:`flex items-center gap-1.5`,children:[0,1,2].map(e=>(0,W.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-muted-foreground/80`,style:{animationDelay:`${e*140}ms`}},e))}),(0,W.jsx)(`span`,{children:e}),t?(0,W.jsx)(`span`,{className:`truncate rounded-full border border-border bg-background/40 px-2 py-0.5 font-mono text-[10px] text-foreground/80`,children:t}):null]})})}var Oe=(0,U.memo)(function({allowHumanMessageRetry:e,item:t,nodes:n,onRetryHumanMessage:r,onCancelPendingSend:a,onSendPendingSend:o,retryImageInputEnabled:s,retryingMessageId:c}){if(t.type===`PendingHumanMessage`)return(0,W.jsx)(Ae,{content:t.content,parts:t.parts,retrying:!1,pending:!0});if(t.type===`PendingSendMessage`)return(0,W.jsx)(ke,{content:t.content,onCancel:a?()=>a(t.id):void 0,onSend:o?()=>o(t.id):void 0,parts:t.parts,sendFailed:t.send_failed,targetState:t.target_state});switch(t.type){case`ReceivedMessage`:if(P(t.parts,t.content).length===0)return null;if(t.from_id===`human`){let n=P(t.parts,t.content).some(e=>e.type===`image`)&&!s;return(0,W.jsx)(Ae,{allowRetry:e,content:z(t.parts,t.content),retryDisabled:n,retryDisabledReason:n?`Current model does not support image input`:void 0,messageId:t.message_id??null,onRetry:t.message_id&&r&&!n?()=>r(t.message_id):void 0,parts:t.parts,retrying:c===t.message_id})}return(0,W.jsx)(Me,{content:z(t.parts,t.content),parts:t.parts,icon:(0,W.jsx)(i,{className:`size-3.5 text-foreground/68`}),label:`From ${I(t.from_id??``,n)}`,tone:`received`,streaming:t.streaming});case`AssistantText`:return P(t.parts,t.content).length===0?null:(0,W.jsx)(je,{content:z(t.parts,t.content),parts:t.parts,streaming:t.streaming});case`SentMessage`:return P(t.parts,t.content).length===0?null:(0,W.jsx)(Me,{content:z(t.parts,t.content),parts:t.parts,icon:(0,W.jsx)(T,{className:`size-3.5 text-foreground/58`}),label:`To ${(t.to_id?[t.to_id]:(t.to_ids??[]).filter(e=>!!e)).map(e=>I(e,n)).join(`, `)||`Unknown`}`,tone:`sent`,streaming:t.streaming});case`AssistantThinking`:return(0,W.jsx)(Ne,{item:t});case`ToolCall`:return(0,W.jsx)(Pe,{item:t});case`CommandResultEntry`:return(0,W.jsx)(Fe,{item:t});case`ErrorEntry`:return(0,W.jsx)(Ie,{content:t.content??``});default:return null}});function ke({content:e,onCancel:t,onSend:n,parts:r,sendFailed:i,targetState:a}){let o=i||a===`error`||a===`terminated`,s=!!n&&a===`error`,c=o?`Needs attention`:a===`sleeping`?`Waiting for wake-up`:`Waiting to send`;return(0,W.jsx)(`div`,{className:`group mt-2 flex min-w-0 flex-col items-end`,children:(0,W.jsx)(`div`,{className:L(`min-w-0 overflow-hidden px-2.5 py-1.5 text-[13px] [overflow-wrap:anywhere]`,`max-w-[84%] rounded-lg border bg-background/50 text-foreground`,o?`border-destructive/45`:`border-ring/35`),children:(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,W.jsx)(K,{content:e,layout:`human-attachments-top`,markdownClassName:`text-sm text-foreground`,parts:r,preClassName:`text-foreground/90`}),(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,W.jsxs)(`span`,{className:L(`inline-flex shrink-0 items-center gap-1 rounded-full border px-2 py-0.5 text-[10px] font-medium`,o?`border-destructive/35 bg-destructive/10 text-destructive`:`border-ring/25 bg-ring/10 text-foreground/80`),children:[(0,W.jsx)(h,{className:`size-3`}),c]}),s?(0,W.jsxs)(V,{type:`button`,variant:`outline`,size:`xs`,onClick:n,className:`h-auto rounded-full border-border bg-background/40 px-2.5 py-1 text-[11px] text-foreground hover:bg-accent/45`,children:[(0,W.jsx)(T,{className:`size-3`}),`Send now`]}):null,t?(0,W.jsx)(V,{type:`button`,variant:`ghost`,size:`xs`,onClick:t,className:`h-auto rounded-full border border-border bg-accent/35 px-2.5 py-1 text-[11px] text-muted-foreground hover:bg-accent/45 hover:text-foreground`,children:`Cancel`}):null]})]})})})}function Ae({allowRetry:e=!0,content:t,messageId:n,onRetry:i,parts:a,retryDisabled:o,retryDisabledReason:s,retrying:c,pending:l=!1}){let u=e&&!l&&!!n&&(!!i||o);return(0,W.jsxs)(`div`,{className:`group mt-2 flex min-w-0 flex-col items-end`,children:[(0,W.jsx)(`div`,{className:L(`min-w-0 overflow-hidden px-2.5 py-1.5 text-[13px] [overflow-wrap:anywhere]`,`max-w-[84%] rounded-lg border border-border bg-accent/80 text-accent-foreground`,l&&`opacity-80`),children:(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,W.jsx)(K,{content:t,layout:`human-attachments-top`,parts:a,markdownClassName:`text-sm text-accent-foreground`,preClassName:`text-accent-foreground/90`}),l?(0,W.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-accent/70 px-2 py-0.5 text-[10px] font-medium text-accent-foreground`,children:[(0,W.jsx)(r,{className:`size-3 animate-spin`}),`Sending`]}):null]})}),(0,W.jsxs)(`div`,{className:`mt-1 flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100`,children:[(0,W.jsx)(Q,{text:t}),u?(0,W.jsxs)(V,{type:`button`,variant:`ghost`,size:`xs`,onClick:i,disabled:c||o,title:s,className:L(`h-auto rounded-full border border-border px-2.5 py-1 text-[11px] text-muted-foreground hover:bg-accent/45 hover:text-foreground disabled:opacity-45`,`bg-accent/35`),children:[c?(0,W.jsx)(r,{className:`size-3 animate-spin`}):(0,W.jsx)(g,{className:`size-3`}),(0,W.jsx)(`span`,{children:c?`Retrying...`:`Retry`})]}):null]})]})}function je({content:e,parts:t,streaming:n}){return(0,W.jsxs)(`div`,{className:`group min-w-0 w-full`,children:[(0,W.jsx)(K,{content:e,parts:t,streaming:n,markdownClassName:`text-sm text-foreground`,preClassName:`text-foreground/90`}),(0,W.jsx)(`div`,{className:`mt-1 opacity-0 transition-opacity group-hover:opacity-100`,children:(0,W.jsx)(Q,{text:e})})]})}function Me({content:e,parts:t,icon:n,label:r,tone:i,streaming:a}){let[o,s]=(0,U.useState)(!!a);return(0,W.jsxs)(`div`,{className:L(`min-w-0 w-full px-2 py-1.5`,`border-l border-border pl-3`,i===`received`&&`border-border bg-accent/20`,i===`sent`&&`border-border bg-background/24`),children:[(0,W.jsxs)(`div`,{className:`flex w-full items-center gap-2 text-left`,children:[(0,W.jsxs)(V,{type:`button`,variant:`ghost`,"aria-expanded":o,onClick:()=>s(e=>!e),className:`h-auto min-w-0 flex-1 justify-start gap-2 rounded-md bg-transparent px-0 py-0 text-left text-inherit shadow-none hover:bg-transparent hover:text-inherit focus-visible:ring-2 focus-visible:ring-ring/50`,children:[(0,W.jsx)(`span`,{className:`flex size-5 shrink-0 translate-y-px items-center justify-center text-current`,children:n}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] font-semibold leading-none text-foreground/88`,children:r}),a?(0,W.jsxs)(`span`,{className:`inline-flex size-5 items-center justify-center`,children:[(0,W.jsxs)(`span`,{className:`relative flex size-2.5 items-center justify-center`,children:[(0,W.jsx)(`span`,{className:`absolute inline-flex size-2.5 animate-ping rounded-full bg-ring/28`}),(0,W.jsx)(`span`,{className:`relative inline-flex size-2 rounded-full bg-ring/82`})]}),(0,W.jsx)(`span`,{className:`sr-only`,children:`Live`})]}):null,(0,W.jsx)(l,{className:L(`size-4 shrink-0 text-muted-foreground transition-transform`,o&&`rotate-90`)})]}),(0,W.jsx)(`span`,{className:`shrink-0`,children:(0,W.jsx)(Q,{text:e})})]}),o?(0,W.jsx)(`div`,{className:`mt-2 min-w-0`,children:(0,W.jsx)(K,{content:e,parts:t,streaming:a,markdownClassName:`text-[12px] text-foreground/78`,preClassName:`text-foreground/74`})}):null]})}function Ne({item:e}){return(0,W.jsx)(Le,{label:`Thinking`,icon:(0,W.jsx)(E,{className:`size-3.5 text-foreground/72`}),streaming:e.streaming,defaultOpen:e.streaming??!1,children:(0,W.jsx)(K,{content:e.content,streaming:e.streaming,markdownClassName:`text-[13px] text-foreground/80`,preClassName:`text-foreground/75`})})}function Pe({item:e}){let t=e.tool_name===`idle`,n=!!e.streaming&&!t,r=G(e.arguments)??``,i=G(e.result);return(0,W.jsx)(Le,{label:Re(e.tool_name),icon:(0,W.jsx)(p,{className:`size-3.5 text-muted-foreground`}),streaming:n,defaultOpen:n,children:(0,W.jsxs)(`div`,{className:`space-y-4`,children:[(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsx)(`div`,{className:`text-[10px] font-medium text-muted-foreground/80`,children:`Arguments`}),(0,W.jsx)(`pre`,{className:`select-text whitespace-pre-wrap break-words rounded-xl border border-border bg-background/40 px-3.5 py-3 text-[11px] font-mono leading-relaxed text-foreground/78`,children:r})]}),e.result||!t?(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsx)(`div`,{className:`text-[10px] font-medium text-muted-foreground/80`,children:`Result`}),e.result?(0,W.jsx)(K,{content:i??e.result,streaming:n,markdownClassName:`text-[12px] leading-relaxed text-foreground/80`,preClassName:`text-foreground/74`}):(0,W.jsx)(`div`,{className:`rounded-xl border border-border bg-accent/15 px-3.5 py-3 text-[12px] italic text-muted-foreground`,children:n?`Running...`:`No result`})]}):null]})})}function Fe({item:e}){return(0,W.jsxs)(`div`,{className:`min-w-0 w-full space-y-3 border-l border-graph-status-running/30 bg-graph-status-running/[0.08] px-3 py-2.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(w,{className:`size-4 text-graph-status-running`}),(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-graph-status-running/90`,children:`Command Result`}),e.command_name?(0,W.jsx)(`span`,{className:`rounded-full border border-graph-status-running/14 bg-background/35 px-2 py-0.5 font-mono text-[10px] text-graph-status-running/80`,children:e.command_name}):null,(0,W.jsx)(`span`,{className:`ml-auto`,children:(0,W.jsx)(Q,{text:e.content??``,className:`text-graph-status-running/72 hover:bg-graph-status-running/[0.1] hover:text-graph-status-running`,iconClassName:`text-current`,copiedClassName:`text-graph-status-running`})})]}),(0,W.jsx)(K,{content:e.content,markdownClassName:`text-[13px] text-foreground`,preClassName:`text-foreground/90`})]})}function Ie({content:e}){return(0,W.jsxs)(`div`,{className:`min-w-0 w-full space-y-3 border-l-2 border-graph-status-error/40 bg-graph-status-error/[0.1] px-3 py-2.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(f,{className:`size-4 text-graph-status-error`}),(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-graph-status-error`,children:`Error`}),(0,W.jsx)(`span`,{className:`ml-auto`,children:(0,W.jsx)(Q,{text:e,className:`text-graph-status-error/72 hover:bg-graph-status-error/[0.1] hover:text-graph-status-error`,iconClassName:`text-current`,copiedClassName:`text-graph-status-error`})})]}),(0,W.jsx)(`p`,{className:`select-text whitespace-pre-wrap break-words text-[13px] leading-relaxed text-graph-status-error/82`,children:e})]})}function Le({label:e,icon:t,streaming:n,defaultOpen:r,children:i}){let[a,o]=(0,U.useState)(r);return(0,W.jsxs)(`div`,{className:`min-w-0 w-full border-l border-border py-1.5 pl-3 transition-all duration-300`,children:[(0,W.jsxs)(V,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>o(e=>!e),className:`h-auto w-full justify-start gap-2 px-0 py-0 text-left hover:bg-transparent hover:text-inherit`,children:[(0,W.jsx)(`span`,{className:`flex size-5 shrink-0 translate-y-px items-center justify-center text-muted-foreground`,children:t}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,W.jsx)(`span`,{className:`block truncate text-[11px] font-medium text-muted-foreground`,children:e})}),n?(0,W.jsxs)(`span`,{className:`ml-auto inline-flex size-5 items-center justify-center`,children:[(0,W.jsxs)(`span`,{className:`relative flex size-2.5 items-center justify-center`,children:[(0,W.jsx)(`span`,{className:`absolute inline-flex size-2.5 animate-ping rounded-full bg-ring/30`}),(0,W.jsx)(`span`,{className:`relative inline-flex size-2 rounded-full bg-ring/82`})]}),(0,W.jsx)(`span`,{className:`sr-only`,children:`Live`})]}):null,(0,W.jsx)(l,{className:L(`size-3.5 shrink-0 text-muted-foreground/70 transition-transform duration-200`,a&&`rotate-90`)})]}),a?(0,W.jsx)(`div`,{className:`mt-3 min-w-0`,children:i}):null]})}function Re(e){return e?e.split(`_`).map(e=>e.length>0?`${e[0].toUpperCase()}${e.slice(1)}`:e).join(` `):`Tool Call`}function ze(e,t){return e.type===`PendingHumanMessage`||e.type===`PendingSendMessage`?e.id:`${e.type}-${e.timestamp}-${e.message_id??``}-${e.tool_call_id??``}-${t}`}function Be(){return(0,W.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-4 py-8`,children:(0,W.jsxs)(`div`,{className:`max-w-[220px] space-y-3 text-center`,children:[(0,W.jsx)(`div`,{className:`mx-auto flex size-11 items-center justify-center`,children:(0,W.jsx)(i,{className:`size-5 text-primary`})}),(0,W.jsx)(`div`,{className:`space-y-1`,children:(0,W.jsx)(`p`,{className:`text-sm font-medium`,children:`Start a conversation`})})]})})}function Ve(){let e=(0,U.useRef)(null),[t,n]=(0,U.useState)(0);return(0,U.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let r=()=>{n(Math.ceil(t.getBoundingClientRect().height))};if(r(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(()=>{r()});return i.observe(t),()=>{i.disconnect()}},[]),{height:t,ref:e}}function He(e){return e.filter(e=>e.type===`SystemEntry`)}function Ue(e){return e>0xe8d4a51000?e:Math.round(e*1e3)}function We(e){let t=``,n=``,r=new Map,i=new Map,a=new Map,o=[];for(let s of e)switch(s.type){case`ContentDelta`:t+=s.text;break;case`ThinkingDelta`:n+=s.text;break;case`ToolResultDelta`:r.set(s.tool_call_id,(r.get(s.tool_call_id)??``)+s.text);break;case`SentMessageDelta`:i.has(s.message_id)||o.push({kind:`sent`,messageId:s.message_id}),i.set(s.message_id,{toId:s.to_id,text:(i.get(s.message_id)?.text??``)+s.text});break;case`ReceivedMessageDelta`:a.has(s.message_id)||o.push({kind:`received`,messageId:s.message_id}),a.set(s.message_id,{fromId:s.from_id,text:(a.get(s.message_id)?.text??``)+s.text});break}return{content:t,thinking:n,toolResults:r,sentMessages:i,receivedMessages:a,messageOrder:o}}function Ge(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function Ke(e){let t=Ue(e.timestamp);switch(e.type){case`ReceivedMessage`:return e.message_id?`${e.type}:${e.message_id}`:[e.type,t,e.from_id??``,z(e.parts,e.content)].join(`:`);case`SentMessage`:return e.message_id?`${e.type}:${e.message_id}`:[e.type,t,e.to_id??e.to_ids?.[0]??``,z(e.parts,e.content)].join(`:`);case`ToolCall`:return e.tool_call_id?`${e.type}:${e.tool_call_id}`:[e.type,t,e.tool_name??``,Ge(e.arguments),e.result??``,e.streaming?`streaming`:`final`].join(`:`);default:return[e.type,t,e.content??``].join(`:`)}}function qe(e,t){return e.type!==`ToolCall`||t.type!==`ToolCall`?!1:e.streaming&&!t.streaming?!0:!e.result&&!!t.result}function Je(e){let t=[],n=new Map;for(let r of e){let e=Ke(r),i=n.get(e);if(i===void 0){n.set(e,t.length),t.push(r);continue}let a=t[i];qe(a,r)&&(t[i]=r)}return t}function Ye({history:e,incremental:t,deltas:n,fetchedAt:r}){let i=Je(t&&t.length>0?[...e,...t]:[...e]);if(!n||n.length===0)return i;let{content:a,thinking:o,toolResults:s,sentMessages:c,receivedMessages:l,messageOrder:u}=We(n),d=r/1e3;if(o&&i.push({type:`AssistantThinking`,content:o,timestamp:d,streaming:!0}),a&&i.push({type:`AssistantText`,content:a,timestamp:d,streaming:!0}),s.size>0)for(let[e,t]of s)for(let n=i.length-1;n>=0;--n){let r=i[n];if(r.type===`ToolCall`&&r.tool_call_id===e&&r.streaming){i[n]={...r,result:t};break}}for(let e of u){if(e.kind===`sent`){let t=c.get(e.messageId);if(!t||i.some(t=>t.type===`SentMessage`&&t.message_id===e.messageId))continue;i.push({type:`SentMessage`,message_id:e.messageId,to_id:t.toId,content:t.text,parts:[{type:`text`,text:t.text}],timestamp:d,streaming:!0});continue}let t=l.get(e.messageId);t&&(i.some(t=>t.type===`ReceivedMessage`&&t.message_id===e.messageId)||i.push({type:`ReceivedMessage`,message_id:e.messageId,from_id:t.fromId,content:t.text,parts:[{type:`text`,text:t.text}],timestamp:d,streaming:!0}))}return i}var Xe=`flowent.chatInputHistory`,Ze=50,Qe=new Set,$e=new Map,et=new Map;function tt(e){return`${Xe}.${e}`}function nt(e){return e.trim().length>0}function rt(e){if(!e||typeof e!=`object`)return null;let t=typeof e.text==`string`?e.text:null,n=typeof e.timestamp==`number`?e.timestamp:null;return t===null||n===null||!nt(t)?null:{text:t,images:[],timestamp:n}}function it(e){if(typeof window>`u`)return[];try{let t=window.localStorage.getItem(tt(e));if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.map(e=>rt(e)).filter(e=>e!==null).slice(-Ze):[]}catch{return[]}}function at(e,t){if(!(typeof window>`u`))try{let n=t.filter(({text:e})=>nt(e)).map(({text:e,timestamp:t})=>({text:e,timestamp:t}));window.localStorage.setItem(tt(e),JSON.stringify(n))}catch{return}}function ot(e){Qe.has(e)||($e.set(e,it(e)),Qe.add(e))}function st(e){let t=et.get(e);if(t)for(let e of t)e()}function ct(e){return ot(e),$e.get(e)??[]}function lt(e,t){ot(e);let n=et.get(e)??new Set;return n.add(t),et.set(e,n),()=>{let n=et.get(e);n?.delete(t),n&&n.size===0&&et.delete(e)}}function ut(e,t){ot(e);let n=[...$e.get(e)??[],t].slice(-Ze);$e.set(e,n),at(e,n),st(e)}var dt=10;function ft(e){return Math.max(0,e.scrollHeight-e.clientHeight)-e.scrollTop<=dt}function pt(){return globalThis.crypto?.randomUUID?.()??`draft-${Date.now()}-${Math.random()}`}function mt(e){return e.status===`ready`&&!!e.assetId}function ht(e){e.previewUrl.startsWith(`blob:`)&&URL.revokeObjectURL(e.previewUrl)}function gt(e){for(let t of e)ht(t)}function _t(e){return e.filter(mt).map(e=>({assetId:e.assetId,mimeType:e.mimeType,width:e.width,height:e.height,name:e.name}))}function vt(e){return e.images.map((t,n)=>({id:`history-${e.timestamp}-${n}`,assetId:t.assetId,previewUrl:me(t.assetId),mimeType:t.mimeType,width:t.width,height:t.height,name:t.name,status:`ready`}))}function yt(e,t){return e.length===t.images.length?t.images.every((t,n)=>{let r=e[n];return!!r&&r?.status===`ready`&&r.assetId===t.assetId&&r.mimeType===t.mimeType&&r.width===t.width&&r.height===t.height&&r.name===t.name}):!1}function bt(e,t){let n=[];e&&n.push({type:`text`,text:e});for(let e of t)n.push({type:`image`,asset_id:e.assetId,mime_type:e.mimeType,width:e.width,height:e.height,alt:e.name});return n}function xt(e,t,n){return{id:`pending-${n}-${Math.random().toString(36).slice(2,8)}`,type:`PendingHumanMessage`,from:`human`,content:e,parts:t,timestamp:n,message_id:null}}function St(e){return{id:`pending-send-${e.timestamp}-${Math.random().toString(36).slice(2,8)}`,type:`PendingSendMessage`,from:`human`,content:e.content,parts:e.parts,timestamp:e.timestamp,message_id:null,target_id:e.targetId,target_state:e.targetState??null,history_entry:e.historyEntry,history_entry_scope:e.historyScope,send_failed:e.sendFailed}}async function Ct(e){return new Promise(t=>{let n=URL.createObjectURL(e),r=new Image;r.onload=()=>{let e=r.naturalWidth,i=r.naturalHeight;URL.revokeObjectURL(n),t(e>0&&i>0?{width:e,height:i}:null)},r.onerror=()=>{URL.revokeObjectURL(n),t(null)},r.src=n})}async function wt(e){return Promise.all(e.map(async e=>{let t=await Ct(e);return{id:pt(),assetId:null,previewUrl:URL.createObjectURL(e),mimeType:e.type||null,width:t?.width??null,height:t?.height??null,name:e.name,status:`uploading`}}))}var Tt=(0,U.memo)(function({agentLabel:e=`Agent`,history:t,nodes:n}){return(0,W.jsx)(`div`,{className:`space-y-1.5 p-2.5`,children:t.map((t,r)=>(0,W.jsx)(`div`,{className:`[content-visibility:auto] [contain-intrinsic-size:auto_100px]`,children:(0,W.jsx)(jt,{agentLabel:e,entry:t,nodes:n})},`${r}-${t.timestamp}-${t.type}-${t.message_id??``}-${t.tool_call_id??``}`))})});function Et({content:e,markdownClassName:t,preClassName:n,streaming:r}){let i=G(e);return i?(0,W.jsx)(`pre`,{className:L(`select-text text-[11px] whitespace-pre-wrap break-words leading-relaxed`,n),children:(0,W.jsx)(Dt,{text:i,streaming:r})}):r?(0,W.jsx)(`pre`,{className:L(`select-text text-[11px] whitespace-pre-wrap break-words leading-relaxed`,n),children:(0,W.jsx)(Dt,{text:e??``,streaming:!0})}):(0,W.jsx)(_e,{content:e??``,className:L(`text-[11px] leading-relaxed`,t)})}function Dt({text:e,streaming:t}){return(0,W.jsxs)(W.Fragment,{children:[e,t&&(0,W.jsx)(`span`,{className:`streaming-cursor`})]})}function Ot({entry:e,markdownClassName:t,preClassName:n}){let r=P(e.parts,e.content);return r.length===0?null:r.every(e=>e.type===`text`)?(0,W.jsx)(Et,{content:z(r),streaming:e.streaming,markdownClassName:t,preClassName:n}):(0,W.jsx)(`div`,{className:`space-y-2`,children:r.map((e,r)=>e.type===`text`?(0,W.jsx)(Et,{content:e.text,markdownClassName:t,preClassName:n},`${r}-${e.type}`):(0,W.jsx)(ge,{alt:e.alt,assetId:e.asset_id,compact:!0,height:e.height,mimeType:e.mime_type,width:e.width},`${r}-${e.type}-${e.asset_id}`))})}function kt(e){return!e.from_output_port_key||!e.to_input_port_key?``:` · ${e.from_output_port_key} to ${e.to_input_port_key}`}function At(e){if(e.value_summary)return e.value_summary;if(e.content)return e.content;if(e.value===void 0)return``;if(typeof e.value==`string`)return e.value;try{return JSON.stringify(e.value)}catch{return String(e.value)}}var jt=(0,U.memo)(function({agentLabel:e,entry:t,nodes:n}){switch(t.type){case`SystemEntry`:return(0,W.jsx)($,{label:`System`,icon:(0,W.jsx)(D,{className:`size-3 text-muted-foreground`}),className:`border-border/40 bg-surface-1/24`,defaultOpen:!1,children:(0,W.jsx)(Et,{content:t.content,markdownClassName:`text-muted-foreground`,preClassName:`text-muted-foreground leading-relaxed`})});case`ReceivedMessage`:return(0,W.jsx)($,{label:`From ${I(t.from_id??``,n)}${kt(t)}`,icon:(0,W.jsx)(i,{className:`size-3 text-foreground/70`}),className:`border-border bg-accent/20`,labelClassName:`text-foreground/70`,actions:(0,W.jsx)(Q,{text:z(t.parts,t.content)}),defaultOpen:t.streaming??!1,children:(0,W.jsx)(Ot,{entry:t,markdownClassName:`text-foreground/90`,preClassName:`text-foreground/90 leading-relaxed`})});case`AssistantThinking`:return(0,W.jsx)($,{label:`Thinking`,icon:(0,W.jsx)(E,{className:`size-3 text-foreground/72`}),className:`border-border bg-surface-1/28`,labelClassName:`text-foreground/72`,defaultOpen:!1,children:(0,W.jsx)(Et,{content:t.content,streaming:t.streaming,markdownClassName:`text-foreground/82`,preClassName:`text-foreground/82 leading-relaxed`})});case`SentMessage`:return(0,W.jsx)($,{label:`To ${(t.to_id==null?(t.to_ids??[]).filter(e=>!!e):[t.to_id]).map(e=>I(e,n)).join(`, `)||`Unknown`}${kt(t)}`,icon:(0,W.jsx)(T,{className:`size-3 text-foreground/58`}),className:`border-border bg-background/24`,labelClassName:`text-foreground/72`,actions:(0,W.jsx)(Q,{text:z(t.parts,t.content)}),defaultOpen:t.streaming??!1,children:(0,W.jsx)(Ot,{entry:t,markdownClassName:`text-foreground/86`,preClassName:`text-foreground/86 leading-relaxed`})});case`PortInboundEntry`:return(0,W.jsx)($,{label:`Input from ${t.source_label||I(t.from_id??``,n)}${kt(t)}`,icon:(0,W.jsx)(A,{className:`size-3 text-foreground/66`}),className:`border-border bg-surface-1/24`,labelClassName:`text-foreground/72`,actions:(0,W.jsx)(Q,{text:At(t)}),defaultOpen:!1,children:(0,W.jsxs)(`div`,{className:`space-y-2`,children:[t.port_type?(0,W.jsx)(`span`,{className:`inline-flex rounded-md border border-border bg-background/40 px-2 py-0.5 font-mono text-[10px] text-muted-foreground`,children:t.port_type}):null,(0,W.jsx)(Et,{content:At(t),markdownClassName:`text-foreground/86`,preClassName:`text-foreground/86 leading-relaxed`})]})});case`AssistantText`:return(0,W.jsx)($,{label:e,icon:(0,W.jsx)(y,{className:`size-3 text-foreground/84`}),className:`border-border bg-surface-2/62`,labelClassName:`text-foreground/84`,actions:(0,W.jsx)(Q,{text:t.content??``}),defaultOpen:!1,children:(0,W.jsx)(Ot,{entry:t,markdownClassName:`text-foreground/88`,preClassName:`text-foreground/88 leading-relaxed`})});case`ToolCall`:{let e=G(t.arguments)??``,n=G(t.result);return(0,W.jsx)($,{label:t.tool_name??`tool`,icon:(0,W.jsx)(p,{className:`size-3 text-foreground/66`}),className:`border-border bg-surface-1/20`,labelClassName:`text-foreground/72`,defaultOpen:!1,children:(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-[10px] text-muted-foreground mb-1`,children:`Arguments`}),(0,W.jsx)(`pre`,{className:`select-text text-[11px] whitespace-pre-wrap break-words leading-relaxed text-foreground/78`,children:e})]}),t.result&&(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-[10px] text-muted-foreground mb-1`,children:`Result`}),(0,W.jsx)(Et,{content:n??t.result,streaming:t.streaming,markdownClassName:`text-muted-foreground`,preClassName:`text-muted-foreground leading-relaxed`})]})]})})}case`ErrorEntry`:return(0,W.jsx)($,{label:`Error`,icon:(0,W.jsx)(f,{className:`size-3 text-graph-status-error/84`}),className:`border-graph-status-error/16 bg-graph-status-error/[0.038]`,labelClassName:`text-graph-status-error/78`,actions:(0,W.jsx)(Q,{text:t.content??``,className:`text-graph-status-error/84 hover:text-graph-status-error/84`,iconClassName:`text-graph-status-error/84`,copiedClassName:`text-graph-status-error/84`}),defaultOpen:!1,children:(0,W.jsx)(Et,{content:t.content,markdownClassName:`text-graph-status-error/84`,preClassName:`text-graph-status-error/84 leading-relaxed`})});default:return null}});function $({actions:e,label:t,labelClassName:n,icon:r,className:i,contentClassName:a,defaultOpen:o=!1,children:s}){let[c,u]=(0,U.useState)(o),d=(0,U.useCallback)(()=>u(e=>!e),[]);return(0,W.jsxs)(`div`,{className:L(`rounded-xl border transition-colors hover:bg-accent/20`,i),children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 select-none`,children:[(0,W.jsxs)(V,{type:`button`,variant:`ghost`,"aria-expanded":c,onClick:d,className:`h-auto min-w-0 flex-1 justify-start gap-2 rounded-md bg-transparent px-0 py-0 text-left text-inherit shadow-none hover:bg-transparent hover:text-inherit focus-visible:ring-2 focus-visible:ring-ring/50`,children:[(0,W.jsx)(`span`,{className:`shrink-0 flex items-center justify-center`,children:r}),(0,W.jsx)(`span`,{className:L(`min-w-0 flex-1 truncate text-[11px] font-medium`,n||`text-muted-foreground`),children:t}),(0,W.jsx)(l,{className:L(`ml-2 size-3.5 shrink-0 text-muted-foreground/70 transition-transform duration-200`,c&&`rotate-90`)})]}),e?(0,W.jsx)(`span`,{className:`shrink-0 flex items-center leading-none`,children:e}):null]}),(0,W.jsx)(R,{initial:!1,children:c?(0,W.jsx)(m.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:[.22,1,.36,1]},className:`overflow-hidden`,children:(0,W.jsx)(`div`,{className:L(`px-3 pb-3 pt-1`,a),children:s})}):null})]})}var Mt=B(`inline-flex h-5 items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,ghost:`[a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,link:`text-primary underline-offset-4 [a&]:hover:underline`}},defaultVariants:{variant:`default`}});function Nt({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,W.jsx)(n?d:`span`,{"data-slot":`badge`,"data-variant":t,className:L(Mt({variant:t}),e),...r})}function Pt(e,t=!1){let[n,r]=(0,U.useState)(null),[i,a]=(0,U.useState)(!1),[o,s]=(0,U.useState)(null),[c,l]=(0,U.useState)(0),{agents:u}=ae(),{agentHistories:d,clearAgentHistory:f,clearHistorySnapshot:p,historyInvalidatedAt:m,historyClearedAt:h,historySnapshots:g,streamingDeltas:_}=oe(),v=e?h.get(e)??0:0,y=e?m.get(e)??0:0,b=e?g.get(e)??null:null;return(0,U.useEffect)(()=>{v&&(r(e=>e&&{...e,history:He(e.history)}),l(Date.now()))},[v]),(0,U.useEffect)(()=>{!y||!b||(r(e=>e&&{...e,history:b}),l(Date.now()))},[y,b]),(0,U.useEffect)(()=>{if(!e){r(null),a(!1),s(null);return}let n=new AbortController,i=!1;return(async()=>{a(!0),s(null),t||f(e);try{let t=await N(e,n.signal);if(i)return;r(t),l(Date.now()),p(e)}catch(e){if(i||n.signal.aborted)return;r(null),s(e instanceof Error?e.message:`Failed to fetch node detail`)}finally{i||a(!1)}})(),()=>{i=!0,n.abort()}},[e,f,p,y,t]),{detail:(0,U.useMemo)(()=>{if(!n||!e)return null;let t=d.get(e),r=_.get(e),i=Ye({history:b??n.history,incremental:t,deltas:r,fetchedAt:c}),a=e?u.get(e):void 0,o={...n,history:i};return a&&(o.state=a.state,o.todos=a.todos),o},[n,e,d,b,_,u,c]),loading:i,error:o,fetchedAt:c}}function Ft(e,t){return t?.leader_id?e.get(t.leader_id)??null:null}function It(e={}){let{bottomInset:t=0}=e,{agents:n}=ae(),{tabs:r}=re(),{connected:i}=ce(),{agentHistories:a,clearAgentHistory:o,clearHistorySnapshot:s,historyInvalidatedAt:c,historyClearedAt:l,historySnapshots:u,streamingDeltas:d}=oe(),{activeToolCalls:f}=le(),{activeTabId:p}=de(),m=p?r.get(p)??null:null,h=(0,U.useMemo)(()=>Ft(n,m),[m,n]),g=h?.id??m?.leader_id??null,_=p?`leader:${p}`:`leader:none`,[v,y]=(0,U.useState)(null),[b,S]=(0,U.useState)(0),[C,w]=(0,U.useState)(``),[T,E]=(0,U.useState)([]),[D,O]=(0,U.useState)(null),[k,A]=(0,U.useState)(!1),[F,ne]=(0,U.useState)(!1),[I,ie]=(0,U.useState)(null),[L,R]=(0,U.useState)([]),[se,B]=(0,U.useState)(()=>new Map),V=(0,U.useRef)(null),fe=(0,U.useRef)(!0),pe=(0,U.useRef)([]),H=(0,U.useRef)(new Map),me=(0,U.useRef)(new Set),W=h?.capabilities?.input_image??!1,ge=g?l.get(g)??0:0,_e=g?c.get(g)??0:0,G=g?u.get(g)??null:null,K=T.some(e=>e.status===`uploading`),ve=T.filter(mt),q=(0,U.useSyncExternalStore)(e=>lt(_,e),()=>ct(_),()=>ct(_)),ye=D===null?null:q[D]??null,be=ye!==null&&C===ye.text&&yt(T,ye),J=h?.state??v?.state??null,Y=(0,U.useCallback)(async e=>{let t=e.pendingMessageTimestamp??Date.now(),n=xt(e.content,e.parts,t),r=e.visiblePending??!0;ne(!0),r&&R(e=>[...e,n]);try{let i=await M(e.targetId,{content:e.content,parts:e.parts});return r&&i.status===`command_executed`?R(n=>j(n,{content:e.content,timestamp:t})):r&&R(e=>e.map(e=>e.id===n.id?{...e,message_id:i.message_id??null}:e)),ut(e.history.scope,e.history.entry),e.restoreDraft&&gt(e.restoreDraft.images),!0}catch(t){return r&&R(e=>e.filter(e=>e.id!==n.id)),e.restoreDraft&&(w(e.restoreDraft.input),E(e.restoreDraft.images),O(e.restoreDraft.historyCursor)),x.error(t instanceof Error?t.message:`Failed to send message`),!1}finally{ne(!1)}},[]),X=(0,U.useCallback)((e,t)=>{O(t),w(e?.text??``),E(e?vt(e):[])},[]),xe=(0,U.useCallback)(e=>{O(null),w(e)},[]);(0,U.useEffect)(()=>{pe.current=T},[T]),(0,U.useEffect)(()=>{H.current=se},[se]),(0,U.useEffect)(()=>()=>{gt(pe.current)},[]),(0,U.useEffect)(()=>{gt(pe.current),w(``),E([]),O(null),R([]),ie(null)},[_]),(0,U.useEffect)(()=>{ge&&(R([]),g&&B(e=>{if(!e.has(g))return e;let t=new Map(e);return t.delete(g),t}),y(e=>e&&{...e,history:He(e.history)}),S(Date.now()))},[ge,g]),(0,U.useEffect)(()=>{!_e||!G||(y(e=>e&&{...e,history:G}),S(Date.now()))},[_e,G]),(0,U.useEffect)(()=>{H.current.size!==0&&B(e=>{let t=null;for(let[r,i]of e){if(i.send_failed)continue;let a=r===g?J:n.get(r)?.state??i.target_state??null;i.target_state!==a&&(t??=new Map(e),t.set(r,{...i,target_state:a}))}return t??e})},[n,g,J,se]),(0,U.useEffect)(()=>{if(!(H.current.size===0||F))for(let[e,t]of H.current)t.send_failed||(e===g?J:n.get(e)?.state??t.target_state??null)!==`idle`||me.current.has(e)||(me.current.add(e),B(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n}),Y({content:t.content,parts:t.parts??[],targetId:e,visiblePending:e===g,history:{scope:t.history_entry_scope,entry:t.history_entry},pendingMessageTimestamp:t.timestamp}).then(n=>{me.current.delete(e),n||B(n=>{let r=new Map(n);return r.set(e,{...t,send_failed:!0,target_state:`error`}),r})}).catch(()=>{me.current.delete(e),B(n=>{let r=new Map(n);return r.set(e,{...t,send_failed:!0,target_state:`error`}),r})}))},[n,g,J,se,F,Y]),(0,U.useEffect)(()=>{if(!i||!g){y(null);return}let e=new AbortController,t=!1;return(async()=>{o(g);try{let n=await N(g,e.signal);if(t||!n)return;y(n),S(Date.now()),s(g)}catch{!t&&!e.signal.aborted&&x.error(`Failed to load Leader history`)}})(),()=>{t=!0,e.abort()}},[o,s,i,ge,_e,g]);let Se=(0,U.useMemo)(()=>g?Ye({history:G??v?.history??[],incremental:a.get(g),deltas:d.get(g),fetchedAt:b||Date.now()}):[],[a,v,b,G,g,d]);(0,U.useEffect)(()=>{if(!g||L.length===0)return;let e=new Set(Se.filter(e=>e.type===`ReceivedMessage`&&e.from_id===`human`&&typeof e.message_id==`string`).map(e=>e.message_id));e.size!==0&&R(t=>t.filter(t=>!t.message_id||!e.has(t.message_id)))},[g,Se,L.length]);let Ce=g?se.get(g)??null:null,Z=(0,U.useMemo)(()=>[...Se,...Ce?[{...Ce}]:[],...L.map(e=>({...e}))],[Ce,Se,L]),we=(0,U.useMemo)(()=>{let e=L.length+ +!!Ce,t=g?d.get(g)??[]:[],n=i&&!!(g&&(e>0||h?.state===`running`||h?.state===`sleeping`||f.has(g)||t.length>0)),r=[...Z].map((e,t)=>({item:e,index:t})).reverse().find(({item:e})=>e.type===`PendingHumanMessage`?!0:e.type===`ReceivedMessage`&&e.from_id===`human`&&P(e.parts,e.content).length>0)?.index,a=r===void 0?[]:Z.slice(r+1),o=a.some(e=>e.type===`AssistantText`&&P(e.parts,e.content).length>0),s=[...a].reverse().find(e=>e.type===`ToolCall`&&e.streaming===!0),c=(g?f.get(g)??null:null)??s?.tool_name??null;return{running:n,runningHint:n&&r!==void 0&&!o?{label:c?`Running tools...`:`Thinking...`,toolName:c}:null}},[f,i,g,h?.state,Ce,L.length,d,Z]);(0,U.useLayoutEffect)(()=>{let e=V.current;!e||!fe.current||(e.scrollTop=e.scrollHeight)},[t,we.runningHint?`${we.runningHint.label}:${we.runningHint.toolName??``}`:``,Z]),(0,U.useLayoutEffect)(()=>{let e=V.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{fe.current&&(e.scrollTop=e.scrollHeight)});return t.observe(e),()=>{t.disconnect()}},[]);let Te=e=>{fe.current=ft(e.currentTarget)},Q=async(e={})=>{if(!g)return;let t=C.trim();if(!t&&ve.length===0||K||F)return;let n=bt(t,ve),r=C,i=T,a=D,o=Date.now(),s=t||z(n),c={text:r,images:_t(i),timestamp:o},l=e.deferWhenBusy&&H.current.has(g)&&(J===`error`||J===`terminated`);if(e.deferWhenBusy&&(J===`running`||J===`sleeping`||l)){B(e=>{let t=new Map(e);return t.set(g,St({content:s,historyEntry:c,historyScope:_,parts:n,targetId:g,targetState:J,timestamp:o})),t}),O(null),w(``),E([]),gt(i);return}if(J===`terminated`){x.error(`Resolve the current chat before sending`);return}O(null),w(``),E([]),await Y({content:s,parts:n,targetId:g,history:{scope:_,entry:c},pendingMessageTimestamp:o,restoreDraft:{input:r,images:i,historyCursor:a}})},Ee=(0,U.useCallback)(async e=>{if(O(null),!W){x.error(`Current model does not support image input`);return}let t=Array.from(e).filter(e=>e.type.startsWith(`image/`));if(t.length===0)return;let n=await wt(t);E(e=>[...e,...n]),await Promise.all(n.map(async(e,n)=>{let r=t[n];if(r)try{let t=await he(r);E(n=>n.map(n=>n.id===e.id?{...n,assetId:t.id,mimeType:t.mime_type,width:typeof t.width==`number`?t.width:n.width,height:typeof t.height==`number`?t.height:n.height,status:`ready`}:n))}catch(t){ht(e),E(t=>t.filter(t=>t.id!==e.id)),x.error(t instanceof Error?t.message:`Failed to upload image`)}}))},[W]),De=(0,U.useCallback)(e=>{O(null),E(t=>{let n=t.find(t=>t.id===e);return n&&ht(n),t.filter(t=>t.id!==e)})},[]),Oe=(0,U.useCallback)((e,t)=>{if(q.length===0)return!1;let n=t.start,r=t.end,i=C.length===0&&T.length===0,a=typeof n==`number`&&typeof r==`number`&&n===r&&(n===0||n===C.length);if(!i&&!(ye!==null&&be&&a))return!1;if(D===null){if(e!==-1)return!1;let t=q.length-1;return X(q[t]??null,t),!0}if(e===-1){let e=Math.max(D-1,0);return X(q[e]??null,e),!0}if(D>=q.length-1)return X(null,null),!0;let o=D+1;return X(q[o]??null,o),!0},[ye,T,D,C,q,be,X]),ke=(0,U.useCallback)(async()=>{if(g&&!(h?.state!==`running`&&h?.state!==`sleeping`)){await ue(g);for(let e=0;e<25;e+=1){let e=await N(g);if(!e)break;if(y(e),S(Date.now()),e.state!==`running`&&e.state!==`sleeping`)return;await new Promise(e=>window.setTimeout(e,120))}throw Error(`Leader did not stop in time`)}},[g,h?.state]),Ae=async()=>{if(!(!g||k)){A(!0);try{await te(g),R([]),B(e=>{if(!e.has(g))return e;let t=new Map(e);return t.delete(g),t}),o(g);let e=await N(g);e&&(y(e),S(Date.now()),s(g))}catch(e){x.error(e instanceof Error?e.message:`Failed to clear chat`)}finally{A(!1)}}},je=(0,U.useCallback)(async e=>{if(!(!g||!e||I)){ie(e);try{try{await ke(),await ee(g,e)}catch(e){x.error(e instanceof Error?e.message:`Failed to retry Leader message`);return}o(g);try{let e=await N(g);e&&(y(e),S(Date.now()),s(g))}catch{return}}finally{ie(null)}}},[o,s,g,I,ke]);return{activeTab:m,addImages:Ee,cancelPendingSend:(0,U.useCallback)(e=>{B(t=>{let n=Array.from(t.entries()).find(([,t])=>t.id===e);if(!n)return t;let r=new Map(t);return r.delete(n[0]),r})},[]),connected:i,clearChat:Ae,clearing:k,draftImages:T,handleKeyDown:e=>{if(e.key===`Tab`&&!e.shiftKey){(C.trim()||ve.length>0)&&(e.preventDefault(),Q({deferWhenBusy:!0}));return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Q())},hasUploadingImages:K,input:C,isBrowsingInputHistory:be,leaderActivity:we,leaderNode:h,navigateInputHistory:Oe,onMessagesScroll:Te,removeImage:De,retryMessage:je,retryingMessageId:I,scrollRef:V,sendMessage:Q,sendPendingSend:(0,U.useCallback)(async e=>{let t=Array.from(H.current.entries()).find(([,t])=>t.id===e);if(!t||F||me.current.has(t[0]))return;let[r,i]=t;(r===g?J:n.get(r)?.state??i.target_state??null)!==`terminated`&&(B(e=>{if(!e.has(r))return e;let t=new Map(e);return t.delete(r),t}),await Y({content:i.content,parts:i.parts??[],targetId:r,visiblePending:r===g,history:{scope:i.history_entry_scope,entry:i.history_entry},pendingMessageTimestamp:i.timestamp})||B(e=>{let t=new Map(e);return t.set(r,{...i,send_failed:!0,target_state:`error`}),t}))},[n,g,J,F,Y]),sending:F,setInput:xe,stopLeader:ke,supportsInputImage:W,timelineItems:Z}}var Lt={assistant:v,agent:y,trigger:O,llm:w,code:s,if:A,merge:c};function Rt({name:e,roleName:t,nodeType:n,isLeader:r=!1}){return e??t??(n===`assistant`?`Assistant`:n===`trigger`?`Trigger`:n===`llm`?`Model`:n===`code`?`Code`:n===`if`?`If`:n===`merge`?`Merge`:r?`Leader`:`Agent`)}var zt={running:`bg-graph-status-running`,idle:`bg-graph-status-idle`,sleeping:`bg-graph-status-sleeping`,initializing:`bg-graph-status-initializing`,error:`bg-graph-status-error`,terminated:`bg-graph-status-terminated`},Bt={running:`agent-state-ring-running`,idle:`agent-state-ring-idle`,sleeping:`agent-state-ring-sleeping`,initializing:`agent-state-ring-initializing`,error:`agent-state-ring-error`,terminated:`agent-state-ring-terminated`},Vt=`rounded-md bg-accent/45 px-2 py-1 text-xs text-foreground`,Ht={running:`border-graph-status-running/18 bg-graph-status-running/[0.12] text-graph-status-running`,idle:`border-graph-status-idle/12 bg-graph-status-idle/[0.06] text-graph-status-idle/78`,sleeping:`border-graph-status-sleeping/18 bg-graph-status-sleeping/[0.12] text-graph-status-sleeping`,initializing:`border-graph-status-initializing/16 bg-graph-status-initializing/[0.08] text-graph-status-initializing/84`,error:`border-graph-status-error/20 bg-graph-status-error/[0.09] text-graph-status-error`,terminated:`border-border bg-accent/35 text-muted-foreground`};function Ut({children:e,disabled:t=!1,active:n=!1,onClick:r}){return(0,W.jsx)(V,{type:`button`,variant:`ghost`,size:`xs`,onClick:r,disabled:t,className:L(`flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md border border-transparent bg-transparent px-3 py-1.75 text-[11px] font-medium text-muted-foreground transition-[background-color,border-color,color] duration-150 hover:border-border hover:bg-accent/45 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:border-transparent disabled:text-muted-foreground/50 disabled:hover:bg-transparent`,n&&`border-border bg-accent/70 text-foreground`),children:e})}function Wt(){return(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-4 w-px shrink-0 bg-border`})}function Gt({children:e,tone:t=`default`}){return(0,W.jsx)(`div`,{className:L(`pointer-events-auto relative isolate flex items-center gap-1.5 rounded-full border border-border bg-surface-overlay/80 px-2.5 py-1 text-[11px] font-medium text-muted-foreground backdrop-blur-sm`,t===`primary`?`border-border bg-accent/60 text-foreground`:``),children:e})}function Kt({agent:e,onClose:t}){let[n,r]=(0,U.useState)(!1),{agents:i}=ae(),{tabs:a}=re(),s=e.node_type!==`assistant`&&e.node_type!==`agent`,{detail:c,error:l,loading:u}=Pt(s?null:e.id,e.node_type===`assistant`),d=c?.state??e.state,f=c?.is_leader??e.is_leader,p=c?.contacts??[],m=c?.connections??e.connections,h=c?.todos??e.todos,g=c?.history??[],_=c?.role_name??e.role_name,v=c?.tools??[],y=c?.write_dirs??[],b=c?.allow_network??!1,S=c?.tab_id??e.tab_id??null,C=S?a.get(S)??null:null,w=e.node_type===`assistant`,T=c?.workflow_permissions??null,E=w?b:C?.allow_network??T?.allow_network??b??!1,D=w?y:C?.write_dirs??T?.write_dirs??y,O=w?`Permissions`:`Workflow Permissions`,k=Rt({name:e.name,roleName:e.role_name,nodeType:e.node_type,isLeader:e.is_leader}),A=Lt[e.node_type],j=m.map(e=>{let t=i.get(e);return{id:e,label:t?Rt({name:t.name,roleName:t.role_name,nodeType:t.node_type,isLeader:t.is_leader}):e.slice(0,8)}}),M=p.filter(qt),ee=p.filter(e=>!qt(e)).map(e=>{let t=typeof e==`string`?e:e.id;return{id:t,label:Jt(e,i.get(t))}}),N=M.length>0?`reachable paths`:`reachable contacts`;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-3.5 py-2.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`div`,{className:`flex size-7 items-center justify-center rounded-md bg-primary/8`,children:(0,W.jsx)(A,{className:`size-3.5 text-primary`})}),(0,W.jsxs)(`div`,{className:`min-w-0 flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(`p`,{className:`text-[13px] font-semibold`,children:k}),f?(0,W.jsx)(`span`,{className:`rounded-full border border-accent bg-accent/45 px-2 py-0.5 text-[10px] font-semibold text-accent-foreground`,children:`Leader`}):null,(0,W.jsx)(`span`,{className:`rounded-full border border-border bg-accent/35 px-2 py-0.5 font-mono text-[10px] text-muted-foreground/78`,children:e.id.slice(0,8)})]})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[d===`running`||d===`sleeping`?(0,W.jsx)(V,{type:`button`,size:`sm`,variant:`destructive`,disabled:n,onClick:()=>{r(!0),ue(e.id).catch(()=>{x.error(`Failed to interrupt node`)}).finally(()=>{r(!1)})},children:n?`Interrupting...`:`Interrupt`}):null,(0,W.jsx)($t,{title:`Close details`,onClick:t,children:(0,W.jsx)(o,{className:`size-4`})})]})]}),(0,W.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3.5`,children:(0,W.jsxs)(`div`,{className:`space-y-3.5`,children:[(0,W.jsxs)(`div`,{className:`grid gap-3.5 border-b border-border pb-3.5 sm:grid-cols-3`,children:[(0,W.jsxs)(`div`,{className:`min-w-0`,children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`Status`}),(0,W.jsx)(`div`,{className:`mt-2`,children:(0,W.jsx)(Nt,{variant:`outline`,className:Ht[d],children:d.toUpperCase()})})]}),(0,W.jsxs)(`div`,{className:`min-w-0 sm:border-l sm:border-border sm:pl-3.5`,children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`Contacts`}),(0,W.jsxs)(`p`,{className:`mt-2 select-text text-sm text-foreground`,children:[p.length,` `,N]})]}),(0,W.jsxs)(`div`,{className:`min-w-0 sm:border-l sm:border-border sm:pl-3.5`,children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`Workflow`}),(0,W.jsx)(`p`,{className:`mt-2 select-text text-sm text-foreground`,children:C?.title??S?.slice(0,8)??`None`})]})]}),(0,W.jsx)(H,{title:`Workflow Context`,children:S?(0,W.jsxs)(`div`,{className:`grid gap-3 text-sm sm:grid-cols-2`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`ID`}),(0,W.jsx)(`p`,{className:`mt-1 select-text font-mono text-[11px] text-foreground`,children:S??`None`})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`Title`}),(0,W.jsx)(`p`,{className:`mt-1 select-text text-foreground`,children:C?.title??`Unknown`})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`Role`}),(0,W.jsx)(`p`,{className:`mt-1 select-text text-foreground`,children:_??`None`})]})]}):(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No workflow metadata`})}),s?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(H,{title:`Workflow Permissions`,children:(0,W.jsx)(en,{allowNetwork:E,writeDirs:D,inherited:!w})}),(0,W.jsx)(H,{title:`Ports`,children:[...e.inputs??[],...e.outputs??[]].length===0?(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No ports`}):(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:[...e.inputs??[],...e.outputs??[]].map(e=>(0,W.jsxs)(`span`,{className:L(Vt,`select-text`),children:[e.direction===`in`?`Input`:`Output`,` ·`,` `,e.key,` · `,e.type]},`${e.direction}-${e.key}`))})}),(0,W.jsx)(H,{title:`Settings`,children:Object.keys(e.config??{}).length===0?(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No settings`}):(0,W.jsx)(`pre`,{className:`max-h-56 overflow-auto rounded-md border border-border bg-background/40 p-3 text-[11px] leading-5 text-foreground`,children:JSON.stringify(e.config,null,2)})})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(H,{title:`Contacts`,children:M.length===0&&ee.length===0?(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No direct contacts`}):M.length>0?(0,W.jsx)(`div`,{className:`space-y-2`,children:M.map(e=>(0,W.jsxs)(`div`,{className:`rounded-md border border-border bg-accent/25 px-3 py-2`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,W.jsx)(`p`,{className:`min-w-0 select-text truncate text-sm font-medium text-foreground`,children:Jt(e,i.get(e.target_id))}),(0,W.jsx)(Nt,{variant:`outline`,className:`shrink-0 border-border bg-background/40 font-mono text-[10px] text-muted-foreground`,children:e.port_type})]}),(0,W.jsxs)(`div`,{className:`mt-2 flex min-w-0 flex-wrap items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,W.jsx)(`span`,{className:`select-text rounded-md bg-background/45 px-1.5 py-0.5 font-mono text-foreground/80`,children:e.from_output_port_key}),(0,W.jsx)(`span`,{"aria-hidden":`true`,children:`to`}),(0,W.jsx)(`span`,{className:`select-text rounded-md bg-background/45 px-1.5 py-0.5 font-mono text-foreground/80`,children:e.to_input_port_key})]})]},e.edge_id))}):(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:ee.map(e=>(0,W.jsx)(`span`,{className:L(Vt,`select-text`),children:e.label},e.id))})}),(0,W.jsx)(H,{title:`Workflow Graph`,children:j.length===0?(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No graph edges`}):(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:j.map(e=>(0,W.jsx)(`span`,{className:L(Vt,`select-text`),children:e.label},e.id))})}),(0,W.jsx)(H,{title:`Tools`,children:v.length===0?(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No tools configured`}):(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:v.map(e=>(0,W.jsx)(`span`,{className:L(Vt,`select-text font-mono`),children:e},e))})}),(0,W.jsx)(H,{title:O,children:(0,W.jsx)(en,{allowNetwork:E,writeDirs:D,inherited:!w})}),(0,W.jsx)(H,{title:`Todos`,children:(0,W.jsx)(`div`,{className:`space-y-2`,children:h.length===0?(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No todos`}):h.slice(0,6).map(e=>(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-sm text-foreground`,children:[(0,W.jsx)(`span`,{className:`size-2 rounded-full bg-border`}),(0,W.jsx)(`span`,{className:`min-w-0 break-words [overflow-wrap:anywhere]`,children:e.text})]},e.text))})}),(0,W.jsxs)(`div`,{className:`border-t border-border pt-4`,children:[(0,W.jsx)(`div`,{className:`px-0 pb-2`,children:(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`History`})}),u?(0,W.jsx)(`div`,{className:`space-y-2`,children:[...[,,,,]].map((e,t)=>(0,W.jsx)(`div`,{className:`h-12 rounded-md skeleton-shimmer`},t))}):l?(0,W.jsx)(`div`,{className:`text-sm text-destructive`,children:l}):g.length===0?(0,W.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`No history yet.`}):(0,W.jsx)(Tt,{history:g,agentLabel:k,nodes:i})]})]})]})})]})}function qt(e){return typeof e==`object`&&!!e&&`from_output_port_key`in e&&`to_input_port_key`in e}function Jt(e,t){return t?Rt({name:t.name,roleName:t.role_name,nodeType:t.node_type,isLeader:t.is_leader}):typeof e==`string`?e.slice(0,8):Rt({name:e.name,roleName:e.role_name,nodeType:e.node_type,isLeader:e.is_leader})}function Yt({onOpenDetails:e}){let{agents:t}=ae(),[n,r]=(0,U.useState)(!1),{height:i,ref:a}=Ve(),{activeTab:o,addImages:s=async()=>{},cancelPendingSend:c,clearChat:l,clearing:u=!1,connected:d,draftImages:f=[],handleKeyDown:p,hasUploadingImages:m=!1,input:h,isBrowsingInputHistory:g,leaderActivity:_,leaderNode:v,navigateInputHistory:y,onMessagesScroll:b,removeImage:S=()=>{},retryMessage:C,retryingMessageId:w,scrollRef:T,sending:E,sendMessage:D,sendPendingSend:O,setInput:k,stopLeader:A,supportsInputImage:j=!1,timelineItems:M}=It({bottomInset:i});return o?v?(0,W.jsxs)(`div`,{className:`relative flex h-full flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2.5 border-b border-border px-3.5 py-2.5`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-[220px] flex-1 items-center gap-2`,children:[(0,W.jsx)(`p`,{className:`shrink-0 text-[14px] font-semibold leading-6`,children:`Workflow chat`}),v.role_name?(0,W.jsxs)(`span`,{className:`min-w-0 truncate rounded-full border border-border bg-accent/35 px-2 py-0.5 text-[10px] font-medium leading-4 text-muted-foreground/78`,children:[`Role: `,v.role_name]}):null,(0,W.jsx)(`span`,{className:`min-w-0 truncate rounded-full border border-border bg-accent/35 px-2 py-0.5 text-[10px] font-medium leading-4 text-muted-foreground/78`,children:o.title}),(0,W.jsx)(`span`,{className:L(`rounded-full border px-2.5 py-0.5 text-[9px] font-medium transition-colors`,d?`border-graph-status-running/18 bg-graph-status-running/[0.12] text-graph-status-running`:`border-graph-status-idle/18 bg-graph-status-idle/[0.12] text-graph-status-idle`),children:d?`Online`:`Connecting...`}),(0,W.jsx)(`span`,{className:`rounded-full border border-border bg-accent/35 px-2 py-0.5 text-[10px] font-medium leading-4 text-muted-foreground/78`,children:o.activation_state===`active`?`Active`:`Inactive`})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,W.jsx)(V,{type:`button`,size:`sm`,variant:`outline`,disabled:u,onClick:()=>void l(),children:u?`Clearing...`:`Clear Chat`}),(0,W.jsx)(V,{type:`button`,size:`sm`,variant:`outline`,onClick:e,children:`Leader Details`})]})]}),(0,W.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,W.jsx)(Ee,{allowHumanMessageRetry:!0,bottomInset:i,items:M,nodes:t,onRetryHumanMessage:e=>void C(e),onCancelPendingSend:c,onSendPendingSend:e=>void O(e),onScroll:b,retryImageInputEnabled:j,retryingMessageId:w,runningHint:_.runningHint,scrollRef:T}),(0,W.jsx)(`div`,{ref:a,style:{paddingBottom:`calc(10px + env(safe-area-inset-bottom, 0px))`},className:`pointer-events-none absolute inset-x-0 bottom-0 z-10 bg-gradient-to-b from-transparent via-background/70 to-background/95 px-2.5 pt-8`,children:(0,W.jsx)(Z,{busy:_.running,commandsEnabled:!0,disabled:!h.trim()&&f.length===0||m||E,images:f,imageInputEnabled:j,input:h,onAddImages:e=>void s(e),onChange:k,onNavigateHistory:y,onKeyDown:p,onRemoveImage:S,onSend:()=>void D(),onStop:()=>{r(!0),A().catch(e=>{x.error(e instanceof Error?e.message:`Failed to interrupt leader`)}).finally(()=>{r(!1)})},overlay:!0,suppressCommandNavigation:g,targetLabel:`this workflow`,stopping:n})})]})]}):(0,W.jsx)(Zt,{}):(0,W.jsx)(Xt,{})}function Xt(){return(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center px-6`,children:(0,W.jsxs)(`div`,{className:`max-w-sm rounded-xl border border-border bg-accent/20 px-5 py-6 text-center`,children:[(0,W.jsx)(`p`,{className:`text-[13px] font-semibold text-foreground`,children:`No workflow selected`}),(0,W.jsx)(`p`,{className:`mt-2 text-[12px] leading-6 text-muted-foreground`,children:`Create a workflow or switch to an existing one to open its workflow chat.`})]})})}function Zt(){return(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center px-6`,children:(0,W.jsxs)(`div`,{className:`max-w-sm rounded-xl border border-border bg-accent/20 px-5 py-6 text-center`,children:[(0,W.jsx)(`p`,{className:`text-[13px] font-semibold text-foreground`,children:`Loading workflow context`}),(0,W.jsx)(`p`,{className:`mt-2 text-[12px] leading-6 text-muted-foreground`,children:`Restoring the current workflow chat.`})]})})}function Qt({expanded:e,onClick:t,className:n}){let r=e?`Hide panel`:`Show panel`;return(0,W.jsx)(V,{type:`button`,variant:`ghost`,size:`icon`,onClick:t,title:r,"aria-label":r,className:L(`pointer-events-auto relative isolate flex size-9 items-center justify-center rounded-md border border-border bg-surface-overlay/80 text-muted-foreground shadow-sm transition-[background-color,color] duration-150 hover:bg-accent/60 hover:text-foreground [contain:paint]`,n),children:(0,W.jsx)(`span`,{className:`flex transition-transform duration-200`,children:e?(0,W.jsx)(u,{className:`size-4`}):(0,W.jsx)(k,{className:`size-4`})})})}function $t({children:e,onClick:t,title:n}){return(0,W.jsx)(V,{type:`button`,variant:`ghost`,size:`icon-xs`,onClick:t,title:n,"aria-label":n,className:`flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors duration-150 hover:bg-accent/45 hover:text-foreground`,children:e})}function en({allowNetwork:e,inherited:t,writeDirs:n}){return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[t?(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Set by this workflow.`}):null,(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`Network`}),(0,W.jsx)(`p`,{className:`mt-1 select-text text-sm text-foreground`,children:e?`Enabled`:`Disabled`})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:`text-[10px] font-semibold text-muted-foreground`,children:`Writable Folders`}),n.length===0?(0,W.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`No write access`}):(0,W.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:n.map(e=>(0,W.jsx)(`span`,{className:L(Vt,`select-text font-mono text-[11px]`),children:e},e))})]})]})}export{Ve as A,vt as C,lt as D,ct as E,Z as M,he as N,He as O,gt as S,ut as T,wt as _,Ut as a,ft as b,Rt as c,Bt as d,Ft as f,St as g,xt as h,Qt as i,Ee as j,Ye as k,Lt as l,bt as m,Gt as n,Wt as o,Nt as p,Yt as r,Xt as s,Kt as t,zt as u,yt as v,_t as w,ht as x,mt as y};
@@ -1 +1 @@
1
- import"./rolldown-runtime-BYbx6iT9.js";import{d as e,l as t}from"./graph-vendor-DRq_-6fV.js";import{A as n,F as r,M as i,N as a,O as o,P as s,j as c,k as l}from"./ui-vendor-UazN8rcv.js";import{nt as u,rt as d}from"./index-Biio-CoI.js";e();var f=t();function p({...e}){return(0,f.jsx)(s,{"data-slot":`alert-dialog`,...e})}function m({...e}){return(0,f.jsx)(a,{"data-slot":`alert-dialog-portal`,...e})}function h({className:e,...t}){return(0,f.jsx)(i,{"data-slot":`alert-dialog-overlay`,className:d(`bg-background/88 fixed inset-0 z-50`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t})}function g({className:e,...t}){return(0,f.jsxs)(m,{children:[(0,f.jsx)(h,{}),(0,f.jsx)(n,{"data-slot":`alert-dialog-content`,className:d(`fixed top-1/2 left-1/2 z-50 w-full max-w-[calc(100%-2rem)] sm:max-w-lg -translate-x-1/2 -translate-y-1/2 grid gap-4 rounded-xl border border-border bg-popover text-popover-foreground p-6 shadow-lg`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e),...t})]})}function _({className:e,...t}){return(0,f.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:d(`flex flex-col gap-2 text-left`,e),...t})}function v({className:e,...t}){return(0,f.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:d(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function y({className:e,...t}){return(0,f.jsx)(r,{"data-slot":`alert-dialog-title`,className:d(`text-lg font-semibold`,e),...t})}function b({className:e,...t}){return(0,f.jsx)(c,{"data-slot":`alert-dialog-description`,className:d(`text-sm text-muted-foreground`,e),...t})}function x({className:e,...t}){return(0,f.jsx)(o,{"data-slot":`alert-dialog-action`,className:d(u(),e),...t})}function S({className:e,...t}){return(0,f.jsx)(l,{"data-slot":`alert-dialog-cancel`,className:d(u({variant:`outline`}),e),...t})}export{b as a,y as c,g as i,x as n,v as o,S as r,_ as s,p as t};
1
+ import"./rolldown-runtime-BYbx6iT9.js";import{d as e,l as t}from"./graph-vendor-DRq_-6fV.js";import{A as n,F as r,M as i,N as a,O as o,P as s,j as c,k as l}from"./ui-vendor-C5pJa8N7.js";import{dt as u,ft as d}from"./index-C9HuekJm.js";e();var f=t();function p({...e}){return(0,f.jsx)(s,{"data-slot":`alert-dialog`,...e})}function m({...e}){return(0,f.jsx)(a,{"data-slot":`alert-dialog-portal`,...e})}function h({className:e,...t}){return(0,f.jsx)(i,{"data-slot":`alert-dialog-overlay`,className:d(`bg-background/88 fixed inset-0 z-50`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t})}function g({className:e,...t}){return(0,f.jsxs)(m,{children:[(0,f.jsx)(h,{}),(0,f.jsx)(n,{"data-slot":`alert-dialog-content`,className:d(`fixed top-1/2 left-1/2 z-50 w-full max-w-[calc(100%-2rem)] sm:max-w-lg -translate-x-1/2 -translate-y-1/2 grid gap-4 rounded-xl border border-border bg-popover text-popover-foreground p-6 shadow-lg`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e),...t})]})}function _({className:e,...t}){return(0,f.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:d(`flex flex-col gap-2 text-left`,e),...t})}function v({className:e,...t}){return(0,f.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:d(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function y({className:e,...t}){return(0,f.jsx)(r,{"data-slot":`alert-dialog-title`,className:d(`text-lg font-semibold`,e),...t})}function b({className:e,...t}){return(0,f.jsx)(c,{"data-slot":`alert-dialog-description`,className:d(`text-sm text-muted-foreground`,e),...t})}function x({className:e,...t}){return(0,f.jsx)(o,{"data-slot":`alert-dialog-action`,className:d(u(),e),...t})}function S({className:e,...t}){return(0,f.jsx)(l,{"data-slot":`alert-dialog-cancel`,className:d(u({variant:`outline`}),e),...t})}export{b as a,y as c,g as i,x as n,v as o,S as r,_ as s,p as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-BYbx6iT9.js";import{d as e,l as t}from"./graph-vendor-DRq_-6fV.js";import{B as n,H as r,I as i,L as a,R as o,V as s,z as c}from"./ui-vendor-UazN8rcv.js";import{rt as l}from"./index-Biio-CoI.js";e();var u=t();function d({...e}){return(0,u.jsx)(s,{"data-slot":`dialog`,...e})}function f({...e}){return(0,u.jsx)(n,{"data-slot":`dialog-portal`,...e})}function p({...e}){return(0,u.jsx)(i,{"data-slot":`dialog-close`,...e})}function m({className:e,...t}){return(0,u.jsx)(c,{"data-slot":`dialog-overlay`,className:l(`bg-background/80 fixed inset-0 z-50 backdrop-blur-[6px]`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t})}function h({className:e,children:t,...n}){return(0,u.jsxs)(f,{children:[(0,u.jsx)(m,{}),(0,u.jsx)(a,{"data-slot":`dialog-content`,className:l(`fixed top-1/2 left-1/2 z-50 w-[calc(100vw-2rem)] max-w-[34rem] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-lg`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e),...n,children:t})]})}function g({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`dialog-header`,className:l(`flex flex-col gap-2 text-left`,e),...t})}function _({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`dialog-footer`,className:l(`flex flex-col-reverse gap-2 sm:flex-row sm:items-center sm:justify-end`,e),...t})}function v({className:e,...t}){return(0,u.jsx)(r,{"data-slot":`dialog-title`,className:l(`text-[1.15rem] font-semibold tracking-[-0.03em]`,e),...t})}function y({className:e,...t}){return(0,u.jsx)(o,{"data-slot":`dialog-description`,className:l(`text-sm leading-6 text-muted-foreground`,e),...t})}export{_ as a,y as i,p as n,g as o,h as r,v as s,d as t};
1
+ import"./rolldown-runtime-BYbx6iT9.js";import{d as e,l as t}from"./graph-vendor-DRq_-6fV.js";import{B as n,H as r,I as i,L as a,R as o,V as s,z as c}from"./ui-vendor-C5pJa8N7.js";import{ft as l}from"./index-C9HuekJm.js";e();var u=t();function d({...e}){return(0,u.jsx)(s,{"data-slot":`dialog`,...e})}function f({...e}){return(0,u.jsx)(n,{"data-slot":`dialog-portal`,...e})}function p({...e}){return(0,u.jsx)(i,{"data-slot":`dialog-close`,...e})}function m({className:e,...t}){return(0,u.jsx)(c,{"data-slot":`dialog-overlay`,className:l(`bg-background/80 fixed inset-0 z-50 backdrop-blur-[6px]`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t})}function h({className:e,children:t,...n}){return(0,u.jsxs)(f,{children:[(0,u.jsx)(m,{}),(0,u.jsx)(a,{"data-slot":`dialog-content`,className:l(`fixed top-1/2 left-1/2 z-50 w-[calc(100vw-2rem)] max-w-[34rem] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-lg`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e),...n,children:t})]})}function g({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`dialog-header`,className:l(`flex flex-col gap-2 text-left`,e),...t})}function _({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`dialog-footer`,className:l(`flex flex-col-reverse gap-2 sm:flex-row sm:items-center sm:justify-end`,e),...t})}function v({className:e,...t}){return(0,u.jsx)(r,{"data-slot":`dialog-title`,className:l(`text-[1.15rem] font-semibold tracking-[-0.03em]`,e),...t})}function y({className:e,...t}){return(0,u.jsx)(o,{"data-slot":`dialog-description`,className:l(`text-sm leading-6 text-muted-foreground`,e),...t})}export{_ as a,y as i,p as n,g as o,h as r,v as s,d as t};
@@ -0,0 +1 @@
1
+ @import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer components;@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html,body,#root{min-height:100%}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;letter-spacing:-.012em;font-feature-settings:"cv02" 1, "cv03" 1, "cv04" 1, "cv11" 1}input,textarea,[contenteditable=""],[contenteditable=true]{-webkit-user-select:text;user-select:text}code,kbd,pre,samp{font-family:var(--font-mono)}::selection{color:var(--foreground);background:oklch(96% .002 260/.18)}}@layer utilities{.\!pointer-events-auto{pointer-events:auto!important}.\!pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!absolute{position:absolute!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-y-1{inset-block:calc(var(--spacing) * 1)}.inset-y-2\.5{inset-block:calc(var(--spacing) * 2.5)}.inset-y-3{inset-block:calc(var(--spacing) * 3)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.\!top-\[36\%\]{top:36%!important}.\!top-\[64\%\]{top:64%!important}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-6{bottom:calc(var(--spacing) * -6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-1\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.left-4{left:calc(var(--spacing) * 4)}.left-14{left:calc(var(--spacing) * 14)}.isolate{isolation:isolate}.\!z-0{z-index:0!important}.\!z-10{z-index:10!important}.\!z-30{z-index:30!important}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[120\]{z-index:120}.z-\[200\]{z-index:200}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.\!size-2{width:calc(var(--spacing) * 2)!important;height:calc(var(--spacing) * 2)!important}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-full{width:100%;height:100%}.\!h-\[72\%\]{height:72%!important}.\!h-full{height:100%!important}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-36{height:calc(var(--spacing) * 36)}.h-\[72\%\]{height:72%}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-\[18rem\]{max-height:18rem}.max-h-\[78vh\]{max-height:78vh}.max-h-\[300px\]{max-height:300px}.max-h-\[calc\(100svh-2rem\)\]{max-height:calc(100svh - 2rem)}.max-h-\[var\(--radix-select-content-available-height\)\]{max-height:var(--radix-select-content-available-height)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\[10rem\]{min-height:10rem}.min-h-\[15rem\]{min-height:15rem}.min-h-\[17rem\]{min-height:17rem}.min-h-\[24rem\]{min-height:24rem}.min-h-\[44px\]{min-height:44px}.min-h-\[80px\]{min-height:80px}.min-h-\[108px\]{min-height:108px}.min-h-\[132px\]{min-height:132px}.min-h-\[140px\]{min-height:140px}.min-h-\[180px\]{min-height:180px}.min-h-\[280px\]{min-height:280px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.\!w-5{width:calc(var(--spacing) * 5)!important}.\!w-full{width:100%!important}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-\[2px\]{width:2px}.w-\[3px\]{width:3px}.w-\[72px\]{width:72px}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-\[min\(24rem\,calc\(100\%-1\.5rem\)\)\]{width:min(24rem,100% - 1.5rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[15rem\]{max-width:15rem}.max-w-\[22rem\]{max-width:22rem}.max-w-\[30rem\]{max-width:30rem}.max-w-\[34rem\]{max-width:34rem}.max-w-\[44rem\]{max-width:44rem}.max-w-\[84\%\]{max-width:84%}.max-w-\[88vw\]{max-width:88vw}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[300px\]{max-width:300px}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[420px\]{max-width:420px}.max-w-\[680px\]{max-width:680px}.max-w-\[720px\]{max-width:720px}.max-w-\[800px\]{max-width:800px}.max-w-\[1320px\]{max-width:1320px}.max-w-\[calc\(100\%-2\.5rem\)\]{max-width:calc(100% - 2.5rem)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[220px\]{min-width:220px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[40px\]{--tw-translate-x:40px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\!-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)!important;translate:var(--tw-translate-x) var(--tw-translate-y)!important}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[0\.7px\]{--tw-translate-y:calc(.7px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-none{animation:none}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.resize-y{resize:vertical}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[220px_1fr_100px_80px\]{grid-template-columns:220px 1fr 100px 80px}.grid-cols-\[260px_1fr_120px_100px\]{grid-template-columns:260px 1fr 120px 100px}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\[2px\]{border-radius:2px}.rounded-\[10px\]{border-radius:10px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-double{--tw-border-style:double;border-style:double}.\!border-graph-handle-border{border-color:var(--graph-handle-border)!important}.border-accent{border-color:var(--accent)}.border-border,.border-border\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/40{border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-border\/80{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/80{border-color:color-mix(in oklab, var(--border) 80%, transparent)}}.border-card{border-color:var(--card)}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/20{border-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-destructive\/35{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/35{border-color:color-mix(in oklab, var(--destructive) 35%, transparent)}}.border-destructive\/45{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/45{border-color:color-mix(in oklab, var(--destructive) 45%, transparent)}}.border-graph-attention\/24{border-color:var(--graph-attention)}@supports (color:color-mix(in lab, red, red)){.border-graph-attention\/24{border-color:color-mix(in oklab, var(--graph-attention) 24%, transparent)}}.border-graph-attention\/70{border-color:var(--graph-attention)}@supports (color:color-mix(in lab, red, red)){.border-graph-attention\/70{border-color:color-mix(in oklab, var(--graph-attention) 70%, transparent)}}.border-graph-node-border{border-color:var(--graph-node-border)}.border-graph-selection\/45{border-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.border-graph-selection\/45{border-color:color-mix(in oklab, var(--graph-selection) 45%, transparent)}}.border-graph-selection\/55{border-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.border-graph-selection\/55{border-color:color-mix(in oklab, var(--graph-selection) 55%, transparent)}}.border-graph-selection\/75{border-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.border-graph-selection\/75{border-color:color-mix(in oklab, var(--graph-selection) 75%, transparent)}}.border-graph-selection\/80{border-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.border-graph-selection\/80{border-color:color-mix(in oklab, var(--graph-selection) 80%, transparent)}}.border-graph-selection\/90{border-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.border-graph-selection\/90{border-color:color-mix(in oklab, var(--graph-selection) 90%, transparent)}}.border-graph-status-error\/16{border-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-error\/16{border-color:color-mix(in oklab, var(--graph-status-error) 16%, transparent)}}.border-graph-status-error\/20{border-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-error\/20{border-color:color-mix(in oklab, var(--graph-status-error) 20%, transparent)}}.border-graph-status-error\/28{border-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-error\/28{border-color:color-mix(in oklab, var(--graph-status-error) 28%, transparent)}}.border-graph-status-error\/30{border-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-error\/30{border-color:color-mix(in oklab, var(--graph-status-error) 30%, transparent)}}.border-graph-status-error\/35{border-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-error\/35{border-color:color-mix(in oklab, var(--graph-status-error) 35%, transparent)}}.border-graph-status-error\/40{border-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-error\/40{border-color:color-mix(in oklab, var(--graph-status-error) 40%, transparent)}}.border-graph-status-idle\/10{border-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-idle\/10{border-color:color-mix(in oklab, var(--graph-status-idle) 10%, transparent)}}.border-graph-status-idle\/12{border-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-idle\/12{border-color:color-mix(in oklab, var(--graph-status-idle) 12%, transparent)}}.border-graph-status-idle\/18{border-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-idle\/18{border-color:color-mix(in oklab, var(--graph-status-idle) 18%, transparent)}}.border-graph-status-idle\/20{border-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-idle\/20{border-color:color-mix(in oklab, var(--graph-status-idle) 20%, transparent)}}.border-graph-status-initializing\/14{border-color:var(--graph-status-initializing)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-initializing\/14{border-color:color-mix(in oklab, var(--graph-status-initializing) 14%, transparent)}}.border-graph-status-initializing\/16{border-color:var(--graph-status-initializing)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-initializing\/16{border-color:color-mix(in oklab, var(--graph-status-initializing) 16%, transparent)}}.border-graph-status-running\/14{border-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-running\/14{border-color:color-mix(in oklab, var(--graph-status-running) 14%, transparent)}}.border-graph-status-running\/18{border-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-running\/18{border-color:color-mix(in oklab, var(--graph-status-running) 18%, transparent)}}.border-graph-status-running\/20{border-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-running\/20{border-color:color-mix(in oklab, var(--graph-status-running) 20%, transparent)}}.border-graph-status-running\/28{border-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-running\/28{border-color:color-mix(in oklab, var(--graph-status-running) 28%, transparent)}}.border-graph-status-running\/30{border-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-running\/30{border-color:color-mix(in oklab, var(--graph-status-running) 30%, transparent)}}.border-graph-status-sleeping\/18{border-color:var(--graph-status-sleeping)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-sleeping\/18{border-color:color-mix(in oklab, var(--graph-status-sleeping) 18%, transparent)}}.border-graph-status-sleeping\/26{border-color:var(--graph-status-sleeping)}@supports (color:color-mix(in lab, red, red)){.border-graph-status-sleeping\/26{border-color:color-mix(in oklab, var(--graph-status-sleeping) 26%, transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground{border-color:var(--muted-foreground)}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.border-primary\/80{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/80{border-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.border-ring\/25{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.border-ring\/25{border-color:color-mix(in oklab, var(--ring) 25%, transparent)}}.border-ring\/35{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.border-ring\/35{border-color:color-mix(in oklab, var(--ring) 35%, transparent)}}.border-sidebar-border,.border-sidebar-border\/70{border-color:var(--sidebar-border)}@supports (color:color-mix(in lab, red, red)){.border-sidebar-border\/70{border-color:color-mix(in oklab, var(--sidebar-border) 70%, transparent)}}.border-transparent{border-color:#0000}.border-white\/\[0\.04\]{border-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.04\]{border-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-graph-handle-bg{background-color:var(--graph-handle-bg)!important}.\!bg-transparent{background-color:#0000!important}.bg-accent\/15{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/15{background-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.bg-accent\/20{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/20{background-color:color-mix(in oklab, var(--accent) 20%, transparent)}}.bg-accent\/25{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/25{background-color:color-mix(in oklab, var(--accent) 25%, transparent)}}.bg-accent\/30{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/30{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.bg-accent\/35{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/35{background-color:color-mix(in oklab, var(--accent) 35%, transparent)}}.bg-accent\/45{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/45{background-color:color-mix(in oklab, var(--accent) 45%, transparent)}}.bg-accent\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/50{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.bg-accent\/55{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/55{background-color:color-mix(in oklab, var(--accent) 55%, transparent)}}.bg-accent\/60{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/60{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.bg-accent\/70{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/70{background-color:color-mix(in oklab, var(--accent) 70%, transparent)}}.bg-accent\/80{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/80{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.bg-background,.bg-background\/24{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/24{background-color:color-mix(in oklab, var(--background) 24%, transparent)}}.bg-background\/30{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/30{background-color:color-mix(in oklab, var(--background) 30%, transparent)}}.bg-background\/35{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/35{background-color:color-mix(in oklab, var(--background) 35%, transparent)}}.bg-background\/40{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/40{background-color:color-mix(in oklab, var(--background) 40%, transparent)}}.bg-background\/42{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/42{background-color:color-mix(in oklab, var(--background) 42%, transparent)}}.bg-background\/44{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/44{background-color:color-mix(in oklab, var(--background) 44%, transparent)}}.bg-background\/45{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/45{background-color:color-mix(in oklab, var(--background) 45%, transparent)}}.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/50{background-color:color-mix(in oklab, var(--background) 50%, transparent)}}.bg-background\/55{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/55{background-color:color-mix(in oklab, var(--background) 55%, transparent)}}.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/60{background-color:color-mix(in oklab, var(--background) 60%, transparent)}}.bg-background\/72{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/72{background-color:color-mix(in oklab, var(--background) 72%, transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-background\/88{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/88{background-color:color-mix(in oklab, var(--background) 88%, transparent)}}.bg-background\/92{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/92{background-color:color-mix(in oklab, var(--background) 92%, transparent)}}.bg-border{background-color:var(--border)}.bg-card\/20{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/20{background-color:color-mix(in oklab, var(--card) 20%, transparent)}}.bg-card\/30{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/30{background-color:color-mix(in oklab, var(--card) 30%, transparent)}}.bg-card\/35{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/35{background-color:color-mix(in oklab, var(--card) 35%, transparent)}}.bg-card\/85{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/85{background-color:color-mix(in oklab, var(--card) 85%, transparent)}}.bg-card\/\[0\.03\]{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/\[0\.03\]{background-color:color-mix(in oklab, var(--card) 3%, transparent)}}.bg-card\/\[0\.14\]{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/\[0\.14\]{background-color:color-mix(in oklab, var(--card) 14.0%, transparent)}}.bg-card\/\[0\.18\]{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/\[0\.18\]{background-color:color-mix(in oklab, var(--card) 18%, transparent)}}.bg-destructive,.bg-destructive\/8{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/8{background-color:color-mix(in oklab, var(--destructive) 8%, transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground,.bg-foreground\/70{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/70{background-color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.bg-graph-attention{background-color:var(--graph-attention)}.bg-graph-bg{background-color:var(--graph-bg)}.bg-graph-node-bg,.bg-graph-node-bg\/50{background-color:var(--graph-node-bg)}@supports (color:color-mix(in lab, red, red)){.bg-graph-node-bg\/50{background-color:color-mix(in oklab, var(--graph-node-bg) 50%, transparent)}}.bg-graph-node-bg\/72{background-color:var(--graph-node-bg)}@supports (color:color-mix(in lab, red, red)){.bg-graph-node-bg\/72{background-color:color-mix(in oklab, var(--graph-node-bg) 72%, transparent)}}.bg-graph-selection\/10{background-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.bg-graph-selection\/10{background-color:color-mix(in oklab, var(--graph-selection) 10%, transparent)}}.bg-graph-selection\/14{background-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.bg-graph-selection\/14{background-color:color-mix(in oklab, var(--graph-selection) 14%, transparent)}}.bg-graph-status-error,.bg-graph-status-error\/10{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-error\/10{background-color:color-mix(in oklab, var(--graph-status-error) 10%, transparent)}}.bg-graph-status-error\/14{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-error\/14{background-color:color-mix(in oklab, var(--graph-status-error) 14%, transparent)}}.bg-graph-status-error\/94{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-error\/94{background-color:color-mix(in oklab, var(--graph-status-error) 94%, transparent)}}.bg-graph-status-error\/\[0\.1\]{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-error\/\[0\.1\]{background-color:color-mix(in oklab, var(--graph-status-error) 10%, transparent)}}.bg-graph-status-error\/\[0\.09\]{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-error\/\[0\.09\]{background-color:color-mix(in oklab, var(--graph-status-error) 9%, transparent)}}.bg-graph-status-error\/\[0\.038\]{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-error\/\[0\.038\]{background-color:color-mix(in oklab, var(--graph-status-error) 3.8%, transparent)}}.bg-graph-status-idle,.bg-graph-status-idle\/20{background-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-idle\/20{background-color:color-mix(in oklab, var(--graph-status-idle) 20%, transparent)}}.bg-graph-status-idle\/\[0\.04\]{background-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-idle\/\[0\.04\]{background-color:color-mix(in oklab, var(--graph-status-idle) 4%, transparent)}}.bg-graph-status-idle\/\[0\.06\]{background-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-idle\/\[0\.06\]{background-color:color-mix(in oklab, var(--graph-status-idle) 6%, transparent)}}.bg-graph-status-idle\/\[0\.12\]{background-color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-idle\/\[0\.12\]{background-color:color-mix(in oklab, var(--graph-status-idle) 12%, transparent)}}.bg-graph-status-initializing,.bg-graph-status-initializing\/62{background-color:var(--graph-status-initializing)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-initializing\/62{background-color:color-mix(in oklab, var(--graph-status-initializing) 62%, transparent)}}.bg-graph-status-initializing\/\[0\.07\]{background-color:var(--graph-status-initializing)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-initializing\/\[0\.07\]{background-color:color-mix(in oklab, var(--graph-status-initializing) 7.0%, transparent)}}.bg-graph-status-initializing\/\[0\.08\]{background-color:var(--graph-status-initializing)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-initializing\/\[0\.08\]{background-color:color-mix(in oklab, var(--graph-status-initializing) 8%, transparent)}}.bg-graph-status-running,.bg-graph-status-running\/15{background-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-running\/15{background-color:color-mix(in oklab, var(--graph-status-running) 15%, transparent)}}.bg-graph-status-running\/80{background-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-running\/80{background-color:color-mix(in oklab, var(--graph-status-running) 80%, transparent)}}.bg-graph-status-running\/\[0\.08\]{background-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-running\/\[0\.08\]{background-color:color-mix(in oklab, var(--graph-status-running) 8%, transparent)}}.bg-graph-status-running\/\[0\.12\]{background-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-running\/\[0\.12\]{background-color:color-mix(in oklab, var(--graph-status-running) 12%, transparent)}}.bg-graph-status-sleeping,.bg-graph-status-sleeping\/\[0\.12\]{background-color:var(--graph-status-sleeping)}@supports (color:color-mix(in lab, red, red)){.bg-graph-status-sleeping\/\[0\.12\]{background-color:color-mix(in oklab, var(--graph-status-sleeping) 12%, transparent)}}.bg-graph-status-terminated{background-color:var(--graph-status-terminated)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.bg-muted-foreground\/80{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/80{background-color:color-mix(in oklab, var(--muted-foreground) 80%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/8{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/8{background-color:color-mix(in oklab, var(--primary) 8%, transparent)}}.bg-primary\/50{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/50{background-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.bg-primary\/\[0\.1\]{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/\[0\.1\]{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-ring,.bg-ring\/10{background-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.bg-ring\/10{background-color:color-mix(in oklab, var(--ring) 10%, transparent)}}.bg-ring\/28{background-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.bg-ring\/28{background-color:color-mix(in oklab, var(--ring) 28%, transparent)}}.bg-ring\/30{background-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.bg-ring\/30{background-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.bg-ring\/60{background-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.bg-ring\/60{background-color:color-mix(in oklab, var(--ring) 60%, transparent)}}.bg-ring\/82{background-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.bg-ring\/82{background-color:color-mix(in oklab, var(--ring) 82%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent\/25{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.bg-sidebar-accent\/25{background-color:color-mix(in oklab, var(--sidebar-accent) 25%, transparent)}}.bg-sidebar-accent\/45{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.bg-sidebar-accent\/45{background-color:color-mix(in oklab, var(--sidebar-accent) 45%, transparent)}}.bg-sidebar-accent\/60{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.bg-sidebar-accent\/60{background-color:color-mix(in oklab, var(--sidebar-accent) 60%, transparent)}}.bg-sidebar-foreground\/38{background-color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-sidebar-foreground\/38{background-color:color-mix(in oklab, var(--sidebar-foreground) 38%, transparent)}}.bg-sidebar-foreground\/76{background-color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-sidebar-foreground\/76{background-color:color-mix(in oklab, var(--sidebar-foreground) 76%, transparent)}}.bg-sidebar\/80{background-color:var(--sidebar)}@supports (color:color-mix(in lab, red, red)){.bg-sidebar\/80{background-color:color-mix(in oklab, var(--sidebar) 80%, transparent)}}.bg-sidebar\/92{background-color:var(--sidebar)}@supports (color:color-mix(in lab, red, red)){.bg-sidebar\/92{background-color:color-mix(in oklab, var(--sidebar) 92%, transparent)}}.bg-surface-1,.bg-surface-1\/20{background-color:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.bg-surface-1\/20{background-color:color-mix(in oklab, var(--surface-1) 20%, transparent)}}.bg-surface-1\/24{background-color:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.bg-surface-1\/24{background-color:color-mix(in oklab, var(--surface-1) 24%, transparent)}}.bg-surface-1\/28{background-color:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.bg-surface-1\/28{background-color:color-mix(in oklab, var(--surface-1) 28%, transparent)}}.bg-surface-2,.bg-surface-2\/62{background-color:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/62{background-color:color-mix(in oklab, var(--surface-2) 62%, transparent)}}.bg-surface-2\/92{background-color:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/92{background-color:color-mix(in oklab, var(--surface-2) 92%, transparent)}}.bg-surface-3{background-color:var(--surface-3)}.bg-surface-overlay,.bg-surface-overlay\/60{background-color:var(--surface-overlay)}@supports (color:color-mix(in lab, red, red)){.bg-surface-overlay\/60{background-color:color-mix(in oklab, var(--surface-overlay) 60%, transparent)}}.bg-surface-overlay\/80{background-color:var(--surface-overlay)}@supports (color:color-mix(in lab, red, red)){.bg-surface-overlay\/80{background-color:color-mix(in oklab, var(--surface-overlay) 80%, transparent)}}.bg-surface-overlay\/88{background-color:var(--surface-overlay)}@supports (color:color-mix(in lab, red, red)){.bg-surface-overlay\/88{background-color:color-mix(in oklab, var(--surface-overlay) 88%, transparent)}}.bg-surface-overlay\/90{background-color:var(--surface-overlay)}@supports (color:color-mix(in lab, red, red)){.bg-surface-overlay\/90{background-color:color-mix(in oklab, var(--surface-overlay) 90%, transparent)}}.bg-surface-overlay\/92{background-color:var(--surface-overlay)}@supports (color:color-mix(in lab, red, red)){.bg-surface-overlay\/92{background-color:color-mix(in oklab, var(--surface-overlay) 92%, transparent)}}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background\/28{--tw-gradient-from:var(--background)}@supports (color:color-mix(in lab, red, red)){.from-background\/28{--tw-gradient-from:color-mix(in oklab, var(--background) 28%, transparent)}}.from-background\/28{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-foreground\/\[0\.04\]{--tw-gradient-from:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.from-foreground\/\[0\.04\]{--tw-gradient-from:color-mix(in oklab, var(--foreground) 4%, transparent)}}.from-foreground\/\[0\.04\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-background\/70{--tw-gradient-via:var(--background)}@supports (color:color-mix(in lab, red, red)){.via-background\/70{--tw-gradient-via:color-mix(in oklab, var(--background) 70%, transparent)}}.via-background\/70{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-background\/95{--tw-gradient-to:var(--background)}@supports (color:color-mix(in lab, red, red)){.to-background\/95{--tw-gradient-to:color-mix(in oklab, var(--background) 95%, transparent)}}.to-background\/95{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-1\.75{padding-block:calc(var(--spacing) * 1.75)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pr-14{padding-right:calc(var(--spacing) * 14)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9em\]{font-size:.9em}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.15rem\]{font-size:1.15rem}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[28px\]{font-size:28px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground,.text-accent-foreground\/90{color:var(--accent-foreground)}@supports (color:color-mix(in lab, red, red)){.text-accent-foreground\/90{color:color-mix(in oklab, var(--accent-foreground) 90%, transparent)}}.text-background{color:var(--background)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/58{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/58{color:color-mix(in oklab, var(--foreground) 58%, transparent)}}.text-foreground\/66{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/66{color:color-mix(in oklab, var(--foreground) 66%, transparent)}}.text-foreground\/68{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/68{color:color-mix(in oklab, var(--foreground) 68%, transparent)}}.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.text-foreground\/72{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/72{color:color-mix(in oklab, var(--foreground) 72%, transparent)}}.text-foreground\/74{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/74{color:color-mix(in oklab, var(--foreground) 74%, transparent)}}.text-foreground\/75{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/75{color:color-mix(in oklab, var(--foreground) 75%, transparent)}}.text-foreground\/78{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/78{color:color-mix(in oklab, var(--foreground) 78%, transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab, var(--foreground) 80%, transparent)}}.text-foreground\/82{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/82{color:color-mix(in oklab, var(--foreground) 82%, transparent)}}.text-foreground\/84{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/84{color:color-mix(in oklab, var(--foreground) 84%, transparent)}}.text-foreground\/85{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/85{color:color-mix(in oklab, var(--foreground) 85%, transparent)}}.text-foreground\/86{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/86{color:color-mix(in oklab, var(--foreground) 86%, transparent)}}.text-foreground\/88{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/88{color:color-mix(in oklab, var(--foreground) 88%, transparent)}}.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab, var(--foreground) 90%, transparent)}}.text-graph-attention-text{color:var(--graph-attention-text)}.text-graph-status-error,.text-graph-status-error\/72{color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-error\/72{color:color-mix(in oklab, var(--graph-status-error) 72%, transparent)}}.text-graph-status-error\/78{color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-error\/78{color:color-mix(in oklab, var(--graph-status-error) 78%, transparent)}}.text-graph-status-error\/82{color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-error\/82{color:color-mix(in oklab, var(--graph-status-error) 82%, transparent)}}.text-graph-status-error\/84{color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-error\/84{color:color-mix(in oklab, var(--graph-status-error) 84%, transparent)}}.text-graph-status-error\/90{color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-error\/90{color:color-mix(in oklab, var(--graph-status-error) 90%, transparent)}}.text-graph-status-idle,.text-graph-status-idle\/72{color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-idle\/72{color:color-mix(in oklab, var(--graph-status-idle) 72%, transparent)}}.text-graph-status-idle\/78{color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-idle\/78{color:color-mix(in oklab, var(--graph-status-idle) 78%, transparent)}}.text-graph-status-idle\/88{color:var(--graph-status-idle)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-idle\/88{color:color-mix(in oklab, var(--graph-status-idle) 88%, transparent)}}.text-graph-status-initializing\/38{color:var(--graph-status-initializing)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-initializing\/38{color:color-mix(in oklab, var(--graph-status-initializing) 38%, transparent)}}.text-graph-status-initializing\/84{color:var(--graph-status-initializing)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-initializing\/84{color:color-mix(in oklab, var(--graph-status-initializing) 84%, transparent)}}.text-graph-status-running,.text-graph-status-running\/72{color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-running\/72{color:color-mix(in oklab, var(--graph-status-running) 72%, transparent)}}.text-graph-status-running\/80{color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-running\/80{color:color-mix(in oklab, var(--graph-status-running) 80%, transparent)}}.text-graph-status-running\/90{color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.text-graph-status-running\/90{color:color-mix(in oklab, var(--graph-status-running) 90%, transparent)}}.text-graph-status-sleeping{color:var(--graph-status-sleeping)}.text-inherit{color:inherit}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}.text-muted-foreground\/75{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/75{color:color-mix(in oklab, var(--muted-foreground) 75%, transparent)}}.text-muted-foreground\/76{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/76{color:color-mix(in oklab, var(--muted-foreground) 76%, transparent)}}.text-muted-foreground\/78{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/78{color:color-mix(in oklab, var(--muted-foreground) 78%, transparent)}}.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/80{color:color-mix(in oklab, var(--muted-foreground) 80%, transparent)}}.text-muted-foreground\/82{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/82{color:color-mix(in oklab, var(--muted-foreground) 82%, transparent)}}.text-muted-foreground\/92{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/92{color:color-mix(in oklab, var(--muted-foreground) 92%, transparent)}}.text-popover-foreground,.text-popover-foreground\/90{color:var(--popover-foreground)}@supports (color:color-mix(in lab, red, red)){.text-popover-foreground\/90{color:color-mix(in oklab, var(--popover-foreground) 90%, transparent)}}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/62{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/62{color:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}.text-sidebar-foreground\/64{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/64{color:color-mix(in oklab, var(--sidebar-foreground) 64%, transparent)}}.text-sidebar-foreground\/66{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/66{color:color-mix(in oklab, var(--sidebar-foreground) 66%, transparent)}}.text-sidebar-foreground\/74{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/74{color:color-mix(in oklab, var(--sidebar-foreground) 74%, transparent)}}.text-sidebar-foreground\/80{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/80{color:color-mix(in oklab, var(--sidebar-foreground) 80%, transparent)}}.text-sidebar-foreground\/82{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/82{color:color-mix(in oklab, var(--sidebar-foreground) 82%, transparent)}}.text-sidebar-foreground\/84{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/84{color:color-mix(in oklab, var(--sidebar-foreground) 84%, transparent)}}.text-sidebar-primary{color:var(--sidebar-primary)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.\!opacity-0{opacity:0!important}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--graph-glow\)\,0_0_18px_var\(--graph-glow\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--graph-glow)), 0 0 18px var(--tw-shadow-color,var(--graph-glow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--graph-glow\)\,0_0_24px_var\(--graph-glow\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--graph-glow)), 0 0 24px var(--tw-shadow-color,var(--graph-glow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--graph-glow\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--graph-glow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_color-mix\(in_srgb\,var\(--foreground\)_30\%\,transparent\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--foreground))}@supports (color:color-mix(in lab, red, red)){.shadow-\[0_0_8px_color-mix\(in_srgb\,var\(--foreground\)_30\%\,transparent\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,color-mix(in srgb,var(--foreground) 30%,transparent))}}.shadow-\[0_0_8px_color-mix\(in_srgb\,var\(--foreground\)_30\%\,transparent\)\]{box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_10px_var\(--graph-status-idle\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,var(--graph-status-idle));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_10px_var\(--graph-status-running\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,var(--graph-status-running));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_14px_var\(--sidebar-ring\)\]{--tw-shadow:0 0 14px var(--tw-shadow-color,var(--sidebar-ring));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_18px_var\(--sidebar-ring\)\]{--tw-shadow:0 0 18px var(--tw-shadow-color,var(--sidebar-ring));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_10px_24px_var\(--shell-scrim\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,var(--shell-scrim));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_10px_28px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 28px var(--tw-shadow-color,#00000047);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_18px_36px_-26px_var\(--shell-scrim\)\]{--tw-shadow:0 18px 36px -26px var(--tw-shadow-color,var(--shell-scrim));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_28px_80px_-32px_var\(--shell-scrim\)\]{--tw-shadow:0 28px 80px -32px var(--tw-shadow-color,var(--shell-scrim));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[18px_0_44px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:18px 0 44px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-ring\/5{--tw-shadow-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.shadow-ring\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--ring) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-ring\/10{--tw-shadow-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.shadow-ring\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--ring) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-graph-selection\/25{--tw-ring-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.ring-graph-selection\/25{--tw-ring-color:color-mix(in oklab, var(--graph-selection) 25%, transparent)}}.ring-graph-selection\/35{--tw-ring-color:var(--graph-selection)}@supports (color:color-mix(in lab, red, red)){.ring-graph-selection\/35{--tw-ring-color:color-mix(in oklab, var(--graph-selection) 35%, transparent)}}.ring-ring\/35{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/35{--tw-ring-color:color-mix(in oklab, var(--ring) 35%, transparent)}}.ring-sidebar{--tw-ring-color:var(--sidebar)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-white\/\[0\.04\]{--tw-ring-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.ring-white\/\[0\.04\]{--tw-ring-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[6px\]{--tw-backdrop-blur:blur(6px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\,opacity\,transform\]{transition-property:background-color,border-color,color,box-shadow,opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,transform\]{transition-property:background-color,border-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,box-shadow\,opacity\]{transition-property:background-color,box-shadow,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,box-shadow\]{transition-property:background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\]{transition-property:background-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,background-color\,box-shadow\]{transition-property:border-color,background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\,background-color\]{transition-property:border-color,box-shadow,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\]{transition-property:border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,border-color\,background-color\]{transition-property:color,border-color,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,border-color\,box-shadow\]{transition-property:opacity,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\,background-color\,border-color\,box-shadow\]{transition-property:opacity,transform,background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\,box-shadow\]{transition-property:opacity,transform,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\,background-color\,border-color\,color\]{transition-property:width,height,padding,background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.delay-100{transition-delay:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[180ms\]{--tw-duration:.18s;transition-duration:.18s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.\[contain\:paint\]{contain:paint}.delay-100{--tw-animation-delay:.1s;animation-delay:.1s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.zoom-in-95{--tw-enter-scale:.95}.\[contain-intrinsic-size\:auto_100px\]{contain-intrinsic-size:auto 100px}.\[content-visibility\:auto\]{content-visibility:auto}.running{animation-play-state:running}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:bg-accent\/40:is(:where(.group):hover *){background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-accent\/40:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/menu-item\:text-sidebar-accent-foreground:is(:where(.group\/menu-item):hover *){color:var(--sidebar-accent-foreground)}.group-hover\/resizer\:bg-primary\/30:is(:where(.group\/resizer):hover *){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.group-hover\/resizer\:bg-primary\/30:is(:where(.group\/resizer):hover *){background-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.group-hover\/resizer\:bg-sidebar-foreground\/66:is(:where(.group\/resizer):hover *){background-color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.group-hover\/resizer\:bg-sidebar-foreground\/66:is(:where(.group\/resizer):hover *){background-color:color-mix(in oklab, var(--sidebar-foreground) 66%, transparent)}}}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-muted-foreground\/70::placeholder{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-3:after{content:var(--tw-content);inset:calc(var(--spacing) * -3)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-ring\/45:focus-within{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:border-ring\/45:focus-within{border-color:color-mix(in oklab, var(--ring) 45%, transparent)}}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/35:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/35:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 35%, transparent)}}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-border:hover{border-color:var(--border)}.hover\:border-graph-node-border-hover:hover{border-color:var(--graph-node-border-hover)}.hover\:border-ring\/25:hover{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ring\/25:hover{border-color:color-mix(in oklab, var(--ring) 25%, transparent)}}.hover\:border-ring\/35:hover{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ring\/35:hover{border-color:color-mix(in oklab, var(--ring) 35%, transparent)}}.hover\:border-sidebar-ring\/40:hover{border-color:var(--sidebar-ring)}@supports (color:color-mix(in lab, red, red)){.hover\:border-sidebar-ring\/40:hover{border-color:color-mix(in oklab, var(--sidebar-ring) 40%, transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/15:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/15:hover{background-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.hover\:bg-accent\/20:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/20:hover{background-color:color-mix(in oklab, var(--accent) 20%, transparent)}}.hover\:bg-accent\/25:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/25:hover{background-color:color-mix(in oklab, var(--accent) 25%, transparent)}}.hover\:bg-accent\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.hover\:bg-accent\/35:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/35:hover{background-color:color-mix(in oklab, var(--accent) 35%, transparent)}}.hover\:bg-accent\/45:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/45:hover{background-color:color-mix(in oklab, var(--accent) 45%, transparent)}}.hover\:bg-accent\/55:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/55:hover{background-color:color-mix(in oklab, var(--accent) 55%, transparent)}}.hover\:bg-accent\/60:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/60:hover{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.hover\:bg-accent\/65:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/65:hover{background-color:color-mix(in oklab, var(--accent) 65%, transparent)}}.hover\:bg-accent\/70:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/70:hover{background-color:color-mix(in oklab, var(--accent) 70%, transparent)}}.hover\:bg-accent\/80:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/80:hover{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.hover\:bg-background\/40:hover{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-background\/40:hover{background-color:color-mix(in oklab, var(--background) 40%, transparent)}}.hover\:bg-background\/44:hover{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-background\/44:hover{background-color:color-mix(in oklab, var(--background) 44%, transparent)}}.hover\:bg-background\/72:hover{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-background\/72:hover{background-color:color-mix(in oklab, var(--background) 72%, transparent)}}.hover\:bg-background\/90:hover{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-background\/90:hover{background-color:color-mix(in oklab, var(--background) 90%, transparent)}}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.hover\:bg-graph-status-error\/22:hover{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-graph-status-error\/22:hover{background-color:color-mix(in oklab, var(--graph-status-error) 22%, transparent)}}.hover\:bg-graph-status-error\/\[0\.1\]:hover{background-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-graph-status-error\/\[0\.1\]:hover{background-color:color-mix(in oklab, var(--graph-status-error) 10%, transparent)}}.hover\:bg-graph-status-running\/\[0\.1\]:hover{background-color:var(--graph-status-running)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-graph-status-running\/\[0\.1\]:hover{background-color:color-mix(in oklab, var(--graph-status-running) 10%, transparent)}}.hover\:bg-inherit:hover{background-color:inherit}.hover\:bg-muted\/10:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/10:hover{background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover,.hover\:bg-sidebar-accent\/45:hover{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-sidebar-accent\/45:hover{background-color:color-mix(in oklab, var(--sidebar-accent) 45%, transparent)}}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-graph-status-error:hover,.hover\:text-graph-status-error\/84:hover{color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.hover\:text-graph-status-error\/84:hover{color:color-mix(in oklab, var(--graph-status-error) 84%, transparent)}}.hover\:text-graph-status-running:hover{color:var(--graph-status-running)}.hover\:text-inherit:hover{color:inherit}.hover\:text-popover-foreground:hover{color:var(--popover-foreground)}.hover\:text-primary\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_12px_34px_rgba\(0\,0\,0\,0\.34\)\]:hover{--tw-shadow:0 12px 34px var(--tw-shadow-color,#00000057);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-background\/35:focus{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.focus\:bg-background\/35:focus{background-color:color-mix(in oklab, var(--background) 35%, transparent)}}.focus\:bg-background\/65:focus{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.focus\:bg-background\/65:focus{background-color:color-mix(in oklab, var(--background) 65%, transparent)}}.focus\:bg-background\/70:focus{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.focus\:bg-background\/70:focus{background-color:color-mix(in oklab, var(--background) 70%, transparent)}}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:opacity-100:focus{opacity:1}.focus\:ring-\[3px\]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring\/50:focus{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-ring\/50:focus{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:scale-105:focus-visible{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.focus-visible\:border-destructive\/50:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/50:focus-visible{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:border-sidebar-ring\/55:focus-visible{border-color:var(--sidebar-ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-sidebar-ring\/55:focus-visible{border-color:color-mix(in oklab, var(--sidebar-ring) 55%, transparent)}}.focus-visible\:border-transparent:focus-visible{border-color:#0000}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-graph-status-error\/30:focus-visible{--tw-ring-color:var(--graph-status-error)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-graph-status-error\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--graph-status-error) 30%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 40%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:-translate-y-1\/2:active{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.96\]:active{scale:.96}.active\:bg-accent\/70:active{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.active\:bg-accent\/70:active{background-color:color-mix(in oklab, var(--accent) 70%, transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-transparent:disabled{border-color:#0000}.disabled\:text-muted-foreground\/50:disabled{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.disabled\:text-muted-foreground\/50:disabled{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.disabled\:active\:translate-y-0:disabled:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[active\=true\]\:border-sidebar-ring\/35[data-active=true]{border-color:var(--sidebar-ring)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:border-sidebar-ring\/35[data-active=true]{border-color:color-mix(in oklab, var(--sidebar-ring) 35%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent\/60[data-active=true]{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:bg-sidebar-accent\/60[data-active=true]{background-color:color-mix(in oklab, var(--sidebar-accent) 60%, transparent)}}.data-\[active\=true\]\:font-bold[data-active=true]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-\[active\=true\]\:text-sidebar-primary[data-active=true]{color:var(--sidebar-primary)}.data-\[active\=true\]\:shadow-\[inset_3px_0_0_var\(--sidebar-ring\)\][data-active=true]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--sidebar-ring));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}.data-\[state\=active\]\:border-primary[data-state=active]{border-color:var(--primary)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:bg-transparent[data-state=active]{background-color:#0000}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=active\]\:shadow-none[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@media (width>=40rem){.sm\:right-5{right:calc(var(--spacing) * 5)}.sm\:bottom-5{bottom:calc(var(--spacing) * 5)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.sm\:border-border{border-color:var(--border)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:w-\[35\%\]{width:35%}.md\:w-\[65\%\]{width:65%}.md\:max-w-md{max-width:var(--container-md)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.md\:grid-cols-\[minmax\(0\,1fr\)_16rem\]{grid-template-columns:minmax(0,1fr) 16rem}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:px-12{padding-inline:calc(var(--spacing) * 12)}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.75rem;--font-sans:"IBM Plex Sans", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--background:oklch(9% .002 260);--foreground:oklch(96.5% .002 260);--card:oklch(12.5% .002 260);--card-foreground:oklch(96.5% .002 260);--popover:oklch(12.5% .002 260);--popover-foreground:oklch(96.5% .002 260);--primary:oklch(96% .002 260);--primary-foreground:oklch(11% .002 260);--secondary:oklch(17% .002 260);--secondary-foreground:oklch(93% .002 260);--muted:oklch(15% .002 260);--muted-foreground:oklch(74% .003 260);--accent:oklch(20% .002 260);--accent-foreground:oklch(95% .002 260);--destructive:oklch(72% .002 260);--border:oklch(92% .002 260/.14);--input:oklch(92% .002 260/.18);--ring:oklch(96% .002 260/.88);--chart-1:oklch(84% .002 260);--chart-2:oklch(72% .002 260);--chart-3:oklch(60% .002 260);--chart-4:oklch(48% .002 260);--chart-5:oklch(36% .002 260);--sidebar:oklch(10.5% .002 260);--sidebar-foreground:oklch(93% .002 260);--sidebar-primary:oklch(96% .002 260);--sidebar-primary-foreground:oklch(11% .002 260);--sidebar-accent:oklch(16.5% .002 260);--sidebar-accent-foreground:oklch(93% .002 260);--sidebar-border:oklch(92% .002 260/.14);--sidebar-ring:oklch(96% .002 260/.88);--surface-1:oklch(10.5% .002 260);--surface-2:oklch(13% .002 260);--surface-3:oklch(16.5% .002 260);--surface-raised:oklch(14.5% .002 260);--surface-overlay:oklch(10.5% .002 260/.92);--glass-bg:oklch(12% .002 260/.94);--glass-border:oklch(95% .002 260/.1);--graph-bg:oklch(7.8% 0 0);--graph-node-bg:oklch(13.5% 0 0/.96);--graph-node-border:oklch(98% 0 0/.1);--graph-node-border-hover:oklch(98% 0 0/.24);--graph-selection:oklch(96% 0 0);--graph-handle-bg:oklch(92% 0 0/.2);--graph-handle-border:oklch(8% 0 0/.94);--graph-attention:oklch(96% 0 0);--graph-attention-text:oklch(96% 0 0);--graph-grid:oklch(98% 0 0/.07);--graph-edge:oklch(98% 0 0/.15);--graph-edge-active:oklch(98% 0 0/.86);--graph-glow:oklch(98% 0 0/.12);--graph-assistant:oklch(94% .002 260);--graph-status-running:oklch(72% .16 148);--graph-status-idle:oklch(74% .11 82);--graph-status-sleeping:oklch(72% .13 225);--graph-status-initializing:oklch(64% 0 0);--graph-status-error:oklch(63% .19 25);--graph-status-terminated:oklch(42% 0 0);--scrollbar-thumb:oklch(34% .002 260);--scrollbar-thumb-hover:oklch(44% .002 260);--shell-hairline:oklch(98% .002 260/.08);--shell-noise-dot:oklch(98% .002 260);--shell-noise-opacity:.022;--shell-scrim:oklch(3% .002 260/.58);--shell-spotlight-primary:oklch(98% .002 260/.032);--shell-spotlight-secondary:oklch(98% .002 260/.012);--shell-app-bg:linear-gradient(180deg, oklch(7% .002 260) 0%, oklch(8% .002 260) 100%);--shell-access-bg:linear-gradient(180deg, oklch(7% .002 260) 0%, oklch(8% .002 260) 100%);--shell-app-spotlight-primary:radial-gradient(circle at top left, var(--shell-spotlight-primary), transparent 18%);--shell-app-spotlight-secondary:radial-gradient(circle at 72% 12%, var(--shell-spotlight-secondary), transparent 18%);--shell-access-spotlight-primary:radial-gradient(circle at top left, var(--shell-spotlight-primary), transparent 18%);--shell-access-spotlight-secondary:radial-gradient(circle at 72% 12%, var(--shell-spotlight-secondary), transparent 18%);--shell-sweep:linear-gradient(180deg, oklch(98% .002 260/.02) 0%, transparent 16%, transparent 86%, oklch(98% .002 260/.012) 100%);--shell-surface-workspace:linear-gradient(180deg, oklch(11.5% .002 260/.9), oklch(10% .002 260/.86));--shell-surface-page:linear-gradient(180deg, oklch(13% .002 260/.9), oklch(11% .002 260/.88));--shell-surface-access:linear-gradient(180deg, oklch(13.5% .002 260/.96), oklch(11% .002 260/.94));--shell-surface-sweep:linear-gradient(180deg, oklch(98% .002 260/.026), transparent 14%, transparent 84%, oklch(98% .002 260/.012))}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scrollbar-none{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-none::-webkit-scrollbar{display:none}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.streaming-cursor{vertical-align:baseline;line-height:1;display:inline-block}.streaming-cursor:after{content:"";background:currentColor;border-radius:999px;width:.38em;height:1em;margin-left:.08em;animation:1s step-end infinite blink-cursor;display:inline-block;transform:translateY(1px)}@keyframes tool-call-pulse{0%,to{box-shadow:0 0 #ffffff1f}50%{box-shadow:0 0 10px 2px #ffffff2e}}.tool-call-pulse{animation:1s ease-in-out infinite tool-call-pulse}@keyframes idle-breathe{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}}.idle-breathe{animation:3s ease-in-out infinite idle-breathe}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.8s ease-in-out infinite shimmer}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.3s ease-out both fade-in-up}@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.agent-loading-border{border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--border-angle) at 50% 50%, transparent 0%, transparent 36%, color-mix(in srgb, var(--graph-status-running) 8%, transparent) 45%, color-mix(in srgb, var(--graph-status-running) 20%, transparent) 54%, color-mix(in srgb, var(--graph-status-running) 38%, transparent) 63%, color-mix(in srgb, var(--graph-status-running) 62%, transparent) 72%, var(--graph-status-running) 82%, color-mix(in srgb, var(--graph-status-running) 72%, white) 89%, color-mix(in srgb, var(--graph-status-running) 20%, transparent) 95%, transparent 100%);-webkit-mask-composite:xor;opacity:0;padding:2px;transition:opacity .4s;animation:2s linear infinite paused agent-border-rotate;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.agent-loading-border-active{opacity:1;animation-play-state:running}@keyframes agent-border-rotate{to{--border-angle:360deg}}.agent-state-ring{pointer-events:none;border-radius:inherit;--agent-ring-gradient:conic-gradient(from calc(var(--mouse-angle,135deg) - 180deg), transparent 0deg 120deg, color-mix(in srgb, var(--status-color) 50%, transparent) 150deg, color-mix(in srgb, var(--status-color) 100%, white 20%) 180deg, color-mix(in srgb, var(--status-color) 50%, transparent) 210deg, transparent 240deg 360deg);background:linear-gradient(var(--graph-node-bg), var(--graph-node-bg)) padding-box, var(--agent-ring-gradient) border-box;opacity:calc(var(--base-ring-opacity,.4) + var(--mouse-intensity,0) * var(--hover-ring-opacity,.6));box-shadow:0 0 calc(8px + 10px * var(--mouse-intensity,0)) 0 var(--agent-ring-shadow), 0 0 calc(16px + 18px * var(--mouse-intensity,0)) 0 var(--agent-ring-shadow-soft);border:1px solid #0000;position:absolute;inset:-1px}.agent-state-ring-running{--status-color:var(--graph-status-running);--agent-ring-shadow:color-mix(in srgb, var(--status-color) 26%, transparent);--agent-ring-shadow-soft:color-mix(in srgb, var(--status-color) 10%, transparent);--base-ring-opacity:.52;--hover-ring-opacity:.34}.agent-state-ring-idle{--status-color:var(--graph-status-idle);--agent-ring-shadow:color-mix(in srgb, var(--status-color) 20%, transparent);--agent-ring-shadow-soft:color-mix(in srgb, var(--status-color) 8%, transparent);--base-ring-opacity:.3;--hover-ring-opacity:.7}.agent-state-ring-sleeping{--status-color:var(--graph-status-sleeping);--agent-ring-shadow:color-mix(in srgb, var(--status-color) 24%, transparent);--agent-ring-shadow-soft:color-mix(in srgb, var(--status-color) 9%, transparent);--base-ring-opacity:.34;--hover-ring-opacity:.56}.agent-state-ring-initializing{--status-color:var(--graph-status-initializing);--agent-ring-shadow:color-mix(in srgb, var(--status-color) 24%, transparent);--agent-ring-shadow-soft:color-mix(in srgb, var(--status-color) 9%, transparent);--base-ring-opacity:.36;--hover-ring-opacity:.6}.agent-state-ring-error{--status-color:var(--graph-status-error);--agent-ring-shadow:color-mix(in srgb, var(--status-color) 28%, transparent);--agent-ring-shadow-soft:color-mix(in srgb, var(--status-color) 10%, transparent);--base-ring-opacity:.42;--hover-ring-opacity:.5}.agent-state-ring-terminated{--status-color:var(--graph-status-terminated);--agent-ring-shadow:color-mix(in srgb, var(--status-color) 12%, transparent);--agent-ring-shadow-soft:color-mix(in srgb, var(--status-color) 4%, transparent);--base-ring-opacity:.16;--hover-ring-opacity:.36}.react-flow__node.agent-graph-node-shell{will-change:transform, width, height;transition:transform .36s cubic-bezier(.23,1,.32,1),width .32s cubic-bezier(.23,1,.32,1),height .32s cubic-bezier(.23,1,.32,1),opacity .24s}.react-flow__edge.agent-graph-edge-shell,.agent-graph-edge-shell{will-change:opacity;transition:opacity .24s}