netizen-cli 0.11.3__tar.gz → 0.11.4__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.
- {netizen_cli-0.11.3/netizen_cli.egg-info → netizen_cli-0.11.4}/PKG-INFO +1 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/__init__.py +1 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/reply.py +1 -3
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/codex_runtime.py +6 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4/netizen_cli.egg-info}/PKG-INFO +1 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/pyproject.toml +1 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/skills/netizen-user-guide/references/user-guide.md +1 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cards.py +8 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_codex_runtime.py +6 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduled_runtime.py +1 -1
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/MANIFEST.in +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/README.md +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/_build.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/config.example.yaml +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/__main__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/account_rate_limits.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/auth.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/credentials.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/errors.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/feishu.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/login.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/port_config.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/presentation.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/queries.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/admin.css +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/admin.js +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/chat-picker.css +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/chat-picker.js +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/identity.js +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/index.html +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/login.html +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/login.js +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/transport.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/users.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/web.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/bindings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/builtin_skills.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/callbacks.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/chat_target.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/controls.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/defaults.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/fork.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/model_info.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/pagination.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/questions.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/scheduled.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/usage.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/completion_mentions.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/input_preparation.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/messages.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/ports.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/question_inputs.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/reactions.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/reply_presenter.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/topics.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel_app.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/chat_avatars.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/chat_targets.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_data.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_packages.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_services.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_setup.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_update.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_update_restore.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_update_worker.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/completion_mention.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/database_migrations.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/models.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/service.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/store.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/restart_worker.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/update_executor.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/update_protocol.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/domain.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/error_messages.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/experience.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/feishu_app_onboarding.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/feishu_app_permissions.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/feishu_links.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/git_status.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/image_inputs.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/instance.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/lark_app.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/main.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/blocking_io.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/chat_directory.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/chat_labels.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/coordination.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/service.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/updates.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/markdown_images.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_content.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_history.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_preparation.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_projection.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/migrations/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/migrations/schema.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/migrations/v14.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/model_settings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/package_resources.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/pagination.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/partial_answers.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/projects.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/prompt_projection.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/quoted_context.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/result_images.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/contracts.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/name_writes.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/thread_naming.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/__init__.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/mcp.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/models.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/scheduler.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/service.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/store.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/sdk_gap_adapter.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/service_launcher.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/session_settings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/settings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/skill_references.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/task_text.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/terminal_cleanup.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_activity.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_files.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_patch_children.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_plan_observer.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/user_questions.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/SOURCES.txt +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/dependency_links.txt +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/entry_points.txt +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/requires.txt +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/top_level.txt +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/setup.cfg +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/skills/netizen-lark/SKILL.md +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/skills/netizen-user-guide/SKILL.md +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_account_rate_limits.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_admin_update_executor_probe.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_binding_scheduled_channel.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_bindings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_channel_app.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_channel_fixtures.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_channel_input_preparation.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_chat_avatars.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_chat_target_cards.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_check_sdk.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_data.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_distribution.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_integration.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_packages.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_packaging.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_services.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_setup.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_update.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_codex_sdk_capabilities.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_codex_sdk_upgrade_0161.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_completion_mention_cards.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_completion_mentions.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_completion_topic_delivery.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cron_chat_targets.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_database_migrations.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_defaults_cards.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_defaults_channel.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_defaults_runtime.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_deployment.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_documentation_links.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_domain_experience.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_error_messages.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_feishu_app_onboarding.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_feishu_app_permissions.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_file_pagination.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_fork_cards.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_git_status.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_image_inputs.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_lark_app.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_lark_sdk_contract.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_main.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_markdown_images.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_content.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_history.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_material_inputs.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_preparation.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_migration_schema_validation.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_model_info_cards.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_model_settings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_name_writes.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_pagination.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_partial_answer_delivery.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_partial_answers.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_persistent_fork_bindings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_persistent_fork_channel.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_persistent_fork_runtime.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_child_files.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_feishu_completion_mention.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_feishu_partial_answers.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_feishu_turn_file_card.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_persistent_fork.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_python_sdk.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_scheduled_tasks.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_sdk_completion_race.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_skill_execution.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_thread_naming.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_project_delete_channel.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_project_delete_runtime.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_project_deletion_storage.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_prompt_projection.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_question_cards.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_question_channel.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_question_target_parity.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_quoted_context.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_release_script.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_repository_hygiene.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_result_images.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_resume_channel.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_retired_deployment.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_runtime_resume_activation.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_runtime_thread_naming.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_card_retry.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_cards.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_mcp.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_run_now.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_scope_matrix.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_service.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduled_channel.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduler.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduler_presenter.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedules_storage.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_sdk_gap_adapter.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_service_launcher.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_session_defaults.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_session_settings.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_settings_projects.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_task_text.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_terminal_cleanup.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_thread_naming.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_activity.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_files.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_patch_children.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_patch_statistics.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_plan_observer.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_update_executor.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_usage_card.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_usage_control.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_user_guide_skill.py +0 -0
- {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_user_questions.py +0 -0
|
@@ -1059,7 +1059,6 @@ def _turn_progress_panel(
|
|
|
1059
1059
|
},
|
|
1060
1060
|
"elements": _turn_activity_elements(
|
|
1061
1061
|
snapshot,
|
|
1062
|
-
status_label=status_label,
|
|
1063
1062
|
hidden_steps=hidden_steps,
|
|
1064
1063
|
goal=goal,
|
|
1065
1064
|
),
|
|
@@ -1087,11 +1086,10 @@ def _progress_status_label(
|
|
|
1087
1086
|
def _turn_activity_elements(
|
|
1088
1087
|
snapshot: _TurnActivitySnapshotLike,
|
|
1089
1088
|
*,
|
|
1090
|
-
status_label: str,
|
|
1091
1089
|
hidden_steps: int = 0,
|
|
1092
1090
|
goal: bool = False,
|
|
1093
1091
|
) -> list[dict[str, Any]]:
|
|
1094
|
-
elements = [
|
|
1092
|
+
elements: list[dict[str, Any]] = []
|
|
1095
1093
|
if snapshot.steer_count:
|
|
1096
1094
|
elements.append(_plain(f"已接收调整:{snapshot.steer_count} 次"))
|
|
1097
1095
|
commentary = tuple(getattr(snapshot, "commentary", ()))[
|
|
@@ -3216,7 +3216,12 @@ class CodexRuntime:
|
|
|
3216
3216
|
# The public API has no "inherit Ask/Custom" sentinel;
|
|
3217
3217
|
# omitting approval_mode deliberately selects its
|
|
3218
3218
|
# auto_review default.
|
|
3219
|
-
|
|
3219
|
+
start_kwargs: dict[str, object] = {"cwd": str(cwd)}
|
|
3220
|
+
if resolved_settings is not None:
|
|
3221
|
+
# Initialize native model metadata with the first Turn's
|
|
3222
|
+
# selected model, including its context window budget.
|
|
3223
|
+
start_kwargs["model"] = resolved_settings.model
|
|
3224
|
+
thread = await self._codex.thread_start(**start_kwargs)
|
|
3220
3225
|
else:
|
|
3221
3226
|
# Do not override cwd, sandbox, model, approval, config, or
|
|
3222
3227
|
# env while resuming an existing native Thread.
|
{netizen_cli-0.11.3 → netizen_cli-0.11.4}/skills/netizen-user-guide/references/user-guide.md
RENAMED
|
@@ -149,7 +149,7 @@ Side 仅接受其[命令白名单](#side-临时话题),不能把上表所有
|
|
|
149
149
|
相应终态表情,再清理运行态表情。`OnIt` 失败时,已成功的 steer 会回退文字确认。
|
|
150
150
|
- Reaction Pulse 开启后,执行中还会低频显示/隐藏 `THINKING`;关闭只停止这个动态闪烁。
|
|
151
151
|
- Progress Card 开启后,普通或 Side Turn 被接受时回复一张运行卡;Goal 始终使用一张组合卡,
|
|
152
|
-
|
|
152
|
+
开启该选项时在卡中增加过程区。过程区在运行中展开,状态显示在“执行过程 · 状态”标题中,只按
|
|
153
153
|
当前状态、最近四条完成的进展、最近八条操作、子任务聚合与原生 checklist 的变化更新
|
|
154
154
|
同一张卡。最近进展和操作使用显示到分钟的原生事件时间,并由每位飞书查看者的客户端按本地
|
|
155
155
|
时区与语言显示,进展正文直接跟在时间分隔符 `·` 后。读取、列举和搜索操作可显示原生路径、
|
|
@@ -1387,7 +1387,8 @@ class CardRendererTest(unittest.TestCase):
|
|
|
1387
1387
|
for item in _elements(panel, "div")
|
|
1388
1388
|
if item.get("text", {}).get("tag") == "plain_text"
|
|
1389
1389
|
)
|
|
1390
|
-
self.
|
|
1390
|
+
self.assertEqual(panel["header"]["title"]["content"], "执行过程 · 正在执行")
|
|
1391
|
+
self.assertNotIn("状态:", visible)
|
|
1391
1392
|
self.assertIn("已接收调整:2 次", visible)
|
|
1392
1393
|
self.assertIn("✓ 检查当前实现", visible)
|
|
1393
1394
|
self.assertIn("→ 步骤 1", visible)
|
|
@@ -2123,6 +2124,7 @@ class CardRendererTest(unittest.TestCase):
|
|
|
2123
2124
|
panel = _elements(outbound.card, "collapsible_panel")[0]
|
|
2124
2125
|
self.assertFalse(panel["expanded"])
|
|
2125
2126
|
self.assertIn("已完成", panel["header"]["title"]["content"])
|
|
2127
|
+
self.assertNotIn("状态:", json.dumps(panel, ensure_ascii=False))
|
|
2126
2128
|
visible = "\n".join(
|
|
2127
2129
|
item["content"] for item in _elements(outbound.card, "markdown")
|
|
2128
2130
|
)
|
|
@@ -2177,6 +2179,11 @@ class CardRendererTest(unittest.TestCase):
|
|
|
2177
2179
|
self.assertFalse(
|
|
2178
2180
|
_elements(interrupted.card, "collapsible_panel")[0]["expanded"]
|
|
2179
2181
|
)
|
|
2182
|
+
for outbound in (running, unavailable, interrupted):
|
|
2183
|
+
with self.subTest(card=outbound.card["header"]):
|
|
2184
|
+
panel = _elements(outbound.card, "collapsible_panel")[0]
|
|
2185
|
+
self.assertNotIn("状态:", json.dumps(panel, ensure_ascii=False))
|
|
2186
|
+
self.assertIn("过程信息:暂不可用", json.dumps(panel, ensure_ascii=False))
|
|
2180
2187
|
|
|
2181
2188
|
with self.assertRaises(ValueError):
|
|
2182
2189
|
turn_progress_card(snapshot=snapshot, final_response="尚未结束")
|
|
@@ -6823,11 +6823,16 @@ class CodexRuntimeTest(unittest.IsolatedAsyncioTestCase):
|
|
|
6823
6823
|
creator_id="ou_user",
|
|
6824
6824
|
turn_settings=settings,
|
|
6825
6825
|
)
|
|
6826
|
+
self.assertIsNone(binding.native_thread_id)
|
|
6827
|
+
self.assertEqual(self.codex.start_kwargs, [])
|
|
6826
6828
|
|
|
6827
6829
|
submission = await self.submit(binding, "configured first prompt")
|
|
6828
6830
|
|
|
6829
6831
|
self.assertEqual(self.codex.model_calls, 1)
|
|
6830
|
-
self.assertEqual(
|
|
6832
|
+
self.assertEqual(
|
|
6833
|
+
self.codex.start_kwargs,
|
|
6834
|
+
[{"cwd": str(self.cwd), "model": "wire-model"}],
|
|
6835
|
+
)
|
|
6831
6836
|
self.assertEqual(
|
|
6832
6837
|
self.codex.turn_calls,
|
|
6833
6838
|
[
|
|
@@ -161,7 +161,7 @@ class ScheduledRuntimeTest(unittest.IsolatedAsyncioTestCase):
|
|
|
161
161
|
initial = await self.start(run_id, binding)
|
|
162
162
|
initial.release_receipt_attempt()
|
|
163
163
|
native_settings = {"model": "wire-model", "effort": effort, "service_tier": "priority-v2"}
|
|
164
|
-
self.assertEqual(self.codex.start_kwargs, [{"cwd": str(self.cwd)}])
|
|
164
|
+
self.assertEqual(self.codex.start_kwargs, [{"cwd": str(self.cwd), "model": "wire-model"}])
|
|
165
165
|
self.assertEqual(self.codex.turn_calls[-1][2], native_settings)
|
|
166
166
|
self.assertEqual(initial.task_feedback, feedback)
|
|
167
167
|
# The running Turn owns its feedback snapshot, even if the persistent
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|