calvyn-code 0.14.1 → 0.14.3

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 (295) hide show
  1. package/README.md +83 -83
  2. package/agent/model_metadata.py +6 -4
  3. package/bin/calvyn.js +0 -22
  4. package/hermes_cli/main.py +14 -13
  5. package/hermes_cli/models.py +17 -11
  6. package/hermes_cli/providers.py +1 -1
  7. package/package.json +90 -87
  8. package/plugins/model-providers/freemodel/__init__.py +9 -2
  9. package/pyproject.toml +1 -1
  10. package/agent/__pycache__/__init__.cpython-312.pyc +0 -0
  11. package/agent/__pycache__/account_usage.cpython-312.pyc +0 -0
  12. package/agent/__pycache__/anthropic_adapter.cpython-312.pyc +0 -0
  13. package/agent/__pycache__/async_utils.cpython-312.pyc +0 -0
  14. package/agent/__pycache__/auxiliary_client.cpython-312.pyc +0 -0
  15. package/agent/__pycache__/codex_responses_adapter.cpython-312.pyc +0 -0
  16. package/agent/__pycache__/context_compressor.cpython-312.pyc +0 -0
  17. package/agent/__pycache__/context_engine.cpython-312.pyc +0 -0
  18. package/agent/__pycache__/context_references.cpython-312.pyc +0 -0
  19. package/agent/__pycache__/credential_pool.cpython-312.pyc +0 -0
  20. package/agent/__pycache__/curator.cpython-312.pyc +0 -0
  21. package/agent/__pycache__/display.cpython-312.pyc +0 -0
  22. package/agent/__pycache__/error_classifier.cpython-312.pyc +0 -0
  23. package/agent/__pycache__/file_safety.cpython-312.pyc +0 -0
  24. package/agent/__pycache__/google_code_assist.cpython-312.pyc +0 -0
  25. package/agent/__pycache__/google_oauth.cpython-312.pyc +0 -0
  26. package/agent/__pycache__/i18n.cpython-312.pyc +0 -0
  27. package/agent/__pycache__/image_gen_provider.cpython-312.pyc +0 -0
  28. package/agent/__pycache__/image_gen_registry.cpython-312.pyc +0 -0
  29. package/agent/__pycache__/insights.cpython-312.pyc +0 -0
  30. package/agent/__pycache__/lmstudio_reasoning.cpython-312.pyc +0 -0
  31. package/agent/__pycache__/manual_compression_feedback.cpython-312.pyc +0 -0
  32. package/agent/__pycache__/markdown_tables.cpython-312.pyc +0 -0
  33. package/agent/__pycache__/memory_manager.cpython-312.pyc +0 -0
  34. package/agent/__pycache__/memory_provider.cpython-312.pyc +0 -0
  35. package/agent/__pycache__/model_metadata.cpython-312.pyc +0 -0
  36. package/agent/__pycache__/models_dev.cpython-312.pyc +0 -0
  37. package/agent/__pycache__/moonshot_schema.cpython-312.pyc +0 -0
  38. package/agent/__pycache__/onboarding.cpython-312.pyc +0 -0
  39. package/agent/__pycache__/portal_tags.cpython-312.pyc +0 -0
  40. package/agent/__pycache__/prompt_builder.cpython-312.pyc +0 -0
  41. package/agent/__pycache__/prompt_caching.cpython-312.pyc +0 -0
  42. package/agent/__pycache__/redact.cpython-312.pyc +0 -0
  43. package/agent/__pycache__/retry_utils.cpython-312.pyc +0 -0
  44. package/agent/__pycache__/shell_hooks.cpython-312.pyc +0 -0
  45. package/agent/__pycache__/skill_commands.cpython-312.pyc +0 -0
  46. package/agent/__pycache__/skill_preprocessing.cpython-312.pyc +0 -0
  47. package/agent/__pycache__/skill_utils.cpython-312.pyc +0 -0
  48. package/agent/__pycache__/subdirectory_hints.cpython-312.pyc +0 -0
  49. package/agent/__pycache__/think_scrubber.cpython-312.pyc +0 -0
  50. package/agent/__pycache__/title_generator.cpython-312.pyc +0 -0
  51. package/agent/__pycache__/tool_guardrails.cpython-312.pyc +0 -0
  52. package/agent/__pycache__/tool_result_classification.cpython-312.pyc +0 -0
  53. package/agent/__pycache__/trajectory.cpython-312.pyc +0 -0
  54. package/agent/__pycache__/usage_pricing.cpython-312.pyc +0 -0
  55. package/agent/__pycache__/video_gen_provider.cpython-312.pyc +0 -0
  56. package/agent/__pycache__/video_gen_registry.cpython-312.pyc +0 -0
  57. package/agent/__pycache__/web_search_provider.cpython-312.pyc +0 -0
  58. package/agent/__pycache__/web_search_registry.cpython-312.pyc +0 -0
  59. package/agent/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
  60. package/agent/lsp/__pycache__/cli.cpython-312.pyc +0 -0
  61. package/agent/lsp/__pycache__/client.cpython-312.pyc +0 -0
  62. package/agent/lsp/__pycache__/eventlog.cpython-312.pyc +0 -0
  63. package/agent/lsp/__pycache__/manager.cpython-312.pyc +0 -0
  64. package/agent/lsp/__pycache__/protocol.cpython-312.pyc +0 -0
  65. package/agent/lsp/__pycache__/servers.cpython-312.pyc +0 -0
  66. package/agent/lsp/__pycache__/workspace.cpython-312.pyc +0 -0
  67. package/agent/transports/__pycache__/__init__.cpython-312.pyc +0 -0
  68. package/agent/transports/__pycache__/anthropic.cpython-312.pyc +0 -0
  69. package/agent/transports/__pycache__/base.cpython-312.pyc +0 -0
  70. package/agent/transports/__pycache__/bedrock.cpython-312.pyc +0 -0
  71. package/agent/transports/__pycache__/chat_completions.cpython-312.pyc +0 -0
  72. package/agent/transports/__pycache__/codex.cpython-312.pyc +0 -0
  73. package/agent/transports/__pycache__/types.cpython-312.pyc +0 -0
  74. package/cron/__pycache__/__init__.cpython-312.pyc +0 -0
  75. package/cron/__pycache__/jobs.cpython-312.pyc +0 -0
  76. package/cron/__pycache__/scheduler.cpython-312.pyc +0 -0
  77. package/gateway/__pycache__/__init__.cpython-312.pyc +0 -0
  78. package/gateway/__pycache__/channel_directory.cpython-312.pyc +0 -0
  79. package/gateway/__pycache__/config.cpython-312.pyc +0 -0
  80. package/gateway/__pycache__/delivery.cpython-312.pyc +0 -0
  81. package/gateway/__pycache__/display_config.cpython-312.pyc +0 -0
  82. package/gateway/__pycache__/hooks.cpython-312.pyc +0 -0
  83. package/gateway/__pycache__/pairing.cpython-312.pyc +0 -0
  84. package/gateway/__pycache__/platform_registry.cpython-312.pyc +0 -0
  85. package/gateway/__pycache__/restart.cpython-312.pyc +0 -0
  86. package/gateway/__pycache__/run.cpython-312.pyc +0 -0
  87. package/gateway/__pycache__/runtime_footer.cpython-312.pyc +0 -0
  88. package/gateway/__pycache__/session.cpython-312.pyc +0 -0
  89. package/gateway/__pycache__/session_context.cpython-312.pyc +0 -0
  90. package/gateway/__pycache__/shutdown_forensics.cpython-312.pyc +0 -0
  91. package/gateway/__pycache__/slash_access.cpython-312.pyc +0 -0
  92. package/gateway/__pycache__/status.cpython-312.pyc +0 -0
  93. package/gateway/__pycache__/stream_consumer.cpython-312.pyc +0 -0
  94. package/gateway/__pycache__/whatsapp_identity.cpython-312.pyc +0 -0
  95. package/gateway/platforms/__pycache__/__init__.cpython-312.pyc +0 -0
  96. package/gateway/platforms/__pycache__/base.cpython-312.pyc +0 -0
  97. package/gateway/platforms/__pycache__/helpers.cpython-312.pyc +0 -0
  98. package/gateway/platforms/__pycache__/telegram.cpython-312.pyc +0 -0
  99. package/gateway/platforms/__pycache__/telegram_network.cpython-312.pyc +0 -0
  100. package/gateway/platforms/__pycache__/yuanbao.cpython-312.pyc +0 -0
  101. package/gateway/platforms/__pycache__/yuanbao_media.cpython-312.pyc +0 -0
  102. package/gateway/platforms/__pycache__/yuanbao_proto.cpython-312.pyc +0 -0
  103. package/hermes_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  104. package/hermes_cli/__pycache__/_parser.cpython-312.pyc +0 -0
  105. package/hermes_cli/__pycache__/auth.cpython-312.pyc +0 -0
  106. package/hermes_cli/__pycache__/banner.cpython-312.pyc +0 -0
  107. package/hermes_cli/__pycache__/browser_connect.cpython-312.pyc +0 -0
  108. package/hermes_cli/__pycache__/callbacks.cpython-312.pyc +0 -0
  109. package/hermes_cli/__pycache__/checkpoints.cpython-312.pyc +0 -0
  110. package/hermes_cli/__pycache__/cli_output.cpython-312.pyc +0 -0
  111. package/hermes_cli/__pycache__/codex_models.cpython-312.pyc +0 -0
  112. package/hermes_cli/__pycache__/codex_runtime_switch.cpython-312.pyc +0 -0
  113. package/hermes_cli/__pycache__/colors.cpython-312.pyc +0 -0
  114. package/hermes_cli/__pycache__/commands.cpython-312.pyc +0 -0
  115. package/hermes_cli/__pycache__/config.cpython-312.pyc +0 -0
  116. package/hermes_cli/__pycache__/copilot_auth.cpython-312.pyc +0 -0
  117. package/hermes_cli/__pycache__/curator.cpython-312.pyc +0 -0
  118. package/hermes_cli/__pycache__/curses_ui.cpython-312.pyc +0 -0
  119. package/hermes_cli/__pycache__/debug.cpython-312.pyc +0 -0
  120. package/hermes_cli/__pycache__/default_soul.cpython-312.pyc +0 -0
  121. package/hermes_cli/__pycache__/env_loader.cpython-312.pyc +0 -0
  122. package/hermes_cli/__pycache__/fallback_cmd.cpython-312.pyc +0 -0
  123. package/hermes_cli/__pycache__/gateway.cpython-312.pyc +0 -0
  124. package/hermes_cli/__pycache__/gateway_windows.cpython-312.pyc +0 -0
  125. package/hermes_cli/__pycache__/goals.cpython-312.pyc +0 -0
  126. package/hermes_cli/__pycache__/inventory.cpython-312.pyc +0 -0
  127. package/hermes_cli/__pycache__/kanban.cpython-312.pyc +0 -0
  128. package/hermes_cli/__pycache__/kanban_db.cpython-312.pyc +0 -0
  129. package/hermes_cli/__pycache__/main.cpython-312.pyc +0 -0
  130. package/hermes_cli/__pycache__/model_catalog.cpython-312.pyc +0 -0
  131. package/hermes_cli/__pycache__/model_normalize.cpython-312.pyc +0 -0
  132. package/hermes_cli/__pycache__/model_switch.cpython-312.pyc +0 -0
  133. package/hermes_cli/__pycache__/models.cpython-312.pyc +0 -0
  134. package/hermes_cli/__pycache__/nous_subscription.cpython-312.pyc +0 -0
  135. package/hermes_cli/__pycache__/pairing.cpython-312.pyc +0 -0
  136. package/hermes_cli/__pycache__/platforms.cpython-312.pyc +0 -0
  137. package/hermes_cli/__pycache__/plugins.cpython-312.pyc +0 -0
  138. package/hermes_cli/__pycache__/profiles.cpython-312.pyc +0 -0
  139. package/hermes_cli/__pycache__/providers.cpython-312.pyc +0 -0
  140. package/hermes_cli/__pycache__/pt_input_extras.cpython-312.pyc +0 -0
  141. package/hermes_cli/__pycache__/runtime_provider.cpython-312.pyc +0 -0
  142. package/hermes_cli/__pycache__/security_advisories.cpython-312.pyc +0 -0
  143. package/hermes_cli/__pycache__/setup.cpython-312.pyc +0 -0
  144. package/hermes_cli/__pycache__/skills_hub.cpython-312.pyc +0 -0
  145. package/hermes_cli/__pycache__/skin_engine.cpython-312.pyc +0 -0
  146. package/hermes_cli/__pycache__/stdio.cpython-312.pyc +0 -0
  147. package/hermes_cli/__pycache__/timeouts.cpython-312.pyc +0 -0
  148. package/hermes_cli/__pycache__/tips.cpython-312.pyc +0 -0
  149. package/hermes_cli/__pycache__/tools_config.cpython-312.pyc +0 -0
  150. package/hermes_cli/__pycache__/voice.cpython-312.pyc +0 -0
  151. package/plugins/__pycache__/__init__.cpython-312.pyc +0 -0
  152. package/plugins/image_gen/openai/__pycache__/__init__.cpython-312.pyc +0 -0
  153. package/plugins/image_gen/openai-codex/__pycache__/__init__.cpython-312.pyc +0 -0
  154. package/plugins/image_gen/xai/__pycache__/__init__.cpython-312.pyc +0 -0
  155. package/plugins/model-providers/ai-gateway/__pycache__/__init__.cpython-312.pyc +0 -0
  156. package/plugins/model-providers/alibaba/__pycache__/__init__.cpython-312.pyc +0 -0
  157. package/plugins/model-providers/alibaba-coding-plan/__pycache__/__init__.cpython-312.pyc +0 -0
  158. package/plugins/model-providers/anthropic/__pycache__/__init__.cpython-312.pyc +0 -0
  159. package/plugins/model-providers/arcee/__pycache__/__init__.cpython-312.pyc +0 -0
  160. package/plugins/model-providers/azure-foundry/__pycache__/__init__.cpython-312.pyc +0 -0
  161. package/plugins/model-providers/bedrock/__pycache__/__init__.cpython-312.pyc +0 -0
  162. package/plugins/model-providers/copilot/__pycache__/__init__.cpython-312.pyc +0 -0
  163. package/plugins/model-providers/copilot-acp/__pycache__/__init__.cpython-312.pyc +0 -0
  164. package/plugins/model-providers/custom/__pycache__/__init__.cpython-312.pyc +0 -0
  165. package/plugins/model-providers/deepseek/__pycache__/__init__.cpython-312.pyc +0 -0
  166. package/plugins/model-providers/gemini/__pycache__/__init__.cpython-312.pyc +0 -0
  167. package/plugins/model-providers/gmi/__pycache__/__init__.cpython-312.pyc +0 -0
  168. package/plugins/model-providers/huggingface/__pycache__/__init__.cpython-312.pyc +0 -0
  169. package/plugins/model-providers/kilocode/__pycache__/__init__.cpython-312.pyc +0 -0
  170. package/plugins/model-providers/kimi-coding/__pycache__/__init__.cpython-312.pyc +0 -0
  171. package/plugins/model-providers/minimax/__pycache__/__init__.cpython-312.pyc +0 -0
  172. package/plugins/model-providers/nous/__pycache__/__init__.cpython-312.pyc +0 -0
  173. package/plugins/model-providers/novita/__pycache__/__init__.cpython-312.pyc +0 -0
  174. package/plugins/model-providers/nvidia/__pycache__/__init__.cpython-312.pyc +0 -0
  175. package/plugins/model-providers/ollama-cloud/__pycache__/__init__.cpython-312.pyc +0 -0
  176. package/plugins/model-providers/openai-codex/__pycache__/__init__.cpython-312.pyc +0 -0
  177. package/plugins/model-providers/opencode-zen/__pycache__/__init__.cpython-312.pyc +0 -0
  178. package/plugins/model-providers/openrouter/__pycache__/__init__.cpython-312.pyc +0 -0
  179. package/plugins/model-providers/qwen-oauth/__pycache__/__init__.cpython-312.pyc +0 -0
  180. package/plugins/model-providers/stepfun/__pycache__/__init__.cpython-312.pyc +0 -0
  181. package/plugins/model-providers/xai/__pycache__/__init__.cpython-312.pyc +0 -0
  182. package/plugins/model-providers/xiaomi/__pycache__/__init__.cpython-312.pyc +0 -0
  183. package/plugins/model-providers/zai/__pycache__/__init__.cpython-312.pyc +0 -0
  184. package/plugins/platforms/google_chat/__pycache__/__init__.cpython-312.pyc +0 -0
  185. package/plugins/platforms/google_chat/__pycache__/adapter.cpython-312.pyc +0 -0
  186. package/plugins/platforms/irc/__pycache__/__init__.cpython-312.pyc +0 -0
  187. package/plugins/platforms/irc/__pycache__/adapter.cpython-312.pyc +0 -0
  188. package/plugins/platforms/line/__pycache__/__init__.cpython-312.pyc +0 -0
  189. package/plugins/platforms/line/__pycache__/adapter.cpython-312.pyc +0 -0
  190. package/plugins/platforms/simplex/__pycache__/__init__.cpython-312.pyc +0 -0
  191. package/plugins/platforms/simplex/__pycache__/adapter.cpython-312.pyc +0 -0
  192. package/plugins/platforms/teams/__pycache__/__init__.cpython-312.pyc +0 -0
  193. package/plugins/platforms/teams/__pycache__/adapter.cpython-312.pyc +0 -0
  194. package/plugins/spotify/__pycache__/__init__.cpython-312.pyc +0 -0
  195. package/plugins/spotify/__pycache__/client.cpython-312.pyc +0 -0
  196. package/plugins/spotify/__pycache__/tools.cpython-312.pyc +0 -0
  197. package/plugins/video_gen/fal/__pycache__/__init__.cpython-312.pyc +0 -0
  198. package/plugins/video_gen/xai/__pycache__/__init__.cpython-312.pyc +0 -0
  199. package/plugins/web/__pycache__/__init__.cpython-312.pyc +0 -0
  200. package/plugins/web/brave_free/__pycache__/__init__.cpython-312.pyc +0 -0
  201. package/plugins/web/brave_free/__pycache__/provider.cpython-312.pyc +0 -0
  202. package/plugins/web/ddgs/__pycache__/__init__.cpython-312.pyc +0 -0
  203. package/plugins/web/ddgs/__pycache__/provider.cpython-312.pyc +0 -0
  204. package/plugins/web/exa/__pycache__/__init__.cpython-312.pyc +0 -0
  205. package/plugins/web/exa/__pycache__/provider.cpython-312.pyc +0 -0
  206. package/plugins/web/firecrawl/__pycache__/__init__.cpython-312.pyc +0 -0
  207. package/plugins/web/firecrawl/__pycache__/provider.cpython-312.pyc +0 -0
  208. package/plugins/web/parallel/__pycache__/__init__.cpython-312.pyc +0 -0
  209. package/plugins/web/parallel/__pycache__/provider.cpython-312.pyc +0 -0
  210. package/plugins/web/searxng/__pycache__/__init__.cpython-312.pyc +0 -0
  211. package/plugins/web/searxng/__pycache__/provider.cpython-312.pyc +0 -0
  212. package/plugins/web/tavily/__pycache__/__init__.cpython-312.pyc +0 -0
  213. package/plugins/web/tavily/__pycache__/provider.cpython-312.pyc +0 -0
  214. package/providers/__pycache__/__init__.cpython-312.pyc +0 -0
  215. package/providers/__pycache__/base.cpython-312.pyc +0 -0
  216. package/tools/__pycache__/__init__.cpython-312.pyc +0 -0
  217. package/tools/__pycache__/approval.cpython-312.pyc +0 -0
  218. package/tools/__pycache__/binary_extensions.cpython-312.pyc +0 -0
  219. package/tools/__pycache__/browser_camofox.cpython-312.pyc +0 -0
  220. package/tools/__pycache__/browser_camofox_state.cpython-312.pyc +0 -0
  221. package/tools/__pycache__/browser_cdp_tool.cpython-312.pyc +0 -0
  222. package/tools/__pycache__/browser_dialog_tool.cpython-312.pyc +0 -0
  223. package/tools/__pycache__/browser_supervisor.cpython-312.pyc +0 -0
  224. package/tools/__pycache__/browser_tool.cpython-312.pyc +0 -0
  225. package/tools/__pycache__/budget_config.cpython-312.pyc +0 -0
  226. package/tools/__pycache__/checkpoint_manager.cpython-312.pyc +0 -0
  227. package/tools/__pycache__/clarify_gateway.cpython-312.pyc +0 -0
  228. package/tools/__pycache__/clarify_tool.cpython-312.pyc +0 -0
  229. package/tools/__pycache__/code_execution_tool.cpython-312.pyc +0 -0
  230. package/tools/__pycache__/computer_use_tool.cpython-312.pyc +0 -0
  231. package/tools/__pycache__/cronjob_tools.cpython-312.pyc +0 -0
  232. package/tools/__pycache__/debug_helpers.cpython-312.pyc +0 -0
  233. package/tools/__pycache__/delegate_tool.cpython-312.pyc +0 -0
  234. package/tools/__pycache__/discord_tool.cpython-312.pyc +0 -0
  235. package/tools/__pycache__/feishu_doc_tool.cpython-312.pyc +0 -0
  236. package/tools/__pycache__/feishu_drive_tool.cpython-312.pyc +0 -0
  237. package/tools/__pycache__/file_operations.cpython-312.pyc +0 -0
  238. package/tools/__pycache__/file_state.cpython-312.pyc +0 -0
  239. package/tools/__pycache__/file_tools.cpython-312.pyc +0 -0
  240. package/tools/__pycache__/homeassistant_tool.cpython-312.pyc +0 -0
  241. package/tools/__pycache__/image_generation_tool.cpython-312.pyc +0 -0
  242. package/tools/__pycache__/interrupt.cpython-312.pyc +0 -0
  243. package/tools/__pycache__/kanban_tools.cpython-312.pyc +0 -0
  244. package/tools/__pycache__/lazy_deps.cpython-312.pyc +0 -0
  245. package/tools/__pycache__/managed_tool_gateway.cpython-312.pyc +0 -0
  246. package/tools/__pycache__/mcp_tool.cpython-312.pyc +0 -0
  247. package/tools/__pycache__/memory_tool.cpython-312.pyc +0 -0
  248. package/tools/__pycache__/mixture_of_agents_tool.cpython-312.pyc +0 -0
  249. package/tools/__pycache__/openrouter_client.cpython-312.pyc +0 -0
  250. package/tools/__pycache__/process_registry.cpython-312.pyc +0 -0
  251. package/tools/__pycache__/registry.cpython-312.pyc +0 -0
  252. package/tools/__pycache__/schema_sanitizer.cpython-312.pyc +0 -0
  253. package/tools/__pycache__/send_message_tool.cpython-312.pyc +0 -0
  254. package/tools/__pycache__/session_search_tool.cpython-312.pyc +0 -0
  255. package/tools/__pycache__/skill_manager_tool.cpython-312.pyc +0 -0
  256. package/tools/__pycache__/skill_provenance.cpython-312.pyc +0 -0
  257. package/tools/__pycache__/skill_usage.cpython-312.pyc +0 -0
  258. package/tools/__pycache__/skills_guard.cpython-312.pyc +0 -0
  259. package/tools/__pycache__/skills_sync.cpython-312.pyc +0 -0
  260. package/tools/__pycache__/skills_tool.cpython-312.pyc +0 -0
  261. package/tools/__pycache__/slash_confirm.cpython-312.pyc +0 -0
  262. package/tools/__pycache__/terminal_tool.cpython-312.pyc +0 -0
  263. package/tools/__pycache__/tirith_security.cpython-312.pyc +0 -0
  264. package/tools/__pycache__/todo_tool.cpython-312.pyc +0 -0
  265. package/tools/__pycache__/tool_backend_helpers.cpython-312.pyc +0 -0
  266. package/tools/__pycache__/tool_result_storage.cpython-312.pyc +0 -0
  267. package/tools/__pycache__/tts_tool.cpython-312.pyc +0 -0
  268. package/tools/__pycache__/url_safety.cpython-312.pyc +0 -0
  269. package/tools/__pycache__/video_generation_tool.cpython-312.pyc +0 -0
  270. package/tools/__pycache__/vision_tools.cpython-312.pyc +0 -0
  271. package/tools/__pycache__/voice_mode.cpython-312.pyc +0 -0
  272. package/tools/__pycache__/web_tools.cpython-312.pyc +0 -0
  273. package/tools/__pycache__/website_policy.cpython-312.pyc +0 -0
  274. package/tools/__pycache__/x_search_tool.cpython-312.pyc +0 -0
  275. package/tools/__pycache__/xai_http.cpython-312.pyc +0 -0
  276. package/tools/__pycache__/yuanbao_tools.cpython-312.pyc +0 -0
  277. package/tools/browser_providers/__pycache__/__init__.cpython-312.pyc +0 -0
  278. package/tools/browser_providers/__pycache__/base.cpython-312.pyc +0 -0
  279. package/tools/browser_providers/__pycache__/browser_use.cpython-312.pyc +0 -0
  280. package/tools/browser_providers/__pycache__/browserbase.cpython-312.pyc +0 -0
  281. package/tools/browser_providers/__pycache__/firecrawl.cpython-312.pyc +0 -0
  282. package/tools/computer_use/__pycache__/__init__.cpython-312.pyc +0 -0
  283. package/tools/computer_use/__pycache__/backend.cpython-312.pyc +0 -0
  284. package/tools/computer_use/__pycache__/schema.cpython-312.pyc +0 -0
  285. package/tools/computer_use/__pycache__/tool.cpython-312.pyc +0 -0
  286. package/tools/environments/__pycache__/__init__.cpython-312.pyc +0 -0
  287. package/tools/environments/__pycache__/base.cpython-312.pyc +0 -0
  288. package/tools/environments/__pycache__/docker.cpython-312.pyc +0 -0
  289. package/tools/environments/__pycache__/file_sync.cpython-312.pyc +0 -0
  290. package/tools/environments/__pycache__/local.cpython-312.pyc +0 -0
  291. package/tools/environments/__pycache__/managed_modal.cpython-312.pyc +0 -0
  292. package/tools/environments/__pycache__/modal.cpython-312.pyc +0 -0
  293. package/tools/environments/__pycache__/modal_utils.cpython-312.pyc +0 -0
  294. package/tools/environments/__pycache__/singularity.cpython-312.pyc +0 -0
  295. package/tools/environments/__pycache__/ssh.cpython-312.pyc +0 -0
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
1
  <p align="center">
2
- <img src="assets/banner.png" alt="Hermes Agent" width="100%">
2
+ <img src="assets/banner.png" alt="Calvyn Code" width="100%">
3
3
  </p>
4
4
 
5
- # Hermes Agent
5
+ # Calvyn Code
6
6
 
7
7
  <p align="center">
8
- <a href="https://hermes-agent.nousresearch.com/docs/"><img src="https://img.shields.io/badge/Docs-hermes--agent.nousresearch.com-FFD700?style=for-the-badge" alt="Documentation"></a>
8
+ <a href="https://calvyn-code.nousresearch.com/docs/"><img src="https://img.shields.io/badge/Docs-calvyn--code.nousresearch.com-FFD700?style=for-the-badge" alt="Documentation"></a>
9
9
  <a href="https://discord.gg/NousResearch"><img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a>
10
- <a href="https://github.com/NousResearch/hermes-agent/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License: MIT"></a>
10
+ <a href="https://github.com/calvyns/calvyn-code/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License: MIT"></a>
11
11
  <a href="https://nousresearch.com"><img src="https://img.shields.io/badge/Built%20by-Nous%20Research-blueviolet?style=for-the-badge" alt="Built by Nous Research"></a>
12
12
  <a href="README.zh-CN.md"><img src="https://img.shields.io/badge/Lang-中文-red?style=for-the-badge" alt="中文"></a>
13
13
  </p>
14
14
 
15
15
  **The self-improving AI agent built by [Nous Research](https://nousresearch.com).** It's the only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, searches its own past conversations, and builds a deepening model of who you are across sessions. Run it on a $5 VPS, a GPU cluster, or serverless infrastructure that costs nearly nothing when idle. It's not tied to your laptop — talk to it from Telegram while it works on a cloud VM.
16
16
 
17
- Use any model you want — [Nous Portal](https://portal.nousresearch.com), [OpenRouter](https://openrouter.ai) (200+ models), [NovitaAI](https://novita.ai) (AI-native cloud for Model API, Agent Sandbox, and GPU Cloud), [NVIDIA NIM](https://build.nvidia.com) (Nemotron), [Xiaomi MiMo](https://platform.xiaomimimo.com), [z.ai/GLM](https://z.ai), [Kimi/Moonshot](https://platform.moonshot.ai), [MiniMax](https://www.minimax.io), [Hugging Face](https://huggingface.co), OpenAI, or your own endpoint. Switch with `hermes model` — no code changes, no lock-in.
17
+ Use any model you want — [Nous Portal](https://portal.nousresearch.com), [OpenRouter](https://openrouter.ai) (200+ models), [NovitaAI](https://novita.ai) (AI-native cloud for Model API, Agent Sandbox, and GPU Cloud), [NVIDIA NIM](https://build.nvidia.com) (Nemotron), [Xiaomi MiMo](https://platform.xiaomimimo.com), [z.ai/GLM](https://z.ai), [Kimi/Moonshot](https://platform.moonshot.ai), [MiniMax](https://www.minimax.io), [Hugging Face](https://huggingface.co), OpenAI, or your own endpoint. Switch with `calvyn model` — no code changes, no lock-in.
18
18
 
19
19
  <table>
20
20
  <tr><td><b>A real terminal interface</b></td><td>Full TUI with multiline editing, slash-command autocomplete, conversation history, interrupt-and-redirect, and streaming tool output.</td></tr>
@@ -28,61 +28,61 @@ Use any model you want — [Nous Portal](https://portal.nousresearch.com), [Open
28
28
 
29
29
  ---
30
30
 
31
- ## Quick Install
32
-
33
- ### npm install -g
34
-
35
- Если хочешь ставить через `npm`, теперь можно так
36
-
37
- ```bash
38
- npm install -g calvyn-code
39
- calvyn
40
- ```
41
-
42
- Что важно
43
-
44
- - внутри это все равно Python-проект, не Node.js-перепись
45
- - нужен `Python 3.11+`
46
- - на Linux, macOS, Windows и Termux эта npm-обертка сама создаст `.venv` и поставит Calvyn
47
- - на телефоне лучше запускать через Termux где есть и `node`, и `python`
48
- - публикация в npm требует, чтобы пакет `calvyn-code` был реально выложен в registry
49
-
50
- Если после установки что-то сломалось
51
-
52
- ```bash
53
- npm rebuild -g calvyn-code
54
- calvyn
55
- ```
56
-
57
- ### Linux, macOS, WSL2, Termux
31
+ ## Quick Install
32
+
33
+ ### npm install -g
34
+
35
+ Если хочешь ставить через `npm`, теперь можно так
36
+
37
+ ```bash
38
+ npm install -g calvyn-code
39
+ calvyn
40
+ ```
41
+
42
+ Что важно
43
+
44
+ - внутри это все равно Python-проект, не Node.js-перепись
45
+ - нужен `Python 3.11+`
46
+ - на Linux, macOS, Windows и Termux эта npm-обертка сама создаст `.venv` и поставит Calvyn
47
+ - на телефоне лучше запускать через Termux где есть и `node`, и `python`
48
+ - публикация в npm требует, чтобы пакет `calvyn-code` был реально выложен в registry
49
+
50
+ Если после установки что-то сломалось
51
+
52
+ ```bash
53
+ npm rebuild -g calvyn-code
54
+ calvyn
55
+ ```
56
+
57
+ ### Linux, macOS, WSL2, Termux
58
58
 
59
59
  ```bash
60
- curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
60
+ curl -fsSL https://raw.githubusercontent.com/calvyns/calvyn-code/main/scripts/install.sh | bash
61
61
  ```
62
62
 
63
63
  ### Windows (native, PowerShell) — Early Beta
64
64
 
65
- > **Heads up:** Native Windows support is **early beta**. It installs and runs, but hasn't been road-tested as broadly as our Linux/macOS/WSL2 paths. Please [file issues](https://github.com/NousResearch/hermes-agent/issues) when you hit rough edges. For the most battle-tested Windows setup today, run the Linux/macOS one-liner above inside **WSL2**.
65
+ > **Heads up:** Native Windows support is **early beta**. It installs and runs, but hasn't been road-tested as broadly as our Linux/macOS/WSL2 paths. Please [file issues](https://github.com/calvyns/calvyn-code/issues) when you hit rough edges. For the most battle-tested Windows setup today, run the Linux/macOS one-liner above inside **WSL2**.
66
66
 
67
67
  Run this in PowerShell:
68
68
 
69
69
  ```powershell
70
- irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex
70
+ irm https://raw.githubusercontent.com/calvyns/calvyn-code/main/scripts/install.ps1 | iex
71
71
  ```
72
72
 
73
- The installer handles everything: uv, Python 3.11, Node.js, ripgrep, ffmpeg, **and a portable Git Bash** (MinGit, unpacked to `%LOCALAPPDATA%\hermes\git` — no admin required, completely isolated from any system Git install). Hermes uses this bundled Git Bash to run shell commands.
73
+ The installer handles everything: uv, Python 3.11, Node.js, ripgrep, ffmpeg, **and a portable Git Bash** (MinGit, unpacked to `%LOCALAPPDATA%\calvyn\git` — no admin required, completely isolated from any system Git install). Calvyn uses this bundled Git Bash to run shell commands.
74
74
 
75
75
  If you already have Git installed, the installer detects it and uses that instead. Otherwise a ~45MB MinGit download is all you need — it won't touch or interfere with any system Git.
76
76
 
77
- > **Android / Termux:** The tested manual path is documented in the [Termux guide](https://hermes-agent.nousresearch.com/docs/getting-started/termux). On Termux, Hermes installs a curated `.[termux]` extra because the full `.[all]` extra currently pulls Android-incompatible voice dependencies.
77
+ > **Android / Termux:** The tested manual path is documented in the [Termux guide](https://calvyn-code.nousresearch.com/docs/getting-started/termux). On Termux, Calvyn installs a curated `.[termux]` extra because the full `.[all]` extra currently pulls Android-incompatible voice dependencies.
78
78
  >
79
- > **Windows:** Native Windows is supported as an **early beta** — the PowerShell one-liner above installs everything, but expect rough edges and please file issues when you hit them. If you'd rather use WSL2 (our most battle-tested Windows path), the Linux command works there too. Native Windows install lives under `%LOCALAPPDATA%\hermes`; WSL2 installs under `~/.hermes` as on Linux. The only Hermes feature that currently needs WSL2 specifically is the browser-based dashboard chat pane (it uses a POSIX PTY — classic CLI and gateway both run natively).
79
+ > **Windows:** Native Windows is supported as an **early beta** — the PowerShell one-liner above installs everything, but expect rough edges and please file issues when you hit them. If you'd rather use WSL2 (our most battle-tested Windows path), the Linux command works there too. Native Windows install lives under `%LOCALAPPDATA%\calvyn`; WSL2 installs under `~/.calvyn` as on Linux. The only Calvyn feature that currently needs WSL2 specifically is the browser-based dashboard chat pane (it uses a POSIX PTY — classic CLI and gateway both run natively).
80
80
 
81
81
  After installation:
82
82
 
83
83
  ```bash
84
84
  source ~/.bashrc # reload shell (or: source ~/.zshrc)
85
- hermes # start chatting!
85
+ calvyn # start chatting!
86
86
  ```
87
87
 
88
88
  ---
@@ -90,26 +90,26 @@ hermes # start chatting!
90
90
  ## Getting Started
91
91
 
92
92
  ```bash
93
- hermes # Interactive CLI — start a conversation
94
- hermes model # Choose your LLM provider and model
95
- hermes tools # Configure which tools are enabled
96
- hermes config set # Set individual config values
97
- hermes gateway # Start the messaging gateway (Telegram, Discord, etc.)
98
- hermes setup # Run the full setup wizard (configures everything at once)
99
- hermes claw migrate # Migrate from OpenClaw (if coming from OpenClaw)
100
- hermes update # Update to the latest version
101
- hermes doctor # Diagnose any issues
93
+ calvyn # Interactive CLI — start a conversation
94
+ calvyn model # Choose your LLM provider and model
95
+ calvyn tools # Configure which tools are enabled
96
+ calvyn config set # Set individual config values
97
+ calvyn gateway # Start the messaging gateway (Telegram, Discord, etc.)
98
+ calvyn setup # Run the full setup wizard (configures everything at once)
99
+ calvyn claw migrate # Migrate from OpenClaw (if coming from OpenClaw)
100
+ calvyn update # Update to the latest version
101
+ calvyn doctor # Diagnose any issues
102
102
  ```
103
103
 
104
- 📖 **[Full documentation →](https://hermes-agent.nousresearch.com/docs/)**
104
+ 📖 **[Full documentation →](https://calvyn-code.nousresearch.com/docs/)**
105
105
 
106
106
  ## CLI vs Messaging Quick Reference
107
107
 
108
- Hermes has two entry points: start the terminal UI with `hermes`, or run the gateway and talk to it from Telegram, Discord, Slack, WhatsApp, Signal, or Email. Once you're in a conversation, many slash commands are shared across both interfaces.
108
+ Calvyn has two entry points: start the terminal UI with `calvyn`, or run the gateway and talk to it from Telegram, Discord, Slack, WhatsApp, Signal, or Email. Once you're in a conversation, many slash commands are shared across both interfaces.
109
109
 
110
110
  | Action | CLI | Messaging platforms |
111
111
  |---------|-----|---------------------|
112
- | Start chatting | `hermes` | Run `hermes gateway setup` + `hermes gateway start`, then send the bot a message |
112
+ | Start chatting | `calvyn` | Run `calvyn gateway setup` + `calvyn gateway start`, then send the bot a message |
113
113
  | Start fresh conversation | `/new` or `/reset` | `/new` or `/reset` |
114
114
  | Change model | `/model [provider:model]` | `/model [provider:model]` |
115
115
  | Set a personality | `/personality [name]` | `/personality [name]` |
@@ -119,47 +119,47 @@ Hermes has two entry points: start the terminal UI with `hermes`, or run the gat
119
119
  | Interrupt current work | `Ctrl+C` or send a new message | `/stop` or send a new message |
120
120
  | Platform-specific status | `/platforms` | `/status`, `/sethome` |
121
121
 
122
- For the full command lists, see the [CLI guide](https://hermes-agent.nousresearch.com/docs/user-guide/cli) and the [Messaging Gateway guide](https://hermes-agent.nousresearch.com/docs/user-guide/messaging).
122
+ For the full command lists, see the [CLI guide](https://calvyn-code.nousresearch.com/docs/user-guide/cli) and the [Messaging Gateway guide](https://calvyn-code.nousresearch.com/docs/user-guide/messaging).
123
123
 
124
124
  ---
125
125
 
126
126
  ## Documentation
127
127
 
128
- All documentation lives at **[hermes-agent.nousresearch.com/docs](https://hermes-agent.nousresearch.com/docs/)**:
128
+ All documentation lives at **[calvyn-code.nousresearch.com/docs](https://calvyn-code.nousresearch.com/docs/)**:
129
129
 
130
130
  | Section | What's Covered |
131
131
  |---------|---------------|
132
- | [Quickstart](https://hermes-agent.nousresearch.com/docs/getting-started/quickstart) | Install → setup → first conversation in 2 minutes |
133
- | [CLI Usage](https://hermes-agent.nousresearch.com/docs/user-guide/cli) | Commands, keybindings, personalities, sessions |
134
- | [Configuration](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) | Config file, providers, models, all options |
135
- | [Messaging Gateway](https://hermes-agent.nousresearch.com/docs/user-guide/messaging) | Telegram, Discord, Slack, WhatsApp, Signal, Home Assistant |
136
- | [Security](https://hermes-agent.nousresearch.com/docs/user-guide/security) | Command approval, DM pairing, container isolation |
137
- | [Tools & Toolsets](https://hermes-agent.nousresearch.com/docs/user-guide/features/tools) | 40+ tools, toolset system, terminal backends |
138
- | [Skills System](https://hermes-agent.nousresearch.com/docs/user-guide/features/skills) | Procedural memory, Skills Hub, creating skills |
139
- | [Memory](https://hermes-agent.nousresearch.com/docs/user-guide/features/memory) | Persistent memory, user profiles, best practices |
140
- | [MCP Integration](https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp) | Connect any MCP server for extended capabilities |
141
- | [Cron Scheduling](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron) | Scheduled tasks with platform delivery |
142
- | [Context Files](https://hermes-agent.nousresearch.com/docs/user-guide/features/context-files) | Project context that shapes every conversation |
143
- | [Architecture](https://hermes-agent.nousresearch.com/docs/developer-guide/architecture) | Project structure, agent loop, key classes |
144
- | [Contributing](https://hermes-agent.nousresearch.com/docs/developer-guide/contributing) | Development setup, PR process, code style |
145
- | [CLI Reference](https://hermes-agent.nousresearch.com/docs/reference/cli-commands) | All commands and flags |
146
- | [Environment Variables](https://hermes-agent.nousresearch.com/docs/reference/environment-variables) | Complete env var reference |
132
+ | [Quickstart](https://calvyn-code.nousresearch.com/docs/getting-started/quickstart) | Install → setup → first conversation in 2 minutes |
133
+ | [CLI Usage](https://calvyn-code.nousresearch.com/docs/user-guide/cli) | Commands, keybindings, personalities, sessions |
134
+ | [Configuration](https://calvyn-code.nousresearch.com/docs/user-guide/configuration) | Config file, providers, models, all options |
135
+ | [Messaging Gateway](https://calvyn-code.nousresearch.com/docs/user-guide/messaging) | Telegram, Discord, Slack, WhatsApp, Signal, Home Assistant |
136
+ | [Security](https://calvyn-code.nousresearch.com/docs/user-guide/security) | Command approval, DM pairing, container isolation |
137
+ | [Tools & Toolsets](https://calvyn-code.nousresearch.com/docs/user-guide/features/tools) | 40+ tools, toolset system, terminal backends |
138
+ | [Skills System](https://calvyn-code.nousresearch.com/docs/user-guide/features/skills) | Procedural memory, Skills Hub, creating skills |
139
+ | [Memory](https://calvyn-code.nousresearch.com/docs/user-guide/features/memory) | Persistent memory, user profiles, best practices |
140
+ | [MCP Integration](https://calvyn-code.nousresearch.com/docs/user-guide/features/mcp) | Connect any MCP server for extended capabilities |
141
+ | [Cron Scheduling](https://calvyn-code.nousresearch.com/docs/user-guide/features/cron) | Scheduled tasks with platform delivery |
142
+ | [Context Files](https://calvyn-code.nousresearch.com/docs/user-guide/features/context-files) | Project context that shapes every conversation |
143
+ | [Architecture](https://calvyn-code.nousresearch.com/docs/developer-guide/architecture) | Project structure, agent loop, key classes |
144
+ | [Contributing](https://calvyn-code.nousresearch.com/docs/developer-guide/contributing) | Development setup, PR process, code style |
145
+ | [CLI Reference](https://calvyn-code.nousresearch.com/docs/reference/cli-commands) | All commands and flags |
146
+ | [Environment Variables](https://calvyn-code.nousresearch.com/docs/reference/environment-variables) | Complete env var reference |
147
147
 
148
148
  ---
149
149
 
150
150
  ## Migrating from OpenClaw
151
151
 
152
- If you're coming from OpenClaw, Hermes can automatically import your settings, memories, skills, and API keys.
152
+ If you're coming from OpenClaw, Calvyn can automatically import your settings, memories, skills, and API keys.
153
153
 
154
- **During first-time setup:** The setup wizard (`hermes setup`) automatically detects `~/.openclaw` and offers to migrate before configuration begins.
154
+ **During first-time setup:** The setup wizard (`calvyn setup`) automatically detects `~/.openclaw` and offers to migrate before configuration begins.
155
155
 
156
156
  **Anytime after install:**
157
157
 
158
158
  ```bash
159
- hermes claw migrate # Interactive migration (full preset)
160
- hermes claw migrate --dry-run # Preview what would be migrated
161
- hermes claw migrate --preset user-data # Migrate without secrets
162
- hermes claw migrate --overwrite # Overwrite existing conflicts
159
+ calvyn claw migrate # Interactive migration (full preset)
160
+ calvyn claw migrate --dry-run # Preview what would be migrated
161
+ calvyn claw migrate --preset user-data # Migrate without secrets
162
+ calvyn claw migrate --overwrite # Overwrite existing conflicts
163
163
  ```
164
164
 
165
165
  What gets imported:
@@ -172,21 +172,21 @@ What gets imported:
172
172
  - **TTS assets** — workspace audio files
173
173
  - **Workspace instructions** — AGENTS.md (with `--workspace-target`)
174
174
 
175
- See `hermes claw migrate --help` for all options, or use the `openclaw-migration` skill for an interactive agent-guided migration with dry-run previews.
175
+ See `calvyn claw migrate --help` for all options, or use the `openclaw-migration` skill for an interactive agent-guided migration with dry-run previews.
176
176
 
177
177
  ---
178
178
 
179
179
  ## Contributing
180
180
 
181
- We welcome contributions! See the [Contributing Guide](https://hermes-agent.nousresearch.com/docs/developer-guide/contributing) for development setup, code style, and PR process.
181
+ We welcome contributions! See the [Contributing Guide](https://calvyn-code.nousresearch.com/docs/developer-guide/contributing) for development setup, code style, and PR process.
182
182
 
183
- Quick start for contributors — clone and go with `setup-hermes.sh`:
183
+ Quick start for contributors — clone and go with `setup-calvyn.sh`:
184
184
 
185
185
  ```bash
186
- git clone https://github.com/NousResearch/hermes-agent.git
187
- cd hermes-agent
188
- ./setup-hermes.sh # installs uv, creates venv, installs .[all], symlinks ~/.local/bin/hermes
189
- ./hermes # auto-detects the venv, no need to `source` first
186
+ git clone https://github.com/calvyns/calvyn-code.git
187
+ cd calvyn-code
188
+ ./setup-calvyn.sh # installs uv, creates venv, installs .[all], symlinks ~/.local/bin/calvyn
189
+ ./calvyn # auto-detects the venv, no need to `source` first
190
190
  ```
191
191
 
192
192
  Manual path (equivalent to the above):
@@ -205,8 +205,8 @@ scripts/run_tests.sh
205
205
 
206
206
  - 💬 [Discord](https://discord.gg/NousResearch)
207
207
  - 📚 [Skills Hub](https://agentskills.io)
208
- - 🐛 [Issues](https://github.com/NousResearch/hermes-agent/issues)
209
- - 🔌 [HermesClaw](https://github.com/AaronWong1999/hermesclaw) — Community WeChat bridge: Run Hermes Agent and OpenClaw on the same WeChat account.
208
+ - 🐛 [Issues](https://github.com/calvyns/calvyn-code/issues)
209
+ - 🔌 [HermesClaw](https://github.com/AaronWong1999/hermesclaw) — Community WeChat bridge: Run Calvyn Code and OpenClaw on the same WeChat account.
210
210
 
211
211
  ---
212
212
 
@@ -51,8 +51,9 @@ _PROVIDER_PREFIXES: frozenset[str] = frozenset({
51
51
  "qwen-oauth",
52
52
  "xiaomi",
53
53
  "arcee",
54
- "gmi",
55
- "tencent-tokenhub",
54
+ "gmi",
55
+ "freemodel",
56
+ "tencent-tokenhub",
56
57
  "custom", "local",
57
58
  # Common aliases
58
59
  "google", "google-gemini", "google-ai-studio",
@@ -63,8 +64,9 @@ _PROVIDER_PREFIXES: frozenset[str] = frozenset({
63
64
  "mimo", "xiaomi-mimo",
64
65
  "tencent", "tokenhub", "tencent-cloud", "tencentmaas",
65
66
  "arcee-ai", "arceeai",
66
- "gmi-cloud", "gmicloud",
67
- "xai", "x-ai", "x.ai", "grok",
67
+ "gmi-cloud", "gmicloud",
68
+ "free-model", "free_model",
69
+ "xai", "x-ai", "x.ai", "grok",
68
70
  "nvidia", "nim", "nvidia-nim", "nemotron",
69
71
  "qwen-portal", "novita-ai", "novitaai",
70
72
  })
package/bin/calvyn.js CHANGED
@@ -49,35 +49,13 @@ function runPostinstallIfNeeded() {
49
49
  return calvynBinary
50
50
  }
51
51
 
52
- function shouldShowBanner(args) {
53
- if (!args.length) return true
54
- const first = String(args[0] || "").trim().toLowerCase()
55
- return !["-h", "--help", "-v", "--version", "version"].includes(first)
56
- }
57
-
58
- function printNpmLaunchHeader() {
59
- console.log("")
60
- console.log("")
61
- console.log("")
62
- console.log(" ╔════════════════════════════════════════════════════════════════════════════╗")
63
- console.log(" ║ ✦ CALVYN CODE ║")
64
- console.log(" ║ Запуск через npm ║")
65
- console.log(" ╚════════════════════════════════════════════════════════════════════════════╝")
66
- console.log("")
67
- }
68
-
69
52
  const args = process.argv.slice(2)
70
- if (shouldShowBanner(args)) {
71
- printNpmLaunchHeader()
72
- }
73
-
74
53
  const calvynBinary = runPostinstallIfNeeded()
75
54
  const result = spawnSync(calvynBinary, args, {
76
55
  stdio: "inherit",
77
56
  shell: false,
78
57
  env: {
79
58
  ...process.env,
80
- CALVYN_LAUNCHED_FROM_NPM: "1",
81
59
  CALVYN_REPO_ROOT: packageRoot,
82
60
  CALVYN_HOME: process.env.CALVYN_HOME || path.join(require("os").homedir(), ".calvyn"),
83
61
  },
@@ -2011,11 +2011,11 @@ def select_provider_and_model(args=None):
2011
2011
  _model_flow_bedrock(config, current_model)
2012
2012
  elif selected_provider == "azure-foundry":
2013
2013
  _model_flow_azure_foundry(config, current_model)
2014
- elif selected_provider in {
2015
- "gemini",
2016
- "deepseek",
2017
- "xai",
2018
- "zai",
2014
+ elif selected_provider in {
2015
+ "gemini",
2016
+ "deepseek",
2017
+ "xai",
2018
+ "zai",
2019
2019
  "kimi-coding-cn",
2020
2020
  "minimax",
2021
2021
  "minimax-cn",
@@ -2024,14 +2024,15 @@ def select_provider_and_model(args=None):
2024
2024
  "opencode-go",
2025
2025
  "alibaba",
2026
2026
  "huggingface",
2027
- "xiaomi",
2028
- "arcee",
2029
- "gmi",
2030
- "nvidia",
2031
- "ollama-cloud",
2032
- "tencent-tokenhub",
2033
- "lmstudio",
2034
- } or _is_profile_api_key_provider(selected_provider):
2027
+ "xiaomi",
2028
+ "arcee",
2029
+ "gmi",
2030
+ "freemodel",
2031
+ "nvidia",
2032
+ "ollama-cloud",
2033
+ "tencent-tokenhub",
2034
+ "lmstudio",
2035
+ } or _is_profile_api_key_provider(selected_provider):
2035
2036
  _model_flow_api_key_provider(config, selected_provider, current_model)
2036
2037
 
2037
2038
  # ── Post-switch cleanup: clear stale OPENAI_BASE_URL ──────────────
@@ -331,17 +331,23 @@ _PROVIDER_MODELS: dict[str, list[str]] = {
331
331
  "trinity-large-preview",
332
332
  "trinity-mini",
333
333
  ],
334
- "gmi": [
335
- "zai-org/GLM-5.1-FP8",
336
- "deepseek-ai/DeepSeek-V3.2",
337
- "moonshotai/Kimi-K2.5",
338
- "google/gemini-3.1-flash-lite-preview",
339
- "anthropic/claude-sonnet-4.6",
340
- "openai/gpt-5.4",
341
- ],
342
- "opencode-zen": [
343
- "kimi-k2.5",
344
- "gpt-5.4-pro",
334
+ "gmi": [
335
+ "zai-org/GLM-5.1-FP8",
336
+ "deepseek-ai/DeepSeek-V3.2",
337
+ "moonshotai/Kimi-K2.5",
338
+ "google/gemini-3.1-flash-lite-preview",
339
+ "anthropic/claude-sonnet-4.6",
340
+ "openai/gpt-5.4",
341
+ ],
342
+ "freemodel": [
343
+ "gpt-5.5",
344
+ "gpt-5.4",
345
+ "gpt-5.4-mini",
346
+ "gpt-5.3-codex",
347
+ ],
348
+ "opencode-zen": [
349
+ "kimi-k2.5",
350
+ "gpt-5.4-pro",
345
351
  "gpt-5.4",
346
352
  "gpt-5.3-codex",
347
353
  "gpt-5.2",
@@ -199,7 +199,7 @@ HERMES_OVERLAYS: Dict[str, HermesOverlay] = {
199
199
  "freemodel": HermesOverlay(
200
200
  transport="openai_chat",
201
201
  extra_env_vars=("FREEMODEL_API_KEY",),
202
- base_url_override="https://api.freemodel.xyz/v1",
202
+ base_url_override="https://freemodel.dev/v1",
203
203
  base_url_env_var="FREEMODEL_BASE_URL",
204
204
  ),
205
205
  "ollama-cloud": HermesOverlay(
package/package.json CHANGED
@@ -1,88 +1,91 @@
1
1
  {
2
- "name": "calvyn-code",
3
- "version": "0.14.1",
4
- "description": "Calvyn Code — AI агент с инструментами, мессенджерами и локальным CLI",
5
- "bin": {
6
- "calvyn": "./bin/calvyn.js",
7
- "calvyn-code": "./bin/calvyn.js"
8
- },
9
- "main": "./bin/calvyn.js",
10
- "keywords": [
11
- "ai",
12
- "agent",
13
- "cli",
14
- "calvyn",
15
- "python",
16
- "telegram",
17
- "discord",
18
- "slack",
19
- "whatsapp"
20
- ],
21
- "author": "Calvyn Code Contributors",
22
- "homepage": "https://github.com/NousResearch/hermes-agent#readme",
23
- "scripts": {
24
- "postinstall": "node ./scripts/postinstall.js"
25
- },
26
- "repository": {
27
- "type": "git",
28
- "url": "git+https://github.com/NousResearch/hermes-agent.git"
29
- },
30
- "license": "MIT",
31
- "bugs": {
32
- "url": "https://github.com/NousResearch/hermes-agent/issues"
33
- },
34
- "dependencies": {
35
- "@askjo/camofox-browser": "^1.5.2",
36
- "agent-browser": "^0.26.0"
37
- },
38
- "overrides": {
39
- "lodash": "4.18.1"
40
- },
41
- "engines": {
42
- "node": ">=20.0.0"
43
- },
44
- "publishConfig": {
45
- "access": "public"
46
- },
47
- "files": [
48
- "bin",
49
- "scripts",
50
- "hermes_cli",
51
- "agent",
52
- "gateway",
53
- "tui_gateway",
54
- "cron",
55
- "acp_adapter",
56
- "plugins",
57
- "providers",
58
- "tools",
59
- "assets",
60
- "locales",
61
- "optional-skills",
62
- "skills",
63
- "run_agent.py",
64
- "model_tools.py",
65
- "toolsets.py",
66
- "batch_runner.py",
67
- "trajectory_compressor.py",
68
- "toolset_distributions.py",
69
- "cli.py",
70
- "calvyn_bootstrap.py",
71
- "calvyn_constants.py",
72
- "calvyn_state.py",
73
- "calvyn_time.py",
74
- "calvyn_logging.py",
75
- "hermes_bootstrap.py",
76
- "hermes_constants.py",
77
- "hermes_state.py",
78
- "hermes_time.py",
79
- "hermes_logging.py",
80
- "mcp_serve.py",
81
- "utils.py",
82
- "pyproject.toml",
83
- "cli-config.yaml",
84
- "README.md",
85
- "LICENSE"
86
- ]
87
- }
88
-
2
+ "name": "calvyn-code",
3
+ "version": "0.14.3",
4
+ "description": "Calvyn Code — AI агент с инструментами, мессенджерами и локальным CLI",
5
+ "bin": {
6
+ "calvyn": "./bin/calvyn.js",
7
+ "calvyn-code": "./bin/calvyn.js"
8
+ },
9
+ "main": "./bin/calvyn.js",
10
+ "keywords": [
11
+ "ai",
12
+ "agent",
13
+ "cli",
14
+ "calvyn",
15
+ "python",
16
+ "telegram",
17
+ "discord",
18
+ "slack",
19
+ "whatsapp"
20
+ ],
21
+ "author": "Calvyn Code Contributors",
22
+ "homepage": "https://github.com/calvyns/calvyn-code#readme",
23
+ "scripts": {
24
+ "postinstall": "node ./scripts/postinstall.js"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/calvyns/calvyn-code.git"
29
+ },
30
+ "license": "MIT",
31
+ "bugs": {
32
+ "url": "https://github.com/calvyns/calvyn-code/issues"
33
+ },
34
+ "dependencies": {
35
+ "@askjo/camofox-browser": "^1.5.2",
36
+ "agent-browser": "^0.26.0"
37
+ },
38
+ "overrides": {
39
+ "lodash": "4.18.1"
40
+ },
41
+ "engines": {
42
+ "node": ">=20.0.0"
43
+ },
44
+ "publishConfig": {
45
+ "access": "public"
46
+ },
47
+ "files": [
48
+ "bin",
49
+ "scripts",
50
+ "hermes_cli",
51
+ "agent",
52
+ "gateway",
53
+ "tui_gateway",
54
+ "cron",
55
+ "acp_adapter",
56
+ "plugins",
57
+ "providers",
58
+ "tools",
59
+ "assets",
60
+ "locales",
61
+ "optional-skills",
62
+ "skills",
63
+ "run_agent.py",
64
+ "model_tools.py",
65
+ "toolsets.py",
66
+ "batch_runner.py",
67
+ "trajectory_compressor.py",
68
+ "toolset_distributions.py",
69
+ "cli.py",
70
+ "calvyn_bootstrap.py",
71
+ "calvyn_constants.py",
72
+ "calvyn_state.py",
73
+ "calvyn_time.py",
74
+ "calvyn_logging.py",
75
+ "hermes_bootstrap.py",
76
+ "hermes_constants.py",
77
+ "hermes_state.py",
78
+ "hermes_time.py",
79
+ "hermes_logging.py",
80
+ "mcp_serve.py",
81
+ "utils.py",
82
+ "pyproject.toml",
83
+ "cli-config.yaml",
84
+ "README.md",
85
+ "LICENSE",
86
+ "!**/__pycache__/**",
87
+ "!**/*.pyc",
88
+ "!**/*.pyo",
89
+ "!**/*.pyd"
90
+ ]
91
+ }
@@ -8,9 +8,16 @@ freemodel = ProviderProfile(
8
8
  aliases=("free-model", "free_model"),
9
9
  display_name="FreeModel",
10
10
  description="FreeModel — OpenAI-compatible direct API",
11
- signup_url="https://freemodel.xyz/",
11
+ signup_url="https://freemodel.dev/dashboard/usage",
12
12
  env_vars=("FREEMODEL_API_KEY", "FREEMODEL_BASE_URL"),
13
- base_url="https://api.freemodel.xyz/v1",
13
+ base_url="https://freemodel.dev/v1",
14
+ fallback_models=(
15
+ "gpt-5.5",
16
+ "gpt-5.4",
17
+ "gpt-5.4-mini",
18
+ "gpt-5.3-codex",
19
+ ),
20
+ default_aux_model="gpt-5.4-mini",
14
21
  )
15
22
 
16
23
  register_provider(freemodel)
package/pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "calvyn-code"
7
- version = "0.14.1"
7
+ version = "0.14.2"
8
8
  description = "The self-improving AI agent — creates skills from experience, improves them during use, and runs anywhere"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"