relay-teams 0.0.3.dev0__tar.gz

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 (560) hide show
  1. relay_teams-0.0.3.dev0/MANIFEST.in +1 -0
  2. relay_teams-0.0.3.dev0/PKG-INFO +119 -0
  3. relay_teams-0.0.3.dev0/README.md +86 -0
  4. relay_teams-0.0.3.dev0/frontend/dist/css/base.css +208 -0
  5. relay_teams-0.0.3.dev0/frontend/dist/css/components/base.css +652 -0
  6. relay_teams-0.0.3.dev0/frontend/dist/css/components/highlight.css +165 -0
  7. relay_teams-0.0.3.dev0/frontend/dist/css/components/messages.css +591 -0
  8. relay_teams-0.0.3.dev0/frontend/dist/css/components/orchestration.css +523 -0
  9. relay_teams-0.0.3.dev0/frontend/dist/css/components/rounds.css +754 -0
  10. relay_teams-0.0.3.dev0/frontend/dist/css/components/settings.css +2949 -0
  11. relay_teams-0.0.3.dev0/frontend/dist/css/components/tokens.css +1299 -0
  12. relay_teams-0.0.3.dev0/frontend/dist/css/components/tools.css +773 -0
  13. relay_teams-0.0.3.dev0/frontend/dist/css/components.css +8428 -0
  14. relay_teams-0.0.3.dev0/frontend/dist/css/layout.css +1661 -0
  15. relay_teams-0.0.3.dev0/frontend/dist/index.html +638 -0
  16. relay_teams-0.0.3.dev0/frontend/dist/js/app/bootstrap.js +137 -0
  17. relay_teams-0.0.3.dev0/frontend/dist/js/app/index.js +15 -0
  18. relay_teams-0.0.3.dev0/frontend/dist/js/app/prompt.js +1173 -0
  19. relay_teams-0.0.3.dev0/frontend/dist/js/app/recovery.js +1515 -0
  20. relay_teams-0.0.3.dev0/frontend/dist/js/app/retryStatus.js +81 -0
  21. relay_teams-0.0.3.dev0/frontend/dist/js/app/session.js +100 -0
  22. relay_teams-0.0.3.dev0/frontend/dist/js/app.js +9 -0
  23. relay_teams-0.0.3.dev0/frontend/dist/js/components/agentPanel/dom.js +25 -0
  24. relay_teams-0.0.3.dev0/frontend/dist/js/components/agentPanel/history.js +271 -0
  25. relay_teams-0.0.3.dev0/frontend/dist/js/components/agentPanel/index.js +218 -0
  26. relay_teams-0.0.3.dev0/frontend/dist/js/components/agentPanel/panelFactory.js +401 -0
  27. relay_teams-0.0.3.dev0/frontend/dist/js/components/agentPanel/state.js +56 -0
  28. relay_teams-0.0.3.dev0/frontend/dist/js/components/agentPanel.js +16 -0
  29. relay_teams-0.0.3.dev0/frontend/dist/js/components/contextIndicators.js +304 -0
  30. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/helpers/approval.js +128 -0
  31. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/helpers/block.js +417 -0
  32. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/helpers/content.js +226 -0
  33. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/helpers/toolBlocks.js +797 -0
  34. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/helpers.js +39 -0
  35. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/history.js +523 -0
  36. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/index.js +28 -0
  37. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer/stream.js +1246 -0
  38. relay_teams-0.0.3.dev0/frontend/dist/js/components/messageRenderer.js +27 -0
  39. relay_teams-0.0.3.dev0/frontend/dist/js/components/navbar.js +247 -0
  40. relay_teams-0.0.3.dev0/frontend/dist/js/components/observability.js +1345 -0
  41. relay_teams-0.0.3.dev0/frontend/dist/js/components/projectView.js +1738 -0
  42. relay_teams-0.0.3.dev0/frontend/dist/js/components/rounds/index.js +17 -0
  43. relay_teams-0.0.3.dev0/frontend/dist/js/components/rounds/navigator.js +306 -0
  44. relay_teams-0.0.3.dev0/frontend/dist/js/components/rounds/paging.js +43 -0
  45. relay_teams-0.0.3.dev0/frontend/dist/js/components/rounds/state.js +19 -0
  46. relay_teams-0.0.3.dev0/frontend/dist/js/components/rounds/timeline.js +924 -0
  47. relay_teams-0.0.3.dev0/frontend/dist/js/components/rounds/utils.js +59 -0
  48. relay_teams-0.0.3.dev0/frontend/dist/js/components/rounds.js +17 -0
  49. relay_teams-0.0.3.dev0/frontend/dist/js/components/sessionTokenUsage.js +191 -0
  50. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/agentsSettings.js +901 -0
  51. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/appearanceSettings.js +308 -0
  52. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/environmentVariables.js +535 -0
  53. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/githubSettings.js +286 -0
  54. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/index.js +1082 -0
  55. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/modelProfiles.js +1064 -0
  56. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/notifications.js +123 -0
  57. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/orchestrationSettings.js +624 -0
  58. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/proxySettings.js +335 -0
  59. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/rolesSettings.js +1090 -0
  60. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/systemStatus.js +457 -0
  61. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/triggerSettings.js +1554 -0
  62. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings/webSettings.js +402 -0
  63. relay_teams-0.0.3.dev0/frontend/dist/js/components/settings.js +11 -0
  64. relay_teams-0.0.3.dev0/frontend/dist/js/components/sidebar.js +1094 -0
  65. relay_teams-0.0.3.dev0/frontend/dist/js/components/subagentRail.js +357 -0
  66. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/automation.js +101 -0
  67. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/gateway.js +77 -0
  68. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/index.js +139 -0
  69. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/observability.js +28 -0
  70. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/request.js +59 -0
  71. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/roles.js +51 -0
  72. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/runs.js +140 -0
  73. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/sessions.js +137 -0
  74. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/system.js +311 -0
  75. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/token_usage.js +39 -0
  76. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/triggers.js +120 -0
  77. relay_teams-0.0.3.dev0/frontend/dist/js/core/api/workspaces.js +92 -0
  78. relay_teams-0.0.3.dev0/frontend/dist/js/core/api.js +109 -0
  79. relay_teams-0.0.3.dev0/frontend/dist/js/core/eventRouter/humanEvents.js +64 -0
  80. relay_teams-0.0.3.dev0/frontend/dist/js/core/eventRouter/index.js +231 -0
  81. relay_teams-0.0.3.dev0/frontend/dist/js/core/eventRouter/notificationEvents.js +13 -0
  82. relay_teams-0.0.3.dev0/frontend/dist/js/core/eventRouter/runEvents.js +357 -0
  83. relay_teams-0.0.3.dev0/frontend/dist/js/core/eventRouter/toolEvents.js +144 -0
  84. relay_teams-0.0.3.dev0/frontend/dist/js/core/eventRouter/utils.js +62 -0
  85. relay_teams-0.0.3.dev0/frontend/dist/js/core/eventRouter.js +5 -0
  86. relay_teams-0.0.3.dev0/frontend/dist/js/core/state.js +238 -0
  87. relay_teams-0.0.3.dev0/frontend/dist/js/core/stream.js +891 -0
  88. relay_teams-0.0.3.dev0/frontend/dist/js/utils/backendStatus.js +98 -0
  89. relay_teams-0.0.3.dev0/frontend/dist/js/utils/dom.js +66 -0
  90. relay_teams-0.0.3.dev0/frontend/dist/js/utils/feedback.js +363 -0
  91. relay_teams-0.0.3.dev0/frontend/dist/js/utils/i18n.js +2366 -0
  92. relay_teams-0.0.3.dev0/frontend/dist/js/utils/logger.js +205 -0
  93. relay_teams-0.0.3.dev0/frontend/dist/js/utils/markdown.js +400 -0
  94. relay_teams-0.0.3.dev0/frontend/dist/js/utils/notifications.js +123 -0
  95. relay_teams-0.0.3.dev0/frontend/dist/js/vendor/highlight.min.js +1244 -0
  96. relay_teams-0.0.3.dev0/frontend/dist/js/vendor/marked.min.js +6 -0
  97. relay_teams-0.0.3.dev0/frontend/dist/style.css +3 -0
  98. relay_teams-0.0.3.dev0/frontend/dist/vendor/chart.js +14 -0
  99. relay_teams-0.0.3.dev0/pyproject.toml +89 -0
  100. relay_teams-0.0.3.dev0/setup.cfg +4 -0
  101. relay_teams-0.0.3.dev0/setup.py +48 -0
  102. relay_teams-0.0.3.dev0/src/relay_teams/__init__.py +27 -0
  103. relay_teams-0.0.3.dev0/src/relay_teams/__main__.py +5 -0
  104. relay_teams-0.0.3.dev0/src/relay_teams/_version.py +6 -0
  105. relay_teams-0.0.3.dev0/src/relay_teams/agents/__init__.py +68 -0
  106. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/__init__.py +51 -0
  107. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/conversation_compaction.py +456 -0
  108. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/coordination_agent_builder.py +98 -0
  109. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/llm_session.py +2626 -0
  110. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/message_repository.py +830 -0
  111. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/prompt_instruction_state.py +81 -0
  112. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/prompt_instructions.py +268 -0
  113. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/recoverable_openai_chat_model.py +91 -0
  114. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/subagent_reflection.py +323 -0
  115. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/subagent_runner.py +81 -0
  116. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/system_prompts.py +590 -0
  117. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/tool_args_repair.py +188 -0
  118. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/tool_call_history.py +184 -0
  119. relay_teams-0.0.3.dev0/src/relay_teams/agents/execution/user_prompts.py +47 -0
  120. relay_teams-0.0.3.dev0/src/relay_teams/agents/instances/__init__.py +21 -0
  121. relay_teams-0.0.3.dev0/src/relay_teams/agents/instances/enums.py +12 -0
  122. relay_teams-0.0.3.dev0/src/relay_teams/agents/instances/ids.py +15 -0
  123. relay_teams-0.0.3.dev0/src/relay_teams/agents/instances/instance_repository.py +329 -0
  124. relay_teams-0.0.3.dev0/src/relay_teams/agents/instances/models.py +138 -0
  125. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/__init__.py +183 -0
  126. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/coordinator.py +808 -0
  127. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/human_gate.py +98 -0
  128. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/meta_agent.py +42 -0
  129. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/role_communication.py +295 -0
  130. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/settings_config_manager.py +36 -0
  131. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/settings_models.py +41 -0
  132. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/settings_service.py +106 -0
  133. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/task_execution_service.py +1007 -0
  134. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/task_execution_service_factory.py +88 -0
  135. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/task_orchestration_service.py +361 -0
  136. relay_teams-0.0.3.dev0/src/relay_teams/agents/orchestration/verification.py +49 -0
  137. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/__init__.py +26 -0
  138. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/enums.py +13 -0
  139. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/events.py +33 -0
  140. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/ids.py +15 -0
  141. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/models.py +47 -0
  142. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/status_snapshot.py +58 -0
  143. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/task_repository.py +245 -0
  144. relay_teams-0.0.3.dev0/src/relay_teams/agents/tasks/task_status_sanitizer.py +35 -0
  145. relay_teams-0.0.3.dev0/src/relay_teams/automation/__init__.py +79 -0
  146. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_bound_session_queue_repository.py +590 -0
  147. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_bound_session_queue_service.py +869 -0
  148. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_delivery_repository.py +631 -0
  149. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_delivery_service.py +567 -0
  150. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_event_repository.py +99 -0
  151. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_models.py +257 -0
  152. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_repository.py +468 -0
  153. relay_teams-0.0.3.dev0/src/relay_teams/automation/automation_service.py +665 -0
  154. relay_teams-0.0.3.dev0/src/relay_teams/automation/feishu_binding_service.py +158 -0
  155. relay_teams-0.0.3.dev0/src/relay_teams/automation/prompt_building.py +11 -0
  156. relay_teams-0.0.3.dev0/src/relay_teams/automation/scheduler_service.py +65 -0
  157. relay_teams-0.0.3.dev0/src/relay_teams/builtin/__init__.py +26 -0
  158. relay_teams-0.0.3.dev0/src/relay_teams/builtin/config/model.json +1 -0
  159. relay_teams-0.0.3.dev0/src/relay_teams/builtin/config/notifications.json +34 -0
  160. relay_teams-0.0.3.dev0/src/relay_teams/builtin/config/orchestration.json +17 -0
  161. relay_teams-0.0.3.dev0/src/relay_teams/builtin/config/prompts.json +3 -0
  162. relay_teams-0.0.3.dev0/src/relay_teams/builtin/logging/logger.ini +5 -0
  163. relay_teams-0.0.3.dev0/src/relay_teams/builtin/resources.py +91 -0
  164. relay_teams-0.0.3.dev0/src/relay_teams/builtin/roles/coordinator.md +30 -0
  165. relay_teams-0.0.3.dev0/src/relay_teams/builtin/roles/crafter.md +46 -0
  166. relay_teams-0.0.3.dev0/src/relay_teams/builtin/roles/daily-ai-report.md +413 -0
  167. relay_teams-0.0.3.dev0/src/relay_teams/builtin/roles/designer.md +40 -0
  168. relay_teams-0.0.3.dev0/src/relay_teams/builtin/roles/explorer.md +38 -0
  169. relay_teams-0.0.3.dev0/src/relay_teams/builtin/roles/gater.md +52 -0
  170. relay_teams-0.0.3.dev0/src/relay_teams/builtin/roles/main_agent.md +126 -0
  171. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/deepresearch/SKILL.md +367 -0
  172. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/deepresearch/methodology.md +255 -0
  173. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/deepresearch/news_source.md +285 -0
  174. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/deepresearch/output-formats.md +395 -0
  175. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/SKILL.md +528 -0
  176. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/aipptx.md +139 -0
  177. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/evolutions.json +47 -0
  178. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/package.json +22 -0
  179. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/ensure_output_dir.js +29 -0
  180. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/generate_timestamp_dir.js +33 -0
  181. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/svg_to_pptx/constants.py +21 -0
  182. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/svg_to_pptx/ensure_workdir.py +115 -0
  183. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/svg_to_pptx/svg_position_calculator.py +1485 -0
  184. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/svg_to_pptx/svg_quality_checker.py +520 -0
  185. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/svg_to_pptx/svg_rect_to_path.py +330 -0
  186. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/svg_to_pptx/svg_to_pptx.py +1108 -0
  187. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/scripts/svg_to_pptx/svg_to_shapes.py +2113 -0
  188. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/styles/huawei.md +401 -0
  189. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/pptx-craft/tests/test_output_structure.js +92 -0
  190. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/skill-installer/SKILL.md +73 -0
  191. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/skill-installer/scripts/bind-skill-to-role.py +43 -0
  192. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/skill-installer/scripts/install-skill-from-github.py +63 -0
  193. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/skill-installer/scripts/list-skills.py +41 -0
  194. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/time/SKILL.md +9 -0
  195. relay_teams-0.0.3.dev0/src/relay_teams/builtin/skills/time/scripts/get_current_time.py +8 -0
  196. relay_teams-0.0.3.dev0/src/relay_teams/computer/__init__.py +119 -0
  197. relay_teams-0.0.3.dev0/src/relay_teams/computer/linux_runtime.py +807 -0
  198. relay_teams-0.0.3.dev0/src/relay_teams/computer/mapping.py +189 -0
  199. relay_teams-0.0.3.dev0/src/relay_teams/computer/models.py +157 -0
  200. relay_teams-0.0.3.dev0/src/relay_teams/computer/runtime.py +385 -0
  201. relay_teams-0.0.3.dev0/src/relay_teams/env/__init__.py +118 -0
  202. relay_teams-0.0.3.dev0/src/relay_teams/env/env_cli.py +390 -0
  203. relay_teams-0.0.3.dev0/src/relay_teams/env/environment_variable_models.py +39 -0
  204. relay_teams-0.0.3.dev0/src/relay_teams/env/environment_variable_service.py +361 -0
  205. relay_teams-0.0.3.dev0/src/relay_teams/env/github_config_models.py +10 -0
  206. relay_teams-0.0.3.dev0/src/relay_teams/env/github_config_service.py +101 -0
  207. relay_teams-0.0.3.dev0/src/relay_teams/env/github_connectivity.py +300 -0
  208. relay_teams-0.0.3.dev0/src/relay_teams/env/github_env.py +45 -0
  209. relay_teams-0.0.3.dev0/src/relay_teams/env/github_secret_store.py +96 -0
  210. relay_teams-0.0.3.dev0/src/relay_teams/env/proxy_config_service.py +198 -0
  211. relay_teams-0.0.3.dev0/src/relay_teams/env/proxy_env.py +623 -0
  212. relay_teams-0.0.3.dev0/src/relay_teams/env/proxy_secret_store.py +101 -0
  213. relay_teams-0.0.3.dev0/src/relay_teams/env/runtime_env.py +139 -0
  214. relay_teams-0.0.3.dev0/src/relay_teams/env/web_config_models.py +99 -0
  215. relay_teams-0.0.3.dev0/src/relay_teams/env/web_config_service.py +202 -0
  216. relay_teams-0.0.3.dev0/src/relay_teams/env/web_connectivity.py +188 -0
  217. relay_teams-0.0.3.dev0/src/relay_teams/env/web_secret_store.py +133 -0
  218. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/__init__.py +43 -0
  219. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/acp_client.py +546 -0
  220. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/agent_cli.py +225 -0
  221. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/config_service.py +483 -0
  222. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/host_tool_bridge.py +819 -0
  223. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/host_tool_stdio_server.py +120 -0
  224. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/models.py +122 -0
  225. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/provider.py +1675 -0
  226. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/secret_store.py +141 -0
  227. relay_teams-0.0.3.dev0/src/relay_teams/external_agents/session_repository.py +136 -0
  228. relay_teams-0.0.3.dev0/src/relay_teams/frontend/__init__.py +4 -0
  229. relay_teams-0.0.3.dev0/src/relay_teams/gateway/__init__.py +109 -0
  230. relay_teams-0.0.3.dev0/src/relay_teams/gateway/acp_mcp_relay.py +876 -0
  231. relay_teams-0.0.3.dev0/src/relay_teams/gateway/acp_stdio.py +2001 -0
  232. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/__init__.py +277 -0
  233. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/account_repository.py +362 -0
  234. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/client.py +635 -0
  235. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/gateway_service.py +528 -0
  236. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/inbound_runtime.py +399 -0
  237. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/lark_ws_compat.py +58 -0
  238. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/message_pool_repository.py +915 -0
  239. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/message_pool_service.py +1043 -0
  240. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/models.py +301 -0
  241. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/notification_delivery.py +218 -0
  242. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/secret_store.py +167 -0
  243. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/subscription_service.py +801 -0
  244. relay_teams-0.0.3.dev0/src/relay_teams/gateway/feishu/trigger_handler.py +446 -0
  245. relay_teams-0.0.3.dev0/src/relay_teams/gateway/gateway_cli.py +401 -0
  246. relay_teams-0.0.3.dev0/src/relay_teams/gateway/gateway_model_profile_override.py +165 -0
  247. relay_teams-0.0.3.dev0/src/relay_teams/gateway/gateway_models.py +57 -0
  248. relay_teams-0.0.3.dev0/src/relay_teams/gateway/gateway_session_model_profile_store.py +18 -0
  249. relay_teams-0.0.3.dev0/src/relay_teams/gateway/gateway_session_repository.py +419 -0
  250. relay_teams-0.0.3.dev0/src/relay_teams/gateway/gateway_session_service.py +340 -0
  251. relay_teams-0.0.3.dev0/src/relay_teams/gateway/im/__init__.py +71 -0
  252. relay_teams-0.0.3.dev0/src/relay_teams/gateway/im/command_service.py +573 -0
  253. relay_teams-0.0.3.dev0/src/relay_teams/gateway/im/context.py +256 -0
  254. relay_teams-0.0.3.dev0/src/relay_teams/gateway/im/service.py +343 -0
  255. relay_teams-0.0.3.dev0/src/relay_teams/gateway/session_ingress_service.py +197 -0
  256. relay_teams-0.0.3.dev0/src/relay_teams/gateway/wechat/__init__.py +142 -0
  257. relay_teams-0.0.3.dev0/src/relay_teams/gateway/wechat/account_repository.py +375 -0
  258. relay_teams-0.0.3.dev0/src/relay_teams/gateway/wechat/client.py +792 -0
  259. relay_teams-0.0.3.dev0/src/relay_teams/gateway/wechat/inbound_queue_repository.py +492 -0
  260. relay_teams-0.0.3.dev0/src/relay_teams/gateway/wechat/models.py +311 -0
  261. relay_teams-0.0.3.dev0/src/relay_teams/gateway/wechat/secret_store.py +97 -0
  262. relay_teams-0.0.3.dev0/src/relay_teams/gateway/wechat/service.py +1377 -0
  263. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/__init__.py +18 -0
  264. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/cli/__init__.py +6 -0
  265. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/cli/app.py +354 -0
  266. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/cli/approvals_cli.py +69 -0
  267. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/cli/metrics_cli.py +262 -0
  268. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/cli/prompts_cli.py +200 -0
  269. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/cli/run_prompt_cli.py +388 -0
  270. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/sdk/__init__.py +3 -0
  271. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/sdk/client.py +760 -0
  272. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/app.py +334 -0
  273. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/cli.py +493 -0
  274. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/config_paths.py +42 -0
  275. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/config_status_service.py +67 -0
  276. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/container.py +1042 -0
  277. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/deps.py +183 -0
  278. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/__init__.py +36 -0
  279. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/automation.py +147 -0
  280. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/feishu_gateway.py +143 -0
  281. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/gateway.py +112 -0
  282. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/logs.py +83 -0
  283. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/mcp.py +33 -0
  284. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/observability.py +42 -0
  285. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/prompts.py +232 -0
  286. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/roles.py +173 -0
  287. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/runs.py +433 -0
  288. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/session_media.py +139 -0
  289. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/sessions.py +322 -0
  290. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/system.py +526 -0
  291. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/tasks.py +123 -0
  292. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/routers/workspaces.py +226 -0
  293. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/runtime_identity.py +235 -0
  294. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/ui_language_models.py +17 -0
  295. relay_teams-0.0.3.dev0/src/relay_teams/interfaces/server/ui_language_service.py +43 -0
  296. relay_teams-0.0.3.dev0/src/relay_teams/logger/__init__.py +29 -0
  297. relay_teams-0.0.3.dev0/src/relay_teams/logger/logger.py +674 -0
  298. relay_teams-0.0.3.dev0/src/relay_teams/mcp/__init__.py +34 -0
  299. relay_teams-0.0.3.dev0/src/relay_teams/mcp/config_reload_service.py +40 -0
  300. relay_teams-0.0.3.dev0/src/relay_teams/mcp/mcp_cli.py +184 -0
  301. relay_teams-0.0.3.dev0/src/relay_teams/mcp/mcp_config_manager.py +162 -0
  302. relay_teams-0.0.3.dev0/src/relay_teams/mcp/mcp_models.py +52 -0
  303. relay_teams-0.0.3.dev0/src/relay_teams/mcp/mcp_registry.py +248 -0
  304. relay_teams-0.0.3.dev0/src/relay_teams/mcp/mcp_service.py +71 -0
  305. relay_teams-0.0.3.dev0/src/relay_teams/media/__init__.py +39 -0
  306. relay_teams-0.0.3.dev0/src/relay_teams/media/asset_repository.py +201 -0
  307. relay_teams-0.0.3.dev0/src/relay_teams/media/asset_service.py +308 -0
  308. relay_teams-0.0.3.dev0/src/relay_teams/media/models.py +112 -0
  309. relay_teams-0.0.3.dev0/src/relay_teams/metrics/__init__.py +57 -0
  310. relay_teams-0.0.3.dev0/src/relay_teams/metrics/adapters/__init__.py +23 -0
  311. relay_teams-0.0.3.dev0/src/relay_teams/metrics/adapters/gateway_metrics.py +63 -0
  312. relay_teams-0.0.3.dev0/src/relay_teams/metrics/adapters/llm_metrics.py +49 -0
  313. relay_teams-0.0.3.dev0/src/relay_teams/metrics/adapters/retrieval_metrics.py +104 -0
  314. relay_teams-0.0.3.dev0/src/relay_teams/metrics/adapters/session_metrics.py +28 -0
  315. relay_teams-0.0.3.dev0/src/relay_teams/metrics/adapters/tool_metrics.py +75 -0
  316. relay_teams-0.0.3.dev0/src/relay_teams/metrics/definitions.py +134 -0
  317. relay_teams-0.0.3.dev0/src/relay_teams/metrics/models.py +189 -0
  318. relay_teams-0.0.3.dev0/src/relay_teams/metrics/query_service.py +408 -0
  319. relay_teams-0.0.3.dev0/src/relay_teams/metrics/recorder.py +41 -0
  320. relay_teams-0.0.3.dev0/src/relay_teams/metrics/registry.py +28 -0
  321. relay_teams-0.0.3.dev0/src/relay_teams/metrics/service.py +45 -0
  322. relay_teams-0.0.3.dev0/src/relay_teams/metrics/sinks/__init__.py +14 -0
  323. relay_teams-0.0.3.dev0/src/relay_teams/metrics/sinks/base.py +10 -0
  324. relay_teams-0.0.3.dev0/src/relay_teams/metrics/sinks/grafana_exporter.py +12 -0
  325. relay_teams-0.0.3.dev0/src/relay_teams/metrics/sinks/pretty_log.py +23 -0
  326. relay_teams-0.0.3.dev0/src/relay_teams/metrics/sinks/store_sink.py +13 -0
  327. relay_teams-0.0.3.dev0/src/relay_teams/metrics/stores/__init__.py +9 -0
  328. relay_teams-0.0.3.dev0/src/relay_teams/metrics/stores/sqlite.py +184 -0
  329. relay_teams-0.0.3.dev0/src/relay_teams/net/__init__.py +20 -0
  330. relay_teams-0.0.3.dev0/src/relay_teams/net/clients.py +90 -0
  331. relay_teams-0.0.3.dev0/src/relay_teams/net/constants.py +4 -0
  332. relay_teams-0.0.3.dev0/src/relay_teams/net/llm_client.py +97 -0
  333. relay_teams-0.0.3.dev0/src/relay_teams/net/proxy_transports.py +132 -0
  334. relay_teams-0.0.3.dev0/src/relay_teams/notifications/__init__.py +32 -0
  335. relay_teams-0.0.3.dev0/src/relay_teams/notifications/models.py +103 -0
  336. relay_teams-0.0.3.dev0/src/relay_teams/notifications/notification_config_manager.py +42 -0
  337. relay_teams-0.0.3.dev0/src/relay_teams/notifications/notification_service.py +101 -0
  338. relay_teams-0.0.3.dev0/src/relay_teams/notifications/notification_settings_service.py +30 -0
  339. relay_teams-0.0.3.dev0/src/relay_teams/paths/__init__.py +48 -0
  340. relay_teams-0.0.3.dev0/src/relay_teams/paths/filesystem.py +117 -0
  341. relay_teams-0.0.3.dev0/src/relay_teams/paths/root_paths.py +77 -0
  342. relay_teams-0.0.3.dev0/src/relay_teams/persistence/__init__.py +38 -0
  343. relay_teams-0.0.3.dev0/src/relay_teams/persistence/db.py +149 -0
  344. relay_teams-0.0.3.dev0/src/relay_teams/persistence/scope_models.py +30 -0
  345. relay_teams-0.0.3.dev0/src/relay_teams/persistence/shared_state_repo.py +172 -0
  346. relay_teams-0.0.3.dev0/src/relay_teams/persistence/sqlite_repository.py +45 -0
  347. relay_teams-0.0.3.dev0/src/relay_teams/providers/__init__.py +208 -0
  348. relay_teams-0.0.3.dev0/src/relay_teams/providers/known_model_context_windows.py +36 -0
  349. relay_teams-0.0.3.dev0/src/relay_teams/providers/llm_retry.py +378 -0
  350. relay_teams-0.0.3.dev0/src/relay_teams/providers/model_config.py +138 -0
  351. relay_teams-0.0.3.dev0/src/relay_teams/providers/model_config_manager.py +724 -0
  352. relay_teams-0.0.3.dev0/src/relay_teams/providers/model_config_service.py +100 -0
  353. relay_teams-0.0.3.dev0/src/relay_teams/providers/model_connectivity.py +887 -0
  354. relay_teams-0.0.3.dev0/src/relay_teams/providers/model_header_utils.py +33 -0
  355. relay_teams-0.0.3.dev0/src/relay_teams/providers/openai_compatible.py +601 -0
  356. relay_teams-0.0.3.dev0/src/relay_teams/providers/openai_model_profiles.py +24 -0
  357. relay_teams-0.0.3.dev0/src/relay_teams/providers/openai_support.py +92 -0
  358. relay_teams-0.0.3.dev0/src/relay_teams/providers/provider_contracts.py +104 -0
  359. relay_teams-0.0.3.dev0/src/relay_teams/providers/provider_factory.py +227 -0
  360. relay_teams-0.0.3.dev0/src/relay_teams/providers/provider_registry.py +59 -0
  361. relay_teams-0.0.3.dev0/src/relay_teams/providers/token_usage_repo.py +430 -0
  362. relay_teams-0.0.3.dev0/src/relay_teams/release/__init__.py +16 -0
  363. relay_teams-0.0.3.dev0/src/relay_teams/release/frontend_packaging.py +32 -0
  364. relay_teams-0.0.3.dev0/src/relay_teams/release/pull_request_issue_link.py +256 -0
  365. relay_teams-0.0.3.dev0/src/relay_teams/release/versioning.py +75 -0
  366. relay_teams-0.0.3.dev0/src/relay_teams/retrieval/__init__.py +30 -0
  367. relay_teams-0.0.3.dev0/src/relay_teams/retrieval/retrieval_models.py +78 -0
  368. relay_teams-0.0.3.dev0/src/relay_teams/retrieval/retrieval_service.py +268 -0
  369. relay_teams-0.0.3.dev0/src/relay_teams/retrieval/retrieval_store.py +61 -0
  370. relay_teams-0.0.3.dev0/src/relay_teams/retrieval/sqlite_store.py +813 -0
  371. relay_teams-0.0.3.dev0/src/relay_teams/roles/__init__.py +62 -0
  372. relay_teams-0.0.3.dev0/src/relay_teams/roles/memory_injection.py +35 -0
  373. relay_teams-0.0.3.dev0/src/relay_teams/roles/memory_models.py +27 -0
  374. relay_teams-0.0.3.dev0/src/relay_teams/roles/memory_repository.py +118 -0
  375. relay_teams-0.0.3.dev0/src/relay_teams/roles/memory_service.py +109 -0
  376. relay_teams-0.0.3.dev0/src/relay_teams/roles/role_cli.py +209 -0
  377. relay_teams-0.0.3.dev0/src/relay_teams/roles/role_models.py +117 -0
  378. relay_teams-0.0.3.dev0/src/relay_teams/roles/role_registry.py +296 -0
  379. relay_teams-0.0.3.dev0/src/relay_teams/roles/runtime_role_resolver.py +105 -0
  380. relay_teams-0.0.3.dev0/src/relay_teams/roles/settings_service.py +486 -0
  381. relay_teams-0.0.3.dev0/src/relay_teams/roles/temporary_role_models.py +61 -0
  382. relay_teams-0.0.3.dev0/src/relay_teams/roles/temporary_role_repository.py +226 -0
  383. relay_teams-0.0.3.dev0/src/relay_teams/secrets/__init__.py +23 -0
  384. relay_teams-0.0.3.dev0/src/relay_teams/secrets/secret_models.py +38 -0
  385. relay_teams-0.0.3.dev0/src/relay_teams/secrets/secret_store.py +509 -0
  386. relay_teams-0.0.3.dev0/src/relay_teams/secrets/sensitive_keys.py +15 -0
  387. relay_teams-0.0.3.dev0/src/relay_teams/sessions/__init__.py +107 -0
  388. relay_teams-0.0.3.dev0/src/relay_teams/sessions/external_session_binding_models.py +20 -0
  389. relay_teams-0.0.3.dev0/src/relay_teams/sessions/external_session_binding_repository.py +371 -0
  390. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/__init__.py +240 -0
  391. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/active_run_registry.py +37 -0
  392. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/assistant_errors.py +132 -0
  393. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/__init__.py +24 -0
  394. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/command_runtime.py +741 -0
  395. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/github_cli.py +187 -0
  396. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/github_cli_errors.py +30 -0
  397. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/manager.py +1299 -0
  398. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/models.py +51 -0
  399. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/projection.py +108 -0
  400. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/repository.py +403 -0
  401. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/background_tasks/service.py +316 -0
  402. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/enums.py +49 -0
  403. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/event_log.py +261 -0
  404. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/event_stream.py +51 -0
  405. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/ids.py +15 -0
  406. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/injection_queue.py +72 -0
  407. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/recoverable_pause.py +53 -0
  408. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/run_control_manager.py +749 -0
  409. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/run_intent_repo.py +346 -0
  410. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/run_manager.py +2655 -0
  411. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/run_models.py +176 -0
  412. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/run_runtime_repo.py +446 -0
  413. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/run_state_models.py +313 -0
  414. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/run_state_repo.py +252 -0
  415. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/runtime_config.py +398 -0
  416. relay_teams-0.0.3.dev0/src/relay_teams/sessions/runs/terminal_payload.py +42 -0
  417. relay_teams-0.0.3.dev0/src/relay_teams/sessions/session_history_marker_models.py +24 -0
  418. relay_teams-0.0.3.dev0/src/relay_teams/sessions/session_history_marker_repository.py +272 -0
  419. relay_teams-0.0.3.dev0/src/relay_teams/sessions/session_models.py +47 -0
  420. relay_teams-0.0.3.dev0/src/relay_teams/sessions/session_repository.py +512 -0
  421. relay_teams-0.0.3.dev0/src/relay_teams/sessions/session_rounds_projection.py +569 -0
  422. relay_teams-0.0.3.dev0/src/relay_teams/sessions/session_service.py +1055 -0
  423. relay_teams-0.0.3.dev0/src/relay_teams/skills/__init__.py +66 -0
  424. relay_teams-0.0.3.dev0/src/relay_teams/skills/config_reload_service.py +43 -0
  425. relay_teams-0.0.3.dev0/src/relay_teams/skills/discovery.py +275 -0
  426. relay_teams-0.0.3.dev0/src/relay_teams/skills/installer_support.py +797 -0
  427. relay_teams-0.0.3.dev0/src/relay_teams/skills/skill_cli.py +299 -0
  428. relay_teams-0.0.3.dev0/src/relay_teams/skills/skill_models.py +91 -0
  429. relay_teams-0.0.3.dev0/src/relay_teams/skills/skill_registry.py +686 -0
  430. relay_teams-0.0.3.dev0/src/relay_teams/skills/skill_routing_models.py +68 -0
  431. relay_teams-0.0.3.dev0/src/relay_teams/skills/skill_routing_service.py +566 -0
  432. relay_teams-0.0.3.dev0/src/relay_teams/tools/__init__.py +114 -0
  433. relay_teams-0.0.3.dev0/src/relay_teams/tools/_description_loader.py +14 -0
  434. relay_teams-0.0.3.dev0/src/relay_teams/tools/computer_tools/__init__.py +41 -0
  435. relay_teams-0.0.3.dev0/src/relay_teams/tools/computer_tools/runtime.py +351 -0
  436. relay_teams-0.0.3.dev0/src/relay_teams/tools/im_tools/__init__.py +3 -0
  437. relay_teams-0.0.3.dev0/src/relay_teams/tools/im_tools/im_send.py +58 -0
  438. relay_teams-0.0.3.dev0/src/relay_teams/tools/im_tools/im_send.txt +14 -0
  439. relay_teams-0.0.3.dev0/src/relay_teams/tools/im_tools/path_resolution.py +65 -0
  440. relay_teams-0.0.3.dev0/src/relay_teams/tools/registry/__init__.py +54 -0
  441. relay_teams-0.0.3.dev0/src/relay_teams/tools/registry/defaults.py +28 -0
  442. relay_teams-0.0.3.dev0/src/relay_teams/tools/registry/registry.py +217 -0
  443. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/__init__.py +118 -0
  444. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/approval_state.py +135 -0
  445. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/approval_ticket_repo.py +576 -0
  446. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/context.py +155 -0
  447. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/execution.py +849 -0
  448. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/models.py +88 -0
  449. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/persisted_state.py +474 -0
  450. relay_teams-0.0.3.dev0/src/relay_teams/tools/runtime/policy.py +73 -0
  451. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/__init__.py +25 -0
  452. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/create_tasks.py +37 -0
  453. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/create_tasks.txt +8 -0
  454. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/create_temporary_role.py +100 -0
  455. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/create_temporary_role.txt +3 -0
  456. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/dispatch_task.py +38 -0
  457. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/dispatch_task.txt +7 -0
  458. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/list_available_roles.py +57 -0
  459. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/list_available_roles.txt +7 -0
  460. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/list_delegated_tasks.py +32 -0
  461. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/list_delegated_tasks.txt +6 -0
  462. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/list_run_tasks.py +33 -0
  463. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/list_run_tasks.txt +6 -0
  464. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/update_task.py +45 -0
  465. relay_teams-0.0.3.dev0/src/relay_teams/tools/task_tools/update_task.txt +7 -0
  466. relay_teams-0.0.3.dev0/src/relay_teams/tools/web_tools/__init__.py +9 -0
  467. relay_teams-0.0.3.dev0/src/relay_teams/tools/web_tools/common.py +97 -0
  468. relay_teams-0.0.3.dev0/src/relay_teams/tools/web_tools/preapproved.py +132 -0
  469. relay_teams-0.0.3.dev0/src/relay_teams/tools/web_tools/webfetch.py +2573 -0
  470. relay_teams-0.0.3.dev0/src/relay_teams/tools/web_tools/webfetch.txt +10 -0
  471. relay_teams-0.0.3.dev0/src/relay_teams/tools/web_tools/websearch.py +1261 -0
  472. relay_teams-0.0.3.dev0/src/relay_teams/tools/web_tools/websearch.txt +6 -0
  473. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/__init__.py +140 -0
  474. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/background_task_tool_support.py +30 -0
  475. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/command_canonicalization.py +65 -0
  476. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/edit.py +519 -0
  477. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/edit.txt +10 -0
  478. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/edit_state.py +105 -0
  479. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/github_cli.py +187 -0
  480. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/github_cli_errors.py +30 -0
  481. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/glob.py +96 -0
  482. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/glob.txt +10 -0
  483. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/grep.py +74 -0
  484. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/grep.txt +11 -0
  485. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/list_background_tasks.py +41 -0
  486. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/list_background_tasks.txt +5 -0
  487. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/path_utils.py +37 -0
  488. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/read.py +335 -0
  489. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/read.txt +13 -0
  490. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/ripgrep.py +283 -0
  491. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/ripgrep_errors.py +54 -0
  492. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/ripgrep_types.py +41 -0
  493. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/shell.py +251 -0
  494. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/shell.txt +7 -0
  495. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/shell_approval_repo.py +222 -0
  496. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/shell_executor.py +617 -0
  497. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/shell_policy.py +802 -0
  498. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/stop_background_task.py +40 -0
  499. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/stop_background_task.txt +5 -0
  500. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/wait_background_task.py +46 -0
  501. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/wait_background_task.txt +5 -0
  502. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/write.py +156 -0
  503. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/write.txt +11 -0
  504. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/write_tmp.py +95 -0
  505. relay_teams-0.0.3.dev0/src/relay_teams/tools/workspace_tools/write_tmp.txt +10 -0
  506. relay_teams-0.0.3.dev0/src/relay_teams/trace/__init__.py +25 -0
  507. relay_teams-0.0.3.dev0/src/relay_teams/trace/context.py +80 -0
  508. relay_teams-0.0.3.dev0/src/relay_teams/trace/span.py +131 -0
  509. relay_teams-0.0.3.dev0/src/relay_teams/validation/__init__.py +21 -0
  510. relay_teams-0.0.3.dev0/src/relay_teams/validation/identifiers.py +66 -0
  511. relay_teams-0.0.3.dev0/src/relay_teams/workspace/__init__.py +64 -0
  512. relay_teams-0.0.3.dev0/src/relay_teams/workspace/directory_picker.py +197 -0
  513. relay_teams-0.0.3.dev0/src/relay_teams/workspace/git_worktree.py +133 -0
  514. relay_teams-0.0.3.dev0/src/relay_teams/workspace/handle.py +142 -0
  515. relay_teams-0.0.3.dev0/src/relay_teams/workspace/ids.py +46 -0
  516. relay_teams-0.0.3.dev0/src/relay_teams/workspace/workspace_manager.py +202 -0
  517. relay_teams-0.0.3.dev0/src/relay_teams/workspace/workspace_models.py +158 -0
  518. relay_teams-0.0.3.dev0/src/relay_teams/workspace/workspace_repository.py +243 -0
  519. relay_teams-0.0.3.dev0/src/relay_teams/workspace/workspace_service.py +834 -0
  520. relay_teams-0.0.3.dev0/src/relay_teams.egg-info/PKG-INFO +119 -0
  521. relay_teams-0.0.3.dev0/src/relay_teams.egg-info/SOURCES.txt +558 -0
  522. relay_teams-0.0.3.dev0/src/relay_teams.egg-info/dependency_links.txt +1 -0
  523. relay_teams-0.0.3.dev0/src/relay_teams.egg-info/entry_points.txt +3 -0
  524. relay_teams-0.0.3.dev0/src/relay_teams.egg-info/requires.txt +29 -0
  525. relay_teams-0.0.3.dev0/src/relay_teams.egg-info/top_level.txt +2 -0
  526. relay_teams-0.0.3.dev0/src/relay_teams_evals/__init__.py +1 -0
  527. relay_teams-0.0.3.dev0/src/relay_teams_evals/backends/__init__.py +26 -0
  528. relay_teams-0.0.3.dev0/src/relay_teams_evals/backends/agent_teams.py +483 -0
  529. relay_teams-0.0.3.dev0/src/relay_teams_evals/backends/agent_teams_config.py +22 -0
  530. relay_teams-0.0.3.dev0/src/relay_teams_evals/backends/base.py +49 -0
  531. relay_teams-0.0.3.dev0/src/relay_teams_evals/checkpoint.py +182 -0
  532. relay_teams-0.0.3.dev0/src/relay_teams_evals/conftest.py +10 -0
  533. relay_teams-0.0.3.dev0/src/relay_teams_evals/jsonl/__init__.py +1 -0
  534. relay_teams-0.0.3.dev0/src/relay_teams_evals/jsonl/eval_custom.py +27 -0
  535. relay_teams-0.0.3.dev0/src/relay_teams_evals/loaders/__init__.py +1 -0
  536. relay_teams-0.0.3.dev0/src/relay_teams_evals/loaders/base.py +11 -0
  537. relay_teams-0.0.3.dev0/src/relay_teams_evals/loaders/jsonl_loader.py +58 -0
  538. relay_teams-0.0.3.dev0/src/relay_teams_evals/loaders/swebench_loader.py +151 -0
  539. relay_teams-0.0.3.dev0/src/relay_teams_evals/models.py +148 -0
  540. relay_teams-0.0.3.dev0/src/relay_teams_evals/reporter.py +327 -0
  541. relay_teams-0.0.3.dev0/src/relay_teams_evals/run.py +528 -0
  542. relay_teams-0.0.3.dev0/src/relay_teams_evals/run_config.py +142 -0
  543. relay_teams-0.0.3.dev0/src/relay_teams_evals/runner.py +359 -0
  544. relay_teams-0.0.3.dev0/src/relay_teams_evals/scorers/__init__.py +1 -0
  545. relay_teams-0.0.3.dev0/src/relay_teams_evals/scorers/base.py +33 -0
  546. relay_teams-0.0.3.dev0/src/relay_teams_evals/scorers/event_status_scorer.py +55 -0
  547. relay_teams-0.0.3.dev0/src/relay_teams_evals/scorers/keyword_scorer.py +67 -0
  548. relay_teams-0.0.3.dev0/src/relay_teams_evals/scorers/regex_scorer.py +70 -0
  549. relay_teams-0.0.3.dev0/src/relay_teams_evals/scorers/swebench_docker_scorer.py +544 -0
  550. relay_teams-0.0.3.dev0/src/relay_teams_evals/scorers/swebench_scorer.py +145 -0
  551. relay_teams-0.0.3.dev0/src/relay_teams_evals/scripts/__init__.py +1 -0
  552. relay_teams-0.0.3.dev0/src/relay_teams_evals/scripts/download_swebench.py +102 -0
  553. relay_teams-0.0.3.dev0/src/relay_teams_evals/swebench_evals/__init__.py +1 -0
  554. relay_teams-0.0.3.dev0/src/relay_teams_evals/swebench_evals/eval_lite.py +37 -0
  555. relay_teams-0.0.3.dev0/src/relay_teams_evals/workspace/__init__.py +1 -0
  556. relay_teams-0.0.3.dev0/src/relay_teams_evals/workspace/artifact_collector.py +147 -0
  557. relay_teams-0.0.3.dev0/src/relay_teams_evals/workspace/base.py +50 -0
  558. relay_teams-0.0.3.dev0/src/relay_teams_evals/workspace/docker_setup.py +539 -0
  559. relay_teams-0.0.3.dev0/src/relay_teams_evals/workspace/git_setup.py +66 -0
  560. relay_teams-0.0.3.dev0/src/relay_teams_evals/workspace/patch_extractor.py +34 -0
@@ -0,0 +1 @@
1
+ graft frontend/dist
@@ -0,0 +1,119 @@
1
+ Metadata-Version: 2.4
2
+ Name: relay-teams
3
+ Version: 0.0.3.dev0
4
+ Summary: Role-driven multi-agent framework with strong typing and tool-based collaboration.
5
+ Requires-Python: >=3.12
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: pydantic>=2.7.0
8
+ Requires-Dist: pydantic-ai
9
+ Requires-Dist: pydantic-ai-slim[fastmcp]
10
+ Requires-Dist: PyYAML>=6.0.1
11
+ Requires-Dist: typer>=0.12.3
12
+ Requires-Dist: fastapi>=0.100.0
13
+ Requires-Dist: uvicorn[standard]>=0.23.0
14
+ Requires-Dist: httpx>=0.27.0
15
+ Requires-Dist: json-repair>=0.58.7
16
+ Requires-Dist: lark-oapi==1.5.3
17
+ Requires-Dist: markdownify>=1.2.0
18
+ Requires-Dist: defusedxml>=0.7.1
19
+ Requires-Dist: qrcode>=8.0
20
+ Requires-Dist: pywinpty>=3.0.3; platform_system == "Windows"
21
+ Provides-Extra: dev
22
+ Requires-Dist: pytest>=8.2.0; extra == "dev"
23
+ Requires-Dist: pytest-timeout>=2.1.0; extra == "dev"
24
+ Requires-Dist: pytest-asyncio>=1.2.0; extra == "dev"
25
+ Requires-Dist: coverage>=7.8.0; extra == "dev"
26
+ Requires-Dist: pytest-cov>=6.0.0; extra == "dev"
27
+ Requires-Dist: pytest-html>=4.1.1; extra == "dev"
28
+ Requires-Dist: playwright>=1.49.0; extra == "dev"
29
+ Requires-Dist: pre-commit>=4.5.0; extra == "dev"
30
+ Requires-Dist: ruff>=0.9.10; extra == "dev"
31
+ Requires-Dist: basedpyright>=1.36.2; extra == "dev"
32
+ Requires-Dist: pyright>=1.1.408; extra == "dev"
33
+
34
+ # relay-teams
35
+
36
+ Role-driven multi-agent orchestration framework built with strong typing and tool-only collaboration flow.
37
+ Runtime model execution uses `pydantic_ai` with OpenAI-compatible endpoints.
38
+
39
+ ## Evaluation Snapshot
40
+
41
+ Recent SWE-bench snapshots are archived under [`docs/evaluations/swebench/`](docs/evaluations/swebench/README.md).
42
+ Current snapshots cover only the first `100` items from `SWE-bench Verified`, not the full benchmark.
43
+
44
+ Using glm-5,Temperature: 0.7,Top P:0.95.
45
+
46
+ | Mode | Benchmark | Pass Rate | Passed | Failed | Mean Duration | Input Tokens | Cached Input | Output Tokens | Requests | Tool Calls | Report |
47
+ | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
48
+ | Normal | SWE-bench Verified 100 | 72.0% | 72 | 28 | 369.2s | 60,265,198 | 58,214,976 | 451,537 | 2,432 | 2,484 | [HTML](docs/evaluations/swebench/normal-swebench-verified-100-report.html) |
49
+ | Orchestration | SWE-bench Verified 100 | 73.0% | 73 | 27 | 704.2s | 103,016,077 | 95,659,776 | 1,886,195 | 6,026 | 7,171 | [HTML](docs/evaluations/swebench/orchestration-swebench-verified-100-report.html) |
50
+
51
+ Highlights:
52
+
53
+ - `Orchestration` currently reaches `73/100` on `SWE-bench Verified 100`, with `96` runs finishing in `completed` state and `4` ending in `failed`.
54
+ - `Normal` mode currently reaches `72/100` on `SWE-bench Verified 100`, with `97` runs finishing in `completed` state and `3` ending in `failed`.
55
+ - Token usage is reported directly in the table so model IO and tool activity can be compared without deriving cost assumptions.
56
+
57
+ ## Web Interface
58
+
59
+ ![Agent Teams Web Interface](docs/relay_teams.png)
60
+
61
+ Start the server with `uv run relay-teams server start` and open http://127.0.0.1:8000 in your browser.
62
+ Use `uv run relay-teams server restart` to restart the managed server, and `uv run relay-teams server stop --force` to force stop it.
63
+ The web UI now includes a language toggle beside the settings button so you can switch between English and Simplified Chinese in-page.
64
+
65
+ Frontend assets are now decoupled under `frontend/dist` and served by the backend.
66
+
67
+ ## Quick start
68
+
69
+ ### 1) Install dependencies
70
+
71
+ Use the setup script for your platform, install from PyPI, or install directly with `uv`.
72
+
73
+ Windows:
74
+
75
+ ```powershell
76
+ .\setup.bat
77
+ ```
78
+
79
+ Linux/macOS:
80
+
81
+ ```bash
82
+ sh setup.sh
83
+ ```
84
+
85
+ Install from PyPI:
86
+
87
+ ```bash
88
+ pip install relay-teams
89
+ ```
90
+
91
+ Direct install:
92
+
93
+ ```bash
94
+ uv sync --extra dev
95
+ uv pip install -e .
96
+ ```
97
+
98
+ For local development, prefer `uv run --extra dev ...` over raw `python`, `pytest`, or `ruff` so commands execute inside the repository environment instead of a system interpreter.
99
+
100
+ ### 2) help
101
+
102
+ ```bash
103
+ relay-teams --help
104
+
105
+ # for evals
106
+ relay-teams-evals --help
107
+ ```
108
+
109
+ If the `relay-teams` command is still missing in a fresh local checkout, the project package was not installed into the active virtual environment. Run `uv pip install -e .` or use `uv run python -m relay_teams --help` as a fallback.
110
+
111
+ Examples:
112
+
113
+ ```bash
114
+ uv run --extra dev pytest -q
115
+ uv run --extra dev ruff check --fix
116
+ uv run --extra dev basedpyright
117
+ ```
118
+
119
+
@@ -0,0 +1,86 @@
1
+ # relay-teams
2
+
3
+ Role-driven multi-agent orchestration framework built with strong typing and tool-only collaboration flow.
4
+ Runtime model execution uses `pydantic_ai` with OpenAI-compatible endpoints.
5
+
6
+ ## Evaluation Snapshot
7
+
8
+ Recent SWE-bench snapshots are archived under [`docs/evaluations/swebench/`](docs/evaluations/swebench/README.md).
9
+ Current snapshots cover only the first `100` items from `SWE-bench Verified`, not the full benchmark.
10
+
11
+ Using glm-5,Temperature: 0.7,Top P:0.95.
12
+
13
+ | Mode | Benchmark | Pass Rate | Passed | Failed | Mean Duration | Input Tokens | Cached Input | Output Tokens | Requests | Tool Calls | Report |
14
+ | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
15
+ | Normal | SWE-bench Verified 100 | 72.0% | 72 | 28 | 369.2s | 60,265,198 | 58,214,976 | 451,537 | 2,432 | 2,484 | [HTML](docs/evaluations/swebench/normal-swebench-verified-100-report.html) |
16
+ | Orchestration | SWE-bench Verified 100 | 73.0% | 73 | 27 | 704.2s | 103,016,077 | 95,659,776 | 1,886,195 | 6,026 | 7,171 | [HTML](docs/evaluations/swebench/orchestration-swebench-verified-100-report.html) |
17
+
18
+ Highlights:
19
+
20
+ - `Orchestration` currently reaches `73/100` on `SWE-bench Verified 100`, with `96` runs finishing in `completed` state and `4` ending in `failed`.
21
+ - `Normal` mode currently reaches `72/100` on `SWE-bench Verified 100`, with `97` runs finishing in `completed` state and `3` ending in `failed`.
22
+ - Token usage is reported directly in the table so model IO and tool activity can be compared without deriving cost assumptions.
23
+
24
+ ## Web Interface
25
+
26
+ ![Agent Teams Web Interface](docs/relay_teams.png)
27
+
28
+ Start the server with `uv run relay-teams server start` and open http://127.0.0.1:8000 in your browser.
29
+ Use `uv run relay-teams server restart` to restart the managed server, and `uv run relay-teams server stop --force` to force stop it.
30
+ The web UI now includes a language toggle beside the settings button so you can switch between English and Simplified Chinese in-page.
31
+
32
+ Frontend assets are now decoupled under `frontend/dist` and served by the backend.
33
+
34
+ ## Quick start
35
+
36
+ ### 1) Install dependencies
37
+
38
+ Use the setup script for your platform, install from PyPI, or install directly with `uv`.
39
+
40
+ Windows:
41
+
42
+ ```powershell
43
+ .\setup.bat
44
+ ```
45
+
46
+ Linux/macOS:
47
+
48
+ ```bash
49
+ sh setup.sh
50
+ ```
51
+
52
+ Install from PyPI:
53
+
54
+ ```bash
55
+ pip install relay-teams
56
+ ```
57
+
58
+ Direct install:
59
+
60
+ ```bash
61
+ uv sync --extra dev
62
+ uv pip install -e .
63
+ ```
64
+
65
+ For local development, prefer `uv run --extra dev ...` over raw `python`, `pytest`, or `ruff` so commands execute inside the repository environment instead of a system interpreter.
66
+
67
+ ### 2) help
68
+
69
+ ```bash
70
+ relay-teams --help
71
+
72
+ # for evals
73
+ relay-teams-evals --help
74
+ ```
75
+
76
+ If the `relay-teams` command is still missing in a fresh local checkout, the project package was not installed into the active virtual environment. Run `uv pip install -e .` or use `uv run python -m relay_teams --help` as a fallback.
77
+
78
+ Examples:
79
+
80
+ ```bash
81
+ uv run --extra dev pytest -q
82
+ uv run --extra dev ruff check --fix
83
+ uv run --extra dev basedpyright
84
+ ```
85
+
86
+
@@ -0,0 +1,208 @@
1
+ /* base.css - Core theme variables and global primitives */
2
+
3
+ :root {
4
+ --bg-base: #161718;
5
+ --bg-surface: #1d1f21;
6
+ --bg-surface-glass: #1d1f21;
7
+ --bg-surface-muted: #202326;
8
+ --border-color: #30343a;
9
+ --text-primary: #f0eee8;
10
+ --text-secondary: #a5aaa6;
11
+ --text-on-primary: #101211;
12
+ --text-msg-content: #ece9e1;
13
+ --text-tool-name: #d7dccd;
14
+ --text-tool-args: #afb7ab;
15
+ --text-node-title: #f0eee8;
16
+ --primary: #91a698;
17
+ --primary-hover: #a8b8ac;
18
+ --button-primary-bg: #494641;
19
+ --button-primary-hover: #56524c;
20
+ --button-primary-border: #625c55;
21
+ --button-primary-text: #f4efe8;
22
+ --button-secondary-bg: #232629;
23
+ --button-secondary-hover: #2b2f32;
24
+ --button-secondary-border: #373c41;
25
+ --button-secondary-text: #f0eee8;
26
+ --success: #76a17b;
27
+ --danger: #c27b72;
28
+ --warning: #b89a66;
29
+ --font-ui: 'IBM Plex Sans', 'Helvetica Neue', sans-serif;
30
+ --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
31
+ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12);
32
+ --shadow-md: 0 3px 10px rgba(0, 0, 0, 0.16);
33
+ --radius-sm: 0.375rem;
34
+ --radius-md: 0.5rem;
35
+ --radius-lg: 0.625rem;
36
+
37
+ --bg-hover: rgba(240, 238, 232, 0.04);
38
+ --bg-hover-strong: rgba(240, 238, 232, 0.08);
39
+ --bg-tool-header: #1f2124;
40
+ --bg-tool-header-hover: #24272a;
41
+ --bg-tool-body: #181a1d;
42
+ --bg-tool-block: #181a1d;
43
+ --code-bg: rgba(240, 238, 232, 0.08);
44
+
45
+ --settings-overlay-bg: rgba(18, 20, 22, 0.72);
46
+ --settings-shell-bg: #1d1f21;
47
+ --settings-shell-border: rgba(96, 102, 110, 0.35);
48
+ --settings-shell-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
49
+ --settings-sidebar-bg: #1a1c1e;
50
+ --settings-header-bg: #1f2124;
51
+ --settings-surface-bg: #202326;
52
+ --settings-surface-strong-bg: #1c1f22;
53
+ --settings-surface-muted-bg: #222529;
54
+ --settings-empty-bg: #1c1f22;
55
+ --settings-row-bg: #1f2124;
56
+ --settings-row-hover-bg: #24272a;
57
+ --settings-chip-bg: #25292c;
58
+ --settings-chip-border: rgba(96, 102, 110, 0.28);
59
+ --settings-code-bg: rgba(240, 238, 232, 0.06);
60
+ --settings-input-bg: #181a1d;
61
+ --settings-input-focus-bg: #1b1d20;
62
+ --settings-secondary-btn-bg: #1f2124;
63
+ --settings-secondary-btn-hover-bg: #24272a;
64
+ --settings-border-soft: rgba(96, 102, 110, 0.22);
65
+ --settings-border-default: rgba(96, 102, 110, 0.28);
66
+ --settings-border-strong: rgba(96, 102, 110, 0.34);
67
+ --settings-border-hover: rgba(96, 102, 110, 0.4);
68
+ --settings-divider: rgba(96, 102, 110, 0.22);
69
+ --settings-card-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
70
+ --settings-frame-padding: 1.1rem;
71
+ }
72
+
73
+ * {
74
+ box-sizing: border-box;
75
+ margin: 0;
76
+ padding: 0;
77
+ }
78
+
79
+ body {
80
+ background-color: var(--bg-base);
81
+ color: var(--text-primary);
82
+ font-family: var(--font-ui);
83
+ font-size: var(--ui-font-size, 15px);
84
+ line-height: 1.5;
85
+ height: 100vh;
86
+ overflow: hidden;
87
+ transition: background-color 0.2s ease, color 0.2s ease;
88
+ }
89
+
90
+ body.light-theme {
91
+ --bg-base: #ffffff;
92
+ --bg-surface: #ffffff;
93
+ --bg-surface-glass: #f3f4f4;
94
+ --bg-surface-muted: #f3f4f4;
95
+ --border-color: #dcdfdf;
96
+ --text-primary: #171c21;
97
+ --text-secondary: #5f6772;
98
+ --text-on-primary: #f7faf8;
99
+ --text-msg-content: #1f252a;
100
+ --text-tool-name: #4e565d;
101
+ --text-tool-args: #4e565d;
102
+ --text-node-title: #171c21;
103
+ --primary: #627a6d;
104
+ --primary-hover: #54695e;
105
+ --button-primary-bg: #4d6259;
106
+ --button-primary-hover: #43564e;
107
+ --button-primary-border: #40524b;
108
+ --button-primary-text: #f7faf8;
109
+ --button-secondary-bg: #ffffff;
110
+ --button-secondary-hover: #f3f4f4;
111
+ --button-secondary-border: #d9dcdc;
112
+ --button-secondary-text: #20262b;
113
+ --success: #4f7d5f;
114
+ --danger: #b86156;
115
+ --warning: #8f6b37;
116
+
117
+ --bg-hover: rgba(23, 28, 33, 0.05);
118
+ --bg-hover-strong: rgba(23, 28, 33, 0.09);
119
+ --bg-tool-header: #f4f5f5;
120
+ --bg-tool-header-hover: #eef0f0;
121
+ --bg-tool-body: #f4f5f5;
122
+ --bg-tool-block: #f4f5f5;
123
+ --code-bg: rgba(23, 28, 33, 0.08);
124
+
125
+ --settings-overlay-bg: rgba(18, 22, 26, 0.12);
126
+ --settings-shell-bg: #ffffff;
127
+ --settings-shell-border: rgba(95, 103, 114, 0.16);
128
+ --settings-shell-shadow: 0 8px 24px rgba(17, 19, 18, 0.06);
129
+ --settings-sidebar-bg: #f3f4f4;
130
+ --settings-header-bg: #f3f4f4;
131
+ --settings-surface-bg: #ffffff;
132
+ --settings-surface-strong-bg: #fcfcfb;
133
+ --settings-surface-muted-bg: #f7f7f6;
134
+ --settings-empty-bg: #f7f7f6;
135
+ --settings-row-bg: #fafafa;
136
+ --settings-row-hover-bg: #f3f4f4;
137
+ --settings-chip-bg: #f3f4f4;
138
+ --settings-chip-border: rgba(95, 103, 114, 0.14);
139
+ --settings-code-bg: rgba(23, 28, 33, 0.05);
140
+ --settings-input-bg: #ffffff;
141
+ --settings-input-focus-bg: #ffffff;
142
+ --settings-secondary-btn-bg: #ffffff;
143
+ --settings-secondary-btn-hover-bg: #f3f4f4;
144
+ --settings-border-soft: rgba(95, 103, 114, 0.1);
145
+ --settings-border-default: rgba(95, 103, 114, 0.16);
146
+ --settings-border-strong: rgba(95, 103, 114, 0.22);
147
+ --settings-border-hover: rgba(95, 103, 114, 0.28);
148
+ --settings-divider: rgba(95, 103, 114, 0.1);
149
+ --settings-card-shadow: 0 4px 14px rgba(17, 19, 18, 0.05);
150
+ --settings-frame-padding: 1.1rem;
151
+ }
152
+
153
+ ::selection {
154
+ background: rgba(145, 166, 152, 0.24);
155
+ }
156
+
157
+ @keyframes fadeIn {
158
+ from {
159
+ opacity: 0;
160
+ }
161
+
162
+ to {
163
+ opacity: 1;
164
+ }
165
+ }
166
+
167
+ @keyframes slideUp {
168
+ from {
169
+ opacity: 0;
170
+ transform: translateY(8px);
171
+ }
172
+
173
+ to {
174
+ opacity: 1;
175
+ transform: translateY(0);
176
+ }
177
+ }
178
+
179
+ @keyframes spin {
180
+ to {
181
+ transform: rotate(360deg);
182
+ }
183
+ }
184
+
185
+ @keyframes typing {
186
+
187
+ 0%,
188
+ 80%,
189
+ 100% {
190
+ transform: scale(0);
191
+ opacity: 0.5;
192
+ }
193
+
194
+ 40% {
195
+ transform: scale(1);
196
+ opacity: 1;
197
+ }
198
+ }
199
+
200
+ @keyframes streamingCaretPulse {
201
+ 0% {
202
+ opacity: 0.26;
203
+ }
204
+
205
+ 100% {
206
+ opacity: 1;
207
+ }
208
+ }