yee88 0.1.0__tar.gz → 0.3.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.1.0 → yee88-0.3.0}/.codex/skills/takopi-release/SKILL.md +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/Justfile +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/PKG-INFO +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/README.md +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/changelog.md +110 -104
- {yee88-0.1.0 → yee88-0.3.0}/docs/explanation/architecture.md +8 -8
- {yee88-0.1.0 → yee88-0.3.0}/docs/explanation/module-map.md +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/docs/explanation/plugin-system.md +10 -10
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/add-a-runner.md +17 -17
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/chat-sessions.md +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/dev-setup.md +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/file-transfer.md +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/projects.md +12 -12
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/route-by-chat.md +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/topics.md +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/troubleshooting.md +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/voice-notes.md +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/worktrees.md +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/write-a-plugin.md +17 -17
- {yee88-0.1.0 → yee88-0.3.0}/docs/index.md +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/docs/javascripts/hero-chat.js +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/docs/plugins.md +2 -2
- yee88-0.3.0/docs/reference/agents/repo-map.md +40 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/commands-and-directives.md +8 -8
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/config.md +29 -29
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/context-resolution.md +16 -16
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/index.md +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/plugin-api.md +7 -7
- yee88-0.3.0/docs/reference/plugins.md +16 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/claude/runner.md +16 -16
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/claude/takopi-events.md +9 -9
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/codex/takopi-events.md +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/index.md +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/opencode/runner.md +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/opencode/takopi-events.md +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/pi/runner.md +11 -11
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/pi/takopi-events.md +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/specification.md +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/transports/telegram.md +20 -20
- {yee88-0.1.0 → yee88-0.3.0}/docs/stylesheets/admonitions.css +14 -14
- {yee88-0.1.0 → yee88-0.3.0}/docs/tutorials/conversation-modes.md +9 -9
- {yee88-0.1.0 → yee88-0.3.0}/docs/tutorials/first-run.md +10 -10
- {yee88-0.1.0 → yee88-0.3.0}/docs/tutorials/install.md +51 -51
- {yee88-0.1.0 → yee88-0.3.0}/docs/tutorials/multi-engine.md +12 -12
- {yee88-0.1.0 → yee88-0.3.0}/docs/tutorials/projects-and-branches.md +19 -19
- {yee88-0.1.0 → yee88-0.3.0}/pyproject.toml +17 -17
- {yee88-0.1.0 → yee88-0.3.0}/readme.md +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/scripts/onboarding_preview.py +4 -4
- yee88-0.3.0/src/yee88/__init__.py +1 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/__init__.py +2 -2
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/config.py +3 -3
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/doctor.py +3 -3
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/onboarding_cmd.py +2 -2
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/plugins.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/run.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/topic.py +5 -5
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/logging.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/plugins.py +3 -3
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/run_options.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/api_schemas.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/backend.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/bridge.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/files.py +1 -1
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/onboarding.py +5 -5
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/utils/paths.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/conftest.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/factories.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/plugin_fixtures.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/telegram_fakes.py +10 -10
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_api_exports.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_auto_router.py +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_claude_runner.py +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_claude_schema.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_cli_auto_router.py +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_cli_chat_id.py +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_cli_commands.py +25 -25
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_cli_config.py +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_cli_doctor.py +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_cli_helpers.py +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_codex_runner_helpers.py +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_codex_schema.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_codex_tool_result_summary.py +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_command_registry.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_config_store.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_config_watch.py +10 -10
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_engine_discovery.py +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_exec_bridge.py +14 -14
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_exec_render.py +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_exec_runner.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_git_utils.py +15 -15
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_lockfile.py +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_onboarding.py +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_onboarding_helpers.py +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_onboarding_interactive.py +10 -10
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_opencode_runner.py +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_opencode_schema.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_paths.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_pi_runner.py +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_pi_schema.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_plugins.py +17 -17
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_projects_config.py +14 -14
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_rendering.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_runner_contract.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_runner_run_options.py +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_runner_utils.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_runtime_loader.py +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_settings.py +14 -14
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_settings_contract.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_subprocess.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_agent_trigger_commands.py +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_backend.py +8 -8
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_bridge.py +83 -83
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_chat_prefs.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_chat_sessions.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_client.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_client_api.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_context_helpers.py +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_engine_defaults.py +8 -8
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_engine_overrides.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_file_transfer_helpers.py +9 -9
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_files.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_incoming.py +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_media_command.py +6 -6
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_polling.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_queue.py +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_topic_state.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_topics_command.py +10 -10
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_topics_helpers.py +2 -2
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_trigger_mode.py +7 -7
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_telegram_voice.py +4 -4
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_tool_actions.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_transport.py +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_transport_registry.py +3 -3
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_transport_runtime.py +5 -5
- {yee88-0.1.0 → yee88-0.3.0}/tests/test_worktrees.py +9 -9
- {yee88-0.1.0 → yee88-0.3.0}/uv.lock +1 -1
- {yee88-0.1.0 → yee88-0.3.0}/zensical.toml +10 -10
- yee88-0.1.0/docs/reference/agents/repo-map.md +0 -40
- yee88-0.1.0/docs/reference/plugins.md +0 -16
- yee88-0.1.0/src/takopi/__init__.py +0 -1
- {yee88-0.1.0 → yee88-0.3.0}/.codex/AGENTS.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/.github/workflows/ci.yml +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/.github/workflows/release.yml +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/.gitignore +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/LICENSE +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/assets/favicon.svg +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/assets/logo.svg +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/assets/og-image.jpg +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/assets/takopi.svg +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/developing.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/explanation/index.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/explanation/routing-and-sessions.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/index.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/schedule-tasks.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/how-to/switch-engines.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/overrides/.icons/takopi/takopi.svg +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/overrides/main.html +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/agents/index.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/agents/invariants.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/env-vars.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/claude/stream-json-cheatsheet.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/codex/exec-json-cheatsheet.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/opencode/stream-json-cheatsheet.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/reference/runners/pi/stream-json-cheatsheet.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/stylesheets/hero-chat.css +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/stylesheets/workflow-preview.css +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/tutorials/index.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/docs/user-guide.md +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/scripts/commit_notify.py +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/scripts/docs_build_cf.sh +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/scripts/docs_prebuild.py +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/scripts/release_notify.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/api.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/backends.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/backends_helpers.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/cli/init.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/commands.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/config.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/config_migrations.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/config_watch.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/context.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/directives.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/engines.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/events.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/ids.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/lockfile.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/markdown.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/model.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/presenter.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/progress.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/router.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runner.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runner_bridge.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/__init__.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/claude.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/codex.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/mock.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/opencode.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/pi.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runners/tool_actions.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/runtime_loader.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/scheduler.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/schemas/__init__.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/schemas/claude.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/schemas/codex.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/schemas/opencode.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/schemas/pi.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/settings.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/__init__.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/api_models.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/chat_prefs.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/chat_sessions.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/client.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/client_api.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/__init__.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/agent.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/cancel.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/dispatch.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/executor.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/file_transfer.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/handlers.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/media.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/menu.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/model.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/overrides.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/parse.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/plan.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/reasoning.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/reply.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/topics.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/commands/trigger.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/context.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/engine_defaults.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/engine_overrides.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/loop.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/outbox.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/parsing.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/render.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/state_store.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/topic_state.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/topics.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/trigger_mode.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/types.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/telegram/voice.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/transport.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/transport_runtime.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/transports.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/utils/__init__.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/utils/git.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/utils/json_state.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/utils/streams.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/utils/subprocess.py +0 -0
- {yee88-0.1.0/src/takopi → yee88-0.3.0/src/yee88}/worktrees.py +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/__init__.py +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/claude_stream_json_session.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/codex_exec_json_all_formats.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/codex_exec_json_all_formats.txt +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/opencode_run_json.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/opencode_stream_error.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/opencode_stream_success.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/opencode_stream_success_no_reason.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/pi_print_mode_events.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/pi_stream_error.jsonl +0 -0
- {yee88-0.1.0 → yee88-0.3.0}/tests/fixtures/pi_stream_success.jsonl +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: yee88-release
|
|
3
3
|
description: Prepare and ship a Takopi release. Use when asked to cut a release, bump release versions, update changelog/spec/readme, tag v<major.minor.patch>, or trigger the GitHub release workflow.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -7,7 +7,7 @@ description: Prepare and ship a Takopi release. Use when asked to cut a release,
|
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
|
-
Prepare a tagged release that matches the GitHub Actions release workflow. The workflow requires the tag version to match both `pyproject.toml` and `src/
|
|
10
|
+
Prepare a tagged release that matches the GitHub Actions release workflow. The workflow requires the tag version to match both `pyproject.toml` and `src/yee88/__init__.py`.
|
|
11
11
|
|
|
12
12
|
## Workflow
|
|
13
13
|
|
|
@@ -29,7 +29,7 @@ Update `changelog.md` by adding a new top section. Before writing it, study the
|
|
|
29
29
|
Update version strings to match the release tag:
|
|
30
30
|
|
|
31
31
|
- `pyproject.toml`: `project.version = "<major.minor.patch>"`
|
|
32
|
-
- `src/
|
|
32
|
+
- `src/yee88/__init__.py`: `__version__ = "<major.minor.patch>"`
|
|
33
33
|
- `uv.lock`: refresh so the root package version matches (run `uv lock` or `uv sync`).
|
|
34
34
|
|
|
35
35
|
### 4) Update spec + docs
|
|
@@ -63,5 +63,5 @@ If you keep a dev version between releases, bump the minor version (reset patch
|
|
|
63
63
|
|
|
64
64
|
## Notes
|
|
65
65
|
|
|
66
|
-
- The release workflow checks that the tag matches `pyproject.toml` and `src/
|
|
66
|
+
- The release workflow checks that the tag matches `pyproject.toml` and `src/yee88/__init__.py`.
|
|
67
67
|
- Keep dates consistent across `changelog.md` and `docs/specification.md`.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yee88
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Telegram bridge for Codex, Claude Code, and other agent CLIs.
|
|
5
|
-
Project-URL: Homepage, https://github.com/banteg/
|
|
6
|
-
Project-URL: Documentation, https://
|
|
7
|
-
Project-URL: Repository, https://github.com/banteg/
|
|
8
|
-
Project-URL: Issues, https://github.com/banteg/
|
|
5
|
+
Project-URL: Homepage, https://github.com/banteg/yee88
|
|
6
|
+
Project-URL: Documentation, https://yee88.dev/
|
|
7
|
+
Project-URL: Repository, https://github.com/banteg/yee88
|
|
8
|
+
Project-URL: Issues, https://github.com/banteg/yee88/issues
|
|
9
9
|
Author: yee.wang
|
|
10
10
|
License: MIT License
|
|
11
11
|
|
|
@@ -106,7 +106,7 @@ inspect or update settings with `yee88 config list`, `yee88 config get`, and `ye
|
|
|
106
106
|
|
|
107
107
|
## plugins
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
yee88 supports entrypoint-based plugins for engines, transports, and commands.
|
|
110
110
|
|
|
111
111
|
see [`docs/how-to/write-a-plugin.md`](docs/how-to/write-a-plugin.md) and [`docs/reference/plugin-api.md`](docs/reference/plugin-api.md).
|
|
112
112
|
|
|
@@ -53,7 +53,7 @@ inspect or update settings with `yee88 config list`, `yee88 config get`, and `ye
|
|
|
53
53
|
|
|
54
54
|
## plugins
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
yee88 supports entrypoint-based plugins for engines, transports, and commands.
|
|
57
57
|
|
|
58
58
|
see [`docs/how-to/write-a-plugin.md`](docs/how-to/write-a-plugin.md) and [`docs/reference/plugin-api.md`](docs/reference/plugin-api.md).
|
|
59
59
|
|
|
@@ -1,127 +1,133 @@
|
|
|
1
1
|
# changelog
|
|
2
2
|
|
|
3
|
+
## v0.2.0 (2026-01-30)
|
|
4
|
+
|
|
5
|
+
### changes
|
|
6
|
+
|
|
7
|
+
- rename startup message from "yee88 is ready" to "yee88 is ready"
|
|
8
|
+
|
|
3
9
|
## v0.21.4 (2026-01-22)
|
|
4
10
|
|
|
5
11
|
### changes
|
|
6
12
|
|
|
7
|
-
- add allowed user gate to telegram [#179](https://github.com/banteg/
|
|
13
|
+
- add allowed user gate to telegram [#179](https://github.com/banteg/yee88/pull/179)
|
|
8
14
|
|
|
9
15
|
## v0.21.3 (2026-01-21)
|
|
10
16
|
|
|
11
17
|
### fixes
|
|
12
18
|
|
|
13
|
-
- ignore implicit topic root replies in telegram [#175](https://github.com/banteg/
|
|
19
|
+
- ignore implicit topic root replies in telegram [#175](https://github.com/banteg/yee88/pull/175)
|
|
14
20
|
|
|
15
21
|
## v0.21.2 (2026-01-20)
|
|
16
22
|
|
|
17
23
|
### fixes
|
|
18
24
|
|
|
19
|
-
- clear chat sessions on cwd change [#172](https://github.com/banteg/
|
|
25
|
+
- clear chat sessions on cwd change [#172](https://github.com/banteg/yee88/pull/172)
|
|
20
26
|
|
|
21
27
|
### docs
|
|
22
28
|
|
|
23
|
-
- add
|
|
29
|
+
- add yee88-slack plugin to reference [#168](https://github.com/banteg/yee88/pull/168)
|
|
24
30
|
|
|
25
31
|
## v0.21.1 (2026-01-18)
|
|
26
32
|
|
|
27
33
|
### fixes
|
|
28
34
|
|
|
29
|
-
- separate telegram voice transcription client [#166](https://github.com/banteg/
|
|
30
|
-
- disable telegram link previews by default [#160](https://github.com/banteg/
|
|
35
|
+
- separate telegram voice transcription client [#166](https://github.com/banteg/yee88/pull/166)
|
|
36
|
+
- disable telegram link previews by default [#160](https://github.com/banteg/yee88/pull/160)
|
|
31
37
|
|
|
32
38
|
### docs
|
|
33
39
|
|
|
34
|
-
- align engine terminology in telegram and docs [#162](https://github.com/banteg/
|
|
35
|
-
- add
|
|
40
|
+
- align engine terminology in telegram and docs [#162](https://github.com/banteg/yee88/pull/162)
|
|
41
|
+
- add yee88-discord plugin to plugins reference [#164](https://github.com/banteg/yee88/pull/164)
|
|
36
42
|
|
|
37
43
|
## v0.21.0 (2026-01-16)
|
|
38
44
|
|
|
39
45
|
### changes
|
|
40
46
|
|
|
41
|
-
- add `
|
|
42
|
-
- make telegram /ctx work everywhere [#159](https://github.com/banteg/
|
|
43
|
-
- improve telegram command planning and testability [#158](https://github.com/banteg/
|
|
44
|
-
- simplify telegram loop and jsonl runner [#155](https://github.com/banteg/
|
|
45
|
-
- refactor telegram schemas and parsing with msgspec [#156](https://github.com/banteg/
|
|
47
|
+
- add `yee88 config` subcommand [#153](https://github.com/banteg/yee88/pull/153)
|
|
48
|
+
- make telegram /ctx work everywhere [#159](https://github.com/banteg/yee88/pull/159)
|
|
49
|
+
- improve telegram command planning and testability [#158](https://github.com/banteg/yee88/pull/158)
|
|
50
|
+
- simplify telegram loop and jsonl runner [#155](https://github.com/banteg/yee88/pull/155)
|
|
51
|
+
- refactor telegram schemas and parsing with msgspec [#156](https://github.com/banteg/yee88/pull/156)
|
|
46
52
|
|
|
47
53
|
### tests
|
|
48
54
|
|
|
49
|
-
- improve coverage and raise threshold to 80% [#154](https://github.com/banteg/
|
|
50
|
-
- stabilize mutmut runs and extend telegram coverage [#157](https://github.com/banteg/
|
|
55
|
+
- improve coverage and raise threshold to 80% [#154](https://github.com/banteg/yee88/pull/154)
|
|
56
|
+
- stabilize mutmut runs and extend telegram coverage [#157](https://github.com/banteg/yee88/pull/157)
|
|
51
57
|
|
|
52
58
|
### docs
|
|
53
59
|
|
|
54
|
-
- add opengraph meta fallbacks [#150](https://github.com/banteg/
|
|
60
|
+
- add opengraph meta fallbacks [#150](https://github.com/banteg/yee88/pull/150)
|
|
55
61
|
|
|
56
62
|
## v0.20.0 (2026-01-15)
|
|
57
63
|
|
|
58
64
|
### changes
|
|
59
65
|
|
|
60
|
-
- add telegram mentions-only trigger mode [#142](https://github.com/banteg/
|
|
61
|
-
- add telegram /model and /reasoning overrides [#147](https://github.com/banteg/
|
|
62
|
-
- coalesce forwarded telegram messages [#146](https://github.com/banteg/
|
|
63
|
-
- export plugin utilities for transport development [#137](https://github.com/banteg/
|
|
66
|
+
- add telegram mentions-only trigger mode [#142](https://github.com/banteg/yee88/pull/142)
|
|
67
|
+
- add telegram /model and /reasoning overrides [#147](https://github.com/banteg/yee88/pull/147)
|
|
68
|
+
- coalesce forwarded telegram messages [#146](https://github.com/banteg/yee88/pull/146)
|
|
69
|
+
- export plugin utilities for transport development [#137](https://github.com/banteg/yee88/pull/137)
|
|
64
70
|
|
|
65
71
|
### fixes
|
|
66
72
|
|
|
67
|
-
- handle forwarded uploads for telegram [#149](https://github.com/banteg/
|
|
68
|
-
- preserve directives for voice transcripts [#141](https://github.com/banteg/
|
|
69
|
-
- resolve claude.cmd via shutil.which on windows [#124](https://github.com/banteg/
|
|
73
|
+
- handle forwarded uploads for telegram [#149](https://github.com/banteg/yee88/pull/149)
|
|
74
|
+
- preserve directives for voice transcripts [#141](https://github.com/banteg/yee88/pull/141)
|
|
75
|
+
- resolve claude.cmd via shutil.which on windows [#124](https://github.com/banteg/yee88/pull/124)
|
|
70
76
|
|
|
71
77
|
### docs
|
|
72
78
|
|
|
73
|
-
- add
|
|
79
|
+
- add yee88-scripts plugin to plugins list [#140](https://github.com/banteg/yee88/pull/140)
|
|
74
80
|
|
|
75
81
|
## v0.19.0 (2026-01-15)
|
|
76
82
|
|
|
77
83
|
### changes
|
|
78
84
|
|
|
79
|
-
- overhaul onboarding with persona-based setup flows [#132](https://github.com/banteg/
|
|
80
|
-
- add queued cancel placeholder for Telegram runs [#136](https://github.com/banteg/
|
|
81
|
-
- prefix Telegram voice transcriptions for agent awareness [#135](https://github.com/banteg/
|
|
85
|
+
- overhaul onboarding with persona-based setup flows [#132](https://github.com/banteg/yee88/pull/132)
|
|
86
|
+
- add queued cancel placeholder for Telegram runs [#136](https://github.com/banteg/yee88/pull/136)
|
|
87
|
+
- prefix Telegram voice transcriptions for agent awareness [#135](https://github.com/banteg/yee88/pull/135)
|
|
82
88
|
|
|
83
89
|
### docs
|
|
84
90
|
|
|
85
|
-
- refresh onboarding docs with new widgets and hero flow [#138](https://github.com/banteg/
|
|
86
|
-
- fix docs site mobile layout and font consistency [#139](https://github.com/banteg/
|
|
87
|
-
- link to
|
|
91
|
+
- refresh onboarding docs with new widgets and hero flow [#138](https://github.com/banteg/yee88/pull/138)
|
|
92
|
+
- fix docs site mobile layout and font consistency [#139](https://github.com/banteg/yee88/pull/139)
|
|
93
|
+
- link to yee88.dev docs site
|
|
88
94
|
|
|
89
95
|
## v0.18.0 (2026-01-13)
|
|
90
96
|
|
|
91
97
|
### changes
|
|
92
98
|
|
|
93
|
-
- add per-chat and per-topic default agent via `/agent set` command [#109](https://github.com/banteg/
|
|
94
|
-
- add session resume shorthand for pi runner [#113](https://github.com/banteg/
|
|
95
|
-
- expose `sender_id` and `raw` fields on `MessageRef` for plugins [#112](https://github.com/banteg/
|
|
99
|
+
- add per-chat and per-topic default agent via `/agent set` command [#109](https://github.com/banteg/yee88/pull/109)
|
|
100
|
+
- add session resume shorthand for pi runner [#113](https://github.com/banteg/yee88/pull/113)
|
|
101
|
+
- expose `sender_id` and `raw` fields on `MessageRef` for plugins [#112](https://github.com/banteg/yee88/pull/112)
|
|
96
102
|
|
|
97
103
|
### fixes
|
|
98
104
|
|
|
99
|
-
- recreate stale topic bindings when topic is deleted and recreated [#127](https://github.com/banteg/
|
|
100
|
-
- use stdout session header for pi runner [#126](https://github.com/banteg/
|
|
105
|
+
- recreate stale topic bindings when topic is deleted and recreated [#127](https://github.com/banteg/yee88/pull/127)
|
|
106
|
+
- use stdout session header for pi runner [#126](https://github.com/banteg/yee88/pull/126)
|
|
101
107
|
|
|
102
108
|
### docs
|
|
103
109
|
|
|
104
|
-
- restructure docs into diataxis format and switch to zensical [#121](https://github.com/banteg/
|
|
110
|
+
- restructure docs into diataxis format and switch to zensical [#121](https://github.com/banteg/yee88/pull/121) [#125](https://github.com/banteg/yee88/pull/125)
|
|
105
111
|
|
|
106
112
|
## v0.17.1 (2026-01-12)
|
|
107
113
|
|
|
108
114
|
### fixes
|
|
109
115
|
|
|
110
|
-
- fix telegram /new command crash [#106](https://github.com/banteg/
|
|
111
|
-
- track telegram sessions for plugin runs [#107](https://github.com/banteg/
|
|
112
|
-
- align telegram prompt upload resume flow [#105](https://github.com/banteg/
|
|
116
|
+
- fix telegram /new command crash [#106](https://github.com/banteg/yee88/pull/106)
|
|
117
|
+
- track telegram sessions for plugin runs [#107](https://github.com/banteg/yee88/pull/107)
|
|
118
|
+
- align telegram prompt upload resume flow [#105](https://github.com/banteg/yee88/pull/105)
|
|
113
119
|
|
|
114
120
|
## v0.17.0 (2026-01-12)
|
|
115
121
|
|
|
116
122
|
### changes
|
|
117
123
|
|
|
118
|
-
- add chat session mode (`session_mode = "chat"`) for auto-resume per chat without replying, reset with `/new` [#102](https://github.com/banteg/
|
|
119
|
-
- add `message_overflow = "split"` to send long responses as multiple messages instead of trimming [#101](https://github.com/banteg/
|
|
120
|
-
- add `show_resume_line` option to hide resume lines when auto-resume is available [#100](https://github.com/banteg/
|
|
121
|
-
- add `auto_put_mode = "prompt"` to start a run with the caption after uploading a file [#97](https://github.com/banteg/
|
|
122
|
-
- expose `thread_id` to plugins via run context [#99](https://github.com/banteg/
|
|
123
|
-
- use tomli-w for config serialization [#103](https://github.com/banteg/
|
|
124
|
-
- add `voice_transcription_model` setting for local whisper servers [#98](https://github.com/banteg/
|
|
124
|
+
- add chat session mode (`session_mode = "chat"`) for auto-resume per chat without replying, reset with `/new` [#102](https://github.com/banteg/yee88/pull/102)
|
|
125
|
+
- add `message_overflow = "split"` to send long responses as multiple messages instead of trimming [#101](https://github.com/banteg/yee88/pull/101)
|
|
126
|
+
- add `show_resume_line` option to hide resume lines when auto-resume is available [#100](https://github.com/banteg/yee88/pull/100)
|
|
127
|
+
- add `auto_put_mode = "prompt"` to start a run with the caption after uploading a file [#97](https://github.com/banteg/yee88/pull/97)
|
|
128
|
+
- expose `thread_id` to plugins via run context [#99](https://github.com/banteg/yee88/pull/99)
|
|
129
|
+
- use tomli-w for config serialization [#103](https://github.com/banteg/yee88/pull/103)
|
|
130
|
+
- add `voice_transcription_model` setting for local whisper servers [#98](https://github.com/banteg/yee88/pull/98)
|
|
125
131
|
|
|
126
132
|
### docs
|
|
127
133
|
|
|
@@ -131,12 +137,12 @@
|
|
|
131
137
|
|
|
132
138
|
### fixes
|
|
133
139
|
|
|
134
|
-
- harden telegram file transfer handling [#84](https://github.com/banteg/
|
|
140
|
+
- harden telegram file transfer handling [#84](https://github.com/banteg/yee88/pull/84)
|
|
135
141
|
|
|
136
142
|
### changes
|
|
137
143
|
|
|
138
|
-
- simplify runtime, config, and telegram internals [#85](https://github.com/banteg/
|
|
139
|
-
- refactor telegram boundary types [#90](https://github.com/banteg/
|
|
144
|
+
- simplify runtime, config, and telegram internals [#85](https://github.com/banteg/yee88/pull/85)
|
|
145
|
+
- refactor telegram boundary types [#90](https://github.com/banteg/yee88/pull/90)
|
|
140
146
|
|
|
141
147
|
### docs
|
|
142
148
|
|
|
@@ -147,44 +153,44 @@
|
|
|
147
153
|
|
|
148
154
|
### changes
|
|
149
155
|
|
|
150
|
-
- add telegram file transfer support [#83](https://github.com/banteg/
|
|
156
|
+
- add telegram file transfer support [#83](https://github.com/banteg/yee88/pull/83)
|
|
151
157
|
|
|
152
158
|
### docs
|
|
153
159
|
|
|
154
|
-
- document telegram file transfers [#83](https://github.com/banteg/
|
|
160
|
+
- document telegram file transfers [#83](https://github.com/banteg/yee88/pull/83)
|
|
155
161
|
|
|
156
162
|
## v0.14.1 (2026-01-10)
|
|
157
163
|
|
|
158
164
|
### changes
|
|
159
165
|
|
|
160
|
-
- add topic scope and thread-aware replies for telegram topics [#81](https://github.com/banteg/
|
|
166
|
+
- add topic scope and thread-aware replies for telegram topics [#81](https://github.com/banteg/yee88/pull/81)
|
|
161
167
|
|
|
162
168
|
### docs
|
|
163
169
|
|
|
164
|
-
- update telegram topics docs and user guide for topic scoping [#81](https://github.com/banteg/
|
|
170
|
+
- update telegram topics docs and user guide for topic scoping [#81](https://github.com/banteg/yee88/pull/81)
|
|
165
171
|
|
|
166
172
|
## v0.14.0 (2026-01-10)
|
|
167
173
|
|
|
168
174
|
### changes
|
|
169
175
|
|
|
170
|
-
- add telegram forum topics support with `/topic` command for binding threads to projects/branches, persistent resume tokens per topic, and `/ctx` for inspecting or updating bindings [#80](https://github.com/banteg/
|
|
171
|
-
- add inline cancel button to progress messages [#79](https://github.com/banteg/
|
|
172
|
-
- add config hot-reload via watchfiles [#78](https://github.com/banteg/
|
|
176
|
+
- add telegram forum topics support with `/topic` command for binding threads to projects/branches, persistent resume tokens per topic, and `/ctx` for inspecting or updating bindings [#80](https://github.com/banteg/yee88/pull/80)
|
|
177
|
+
- add inline cancel button to progress messages [#79](https://github.com/banteg/yee88/pull/79)
|
|
178
|
+
- add config hot-reload via watchfiles [#78](https://github.com/banteg/yee88/pull/78)
|
|
173
179
|
|
|
174
180
|
### docs
|
|
175
181
|
|
|
176
|
-
- add user guide and telegram topics documentation [#80](https://github.com/banteg/
|
|
182
|
+
- add user guide and telegram topics documentation [#80](https://github.com/banteg/yee88/pull/80)
|
|
177
183
|
|
|
178
184
|
## v0.13.0 (2026-01-09)
|
|
179
185
|
|
|
180
186
|
### changes
|
|
181
187
|
|
|
182
|
-
- add per-project chat routing [#76](https://github.com/banteg/
|
|
188
|
+
- add per-project chat routing [#76](https://github.com/banteg/yee88/pull/76)
|
|
183
189
|
|
|
184
190
|
### fixes
|
|
185
191
|
|
|
186
|
-
- hardcode codex exec flags [#75](https://github.com/banteg/
|
|
187
|
-
- reuse project root for current branch when resolving worktrees [#77](https://github.com/banteg/
|
|
192
|
+
- hardcode codex exec flags [#75](https://github.com/banteg/yee88/pull/75)
|
|
193
|
+
- reuse project root for current branch when resolving worktrees [#77](https://github.com/banteg/yee88/pull/77)
|
|
188
194
|
|
|
189
195
|
### docs
|
|
190
196
|
|
|
@@ -194,52 +200,52 @@
|
|
|
194
200
|
|
|
195
201
|
### changes
|
|
196
202
|
|
|
197
|
-
- add optional telegram voice note transcription (routes transcript like typed text) [#74](https://github.com/banteg/
|
|
203
|
+
- add optional telegram voice note transcription (routes transcript like typed text) [#74](https://github.com/banteg/yee88/pull/74)
|
|
198
204
|
|
|
199
205
|
### fixes
|
|
200
206
|
|
|
201
|
-
- fix plugin allowlist matching and windows session paths [#72](https://github.com/banteg/
|
|
207
|
+
- fix plugin allowlist matching and windows session paths [#72](https://github.com/banteg/yee88/pull/72)
|
|
202
208
|
|
|
203
209
|
### docs
|
|
204
210
|
|
|
205
|
-
- document telegram voice transcription settings [#74](https://github.com/banteg/
|
|
211
|
+
- document telegram voice transcription settings [#74](https://github.com/banteg/yee88/pull/74)
|
|
206
212
|
|
|
207
213
|
## v0.11.0 (2026-01-08)
|
|
208
214
|
|
|
209
215
|
### changes
|
|
210
216
|
|
|
211
|
-
- add entrypoint-based plugins for engines/transports plus a `
|
|
217
|
+
- add entrypoint-based plugins for engines/transports plus a `yee88 plugins` command and public API docs [#71](https://github.com/banteg/yee88/pull/71)
|
|
212
218
|
|
|
213
219
|
### fixes
|
|
214
220
|
|
|
215
|
-
- create pi sessions under the run base dir [#68](https://github.com/banteg/
|
|
216
|
-
- skip git repo checks for codex runs [#66](https://github.com/banteg/
|
|
221
|
+
- create pi sessions under the run base dir [#68](https://github.com/banteg/yee88/pull/68)
|
|
222
|
+
- skip git repo checks for codex runs [#66](https://github.com/banteg/yee88/pull/66)
|
|
217
223
|
|
|
218
224
|
## v0.10.0 (2026-01-08)
|
|
219
225
|
|
|
220
226
|
### changes
|
|
221
227
|
|
|
222
|
-
- add transport registry with `--transport` overrides and a `
|
|
223
|
-
- migrate config loading to pydantic-settings and move telegram credentials under `[transports.telegram]` [#65](https://github.com/banteg/
|
|
224
|
-
- include project aliases in the telegram slash-command menu with validation and limits [#67](https://github.com/banteg/
|
|
228
|
+
- add transport registry with `--transport` overrides and a `yee88 transports` command [#69](https://github.com/banteg/yee88/pull/69)
|
|
229
|
+
- migrate config loading to pydantic-settings and move telegram credentials under `[transports.telegram]` [#65](https://github.com/banteg/yee88/pull/65)
|
|
230
|
+
- include project aliases in the telegram slash-command menu with validation and limits [#67](https://github.com/banteg/yee88/pull/67)
|
|
225
231
|
|
|
226
232
|
### fixes
|
|
227
233
|
|
|
228
|
-
- validate worktree roots instead of treating nested paths as worktrees [#63](https://github.com/banteg/
|
|
229
|
-
- harden onboarding with clearer config errors, safe backups, and refreshed command menu wording [#70](https://github.com/banteg/
|
|
234
|
+
- validate worktree roots instead of treating nested paths as worktrees [#63](https://github.com/banteg/yee88/pull/63)
|
|
235
|
+
- harden onboarding with clearer config errors, safe backups, and refreshed command menu wording [#70](https://github.com/banteg/yee88/pull/70)
|
|
230
236
|
|
|
231
237
|
### docs
|
|
232
238
|
|
|
233
239
|
- add architecture and lifecycle diagrams
|
|
234
|
-
- call out the default worktrees directory [#64](https://github.com/banteg/
|
|
235
|
-
- document the transport registry and onboarding changes [#69](https://github.com/banteg/
|
|
240
|
+
- call out the default worktrees directory [#64](https://github.com/banteg/yee88/pull/64)
|
|
241
|
+
- document the transport registry and onboarding changes [#69](https://github.com/banteg/yee88/pull/69)
|
|
236
242
|
|
|
237
243
|
## v0.9.0 (2026-01-07)
|
|
238
244
|
|
|
239
245
|
### projects and worktrees
|
|
240
246
|
|
|
241
|
-
- register repos with `
|
|
242
|
-
- route runs to git worktrees with `@branch` —
|
|
247
|
+
- register repos with `yee88 init <alias>` and target them via `/project` directives
|
|
248
|
+
- route runs to git worktrees with `@branch` — yee88 resolves or creates worktrees automatically
|
|
243
249
|
- replies preserve context via `ctx: project @branch` footers, no need to repeat directives
|
|
244
250
|
- set `default_project` to skip the `/project` prefix entirely
|
|
245
251
|
- per-project `default_engine` and `worktree_base` configuration
|
|
@@ -247,7 +253,7 @@
|
|
|
247
253
|
### changes
|
|
248
254
|
|
|
249
255
|
- transport/presenter protocols plus transport-agnostic `exec_bridge`
|
|
250
|
-
- move telegram polling + wiring into `
|
|
256
|
+
- move telegram polling + wiring into `yee88.telegram` with transport/presenter adapters
|
|
251
257
|
- list configured projects in the startup banner
|
|
252
258
|
|
|
253
259
|
### fixes
|
|
@@ -256,21 +262,21 @@
|
|
|
256
262
|
|
|
257
263
|
### breaking
|
|
258
264
|
|
|
259
|
-
- remove `
|
|
265
|
+
- remove `yee88.bridge`; use `yee88.runner_bridge` and `yee88.telegram` instead
|
|
260
266
|
|
|
261
267
|
### docs
|
|
262
268
|
|
|
263
|
-
- add a projects/worktrees guide and document `
|
|
269
|
+
- add a projects/worktrees guide and document `yee88 init` behavior in the readme
|
|
264
270
|
|
|
265
271
|
## v0.8.0 (2026-01-05)
|
|
266
272
|
|
|
267
273
|
### changes
|
|
268
274
|
|
|
269
|
-
- queue telegram requests with rate limits and retry-after backoff [#54](https://github.com/banteg/
|
|
275
|
+
- queue telegram requests with rate limits and retry-after backoff [#54](https://github.com/banteg/yee88/pull/54)
|
|
270
276
|
|
|
271
277
|
### docs
|
|
272
278
|
|
|
273
|
-
- improve documentation coverage [#52](https://github.com/banteg/
|
|
279
|
+
- improve documentation coverage [#52](https://github.com/banteg/yee88/pull/52)
|
|
274
280
|
- align runner guide with factory pattern
|
|
275
281
|
- add missing pr links in the changelog
|
|
276
282
|
|
|
@@ -278,22 +284,22 @@
|
|
|
278
284
|
|
|
279
285
|
### changes
|
|
280
286
|
|
|
281
|
-
- migrate logging to structlog with structured pipelines and redaction [#46](https://github.com/banteg/
|
|
282
|
-
- add msgspec schemas for jsonl decoding across runners [#37](https://github.com/banteg/
|
|
287
|
+
- migrate logging to structlog with structured pipelines and redaction [#46](https://github.com/banteg/yee88/pull/46)
|
|
288
|
+
- add msgspec schemas for jsonl decoding across runners [#37](https://github.com/banteg/yee88/pull/37)
|
|
283
289
|
|
|
284
290
|
## v0.6.0 (2026-01-03)
|
|
285
291
|
|
|
286
292
|
### changes
|
|
287
293
|
|
|
288
|
-
- interactive onboarding: run `
|
|
289
|
-
- lockfile to prevent multiple
|
|
290
|
-
- re-run onboarding anytime with `
|
|
294
|
+
- interactive onboarding: run `yee88` to set up bot token, chat id, and default engine via guided prompts [#39](https://github.com/banteg/yee88/pull/39)
|
|
295
|
+
- lockfile to prevent multiple yee88 instances from racing the same bot token [#30](https://github.com/banteg/yee88/pull/30)
|
|
296
|
+
- re-run onboarding anytime with `yee88 --onboard`
|
|
291
297
|
|
|
292
298
|
## v0.5.3 (2026-01-02)
|
|
293
299
|
|
|
294
300
|
### changes
|
|
295
301
|
|
|
296
|
-
- default claude allowed tools to `["Bash", "Read", "Edit", "Write"]` when not configured [#29](https://github.com/banteg/
|
|
302
|
+
- default claude allowed tools to `["Bash", "Read", "Edit", "Write"]` when not configured [#29](https://github.com/banteg/yee88/pull/29)
|
|
297
303
|
|
|
298
304
|
## v0.5.2 (2026-01-02)
|
|
299
305
|
|
|
@@ -303,50 +309,50 @@
|
|
|
303
309
|
|
|
304
310
|
### fixes
|
|
305
311
|
|
|
306
|
-
- treat codex reconnect notices as non-fatal progress updates instead of errors [#27](https://github.com/banteg/
|
|
307
|
-
- avoid crashes when codex tool/file-change events omit error fields [#27](https://github.com/banteg/
|
|
312
|
+
- treat codex reconnect notices as non-fatal progress updates instead of errors [#27](https://github.com/banteg/yee88/pull/27)
|
|
313
|
+
- avoid crashes when codex tool/file-change events omit error fields [#27](https://github.com/banteg/yee88/pull/27)
|
|
308
314
|
|
|
309
315
|
## v0.5.1 (2026-01-02)
|
|
310
316
|
|
|
311
317
|
### changes
|
|
312
318
|
|
|
313
|
-
- relax telegram ACL to check chat id only, enabling use in group chats and channels [#26](https://github.com/banteg/
|
|
314
|
-
- improve onboarding documentation and add tests [#25](https://github.com/banteg/
|
|
319
|
+
- relax telegram ACL to check chat id only, enabling use in group chats and channels [#26](https://github.com/banteg/yee88/pull/26)
|
|
320
|
+
- improve onboarding documentation and add tests [#25](https://github.com/banteg/yee88/pull/25)
|
|
315
321
|
|
|
316
322
|
## v0.5.0 (2026-01-02)
|
|
317
323
|
|
|
318
324
|
### changes
|
|
319
325
|
|
|
320
|
-
- add an opencode runner via the `opencode` cli with json event parsing and resume support [#22](https://github.com/banteg/
|
|
321
|
-
- add a pi agent runner via the `pi` cli with jsonl streaming and resume support [#24](https://github.com/banteg/
|
|
326
|
+
- add an opencode runner via the `opencode` cli with json event parsing and resume support [#22](https://github.com/banteg/yee88/pull/22)
|
|
327
|
+
- add a pi agent runner via the `pi` cli with jsonl streaming and resume support [#24](https://github.com/banteg/yee88/pull/24)
|
|
322
328
|
- document the opencode and pi runners, event mappings, and stream capture tips
|
|
323
329
|
|
|
324
330
|
### fixes
|
|
325
331
|
|
|
326
|
-
- fix path relativization so progress output does not strip sibling directories [#23](https://github.com/banteg/
|
|
332
|
+
- fix path relativization so progress output does not strip sibling directories [#23](https://github.com/banteg/yee88/pull/23)
|
|
327
333
|
- reduce noisy debug logging from markdown_it/httpcore
|
|
328
334
|
|
|
329
335
|
## v0.4.0 (2026-01-02)
|
|
330
336
|
|
|
331
337
|
### changes
|
|
332
338
|
|
|
333
|
-
- add auto-router runner selection with configurable default engine [#15](https://github.com/banteg/
|
|
339
|
+
- add auto-router runner selection with configurable default engine [#15](https://github.com/banteg/yee88/pull/15)
|
|
334
340
|
- make auto-router the default entrypoint; subcommands or `/{engine}` prefixes override for new threads
|
|
335
341
|
- add `/cancel` + `/{engine}` command menu sync on startup
|
|
336
342
|
- show engine name in progress and final message headers
|
|
337
|
-
- omit progress/action log lines from final output for cleaner answers [#21](https://github.com/banteg/
|
|
343
|
+
- omit progress/action log lines from final output for cleaner answers [#21](https://github.com/banteg/yee88/pull/21)
|
|
338
344
|
|
|
339
345
|
### fixes
|
|
340
346
|
|
|
341
|
-
- improve codex exec error rendering with stderr extraction [#18](https://github.com/banteg/
|
|
342
|
-
- preserve markdown formatting and resume footer when trimming long responses [#20](https://github.com/banteg/
|
|
347
|
+
- improve codex exec error rendering with stderr extraction [#18](https://github.com/banteg/yee88/pull/18)
|
|
348
|
+
- preserve markdown formatting and resume footer when trimming long responses [#20](https://github.com/banteg/yee88/pull/20)
|
|
343
349
|
|
|
344
350
|
## v0.3.0 (2026-01-01)
|
|
345
351
|
|
|
346
352
|
### changes
|
|
347
353
|
|
|
348
|
-
- add a claude code runner via the `claude` cli with stream-json parsing and resume support [#9](https://github.com/banteg/
|
|
349
|
-
- auto-discover engine backends and generate cli subcommands from the registry [#12](https://github.com/banteg/
|
|
354
|
+
- add a claude code runner via the `claude` cli with stream-json parsing and resume support [#9](https://github.com/banteg/yee88/pull/9)
|
|
355
|
+
- auto-discover engine backends and generate cli subcommands from the registry [#12](https://github.com/banteg/yee88/pull/12)
|
|
350
356
|
- add `BaseRunner` session locking plus a `JsonlSubprocessRunner` helper for jsonl subprocess engines
|
|
351
357
|
- add jsonl stream parsing and subprocess helpers for runners
|
|
352
358
|
- lazily allocate per-session locks and streamline backend setup/install metadata
|
|
@@ -371,12 +377,12 @@
|
|
|
371
377
|
|
|
372
378
|
### changes
|
|
373
379
|
|
|
374
|
-
- introduce runner protocol for multi-engine support [#7](https://github.com/banteg/
|
|
380
|
+
- introduce runner protocol for multi-engine support [#7](https://github.com/banteg/yee88/pull/7)
|
|
375
381
|
- normalized event model (`started`, `action`, `completed`)
|
|
376
382
|
- actions with stable ids, lifecycle phases, and structured details
|
|
377
383
|
- engine-agnostic bridge and renderer
|
|
378
|
-
- add `/cancel` command with progress message targeting [#4](https://github.com/banteg/
|
|
379
|
-
- migrate async runtime from asyncio to anyio [#6](https://github.com/banteg/
|
|
384
|
+
- add `/cancel` command with progress message targeting [#4](https://github.com/banteg/yee88/pull/4)
|
|
385
|
+
- migrate async runtime from asyncio to anyio [#6](https://github.com/banteg/yee88/pull/6)
|
|
380
386
|
- stream runner events via async iterators (natural backpressure)
|
|
381
387
|
- per-thread job queues with serialization for same-thread runs
|
|
382
388
|
- render resume as `codex resume <token>` command lines
|
|
@@ -390,8 +396,8 @@
|
|
|
390
396
|
### fixes
|
|
391
397
|
|
|
392
398
|
- serialize new sessions once resume token is known
|
|
393
|
-
- preserve resume tokens in error renders [#3](https://github.com/banteg/
|
|
394
|
-
- preserve file-change paths in action events [#2](https://github.com/banteg/
|
|
399
|
+
- preserve resume tokens in error renders [#3](https://github.com/banteg/yee88/pull/3)
|
|
400
|
+
- preserve file-change paths in action events [#2](https://github.com/banteg/yee88/pull/2)
|
|
395
401
|
- terminate codex process groups on cancel (posix)
|
|
396
402
|
- correct resume command matching in bridge
|
|
397
403
|
|
|
@@ -82,13 +82,13 @@ flowchart TB
|
|
|
82
82
|
|
|
83
83
|
Takopi discovers plugins via Python entrypoints and keeps loading lazy:
|
|
84
84
|
|
|
85
|
-
- **Engine backends** (`
|
|
86
|
-
- **Transport backends** (`
|
|
87
|
-
- **Command backends** (`
|
|
85
|
+
- **Engine backends** (`yee88.engine_backends`)
|
|
86
|
+
- **Transport backends** (`yee88.transport_backends`)
|
|
87
|
+
- **Command backends** (`yee88.command_backends`)
|
|
88
88
|
|
|
89
89
|
Entrypoint names become plugin IDs, are validated up front (reserved names, regex),
|
|
90
90
|
and are only loaded when needed. The public surface for plugin authors lives in
|
|
91
|
-
`
|
|
91
|
+
`yee88.api`, while transports and commands interact with core routing via
|
|
92
92
|
`TransportRuntime`.
|
|
93
93
|
|
|
94
94
|
---
|
|
@@ -318,12 +318,12 @@ flowchart TD
|
|
|
318
318
|
|
|
319
319
|
```mermaid
|
|
320
320
|
flowchart LR
|
|
321
|
-
subgraph Config["~/.
|
|
322
|
-
toml[
|
|
323
|
-
lock[
|
|
321
|
+
subgraph Config["~/.yee88/"]
|
|
322
|
+
toml[yee88.toml]
|
|
323
|
+
lock[yee88.lock]
|
|
324
324
|
end
|
|
325
325
|
|
|
326
|
-
subgraph toml_contents["
|
|
326
|
+
subgraph toml_contents["yee88.toml"]
|
|
327
327
|
direction TB
|
|
328
328
|
global["transport<br/>default_engine<br/>default_project"]
|
|
329
329
|
telegram_cfg["[transports.telegram]<br/>bot_token = ...<br/>chat_id = ..."]
|
|
@@ -30,7 +30,7 @@ This page is a high-level map of Takopi’s internal modules: what they do and h
|
|
|
30
30
|
|
|
31
31
|
| Module | Responsibility |
|
|
32
32
|
|--------|----------------|
|
|
33
|
-
| `progress.py` | Progress tracking: reduces
|
|
33
|
+
| `progress.py` | Progress tracking: reduces yee88 events into progress snapshots. |
|
|
34
34
|
| `markdown.py` | Markdown formatting for progress/final messages; includes helpers like elapsed formatting. |
|
|
35
35
|
| `presenter.py` | Presenter protocol: converts `ProgressState` into transport-specific messages. |
|
|
36
36
|
| `transport.py` | Transport protocol: send/edit/delete abstractions and message reference types. |
|
|
@@ -54,7 +54,7 @@ This page is a high-level map of Takopi’s internal modules: what they do and h
|
|
|
54
54
|
| `transports.py` | Transport backend discovery and loading via entrypoints. |
|
|
55
55
|
| `commands.py` | Command backend discovery and loading via entrypoints; command execution helpers. |
|
|
56
56
|
| `ids.py` | Shared ID regex and collision checks for plugin ids and Telegram command names. |
|
|
57
|
-
| `api.py` | Public plugin API boundary (`
|
|
57
|
+
| `api.py` | Public plugin API boundary (`yee88.api` re-exports). |
|
|
58
58
|
|
|
59
59
|
## Runners and schemas
|
|
60
60
|
|
|
@@ -67,7 +67,7 @@ This page is a high-level map of Takopi’s internal modules: what they do and h
|
|
|
67
67
|
|
|
68
68
|
| Module | Responsibility |
|
|
69
69
|
|--------|----------------|
|
|
70
|
-
| `settings.py` | Loads `
|
|
70
|
+
| `settings.py` | Loads `yee88.toml` (TOML + env), validates with pydantic-settings. |
|
|
71
71
|
| `config_store.py` | Raw TOML read/write (merge/update without clobbering extra sections). |
|
|
72
72
|
| `config_migrations.py` | One-time edits to on-disk config (e.g. legacy Telegram key migration). |
|
|
73
73
|
|