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.
Files changed (253) hide show
  1. {netizen_cli-0.11.3/netizen_cli.egg-info → netizen_cli-0.11.4}/PKG-INFO +1 -1
  2. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/__init__.py +1 -1
  3. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/reply.py +1 -3
  4. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/codex_runtime.py +6 -1
  5. {netizen_cli-0.11.3 → netizen_cli-0.11.4/netizen_cli.egg-info}/PKG-INFO +1 -1
  6. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/pyproject.toml +1 -1
  7. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/skills/netizen-user-guide/references/user-guide.md +1 -1
  8. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cards.py +8 -1
  9. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_codex_runtime.py +6 -1
  10. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduled_runtime.py +1 -1
  11. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/MANIFEST.in +0 -0
  12. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/README.md +0 -0
  13. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/_build.py +0 -0
  14. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/config.example.yaml +0 -0
  15. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/__main__.py +0 -0
  16. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/account_rate_limits.py +0 -0
  17. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/__init__.py +0 -0
  18. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/auth.py +0 -0
  19. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/credentials.py +0 -0
  20. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/errors.py +0 -0
  21. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/feishu.py +0 -0
  22. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/login.py +0 -0
  23. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/port_config.py +0 -0
  24. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/presentation.py +0 -0
  25. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/queries.py +0 -0
  26. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/admin.css +0 -0
  27. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/admin.js +0 -0
  28. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/chat-picker.css +0 -0
  29. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/chat-picker.js +0 -0
  30. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/identity.js +0 -0
  31. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/index.html +0 -0
  32. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/login.html +0 -0
  33. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/static/login.js +0 -0
  34. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/transport.py +0 -0
  35. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/users.py +0 -0
  36. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/admin/web.py +0 -0
  37. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/bindings.py +0 -0
  38. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/builtin_skills.py +0 -0
  39. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/__init__.py +0 -0
  40. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/callbacks.py +0 -0
  41. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/chat_target.py +0 -0
  42. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/controls.py +0 -0
  43. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/defaults.py +0 -0
  44. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/fork.py +0 -0
  45. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/model_info.py +0 -0
  46. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/pagination.py +0 -0
  47. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/questions.py +0 -0
  48. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/scheduled.py +0 -0
  49. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cards/usage.py +0 -0
  50. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/__init__.py +0 -0
  51. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/completion_mentions.py +0 -0
  52. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/input_preparation.py +0 -0
  53. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/messages.py +0 -0
  54. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/ports.py +0 -0
  55. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/question_inputs.py +0 -0
  56. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/reactions.py +0 -0
  57. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/reply_presenter.py +0 -0
  58. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel/topics.py +0 -0
  59. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/channel_app.py +0 -0
  60. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/chat_avatars.py +0 -0
  61. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/chat_targets.py +0 -0
  62. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli.py +0 -0
  63. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_data.py +0 -0
  64. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_packages.py +0 -0
  65. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_services.py +0 -0
  66. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_setup.py +0 -0
  67. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_update.py +0 -0
  68. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_update_restore.py +0 -0
  69. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/cli_update_worker.py +0 -0
  70. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/completion_mention.py +0 -0
  71. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/database_migrations.py +0 -0
  72. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/__init__.py +0 -0
  73. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/models.py +0 -0
  74. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/service.py +0 -0
  75. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/defaults/store.py +0 -0
  76. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/__init__.py +0 -0
  77. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/restart_worker.py +0 -0
  78. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/update_executor.py +0 -0
  79. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/deployment/update_protocol.py +0 -0
  80. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/domain.py +0 -0
  81. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/error_messages.py +0 -0
  82. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/experience.py +0 -0
  83. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/feishu_app_onboarding.py +0 -0
  84. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/feishu_app_permissions.py +0 -0
  85. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/feishu_links.py +0 -0
  86. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/git_status.py +0 -0
  87. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/image_inputs.py +0 -0
  88. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/instance.py +0 -0
  89. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/lark_app.py +0 -0
  90. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/main.py +0 -0
  91. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/__init__.py +0 -0
  92. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/blocking_io.py +0 -0
  93. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/chat_directory.py +0 -0
  94. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/chat_labels.py +0 -0
  95. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/coordination.py +0 -0
  96. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/service.py +0 -0
  97. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/management/updates.py +0 -0
  98. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/markdown_images.py +0 -0
  99. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_content.py +0 -0
  100. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_history.py +0 -0
  101. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_preparation.py +0 -0
  102. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/message_projection.py +0 -0
  103. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/migrations/__init__.py +0 -0
  104. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/migrations/schema.py +0 -0
  105. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/migrations/v14.py +0 -0
  106. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/model_settings.py +0 -0
  107. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/package_resources.py +0 -0
  108. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/pagination.py +0 -0
  109. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/partial_answers.py +0 -0
  110. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/projects.py +0 -0
  111. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/prompt_projection.py +0 -0
  112. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/quoted_context.py +0 -0
  113. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/result_images.py +0 -0
  114. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/__init__.py +0 -0
  115. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/contracts.py +0 -0
  116. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/name_writes.py +0 -0
  117. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/runtime/thread_naming.py +0 -0
  118. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/__init__.py +0 -0
  119. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/mcp.py +0 -0
  120. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/models.py +0 -0
  121. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/scheduler.py +0 -0
  122. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/service.py +0 -0
  123. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/schedules/store.py +0 -0
  124. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/sdk_gap_adapter.py +0 -0
  125. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/service_launcher.py +0 -0
  126. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/session_settings.py +0 -0
  127. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/settings.py +0 -0
  128. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/skill_references.py +0 -0
  129. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/task_text.py +0 -0
  130. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/terminal_cleanup.py +0 -0
  131. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_activity.py +0 -0
  132. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_files.py +0 -0
  133. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_patch_children.py +0 -0
  134. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/turn_plan_observer.py +0 -0
  135. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli/user_questions.py +0 -0
  136. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/SOURCES.txt +0 -0
  137. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/dependency_links.txt +0 -0
  138. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/entry_points.txt +0 -0
  139. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/requires.txt +0 -0
  140. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/netizen_cli.egg-info/top_level.txt +0 -0
  141. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/setup.cfg +0 -0
  142. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/skills/netizen-lark/SKILL.md +0 -0
  143. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/skills/netizen-user-guide/SKILL.md +0 -0
  144. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_account_rate_limits.py +0 -0
  145. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_admin_update_executor_probe.py +0 -0
  146. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_binding_scheduled_channel.py +0 -0
  147. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_bindings.py +0 -0
  148. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_channel_app.py +0 -0
  149. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_channel_fixtures.py +0 -0
  150. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_channel_input_preparation.py +0 -0
  151. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_chat_avatars.py +0 -0
  152. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_chat_target_cards.py +0 -0
  153. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_check_sdk.py +0 -0
  154. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli.py +0 -0
  155. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_data.py +0 -0
  156. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_distribution.py +0 -0
  157. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_integration.py +0 -0
  158. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_packages.py +0 -0
  159. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_packaging.py +0 -0
  160. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_services.py +0 -0
  161. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_setup.py +0 -0
  162. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cli_update.py +0 -0
  163. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_codex_sdk_capabilities.py +0 -0
  164. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_codex_sdk_upgrade_0161.py +0 -0
  165. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_completion_mention_cards.py +0 -0
  166. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_completion_mentions.py +0 -0
  167. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_completion_topic_delivery.py +0 -0
  168. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_cron_chat_targets.py +0 -0
  169. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_database_migrations.py +0 -0
  170. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_defaults_cards.py +0 -0
  171. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_defaults_channel.py +0 -0
  172. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_defaults_runtime.py +0 -0
  173. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_deployment.py +0 -0
  174. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_documentation_links.py +0 -0
  175. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_domain_experience.py +0 -0
  176. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_error_messages.py +0 -0
  177. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_feishu_app_onboarding.py +0 -0
  178. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_feishu_app_permissions.py +0 -0
  179. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_file_pagination.py +0 -0
  180. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_fork_cards.py +0 -0
  181. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_git_status.py +0 -0
  182. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_image_inputs.py +0 -0
  183. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_lark_app.py +0 -0
  184. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_lark_sdk_contract.py +0 -0
  185. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_main.py +0 -0
  186. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_markdown_images.py +0 -0
  187. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_content.py +0 -0
  188. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_history.py +0 -0
  189. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_material_inputs.py +0 -0
  190. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_message_preparation.py +0 -0
  191. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_migration_schema_validation.py +0 -0
  192. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_model_info_cards.py +0 -0
  193. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_model_settings.py +0 -0
  194. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_name_writes.py +0 -0
  195. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_pagination.py +0 -0
  196. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_partial_answer_delivery.py +0 -0
  197. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_partial_answers.py +0 -0
  198. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_persistent_fork_bindings.py +0 -0
  199. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_persistent_fork_channel.py +0 -0
  200. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_persistent_fork_runtime.py +0 -0
  201. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_child_files.py +0 -0
  202. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_feishu_completion_mention.py +0 -0
  203. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_feishu_partial_answers.py +0 -0
  204. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_feishu_turn_file_card.py +0 -0
  205. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_persistent_fork.py +0 -0
  206. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_python_sdk.py +0 -0
  207. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_scheduled_tasks.py +0 -0
  208. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_sdk_completion_race.py +0 -0
  209. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_skill_execution.py +0 -0
  210. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_probe_thread_naming.py +0 -0
  211. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_project_delete_channel.py +0 -0
  212. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_project_delete_runtime.py +0 -0
  213. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_project_deletion_storage.py +0 -0
  214. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_prompt_projection.py +0 -0
  215. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_question_cards.py +0 -0
  216. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_question_channel.py +0 -0
  217. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_question_target_parity.py +0 -0
  218. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_quoted_context.py +0 -0
  219. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_release_script.py +0 -0
  220. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_repository_hygiene.py +0 -0
  221. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_result_images.py +0 -0
  222. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_resume_channel.py +0 -0
  223. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_retired_deployment.py +0 -0
  224. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_runtime_resume_activation.py +0 -0
  225. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_runtime_thread_naming.py +0 -0
  226. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_card_retry.py +0 -0
  227. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_cards.py +0 -0
  228. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_mcp.py +0 -0
  229. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_run_now.py +0 -0
  230. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_scope_matrix.py +0 -0
  231. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedule_service.py +0 -0
  232. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduled_channel.py +0 -0
  233. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduler.py +0 -0
  234. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_scheduler_presenter.py +0 -0
  235. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_schedules_storage.py +0 -0
  236. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_sdk_gap_adapter.py +0 -0
  237. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_service_launcher.py +0 -0
  238. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_session_defaults.py +0 -0
  239. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_session_settings.py +0 -0
  240. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_settings_projects.py +0 -0
  241. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_task_text.py +0 -0
  242. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_terminal_cleanup.py +0 -0
  243. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_thread_naming.py +0 -0
  244. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_activity.py +0 -0
  245. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_files.py +0 -0
  246. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_patch_children.py +0 -0
  247. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_patch_statistics.py +0 -0
  248. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_turn_plan_observer.py +0 -0
  249. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_update_executor.py +0 -0
  250. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_usage_card.py +0 -0
  251. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_usage_control.py +0 -0
  252. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_user_guide_skill.py +0 -0
  253. {netizen_cli-0.11.3 → netizen_cli-0.11.4}/tests/test_user_questions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netizen-cli
3
- Version: 0.11.3
3
+ Version: 0.11.4
4
4
  Summary: Use native Codex threads through a Feishu Channel.
5
5
  Requires-Python: <3.15,>=3.11
6
6
  Requires-Dist: h11==0.16.0
@@ -1,3 +1,3 @@
1
1
  """Netizen: a thin Feishu Channel for native Codex Threads."""
2
2
 
3
- __version__ = "0.11.3"
3
+ __version__ = "0.11.4"
@@ -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 = [_plain(f"状态:{status_label}")]
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
- thread = await self._codex.thread_start(cwd=str(cwd))
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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netizen-cli
3
- Version: 0.11.3
3
+ Version: 0.11.4
4
4
  Summary: Use native Codex threads through a Feishu Channel.
5
5
  Requires-Python: <3.15,>=3.11
6
6
  Requires-Dist: h11==0.16.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "netizen-cli"
7
- version = "0.11.3"
7
+ version = "0.11.4"
8
8
  description = "Use native Codex threads through a Feishu Channel."
9
9
  requires-python = ">=3.11,<3.15"
10
10
  dependencies = [
@@ -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.assertIn("状态:正在执行", visible)
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(self.codex.start_kwargs, [{"cwd": str(self.cwd)}])
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