yee88 0.6.2__tar.gz → 0.6.3__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 (269) hide show
  1. {yee88-0.6.2 → yee88-0.6.3}/PKG-INFO +1 -1
  2. {yee88-0.6.2 → yee88-0.6.3}/pyproject.toml +1 -1
  3. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/model.py +42 -1
  4. {yee88-0.6.2 → yee88-0.6.3}/.codex/AGENTS.md +0 -0
  5. {yee88-0.6.2 → yee88-0.6.3}/.github/workflows/ci.yml +0 -0
  6. {yee88-0.6.2 → yee88-0.6.3}/.github/workflows/release.yml +0 -0
  7. {yee88-0.6.2 → yee88-0.6.3}/.gitignore +0 -0
  8. {yee88-0.6.2 → yee88-0.6.3}/.sisyphus/plans/yee88-architecture-review.md +0 -0
  9. {yee88-0.6.2 → yee88-0.6.3}/Justfile +0 -0
  10. {yee88-0.6.2 → yee88-0.6.3}/LICENSE +0 -0
  11. {yee88-0.6.2 → yee88-0.6.3}/README.md +0 -0
  12. {yee88-0.6.2 → yee88-0.6.3}/changelog.md +0 -0
  13. {yee88-0.6.2 → yee88-0.6.3}/docs/assets/favicon.svg +0 -0
  14. {yee88-0.6.2 → yee88-0.6.3}/docs/assets/logo.svg +0 -0
  15. {yee88-0.6.2 → yee88-0.6.3}/docs/assets/og-image.jpg +0 -0
  16. {yee88-0.6.2 → yee88-0.6.3}/docs/assets/takopi.svg +0 -0
  17. {yee88-0.6.2 → yee88-0.6.3}/docs/developing.md +0 -0
  18. {yee88-0.6.2 → yee88-0.6.3}/docs/explanation/architecture.md +0 -0
  19. {yee88-0.6.2 → yee88-0.6.3}/docs/explanation/index.md +0 -0
  20. {yee88-0.6.2 → yee88-0.6.3}/docs/explanation/module-map.md +0 -0
  21. {yee88-0.6.2 → yee88-0.6.3}/docs/explanation/plugin-system.md +0 -0
  22. {yee88-0.6.2 → yee88-0.6.3}/docs/explanation/routing-and-sessions.md +0 -0
  23. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/add-a-runner.md +0 -0
  24. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/chat-sessions.md +0 -0
  25. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/dev-setup.md +0 -0
  26. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/file-transfer.md +0 -0
  27. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/index.md +0 -0
  28. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/projects.md +0 -0
  29. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/route-by-chat.md +0 -0
  30. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/schedule-tasks.md +0 -0
  31. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/switch-engines.md +0 -0
  32. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/topics.md +0 -0
  33. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/troubleshooting.md +0 -0
  34. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/voice-notes.md +0 -0
  35. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/worktrees.md +0 -0
  36. {yee88-0.6.2 → yee88-0.6.3}/docs/how-to/write-a-plugin.md +0 -0
  37. {yee88-0.6.2 → yee88-0.6.3}/docs/index.md +0 -0
  38. {yee88-0.6.2 → yee88-0.6.3}/docs/javascripts/hero-chat.js +0 -0
  39. {yee88-0.6.2 → yee88-0.6.3}/docs/overrides/.icons/takopi/takopi.svg +0 -0
  40. {yee88-0.6.2 → yee88-0.6.3}/docs/overrides/main.html +0 -0
  41. {yee88-0.6.2 → yee88-0.6.3}/docs/plugins.md +0 -0
  42. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/agents/index.md +0 -0
  43. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/agents/invariants.md +0 -0
  44. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/agents/repo-map.md +0 -0
  45. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/commands-and-directives.md +0 -0
  46. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/config.md +0 -0
  47. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/context-resolution.md +0 -0
  48. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/env-vars.md +0 -0
  49. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/index.md +0 -0
  50. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/plugin-api.md +0 -0
  51. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/plugins.md +0 -0
  52. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/claude/runner.md +0 -0
  53. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/claude/stream-json-cheatsheet.md +0 -0
  54. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/claude/takopi-events.md +0 -0
  55. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/codex/exec-json-cheatsheet.md +0 -0
  56. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/codex/takopi-events.md +0 -0
  57. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/index.md +0 -0
  58. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/opencode/runner.md +0 -0
  59. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/opencode/stream-json-cheatsheet.md +0 -0
  60. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/opencode/takopi-events.md +0 -0
  61. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/pi/runner.md +0 -0
  62. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/pi/stream-json-cheatsheet.md +0 -0
  63. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/runners/pi/takopi-events.md +0 -0
  64. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/specification.md +0 -0
  65. {yee88-0.6.2 → yee88-0.6.3}/docs/reference/transports/telegram.md +0 -0
  66. {yee88-0.6.2 → yee88-0.6.3}/docs/stylesheets/admonitions.css +0 -0
  67. {yee88-0.6.2 → yee88-0.6.3}/docs/stylesheets/hero-chat.css +0 -0
  68. {yee88-0.6.2 → yee88-0.6.3}/docs/stylesheets/workflow-preview.css +0 -0
  69. {yee88-0.6.2 → yee88-0.6.3}/docs/tutorials/conversation-modes.md +0 -0
  70. {yee88-0.6.2 → yee88-0.6.3}/docs/tutorials/first-run.md +0 -0
  71. {yee88-0.6.2 → yee88-0.6.3}/docs/tutorials/index.md +0 -0
  72. {yee88-0.6.2 → yee88-0.6.3}/docs/tutorials/install.md +0 -0
  73. {yee88-0.6.2 → yee88-0.6.3}/docs/tutorials/multi-engine.md +0 -0
  74. {yee88-0.6.2 → yee88-0.6.3}/docs/tutorials/projects-and-branches.md +0 -0
  75. {yee88-0.6.2 → yee88-0.6.3}/docs/user-guide-zh.md +0 -0
  76. {yee88-0.6.2 → yee88-0.6.3}/docs/user-guide.md +0 -0
  77. {yee88-0.6.2 → yee88-0.6.3}/readme.md +0 -0
  78. {yee88-0.6.2 → yee88-0.6.3}/scripts/commit_notify.py +0 -0
  79. {yee88-0.6.2 → yee88-0.6.3}/scripts/docs_build_cf.sh +0 -0
  80. {yee88-0.6.2 → yee88-0.6.3}/scripts/docs_prebuild.py +0 -0
  81. {yee88-0.6.2 → yee88-0.6.3}/scripts/onboarding_preview.py +0 -0
  82. {yee88-0.6.2 → yee88-0.6.3}/scripts/release_notify.py +0 -0
  83. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/__init__.py +0 -0
  84. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/api.py +0 -0
  85. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/backends.py +0 -0
  86. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/backends_helpers.py +0 -0
  87. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/__init__.py +0 -0
  88. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/config.py +0 -0
  89. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/cron.py +0 -0
  90. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/doctor.py +0 -0
  91. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/init.py +0 -0
  92. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/onboarding_cmd.py +0 -0
  93. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/plugins.py +0 -0
  94. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/reload.py +0 -0
  95. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/run.py +0 -0
  96. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cli/topic.py +0 -0
  97. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/commands.py +0 -0
  98. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/config.py +0 -0
  99. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/config_migrations.py +0 -0
  100. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/config_watch.py +0 -0
  101. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/context.py +0 -0
  102. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cron/__init__.py +0 -0
  103. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cron/manager.py +0 -0
  104. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cron/models.py +0 -0
  105. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/cron/scheduler.py +0 -0
  106. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/directives.py +0 -0
  107. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/engines.py +0 -0
  108. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/events.py +0 -0
  109. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/ids.py +0 -0
  110. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/lockfile.py +0 -0
  111. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/logging.py +0 -0
  112. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/markdown.py +0 -0
  113. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/model.py +0 -0
  114. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/plugins.py +0 -0
  115. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/presenter.py +0 -0
  116. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/progress.py +0 -0
  117. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/router.py +0 -0
  118. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runner.py +0 -0
  119. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runner_bridge.py +0 -0
  120. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/__init__.py +0 -0
  121. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/claude.py +0 -0
  122. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/codex.py +0 -0
  123. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/mock.py +0 -0
  124. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/opencode.py +0 -0
  125. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/pi.py +0 -0
  126. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/run_options.py +0 -0
  127. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runners/tool_actions.py +0 -0
  128. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/runtime_loader.py +0 -0
  129. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/scheduler.py +0 -0
  130. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/schemas/__init__.py +0 -0
  131. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/schemas/claude.py +0 -0
  132. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/schemas/codex.py +0 -0
  133. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/schemas/opencode.py +0 -0
  134. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/schemas/pi.py +0 -0
  135. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/settings.py +0 -0
  136. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/skills/yee88/SKILL.md +0 -0
  137. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/__init__.py +0 -0
  138. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/api_models.py +0 -0
  139. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/api_schemas.py +0 -0
  140. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/backend.py +0 -0
  141. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/bridge.py +0 -0
  142. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/chat_prefs.py +0 -0
  143. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/chat_sessions.py +0 -0
  144. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/client.py +0 -0
  145. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/client_api.py +0 -0
  146. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/__init__.py +0 -0
  147. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/agent.py +0 -0
  148. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/cancel.py +0 -0
  149. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/dispatch.py +0 -0
  150. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/executor.py +0 -0
  151. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/file_transfer.py +0 -0
  152. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/handlers.py +0 -0
  153. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/media.py +0 -0
  154. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/menu.py +0 -0
  155. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/overrides.py +0 -0
  156. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/parse.py +0 -0
  157. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/plan.py +0 -0
  158. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/reasoning.py +0 -0
  159. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/reply.py +0 -0
  160. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/topics.py +0 -0
  161. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/commands/trigger.py +0 -0
  162. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/context.py +0 -0
  163. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/engine_defaults.py +0 -0
  164. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/engine_overrides.py +0 -0
  165. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/files.py +0 -0
  166. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/loop.py +0 -0
  167. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/onboarding.py +0 -0
  168. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/outbox.py +0 -0
  169. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/parsing.py +0 -0
  170. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/render.py +0 -0
  171. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/state_store.py +0 -0
  172. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/topic_state.py +0 -0
  173. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/topics.py +0 -0
  174. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/trigger_mode.py +0 -0
  175. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/types.py +0 -0
  176. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/telegram/voice.py +0 -0
  177. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/transport.py +0 -0
  178. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/transport_runtime.py +0 -0
  179. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/transports.py +0 -0
  180. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/utils/__init__.py +0 -0
  181. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/utils/git.py +0 -0
  182. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/utils/json_state.py +0 -0
  183. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/utils/paths.py +0 -0
  184. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/utils/streams.py +0 -0
  185. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/utils/subprocess.py +0 -0
  186. {yee88-0.6.2 → yee88-0.6.3}/src/yee88/worktrees.py +0 -0
  187. {yee88-0.6.2 → yee88-0.6.3}/tests/__init__.py +0 -0
  188. {yee88-0.6.2 → yee88-0.6.3}/tests/conftest.py +0 -0
  189. {yee88-0.6.2 → yee88-0.6.3}/tests/factories.py +0 -0
  190. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/claude_stream_json_session.jsonl +0 -0
  191. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/codex_exec_json_all_formats.jsonl +0 -0
  192. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/codex_exec_json_all_formats.txt +0 -0
  193. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/opencode_run_json.jsonl +0 -0
  194. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/opencode_stream_error.jsonl +0 -0
  195. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/opencode_stream_success.jsonl +0 -0
  196. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/opencode_stream_success_no_reason.jsonl +0 -0
  197. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/pi_print_mode_events.jsonl +0 -0
  198. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/pi_stream_error.jsonl +0 -0
  199. {yee88-0.6.2 → yee88-0.6.3}/tests/fixtures/pi_stream_success.jsonl +0 -0
  200. {yee88-0.6.2 → yee88-0.6.3}/tests/plugin_fixtures.py +0 -0
  201. {yee88-0.6.2 → yee88-0.6.3}/tests/telegram_fakes.py +0 -0
  202. {yee88-0.6.2 → yee88-0.6.3}/tests/test_api_exports.py +0 -0
  203. {yee88-0.6.2 → yee88-0.6.3}/tests/test_auto_router.py +0 -0
  204. {yee88-0.6.2 → yee88-0.6.3}/tests/test_claude_runner.py +0 -0
  205. {yee88-0.6.2 → yee88-0.6.3}/tests/test_claude_schema.py +0 -0
  206. {yee88-0.6.2 → yee88-0.6.3}/tests/test_cli_auto_router.py +0 -0
  207. {yee88-0.6.2 → yee88-0.6.3}/tests/test_cli_chat_id.py +0 -0
  208. {yee88-0.6.2 → yee88-0.6.3}/tests/test_cli_commands.py +0 -0
  209. {yee88-0.6.2 → yee88-0.6.3}/tests/test_cli_config.py +0 -0
  210. {yee88-0.6.2 → yee88-0.6.3}/tests/test_cli_doctor.py +0 -0
  211. {yee88-0.6.2 → yee88-0.6.3}/tests/test_cli_helpers.py +0 -0
  212. {yee88-0.6.2 → yee88-0.6.3}/tests/test_codex_runner_helpers.py +0 -0
  213. {yee88-0.6.2 → yee88-0.6.3}/tests/test_codex_schema.py +0 -0
  214. {yee88-0.6.2 → yee88-0.6.3}/tests/test_codex_tool_result_summary.py +0 -0
  215. {yee88-0.6.2 → yee88-0.6.3}/tests/test_command_registry.py +0 -0
  216. {yee88-0.6.2 → yee88-0.6.3}/tests/test_config_store.py +0 -0
  217. {yee88-0.6.2 → yee88-0.6.3}/tests/test_config_watch.py +0 -0
  218. {yee88-0.6.2 → yee88-0.6.3}/tests/test_engine_discovery.py +0 -0
  219. {yee88-0.6.2 → yee88-0.6.3}/tests/test_exec_bridge.py +0 -0
  220. {yee88-0.6.2 → yee88-0.6.3}/tests/test_exec_render.py +0 -0
  221. {yee88-0.6.2 → yee88-0.6.3}/tests/test_exec_runner.py +0 -0
  222. {yee88-0.6.2 → yee88-0.6.3}/tests/test_git_utils.py +0 -0
  223. {yee88-0.6.2 → yee88-0.6.3}/tests/test_lockfile.py +0 -0
  224. {yee88-0.6.2 → yee88-0.6.3}/tests/test_onboarding.py +0 -0
  225. {yee88-0.6.2 → yee88-0.6.3}/tests/test_onboarding_helpers.py +0 -0
  226. {yee88-0.6.2 → yee88-0.6.3}/tests/test_onboarding_interactive.py +0 -0
  227. {yee88-0.6.2 → yee88-0.6.3}/tests/test_opencode_runner.py +0 -0
  228. {yee88-0.6.2 → yee88-0.6.3}/tests/test_opencode_schema.py +0 -0
  229. {yee88-0.6.2 → yee88-0.6.3}/tests/test_paths.py +0 -0
  230. {yee88-0.6.2 → yee88-0.6.3}/tests/test_pi_runner.py +0 -0
  231. {yee88-0.6.2 → yee88-0.6.3}/tests/test_pi_schema.py +0 -0
  232. {yee88-0.6.2 → yee88-0.6.3}/tests/test_plugins.py +0 -0
  233. {yee88-0.6.2 → yee88-0.6.3}/tests/test_projects_config.py +0 -0
  234. {yee88-0.6.2 → yee88-0.6.3}/tests/test_rendering.py +0 -0
  235. {yee88-0.6.2 → yee88-0.6.3}/tests/test_runner_contract.py +0 -0
  236. {yee88-0.6.2 → yee88-0.6.3}/tests/test_runner_run_options.py +0 -0
  237. {yee88-0.6.2 → yee88-0.6.3}/tests/test_runner_utils.py +0 -0
  238. {yee88-0.6.2 → yee88-0.6.3}/tests/test_runtime_loader.py +0 -0
  239. {yee88-0.6.2 → yee88-0.6.3}/tests/test_settings.py +0 -0
  240. {yee88-0.6.2 → yee88-0.6.3}/tests/test_settings_contract.py +0 -0
  241. {yee88-0.6.2 → yee88-0.6.3}/tests/test_subprocess.py +0 -0
  242. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_agent_trigger_commands.py +0 -0
  243. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_backend.py +0 -0
  244. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_bridge.py +0 -0
  245. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_chat_prefs.py +0 -0
  246. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_chat_sessions.py +0 -0
  247. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_client.py +0 -0
  248. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_client_api.py +0 -0
  249. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_context_helpers.py +0 -0
  250. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_engine_defaults.py +0 -0
  251. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_engine_overrides.py +0 -0
  252. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_file_transfer_helpers.py +0 -0
  253. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_files.py +0 -0
  254. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_incoming.py +0 -0
  255. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_media_command.py +0 -0
  256. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_polling.py +0 -0
  257. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_queue.py +0 -0
  258. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_topic_state.py +0 -0
  259. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_topics_command.py +0 -0
  260. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_topics_helpers.py +0 -0
  261. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_trigger_mode.py +0 -0
  262. {yee88-0.6.2 → yee88-0.6.3}/tests/test_telegram_voice.py +0 -0
  263. {yee88-0.6.2 → yee88-0.6.3}/tests/test_tool_actions.py +0 -0
  264. {yee88-0.6.2 → yee88-0.6.3}/tests/test_transport.py +0 -0
  265. {yee88-0.6.2 → yee88-0.6.3}/tests/test_transport_registry.py +0 -0
  266. {yee88-0.6.2 → yee88-0.6.3}/tests/test_transport_runtime.py +0 -0
  267. {yee88-0.6.2 → yee88-0.6.3}/tests/test_worktrees.py +0 -0
  268. {yee88-0.6.2 → yee88-0.6.3}/uv.lock +0 -0
  269. {yee88-0.6.2 → yee88-0.6.3}/zensical.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yee88
3
- Version: 0.6.2
3
+ Version: 0.6.3
4
4
  Summary: Telegram bridge for Codex, Claude Code, and other agent CLIs.
5
5
  Project-URL: Homepage, https://github.com/banteg/yee88
6
6
  Project-URL: Documentation, https://yee88.dev/
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "yee88"
3
3
  authors = [{name = "yee.wang"}]
4
- version = "0.6.2"
4
+ version = "0.6.3"
5
5
  description = "Telegram bridge for Codex, Claude Code, and other agent CLIs."
6
6
  readme = "README.md"
7
7
  license = { file = "LICENSE" }
@@ -29,7 +29,7 @@ MODEL_SELECT_CALLBACK_PREFIX = "yee88:model_select:"
29
29
 
30
30
  MODEL_USAGE = (
31
31
  "usage: `/model`, `/model status`, `/model set <model>`, "
32
- "`/model set <engine> <model>`, or `/model clear [engine]`"
32
+ "`/model set <engine> <model>`, `/model clear [engine]`, or `/model reset`"
33
33
  )
34
34
 
35
35
 
@@ -339,4 +339,45 @@ async def _handle_model_command(
339
339
  await reply(text="chat model override cleared.")
340
340
  return
341
341
 
342
+ if action == "reset":
343
+ if len(tokens) > 1:
344
+ await reply(text=MODEL_USAGE)
345
+ return
346
+ if not await require_admin_or_private(
347
+ cfg,
348
+ msg,
349
+ missing_sender="cannot verify sender for model overrides.",
350
+ failed_member="failed to verify model override permissions.",
351
+ denied="changing model overrides is restricted to group admins.",
352
+ ):
353
+ return
354
+
355
+ cleared_engines = []
356
+ for engine in engine_ids:
357
+ scope = await apply_engine_override(
358
+ reply=reply,
359
+ tkey=tkey,
360
+ topic_store=topic_store,
361
+ chat_prefs=chat_prefs,
362
+ chat_id=msg.chat_id,
363
+ engine=engine,
364
+ update=lambda current: EngineOverrides(
365
+ model=None,
366
+ reasoning=current.reasoning if current is not None else None,
367
+ ),
368
+ topic_unavailable="topic model overrides are unavailable.",
369
+ chat_unavailable="chat model overrides are unavailable (no config path).",
370
+ )
371
+ if scope is not None:
372
+ cleared_engines.append(engine)
373
+
374
+ if cleared_engines:
375
+ engines_list = ", ".join(cleared_engines)
376
+ await reply(
377
+ text=f"all model overrides reset to default for engines: {engines_list}"
378
+ )
379
+ else:
380
+ await reply(text="no model overrides to reset.")
381
+ return
382
+
342
383
  await reply(text=MODEL_USAGE)
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
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
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
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