yee88 0.2.0__tar.gz → 0.4.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.2.0 → yee88-0.4.0}/.codex/skills/takopi-release/SKILL.md +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/Justfile +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/PKG-INFO +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/README.md +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/changelog.md +105 -105
- {yee88-0.2.0 → yee88-0.4.0}/docs/explanation/architecture.md +8 -8
- {yee88-0.2.0 → yee88-0.4.0}/docs/explanation/module-map.md +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/docs/explanation/plugin-system.md +10 -10
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/add-a-runner.md +17 -17
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/chat-sessions.md +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/dev-setup.md +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/file-transfer.md +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/projects.md +12 -12
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/route-by-chat.md +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/topics.md +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/troubleshooting.md +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/voice-notes.md +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/worktrees.md +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/write-a-plugin.md +17 -17
- {yee88-0.2.0 → yee88-0.4.0}/docs/index.md +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/docs/javascripts/hero-chat.js +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/docs/plugins.md +2 -2
- yee88-0.4.0/docs/reference/agents/repo-map.md +40 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/commands-and-directives.md +8 -8
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/config.md +29 -29
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/context-resolution.md +16 -16
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/index.md +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/plugin-api.md +7 -7
- yee88-0.4.0/docs/reference/plugins.md +16 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/claude/runner.md +16 -16
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/claude/takopi-events.md +9 -9
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/codex/takopi-events.md +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/index.md +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/opencode/runner.md +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/opencode/takopi-events.md +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/pi/runner.md +11 -11
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/pi/takopi-events.md +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/specification.md +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/transports/telegram.md +20 -20
- {yee88-0.2.0 → yee88-0.4.0}/docs/stylesheets/admonitions.css +14 -14
- {yee88-0.2.0 → yee88-0.4.0}/docs/tutorials/conversation-modes.md +9 -9
- {yee88-0.2.0 → yee88-0.4.0}/docs/tutorials/first-run.md +8 -8
- {yee88-0.2.0 → yee88-0.4.0}/docs/tutorials/install.md +51 -51
- {yee88-0.2.0 → yee88-0.4.0}/docs/tutorials/multi-engine.md +12 -12
- {yee88-0.2.0 → yee88-0.4.0}/docs/tutorials/projects-and-branches.md +19 -19
- {yee88-0.2.0 → yee88-0.4.0}/pyproject.toml +17 -17
- {yee88-0.2.0 → yee88-0.4.0}/readme.md +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/scripts/onboarding_preview.py +4 -4
- yee88-0.4.0/src/yee88/__init__.py +1 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/__init__.py +2 -2
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/config.py +3 -3
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/doctor.py +3 -3
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/onboarding_cmd.py +2 -2
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/plugins.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/run.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/topic.py +5 -5
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/config.py +2 -2
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/logging.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/plugins.py +3 -3
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/run_options.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/settings.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/api_schemas.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/bridge.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/files.py +1 -1
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/onboarding.py +5 -5
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/utils/paths.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/conftest.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/factories.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/plugin_fixtures.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/telegram_fakes.py +10 -10
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_api_exports.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_auto_router.py +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_claude_runner.py +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_claude_schema.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_cli_auto_router.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_cli_chat_id.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_cli_commands.py +25 -25
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_cli_config.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_cli_doctor.py +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_cli_helpers.py +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_codex_runner_helpers.py +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_codex_schema.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_codex_tool_result_summary.py +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_command_registry.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_config_store.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_config_watch.py +10 -10
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_engine_discovery.py +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_exec_bridge.py +14 -14
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_exec_render.py +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_exec_runner.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_git_utils.py +15 -15
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_lockfile.py +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_onboarding.py +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_onboarding_helpers.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_onboarding_interactive.py +10 -10
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_opencode_runner.py +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_opencode_schema.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_paths.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_pi_runner.py +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_pi_schema.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_plugins.py +17 -17
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_projects_config.py +14 -14
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_rendering.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_runner_contract.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_runner_run_options.py +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_runner_utils.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_runtime_loader.py +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_settings.py +14 -14
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_settings_contract.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_subprocess.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_agent_trigger_commands.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_backend.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_bridge.py +83 -83
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_chat_prefs.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_chat_sessions.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_client.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_client_api.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_context_helpers.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_engine_defaults.py +8 -8
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_engine_overrides.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_file_transfer_helpers.py +9 -9
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_files.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_incoming.py +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_media_command.py +6 -6
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_polling.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_queue.py +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_topic_state.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_topics_command.py +10 -10
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_topics_helpers.py +2 -2
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_trigger_mode.py +7 -7
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_telegram_voice.py +4 -4
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_tool_actions.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_transport.py +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_transport_registry.py +3 -3
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_transport_runtime.py +5 -5
- {yee88-0.2.0 → yee88-0.4.0}/tests/test_worktrees.py +9 -9
- {yee88-0.2.0 → yee88-0.4.0}/uv.lock +1 -1
- {yee88-0.2.0 → yee88-0.4.0}/zensical.toml +10 -10
- yee88-0.2.0/docs/reference/agents/repo-map.md +0 -40
- yee88-0.2.0/docs/reference/plugins.md +0 -16
- yee88-0.2.0/src/takopi/__init__.py +0 -1
- {yee88-0.2.0 → yee88-0.4.0}/.codex/AGENTS.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/.github/workflows/ci.yml +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/.github/workflows/release.yml +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/.gitignore +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/LICENSE +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/assets/favicon.svg +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/assets/logo.svg +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/assets/og-image.jpg +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/assets/takopi.svg +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/developing.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/explanation/index.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/explanation/routing-and-sessions.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/index.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/schedule-tasks.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/how-to/switch-engines.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/overrides/.icons/takopi/takopi.svg +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/overrides/main.html +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/agents/index.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/agents/invariants.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/env-vars.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/claude/stream-json-cheatsheet.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/codex/exec-json-cheatsheet.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/opencode/stream-json-cheatsheet.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/reference/runners/pi/stream-json-cheatsheet.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/stylesheets/hero-chat.css +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/stylesheets/workflow-preview.css +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/tutorials/index.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/docs/user-guide.md +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/scripts/commit_notify.py +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/scripts/docs_build_cf.sh +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/scripts/docs_prebuild.py +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/scripts/release_notify.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/api.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/backends.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/backends_helpers.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/cli/init.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/commands.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/config_migrations.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/config_watch.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/context.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/directives.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/engines.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/events.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/ids.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/lockfile.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/markdown.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/model.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/presenter.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/progress.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/router.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runner.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runner_bridge.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/__init__.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/claude.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/codex.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/mock.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/opencode.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/pi.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runners/tool_actions.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/runtime_loader.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/scheduler.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/schemas/__init__.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/schemas/claude.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/schemas/codex.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/schemas/opencode.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/schemas/pi.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/__init__.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/api_models.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/backend.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/chat_prefs.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/chat_sessions.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/client.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/client_api.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/__init__.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/agent.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/cancel.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/dispatch.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/executor.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/file_transfer.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/handlers.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/media.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/menu.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/model.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/overrides.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/parse.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/plan.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/reasoning.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/reply.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/topics.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/commands/trigger.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/context.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/engine_defaults.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/engine_overrides.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/loop.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/outbox.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/parsing.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/render.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/state_store.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/topic_state.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/topics.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/trigger_mode.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/types.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/telegram/voice.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/transport.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/transport_runtime.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/transports.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/utils/__init__.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/utils/git.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/utils/json_state.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/utils/streams.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/utils/subprocess.py +0 -0
- {yee88-0.2.0/src/takopi → yee88-0.4.0/src/yee88}/worktrees.py +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/__init__.py +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/claude_stream_json_session.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/codex_exec_json_all_formats.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/codex_exec_json_all_formats.txt +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/opencode_run_json.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/opencode_stream_error.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/opencode_stream_success.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/opencode_stream_success_no_reason.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/pi_print_mode_events.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.0}/tests/fixtures/pi_stream_error.jsonl +0 -0
- {yee88-0.2.0 → yee88-0.4.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.4.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
|
|
|
@@ -4,130 +4,130 @@
|
|
|
4
4
|
|
|
5
5
|
### changes
|
|
6
6
|
|
|
7
|
-
- rename startup message from "
|
|
7
|
+
- rename startup message from "yee88 is ready" to "yee88 is ready"
|
|
8
8
|
|
|
9
9
|
## v0.21.4 (2026-01-22)
|
|
10
10
|
|
|
11
11
|
### changes
|
|
12
12
|
|
|
13
|
-
- 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)
|
|
14
14
|
|
|
15
15
|
## v0.21.3 (2026-01-21)
|
|
16
16
|
|
|
17
17
|
### fixes
|
|
18
18
|
|
|
19
|
-
- 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)
|
|
20
20
|
|
|
21
21
|
## v0.21.2 (2026-01-20)
|
|
22
22
|
|
|
23
23
|
### fixes
|
|
24
24
|
|
|
25
|
-
- 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)
|
|
26
26
|
|
|
27
27
|
### docs
|
|
28
28
|
|
|
29
|
-
- add
|
|
29
|
+
- add yee88-slack plugin to reference [#168](https://github.com/banteg/yee88/pull/168)
|
|
30
30
|
|
|
31
31
|
## v0.21.1 (2026-01-18)
|
|
32
32
|
|
|
33
33
|
### fixes
|
|
34
34
|
|
|
35
|
-
- separate telegram voice transcription client [#166](https://github.com/banteg/
|
|
36
|
-
- 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)
|
|
37
37
|
|
|
38
38
|
### docs
|
|
39
39
|
|
|
40
|
-
- align engine terminology in telegram and docs [#162](https://github.com/banteg/
|
|
41
|
-
- 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)
|
|
42
42
|
|
|
43
43
|
## v0.21.0 (2026-01-16)
|
|
44
44
|
|
|
45
45
|
### changes
|
|
46
46
|
|
|
47
|
-
- add `
|
|
48
|
-
- make telegram /ctx work everywhere [#159](https://github.com/banteg/
|
|
49
|
-
- improve telegram command planning and testability [#158](https://github.com/banteg/
|
|
50
|
-
- simplify telegram loop and jsonl runner [#155](https://github.com/banteg/
|
|
51
|
-
- 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)
|
|
52
52
|
|
|
53
53
|
### tests
|
|
54
54
|
|
|
55
|
-
- improve coverage and raise threshold to 80% [#154](https://github.com/banteg/
|
|
56
|
-
- 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)
|
|
57
57
|
|
|
58
58
|
### docs
|
|
59
59
|
|
|
60
|
-
- add opengraph meta fallbacks [#150](https://github.com/banteg/
|
|
60
|
+
- add opengraph meta fallbacks [#150](https://github.com/banteg/yee88/pull/150)
|
|
61
61
|
|
|
62
62
|
## v0.20.0 (2026-01-15)
|
|
63
63
|
|
|
64
64
|
### changes
|
|
65
65
|
|
|
66
|
-
- add telegram mentions-only trigger mode [#142](https://github.com/banteg/
|
|
67
|
-
- add telegram /model and /reasoning overrides [#147](https://github.com/banteg/
|
|
68
|
-
- coalesce forwarded telegram messages [#146](https://github.com/banteg/
|
|
69
|
-
- 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)
|
|
70
70
|
|
|
71
71
|
### fixes
|
|
72
72
|
|
|
73
|
-
- handle forwarded uploads for telegram [#149](https://github.com/banteg/
|
|
74
|
-
- preserve directives for voice transcripts [#141](https://github.com/banteg/
|
|
75
|
-
- 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)
|
|
76
76
|
|
|
77
77
|
### docs
|
|
78
78
|
|
|
79
|
-
- add
|
|
79
|
+
- add yee88-scripts plugin to plugins list [#140](https://github.com/banteg/yee88/pull/140)
|
|
80
80
|
|
|
81
81
|
## v0.19.0 (2026-01-15)
|
|
82
82
|
|
|
83
83
|
### changes
|
|
84
84
|
|
|
85
|
-
- overhaul onboarding with persona-based setup flows [#132](https://github.com/banteg/
|
|
86
|
-
- add queued cancel placeholder for Telegram runs [#136](https://github.com/banteg/
|
|
87
|
-
- 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)
|
|
88
88
|
|
|
89
89
|
### docs
|
|
90
90
|
|
|
91
|
-
- refresh onboarding docs with new widgets and hero flow [#138](https://github.com/banteg/
|
|
92
|
-
- fix docs site mobile layout and font consistency [#139](https://github.com/banteg/
|
|
93
|
-
- 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
|
|
94
94
|
|
|
95
95
|
## v0.18.0 (2026-01-13)
|
|
96
96
|
|
|
97
97
|
### changes
|
|
98
98
|
|
|
99
|
-
- add per-chat and per-topic default agent via `/agent set` command [#109](https://github.com/banteg/
|
|
100
|
-
- add session resume shorthand for pi runner [#113](https://github.com/banteg/
|
|
101
|
-
- 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)
|
|
102
102
|
|
|
103
103
|
### fixes
|
|
104
104
|
|
|
105
|
-
- recreate stale topic bindings when topic is deleted and recreated [#127](https://github.com/banteg/
|
|
106
|
-
- 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)
|
|
107
107
|
|
|
108
108
|
### docs
|
|
109
109
|
|
|
110
|
-
- 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)
|
|
111
111
|
|
|
112
112
|
## v0.17.1 (2026-01-12)
|
|
113
113
|
|
|
114
114
|
### fixes
|
|
115
115
|
|
|
116
|
-
- fix telegram /new command crash [#106](https://github.com/banteg/
|
|
117
|
-
- track telegram sessions for plugin runs [#107](https://github.com/banteg/
|
|
118
|
-
- 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)
|
|
119
119
|
|
|
120
120
|
## v0.17.0 (2026-01-12)
|
|
121
121
|
|
|
122
122
|
### changes
|
|
123
123
|
|
|
124
|
-
- add chat session mode (`session_mode = "chat"`) for auto-resume per chat without replying, reset with `/new` [#102](https://github.com/banteg/
|
|
125
|
-
- add `message_overflow = "split"` to send long responses as multiple messages instead of trimming [#101](https://github.com/banteg/
|
|
126
|
-
- add `show_resume_line` option to hide resume lines when auto-resume is available [#100](https://github.com/banteg/
|
|
127
|
-
- add `auto_put_mode = "prompt"` to start a run with the caption after uploading a file [#97](https://github.com/banteg/
|
|
128
|
-
- expose `thread_id` to plugins via run context [#99](https://github.com/banteg/
|
|
129
|
-
- use tomli-w for config serialization [#103](https://github.com/banteg/
|
|
130
|
-
- 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)
|
|
131
131
|
|
|
132
132
|
### docs
|
|
133
133
|
|
|
@@ -137,12 +137,12 @@
|
|
|
137
137
|
|
|
138
138
|
### fixes
|
|
139
139
|
|
|
140
|
-
- harden telegram file transfer handling [#84](https://github.com/banteg/
|
|
140
|
+
- harden telegram file transfer handling [#84](https://github.com/banteg/yee88/pull/84)
|
|
141
141
|
|
|
142
142
|
### changes
|
|
143
143
|
|
|
144
|
-
- simplify runtime, config, and telegram internals [#85](https://github.com/banteg/
|
|
145
|
-
- 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)
|
|
146
146
|
|
|
147
147
|
### docs
|
|
148
148
|
|
|
@@ -153,44 +153,44 @@
|
|
|
153
153
|
|
|
154
154
|
### changes
|
|
155
155
|
|
|
156
|
-
- add telegram file transfer support [#83](https://github.com/banteg/
|
|
156
|
+
- add telegram file transfer support [#83](https://github.com/banteg/yee88/pull/83)
|
|
157
157
|
|
|
158
158
|
### docs
|
|
159
159
|
|
|
160
|
-
- document telegram file transfers [#83](https://github.com/banteg/
|
|
160
|
+
- document telegram file transfers [#83](https://github.com/banteg/yee88/pull/83)
|
|
161
161
|
|
|
162
162
|
## v0.14.1 (2026-01-10)
|
|
163
163
|
|
|
164
164
|
### changes
|
|
165
165
|
|
|
166
|
-
- 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)
|
|
167
167
|
|
|
168
168
|
### docs
|
|
169
169
|
|
|
170
|
-
- 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)
|
|
171
171
|
|
|
172
172
|
## v0.14.0 (2026-01-10)
|
|
173
173
|
|
|
174
174
|
### changes
|
|
175
175
|
|
|
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/
|
|
177
|
-
- add inline cancel button to progress messages [#79](https://github.com/banteg/
|
|
178
|
-
- 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)
|
|
179
179
|
|
|
180
180
|
### docs
|
|
181
181
|
|
|
182
|
-
- 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)
|
|
183
183
|
|
|
184
184
|
## v0.13.0 (2026-01-09)
|
|
185
185
|
|
|
186
186
|
### changes
|
|
187
187
|
|
|
188
|
-
- add per-project chat routing [#76](https://github.com/banteg/
|
|
188
|
+
- add per-project chat routing [#76](https://github.com/banteg/yee88/pull/76)
|
|
189
189
|
|
|
190
190
|
### fixes
|
|
191
191
|
|
|
192
|
-
- hardcode codex exec flags [#75](https://github.com/banteg/
|
|
193
|
-
- 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)
|
|
194
194
|
|
|
195
195
|
### docs
|
|
196
196
|
|
|
@@ -200,52 +200,52 @@
|
|
|
200
200
|
|
|
201
201
|
### changes
|
|
202
202
|
|
|
203
|
-
- 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)
|
|
204
204
|
|
|
205
205
|
### fixes
|
|
206
206
|
|
|
207
|
-
- 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)
|
|
208
208
|
|
|
209
209
|
### docs
|
|
210
210
|
|
|
211
|
-
- document telegram voice transcription settings [#74](https://github.com/banteg/
|
|
211
|
+
- document telegram voice transcription settings [#74](https://github.com/banteg/yee88/pull/74)
|
|
212
212
|
|
|
213
213
|
## v0.11.0 (2026-01-08)
|
|
214
214
|
|
|
215
215
|
### changes
|
|
216
216
|
|
|
217
|
-
- 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)
|
|
218
218
|
|
|
219
219
|
### fixes
|
|
220
220
|
|
|
221
|
-
- create pi sessions under the run base dir [#68](https://github.com/banteg/
|
|
222
|
-
- 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)
|
|
223
223
|
|
|
224
224
|
## v0.10.0 (2026-01-08)
|
|
225
225
|
|
|
226
226
|
### changes
|
|
227
227
|
|
|
228
|
-
- add transport registry with `--transport` overrides and a `
|
|
229
|
-
- migrate config loading to pydantic-settings and move telegram credentials under `[transports.telegram]` [#65](https://github.com/banteg/
|
|
230
|
-
- 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)
|
|
231
231
|
|
|
232
232
|
### fixes
|
|
233
233
|
|
|
234
|
-
- validate worktree roots instead of treating nested paths as worktrees [#63](https://github.com/banteg/
|
|
235
|
-
- 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)
|
|
236
236
|
|
|
237
237
|
### docs
|
|
238
238
|
|
|
239
239
|
- add architecture and lifecycle diagrams
|
|
240
|
-
- call out the default worktrees directory [#64](https://github.com/banteg/
|
|
241
|
-
- 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)
|
|
242
242
|
|
|
243
243
|
## v0.9.0 (2026-01-07)
|
|
244
244
|
|
|
245
245
|
### projects and worktrees
|
|
246
246
|
|
|
247
|
-
- register repos with `
|
|
248
|
-
- 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
|
|
249
249
|
- replies preserve context via `ctx: project @branch` footers, no need to repeat directives
|
|
250
250
|
- set `default_project` to skip the `/project` prefix entirely
|
|
251
251
|
- per-project `default_engine` and `worktree_base` configuration
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
### changes
|
|
254
254
|
|
|
255
255
|
- transport/presenter protocols plus transport-agnostic `exec_bridge`
|
|
256
|
-
- move telegram polling + wiring into `
|
|
256
|
+
- move telegram polling + wiring into `yee88.telegram` with transport/presenter adapters
|
|
257
257
|
- list configured projects in the startup banner
|
|
258
258
|
|
|
259
259
|
### fixes
|
|
@@ -262,21 +262,21 @@
|
|
|
262
262
|
|
|
263
263
|
### breaking
|
|
264
264
|
|
|
265
|
-
- remove `
|
|
265
|
+
- remove `yee88.bridge`; use `yee88.runner_bridge` and `yee88.telegram` instead
|
|
266
266
|
|
|
267
267
|
### docs
|
|
268
268
|
|
|
269
|
-
- add a projects/worktrees guide and document `
|
|
269
|
+
- add a projects/worktrees guide and document `yee88 init` behavior in the readme
|
|
270
270
|
|
|
271
271
|
## v0.8.0 (2026-01-05)
|
|
272
272
|
|
|
273
273
|
### changes
|
|
274
274
|
|
|
275
|
-
- 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)
|
|
276
276
|
|
|
277
277
|
### docs
|
|
278
278
|
|
|
279
|
-
- improve documentation coverage [#52](https://github.com/banteg/
|
|
279
|
+
- improve documentation coverage [#52](https://github.com/banteg/yee88/pull/52)
|
|
280
280
|
- align runner guide with factory pattern
|
|
281
281
|
- add missing pr links in the changelog
|
|
282
282
|
|
|
@@ -284,22 +284,22 @@
|
|
|
284
284
|
|
|
285
285
|
### changes
|
|
286
286
|
|
|
287
|
-
- migrate logging to structlog with structured pipelines and redaction [#46](https://github.com/banteg/
|
|
288
|
-
- 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)
|
|
289
289
|
|
|
290
290
|
## v0.6.0 (2026-01-03)
|
|
291
291
|
|
|
292
292
|
### changes
|
|
293
293
|
|
|
294
|
-
- interactive onboarding: run `
|
|
295
|
-
- lockfile to prevent multiple
|
|
296
|
-
- 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`
|
|
297
297
|
|
|
298
298
|
## v0.5.3 (2026-01-02)
|
|
299
299
|
|
|
300
300
|
### changes
|
|
301
301
|
|
|
302
|
-
- 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)
|
|
303
303
|
|
|
304
304
|
## v0.5.2 (2026-01-02)
|
|
305
305
|
|
|
@@ -309,50 +309,50 @@
|
|
|
309
309
|
|
|
310
310
|
### fixes
|
|
311
311
|
|
|
312
|
-
- treat codex reconnect notices as non-fatal progress updates instead of errors [#27](https://github.com/banteg/
|
|
313
|
-
- 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)
|
|
314
314
|
|
|
315
315
|
## v0.5.1 (2026-01-02)
|
|
316
316
|
|
|
317
317
|
### changes
|
|
318
318
|
|
|
319
|
-
- relax telegram ACL to check chat id only, enabling use in group chats and channels [#26](https://github.com/banteg/
|
|
320
|
-
- 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)
|
|
321
321
|
|
|
322
322
|
## v0.5.0 (2026-01-02)
|
|
323
323
|
|
|
324
324
|
### changes
|
|
325
325
|
|
|
326
|
-
- add an opencode runner via the `opencode` cli with json event parsing and resume support [#22](https://github.com/banteg/
|
|
327
|
-
- 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)
|
|
328
328
|
- document the opencode and pi runners, event mappings, and stream capture tips
|
|
329
329
|
|
|
330
330
|
### fixes
|
|
331
331
|
|
|
332
|
-
- 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)
|
|
333
333
|
- reduce noisy debug logging from markdown_it/httpcore
|
|
334
334
|
|
|
335
335
|
## v0.4.0 (2026-01-02)
|
|
336
336
|
|
|
337
337
|
### changes
|
|
338
338
|
|
|
339
|
-
- 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)
|
|
340
340
|
- make auto-router the default entrypoint; subcommands or `/{engine}` prefixes override for new threads
|
|
341
341
|
- add `/cancel` + `/{engine}` command menu sync on startup
|
|
342
342
|
- show engine name in progress and final message headers
|
|
343
|
-
- 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)
|
|
344
344
|
|
|
345
345
|
### fixes
|
|
346
346
|
|
|
347
|
-
- improve codex exec error rendering with stderr extraction [#18](https://github.com/banteg/
|
|
348
|
-
- 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)
|
|
349
349
|
|
|
350
350
|
## v0.3.0 (2026-01-01)
|
|
351
351
|
|
|
352
352
|
### changes
|
|
353
353
|
|
|
354
|
-
- add a claude code runner via the `claude` cli with stream-json parsing and resume support [#9](https://github.com/banteg/
|
|
355
|
-
- 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)
|
|
356
356
|
- add `BaseRunner` session locking plus a `JsonlSubprocessRunner` helper for jsonl subprocess engines
|
|
357
357
|
- add jsonl stream parsing and subprocess helpers for runners
|
|
358
358
|
- lazily allocate per-session locks and streamline backend setup/install metadata
|
|
@@ -377,12 +377,12 @@
|
|
|
377
377
|
|
|
378
378
|
### changes
|
|
379
379
|
|
|
380
|
-
- 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)
|
|
381
381
|
- normalized event model (`started`, `action`, `completed`)
|
|
382
382
|
- actions with stable ids, lifecycle phases, and structured details
|
|
383
383
|
- engine-agnostic bridge and renderer
|
|
384
|
-
- add `/cancel` command with progress message targeting [#4](https://github.com/banteg/
|
|
385
|
-
- 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)
|
|
386
386
|
- stream runner events via async iterators (natural backpressure)
|
|
387
387
|
- per-thread job queues with serialization for same-thread runs
|
|
388
388
|
- render resume as `codex resume <token>` command lines
|
|
@@ -396,8 +396,8 @@
|
|
|
396
396
|
### fixes
|
|
397
397
|
|
|
398
398
|
- serialize new sessions once resume token is known
|
|
399
|
-
- preserve resume tokens in error renders [#3](https://github.com/banteg/
|
|
400
|
-
- 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)
|
|
401
401
|
- terminate codex process groups on cancel (posix)
|
|
402
402
|
- correct resume command matching in bridge
|
|
403
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
|
|