yee88 0.7.1__tar.gz → 0.8.0__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.
- {yee88-0.7.1 → yee88-0.8.0}/PKG-INFO +1 -1
- {yee88-0.7.1 → yee88-0.8.0}/pyproject.toml +1 -1
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cron/manager.py +2 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cron/models.py +3 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/loop.py +21 -2
- {yee88-0.7.1 → yee88-0.8.0}/.codex/AGENTS.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/.github/workflows/ci.yml +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/.github/workflows/release.yml +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/.gitignore +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/Justfile +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/LICENSE +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/README.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/changelog.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/assets/favicon.svg +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/assets/logo.svg +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/assets/og-image.jpg +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/assets/takopi.svg +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/developing.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/explanation/architecture.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/explanation/index.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/explanation/module-map.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/explanation/plugin-system.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/explanation/routing-and-sessions.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/add-a-runner.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/chat-sessions.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/dev-setup.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/file-transfer.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/index.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/projects.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/route-by-chat.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/schedule-tasks.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/switch-engines.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/topics.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/troubleshooting.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/voice-notes.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/worktrees.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/how-to/write-a-plugin.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/index.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/javascripts/hero-chat.js +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/overrides/.icons/takopi/takopi.svg +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/overrides/main.html +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/plugins.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/agents/index.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/agents/invariants.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/agents/repo-map.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/commands-and-directives.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/config.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/context-resolution.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/env-vars.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/index.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/plugin-api.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/plugins.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/claude/runner.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/claude/stream-json-cheatsheet.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/claude/takopi-events.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/codex/exec-json-cheatsheet.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/codex/takopi-events.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/index.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/opencode/runner.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/opencode/stream-json-cheatsheet.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/opencode/takopi-events.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/pi/runner.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/pi/stream-json-cheatsheet.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/runners/pi/takopi-events.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/specification.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/reference/transports/telegram.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/stylesheets/admonitions.css +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/stylesheets/hero-chat.css +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/stylesheets/workflow-preview.css +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/tutorials/conversation-modes.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/tutorials/first-run.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/tutorials/index.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/tutorials/install.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/tutorials/multi-engine.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/tutorials/projects-and-branches.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/user-guide-zh.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/docs/user-guide.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/readme.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/scripts/commit_notify.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/scripts/docs_build_cf.sh +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/scripts/docs_prebuild.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/scripts/onboarding_preview.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/scripts/release_notify.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/api.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/backends.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/backends_helpers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/config.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/cron.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/doctor.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/handoff.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/init.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/onboarding_cmd.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/plugins.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/reload.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/run.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cli/topic.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/commands.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/config.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/config_migrations.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/config_watch.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/context.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cron/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/cron/scheduler.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/directives.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/engines.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/events.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/ids.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/lockfile.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/logging.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/markdown.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/model.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/plugins.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/presenter.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/progress.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/router.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runner.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runner_bridge.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/claude.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/codex.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/mock.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/opencode.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/pi.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/run_options.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runners/tool_actions.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/runtime_loader.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/scheduler.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/schemas/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/schemas/claude.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/schemas/codex.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/schemas/opencode.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/schemas/pi.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/settings.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/skills/yee88/SKILL.md +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/api_models.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/api_schemas.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/backend.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/bridge.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/chat_prefs.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/chat_sessions.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/client.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/client_api.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/agent.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/cancel.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/dispatch.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/executor.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/file_transfer.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/handlers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/media.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/menu.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/model.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/overrides.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/parse.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/plan.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/reasoning.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/reply.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/topics.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/commands/trigger.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/context.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/engine_defaults.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/engine_overrides.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/files.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/onboarding.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/outbox.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/parsing.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/render.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/state_store.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/topic_state.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/topics.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/trigger_mode.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/types.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/telegram/voice.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/transport.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/transport_runtime.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/transports.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/utils/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/utils/git.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/utils/json_state.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/utils/paths.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/utils/streams.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/utils/subprocess.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/src/yee88/worktrees.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/__init__.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/conftest.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/factories.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/claude_stream_json_session.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/codex_exec_json_all_formats.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/codex_exec_json_all_formats.txt +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/opencode_run_json.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/opencode_stream_error.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/opencode_stream_success.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/opencode_stream_success_no_reason.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/pi_print_mode_events.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/pi_stream_error.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/fixtures/pi_stream_success.jsonl +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/plugin_fixtures.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/telegram_fakes.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_api_exports.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_auto_router.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_claude_runner.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_claude_schema.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cli_auto_router.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cli_chat_id.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cli_commands.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cli_config.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cli_doctor.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cli_helpers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_codex_runner_helpers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_codex_schema.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_codex_tool_result_summary.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_command_registry.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_config_store.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_config_watch.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cron_manager.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_cron_scheduler.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_engine_discovery.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_exec_bridge.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_exec_render.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_exec_runner.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_git_utils.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_lockfile.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_onboarding.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_onboarding_helpers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_onboarding_interactive.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_opencode_runner.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_opencode_schema.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_paths.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_pi_runner.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_pi_schema.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_plugins.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_projects_config.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_rendering.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_runner_contract.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_runner_run_options.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_runner_utils.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_runtime_loader.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_settings.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_settings_contract.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_subprocess.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_agent_trigger_commands.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_backend.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_bridge.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_chat_prefs.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_chat_sessions.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_client.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_client_api.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_context_helpers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_engine_defaults.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_engine_overrides.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_file_transfer_helpers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_files.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_incoming.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_media_command.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_polling.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_queue.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_topic_state.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_topics_command.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_topics_helpers.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_trigger_mode.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_telegram_voice.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_tool_actions.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_transport.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_transport_registry.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_transport_runtime.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/tests/test_worktrees.py +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/uv.lock +0 -0
- {yee88-0.7.1 → yee88-0.8.0}/zensical.toml +0 -0
|
@@ -1092,7 +1092,9 @@ async def run_main_loop(
|
|
|
1092
1092
|
|
|
1093
1093
|
async def _execute_cron_job(job: CronJob) -> None:
|
|
1094
1094
|
try:
|
|
1095
|
+
from ..model import EngineId
|
|
1095
1096
|
context = RunContext(project=job.project) if job.project else None
|
|
1097
|
+
engine_override: EngineId | None = job.engine if job.engine else None
|
|
1096
1098
|
await run_job(
|
|
1097
1099
|
chat_id=cfg.chat_id,
|
|
1098
1100
|
user_msg_id=0,
|
|
@@ -1101,6 +1103,9 @@ async def run_main_loop(
|
|
|
1101
1103
|
context=context,
|
|
1102
1104
|
thread_id=None,
|
|
1103
1105
|
force_hide_resume_line=True,
|
|
1106
|
+
force_new_session=True,
|
|
1107
|
+
run_options_model=job.model,
|
|
1108
|
+
engine_override=engine_override,
|
|
1104
1109
|
)
|
|
1105
1110
|
except Exception as exc:
|
|
1106
1111
|
logger.error(
|
|
@@ -1168,6 +1173,8 @@ async def run_main_loop(
|
|
|
1168
1173
|
engine_override: EngineId | None = None,
|
|
1169
1174
|
progress_ref: MessageRef | None = None,
|
|
1170
1175
|
force_hide_resume_line: bool = False,
|
|
1176
|
+
force_new_session: bool = False,
|
|
1177
|
+
run_options_model: str | None = None,
|
|
1171
1178
|
) -> None:
|
|
1172
1179
|
topic_key = (
|
|
1173
1180
|
(chat_id, thread_id)
|
|
@@ -1178,6 +1185,9 @@ async def run_main_loop(
|
|
|
1178
1185
|
)
|
|
1179
1186
|
else None
|
|
1180
1187
|
)
|
|
1188
|
+
if force_new_session:
|
|
1189
|
+
topic_key = None
|
|
1190
|
+
chat_session_key = None
|
|
1181
1191
|
stateful_mode = topic_key is not None or chat_session_key is not None
|
|
1182
1192
|
show_resume_line = False if force_hide_resume_line else should_show_resume_line(
|
|
1183
1193
|
show_resume_line=cfg.show_resume_line,
|
|
@@ -1186,7 +1196,7 @@ async def run_main_loop(
|
|
|
1186
1196
|
)
|
|
1187
1197
|
engine_for_overrides = (
|
|
1188
1198
|
resume_token.engine
|
|
1189
|
-
if resume_token is not None
|
|
1199
|
+
if resume_token is not None and not force_new_session
|
|
1190
1200
|
else engine_override
|
|
1191
1201
|
if engine_override is not None
|
|
1192
1202
|
else cfg.runtime.resolve_engine(
|
|
@@ -1203,6 +1213,15 @@ async def run_main_loop(
|
|
|
1203
1213
|
topic_store=state.topic_store,
|
|
1204
1214
|
system_prompt=cfg.runtime.resolve_system_prompt(context),
|
|
1205
1215
|
)
|
|
1216
|
+
if run_options_model:
|
|
1217
|
+
if run_options is None:
|
|
1218
|
+
run_options = EngineRunOptions(model=run_options_model)
|
|
1219
|
+
else:
|
|
1220
|
+
run_options = EngineRunOptions(
|
|
1221
|
+
model=run_options_model,
|
|
1222
|
+
reasoning=run_options.reasoning,
|
|
1223
|
+
system=run_options.system,
|
|
1224
|
+
)
|
|
1206
1225
|
await run_engine(
|
|
1207
1226
|
exec_cfg=cfg.exec_cfg,
|
|
1208
1227
|
runtime=cfg.runtime,
|
|
@@ -1210,7 +1229,7 @@ async def run_main_loop(
|
|
|
1210
1229
|
chat_id=chat_id,
|
|
1211
1230
|
user_msg_id=user_msg_id,
|
|
1212
1231
|
text=text,
|
|
1213
|
-
resume_token=resume_token,
|
|
1232
|
+
resume_token=None if force_new_session else resume_token,
|
|
1214
1233
|
context=context,
|
|
1215
1234
|
reply_ref=reply_ref,
|
|
1216
1235
|
on_thread_known=wrap_on_thread_known(
|
|
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
|
|
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
|