comodor 0.19.1__tar.gz → 0.19.2__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 (225) hide show
  1. {comodor-0.19.1 → comodor-0.19.2}/PKG-INFO +2 -2
  2. {comodor-0.19.1 → comodor-0.19.2}/README.md +1 -1
  3. {comodor-0.19.1 → comodor-0.19.2}/docs/README.md +1 -1
  4. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/_version.py +2 -2
  5. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/help.py +8 -3
  6. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/setup.py +11 -2
  7. {comodor-0.19.1 → comodor-0.19.2}/.gitignore +0 -0
  8. {comodor-0.19.1 → comodor-0.19.2}/LICENSE +0 -0
  9. {comodor-0.19.1 → comodor-0.19.2}/pyproject.toml +0 -0
  10. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/__init__.py +0 -0
  11. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/__main__.py +0 -0
  12. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/acp/__init__.py +0 -0
  13. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/acp/agent.py +0 -0
  14. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/acp/commands.py +0 -0
  15. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/acp/jsonrpc.py +0 -0
  16. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/agent/__init__.py +0 -0
  17. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/agent/context.py +0 -0
  18. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/agent/loop.py +0 -0
  19. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/agent/prompts.py +0 -0
  20. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/agent/spawn.py +0 -0
  21. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/agent/tokens.py +0 -0
  22. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/browser/__init__.py +0 -0
  23. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/browser/cdp.py +0 -0
  24. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/browser/launch.py +0 -0
  25. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/browser/page.py +0 -0
  26. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/catalogue.py +0 -0
  27. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/channels/__init__.py +0 -0
  28. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/channels/daemon.py +0 -0
  29. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/channels/unit.py +0 -0
  30. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/cli.py +0 -0
  31. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/config.py +0 -0
  32. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/desktop/__init__.py +0 -0
  33. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/desktop/guard.py +0 -0
  34. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/desktop/keys.py +0 -0
  35. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/desktop/overlay.py +0 -0
  36. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/desktop/png.py +0 -0
  37. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/desktop/screen.py +0 -0
  38. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/desktop/win32.py +0 -0
  39. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/doctor.py +0 -0
  40. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/events.py +0 -0
  41. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/__init__.py +0 -0
  42. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/associations.py +0 -0
  43. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/bm25.py +0 -0
  44. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/hotindex.py +0 -0
  45. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/memory.py +0 -0
  46. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/progress.py +0 -0
  47. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/reflect.py +0 -0
  48. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/rules.py +0 -0
  49. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/signals.py +0 -0
  50. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/store.py +0 -0
  51. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/learning/writer.py +0 -0
  52. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/__init__.py +0 -0
  53. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/catalogue.py +0 -0
  54. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/commands.py +0 -0
  55. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/download.py +0 -0
  56. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/models.json +0 -0
  57. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/provider.py +0 -0
  58. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/runtime.py +0 -0
  59. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/local/store.py +0 -0
  60. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/mcp/__init__.py +0 -0
  61. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/mcp/catalogue.py +0 -0
  62. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/mcp/commands.py +0 -0
  63. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/mcp/http.py +0 -0
  64. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/mcp/manager.py +0 -0
  65. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/mcp/protocol.py +0 -0
  66. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/migrate.py +0 -0
  67. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/net/__init__.py +0 -0
  68. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/net/http.py +0 -0
  69. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/net/sse.py +0 -0
  70. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/paths.py +0 -0
  71. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/__init__.py +0 -0
  72. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/anthropic.py +0 -0
  73. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/base.py +0 -0
  74. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/caching.py +0 -0
  75. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/discover.py +0 -0
  76. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/fake.py +0 -0
  77. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/gateway.py +0 -0
  78. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/models.py +0 -0
  79. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/oauth.py +0 -0
  80. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/openai_compat.py +0 -0
  81. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/providers/registry.py +0 -0
  82. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/questions.py +0 -0
  83. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/safety/__init__.py +0 -0
  84. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/safety/checkpoints.py +0 -0
  85. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/safety/permissions.py +0 -0
  86. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/safety/redact.py +0 -0
  87. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/session/__init__.py +0 -0
  88. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/session/search.py +0 -0
  89. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/session/store.py +0 -0
  90. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/skills/__init__.py +0 -0
  91. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/skills/catalogue.py +0 -0
  92. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/skills/commands.py +0 -0
  93. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/skills/examples.py +0 -0
  94. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/skills/loader.py +0 -0
  95. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/skills/propose.py +0 -0
  96. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/skills/registry.py +0 -0
  97. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/telegram/__init__.py +0 -0
  98. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/telegram/api.py +0 -0
  99. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/telegram/bot.py +0 -0
  100. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/telegram/commands.py +0 -0
  101. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/telegram/keyboard.py +0 -0
  102. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/telegram/service.py +0 -0
  103. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/telegram/unit.py +0 -0
  104. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/__init__.py +0 -0
  105. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/ask.py +0 -0
  106. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/base.py +0 -0
  107. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/browse.py +0 -0
  108. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/browser.py +0 -0
  109. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/computer.py +0 -0
  110. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/delegate.py +0 -0
  111. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/fs.py +0 -0
  112. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/history.py +0 -0
  113. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/mcp.py +0 -0
  114. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/overflow.py +0 -0
  115. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/registry.py +0 -0
  116. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/search.py +0 -0
  117. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/shell.py +0 -0
  118. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/skills.py +0 -0
  119. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/todo.py +0 -0
  120. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/tools/web.py +0 -0
  121. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/__init__.py +0 -0
  122. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/app.py +0 -0
  123. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/banner.py +0 -0
  124. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/bidi.py +0 -0
  125. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/chooser.py +0 -0
  126. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/clipboard.py +0 -0
  127. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/console.py +0 -0
  128. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/input/__init__.py +0 -0
  129. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/input/keys.py +0 -0
  130. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/input/reader.py +0 -0
  131. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/layout.py +0 -0
  132. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/markdown.py +0 -0
  133. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/screen.py +0 -0
  134. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/theme.py +0 -0
  135. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/__init__.py +0 -0
  136. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/buttons.py +0 -0
  137. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/chat.py +0 -0
  138. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/history.py +0 -0
  139. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/overlay.py +0 -0
  140. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/panel.py +0 -0
  141. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/progress.py +0 -0
  142. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/prompt.py +0 -0
  143. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/questions.py +0 -0
  144. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/statusbar.py +0 -0
  145. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/toast.py +0 -0
  146. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/ui/widgets/welcome.py +0 -0
  147. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/uninstall.py +0 -0
  148. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/update.py +0 -0
  149. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/__init__.py +0 -0
  150. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/commands.py +0 -0
  151. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/index.html +0 -0
  152. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/server.py +0 -0
  153. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/session.py +0 -0
  154. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/ui.css +0 -0
  155. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/ui.js +0 -0
  156. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/vazirmatn-OFL.txt +0 -0
  157. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/web/vazirmatn.woff2 +0 -0
  158. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/__init__.py +0 -0
  159. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/api.py +0 -0
  160. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/bot.py +0 -0
  161. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/commands.py +0 -0
  162. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/guide.py +0 -0
  163. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/menu.py +0 -0
  164. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/service.py +0 -0
  165. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/tunnel.py +0 -0
  166. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/unit.py +0 -0
  167. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/whatsapp/webhook.py +0 -0
  168. {comodor-0.19.1 → comodor-0.19.2}/src/comodor/workspace.py +0 -0
  169. {comodor-0.19.1 → comodor-0.19.2}/tests/conftest.py +0 -0
  170. {comodor-0.19.1 → comodor-0.19.2}/tests/support/fake_mcp_server.py +0 -0
  171. {comodor-0.19.1 → comodor-0.19.2}/tests/test_acp.py +0 -0
  172. {comodor-0.19.1 → comodor-0.19.2}/tests/test_agent_loop.py +0 -0
  173. {comodor-0.19.1 → comodor-0.19.2}/tests/test_app.py +0 -0
  174. {comodor-0.19.1 → comodor-0.19.2}/tests/test_associations.py +0 -0
  175. {comodor-0.19.1 → comodor-0.19.2}/tests/test_banner.py +0 -0
  176. {comodor-0.19.1 → comodor-0.19.2}/tests/test_bidi.py +0 -0
  177. {comodor-0.19.1 → comodor-0.19.2}/tests/test_browser.py +0 -0
  178. {comodor-0.19.1 → comodor-0.19.2}/tests/test_caching.py +0 -0
  179. {comodor-0.19.1 → comodor-0.19.2}/tests/test_channel_service.py +0 -0
  180. {comodor-0.19.1 → comodor-0.19.2}/tests/test_chooser.py +0 -0
  181. {comodor-0.19.1 → comodor-0.19.2}/tests/test_computer_tool.py +0 -0
  182. {comodor-0.19.1 → comodor-0.19.2}/tests/test_config_save.py +0 -0
  183. {comodor-0.19.1 → comodor-0.19.2}/tests/test_copy_and_bands.py +0 -0
  184. {comodor-0.19.1 → comodor-0.19.2}/tests/test_delegate.py +0 -0
  185. {comodor-0.19.1 → comodor-0.19.2}/tests/test_desktop.py +0 -0
  186. {comodor-0.19.1 → comodor-0.19.2}/tests/test_discover.py +0 -0
  187. {comodor-0.19.1 → comodor-0.19.2}/tests/test_doctor.py +0 -0
  188. {comodor-0.19.1 → comodor-0.19.2}/tests/test_help.py +0 -0
  189. {comodor-0.19.1 → comodor-0.19.2}/tests/test_history.py +0 -0
  190. {comodor-0.19.1 → comodor-0.19.2}/tests/test_import_command.py +0 -0
  191. {comodor-0.19.1 → comodor-0.19.2}/tests/test_input.py +0 -0
  192. {comodor-0.19.1 → comodor-0.19.2}/tests/test_layout.py +0 -0
  193. {comodor-0.19.1 → comodor-0.19.2}/tests/test_learning.py +0 -0
  194. {comodor-0.19.1 → comodor-0.19.2}/tests/test_local.py +0 -0
  195. {comodor-0.19.1 → comodor-0.19.2}/tests/test_markdown.py +0 -0
  196. {comodor-0.19.1 → comodor-0.19.2}/tests/test_mcp.py +0 -0
  197. {comodor-0.19.1 → comodor-0.19.2}/tests/test_mcp_http.py +0 -0
  198. {comodor-0.19.1 → comodor-0.19.2}/tests/test_migrate.py +0 -0
  199. {comodor-0.19.1 → comodor-0.19.2}/tests/test_oauth.py +0 -0
  200. {comodor-0.19.1 → comodor-0.19.2}/tests/test_overflow.py +0 -0
  201. {comodor-0.19.1 → comodor-0.19.2}/tests/test_overlay.py +0 -0
  202. {comodor-0.19.1 → comodor-0.19.2}/tests/test_performance.py +0 -0
  203. {comodor-0.19.1 → comodor-0.19.2}/tests/test_prefix_stability.py +0 -0
  204. {comodor-0.19.1 → comodor-0.19.2}/tests/test_progress.py +0 -0
  205. {comodor-0.19.1 → comodor-0.19.2}/tests/test_propose.py +0 -0
  206. {comodor-0.19.1 → comodor-0.19.2}/tests/test_providers.py +0 -0
  207. {comodor-0.19.1 → comodor-0.19.2}/tests/test_questions.py +0 -0
  208. {comodor-0.19.1 → comodor-0.19.2}/tests/test_real_browser.py +0 -0
  209. {comodor-0.19.1 → comodor-0.19.2}/tests/test_real_desktop.py +0 -0
  210. {comodor-0.19.1 → comodor-0.19.2}/tests/test_real_web_ui.py +0 -0
  211. {comodor-0.19.1 → comodor-0.19.2}/tests/test_reflex.py +0 -0
  212. {comodor-0.19.1 → comodor-0.19.2}/tests/test_run_loop.py +0 -0
  213. {comodor-0.19.1 → comodor-0.19.2}/tests/test_setup.py +0 -0
  214. {comodor-0.19.1 → comodor-0.19.2}/tests/test_setup_import.py +0 -0
  215. {comodor-0.19.1 → comodor-0.19.2}/tests/test_skill_budget.py +0 -0
  216. {comodor-0.19.1 → comodor-0.19.2}/tests/test_skill_catalogue.py +0 -0
  217. {comodor-0.19.1 → comodor-0.19.2}/tests/test_skills.py +0 -0
  218. {comodor-0.19.1 → comodor-0.19.2}/tests/test_switching_model.py +0 -0
  219. {comodor-0.19.1 → comodor-0.19.2}/tests/test_telegram.py +0 -0
  220. {comodor-0.19.1 → comodor-0.19.2}/tests/test_tools.py +0 -0
  221. {comodor-0.19.1 → comodor-0.19.2}/tests/test_uninstall.py +0 -0
  222. {comodor-0.19.1 → comodor-0.19.2}/tests/test_update.py +0 -0
  223. {comodor-0.19.1 → comodor-0.19.2}/tests/test_web.py +0 -0
  224. {comodor-0.19.1 → comodor-0.19.2}/tests/test_welcome.py +0 -0
  225. {comodor-0.19.1 → comodor-0.19.2}/tests/test_whatsapp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: comodor
3
- Version: 0.19.1
3
+ Version: 0.19.2
4
4
  Summary: Comodor — a self-improving terminal coding agent with a Rich TUI
5
5
  Project-URL: Homepage, https://comodor.ai
6
6
  Project-URL: Repository, https://github.com/ifekri/Comodor
@@ -174,7 +174,7 @@ Esc stop it F3 cycle mode
174
174
  | [What it can do](docs/tools.md) | The 13 tools, and when it uses each |
175
175
  | [Safety and permissions](docs/safety.md) | What it asks, and what it never does |
176
176
  | [From your phone](docs/telegram.md) | The Telegram bot, and who it answers |
177
- | [From WhatsApp](docs/whatsapp.md) | The Cloud API, the webhook, and Meta's limits |
177
+ | [From WhatsApp](docs/whatsapp.md) | The Cloud API — longer to set up; Telegram does the same thing |
178
178
  | [Models on your machine](docs/local-models.md) | Downloading one, running it offline |
179
179
  | [Configuration](docs/configuration.md) | Every setting, and what wins |
180
180
  | [Cost](docs/cost.md) | Caching, budgets, paying less |
@@ -147,7 +147,7 @@ Esc stop it F3 cycle mode
147
147
  | [What it can do](docs/tools.md) | The 13 tools, and when it uses each |
148
148
  | [Safety and permissions](docs/safety.md) | What it asks, and what it never does |
149
149
  | [From your phone](docs/telegram.md) | The Telegram bot, and who it answers |
150
- | [From WhatsApp](docs/whatsapp.md) | The Cloud API, the webhook, and Meta's limits |
150
+ | [From WhatsApp](docs/whatsapp.md) | The Cloud API — longer to set up; Telegram does the same thing |
151
151
  | [Models on your machine](docs/local-models.md) | Downloading one, running it offline |
152
152
  | [Configuration](docs/configuration.md) | Every setting, and what wins |
153
153
  | [Cost](docs/cost.md) | Caching, budgets, paying less |
@@ -42,7 +42,7 @@ ends with the agent doing something useful.
42
42
  | | |
43
43
  |---|---|
44
44
  | [From your phone](telegram.md) | The Telegram bot: pairing, the buttons, and who it answers |
45
- | [From WhatsApp](whatsapp.md) | The Cloud API: the webhook, pairing, and Meta's limits |
45
+ | [From WhatsApp](whatsapp.md) | The Cloud API — about twenty minutes and technical. Telegram does the same in one |
46
46
  | [Models on your machine](local-models.md) | Downloading one, running it offline, adding to the list |
47
47
  | [Questions](questions.md) | The form it puts up when a request reads two ways |
48
48
  | [How it learns](learning.md) | Corrections, lessons, rules, and the proof |
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.19.1'
22
- __version_tuple__ = version_tuple = (0, 19, 1)
21
+ __version__ = version = '0.19.2'
22
+ __version_tuple__ = version_tuple = (0, 19, 2)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -229,9 +229,14 @@ Full guide: docs/web.md"""),
229
229
  comodor whatsapp start -b run it detached from this terminal
230
230
  comodor whatsapp status what is set, who may talk, is it running
231
231
 
232
- About twenty minutes to set up, against one for Telegram, and most of it is
233
- in Meta's dashboard. No real phone number, no card and no business
234
- verification: the test number Meta creates messages five people for free.
232
+ Telegram does the same thing in about a minute. This takes about twenty and is
233
+ technical, and most of it is in Meta's dashboard - so unless it has to be
234
+ WhatsApp, `comodor help telegram` is the shorter road.
235
+
236
+ What is NOT needed, because everybody assumes otherwise: no real phone number,
237
+ no payment method, no business verification. The test number Meta creates
238
+ messages five people for free, which is four more than one person talking to
239
+ their own agent needs.
235
240
 
236
241
  Meta's Cloud API, which is the official one. The libraries that drive WhatsApp
237
242
  Web instead need Node, break whenever the web client changes, and are against
@@ -660,12 +660,21 @@ class SetupWizard:
660
660
  "otherwise.\n",
661
661
  style=self.theme.style("dim")))
662
662
 
663
+ # The two are not equal work and the list says so. WhatsApp needs a
664
+ # Meta app, an app secret and a public HTTPS address — twenty minutes
665
+ # of somebody else's dashboard — and it does exactly what the one-token
666
+ # option does. Somebody choosing it because it was listed second, and
667
+ # discovering that twenty minutes later, is a question that cost them
668
+ # their evening.
663
669
  wanted = self._choose(
664
670
  [("no", "Not now", "you can set either up later"),
665
671
  ("telegram", "Telegram",
666
- "a bot from @BotFather — one token, set up here in a minute"),
672
+ "recommended — one token from @BotFather, about a minute, "
673
+ "nothing else to set up"),
667
674
  ("whatsapp", "WhatsApp",
668
- "a Meta business number — needs an app at developers.facebook.com")],
675
+ "about twenty minutes and technical: a Meta app, an app secret "
676
+ "and a public HTTPS address. It does the same thing Telegram "
677
+ "does — pick this only if it has to be WhatsApp")],
669
678
  default=1, title="From your phone")
670
679
  if wanted == "whatsapp":
671
680
  self._point_at_whatsapp(step, total)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes