codex-telegram 0.4.6__tar.gz → 0.4.7__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 (90) hide show
  1. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/PKG-INFO +1 -1
  2. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/client.py +0 -1
  3. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram/__init__.py +1 -1
  4. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram.egg-info/PKG-INFO +1 -1
  5. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_codex_client.py +16 -1
  6. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/LICENSE +0 -0
  7. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/MANIFEST.in +0 -0
  8. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/README.md +0 -0
  9. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/TELEGRAM.md +0 -0
  10. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/WEB.md +0 -0
  11. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/app_runtime/__init__.py +0 -0
  12. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/app_runtime/bootstrap.py +0 -0
  13. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/app_runtime/telegram_app.py +0 -0
  14. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/app_runtime/web_server.py +0 -0
  15. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/__init__.py +0 -0
  16. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/callbacks.py +0 -0
  17. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/features_ui.py +0 -0
  18. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/handlers.py +0 -0
  19. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/keyboard.py +0 -0
  20. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/projects_ui.py +0 -0
  21. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/skills_ui.py +0 -0
  22. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/bot/thread_ui.py +0 -0
  23. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/__init__.py +0 -0
  24. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/approval_flow.py +0 -0
  25. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/approval_guardian.py +0 -0
  26. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/collaboration_mode.py +0 -0
  27. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/__init__.py +0 -0
  28. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/common.py +0 -0
  29. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/context.py +0 -0
  30. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/contracts.py +0 -0
  31. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/core.py +0 -0
  32. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/projects.py +0 -0
  33. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/review.py +0 -0
  34. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/system.py +0 -0
  35. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/command_router/threads.py +0 -0
  36. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/commands.py +0 -0
  37. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/event_forwarding.py +0 -0
  38. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/events.py +0 -0
  39. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex/protocol.py +0 -0
  40. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram/cli.py +0 -0
  41. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram.egg-info/SOURCES.txt +0 -0
  42. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram.egg-info/dependency_links.txt +0 -0
  43. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram.egg-info/entry_points.txt +0 -0
  44. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram.egg-info/requires.txt +0 -0
  45. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/codex_telegram.egg-info/top_level.txt +0 -0
  46. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/conf.toml.example +0 -0
  47. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/main.py +0 -0
  48. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/models/__init__.py +0 -0
  49. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/models/state.py +0 -0
  50. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/models/thread.py +0 -0
  51. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/models/user.py +0 -0
  52. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/pyproject.toml +0 -0
  53. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/setup.cfg +0 -0
  54. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_approval_guardian.py +0 -0
  55. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_approval_policy.py +0 -0
  56. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_callbacks_results.py +0 -0
  57. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_cli_entrypoint.py +0 -0
  58. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_command_router.py +0 -0
  59. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_guardian_config.py +0 -0
  60. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_handlers_results.py +0 -0
  61. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_keyboard.py +0 -0
  62. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_main_approval_flow.py +0 -0
  63. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_normalize.py +0 -0
  64. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_pypi_check.py +0 -0
  65. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_single_instance.py +0 -0
  66. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_telegram_bot_config.py +0 -0
  67. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_thread_history.py +0 -0
  68. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_web_runtime.py +0 -0
  69. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/tests/test_web_server_local_command.py +0 -0
  70. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/__init__.py +0 -0
  71. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/approval_policy.py +0 -0
  72. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/config.py +0 -0
  73. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/local_command.py +0 -0
  74. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/logger.py +0 -0
  75. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/normalize.py +0 -0
  76. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/pypi_check.py +0 -0
  77. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/single_instance.py +0 -0
  78. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/utils/web_config.py +0 -0
  79. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/__init__.py +0 -0
  80. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/dependencies.py +0 -0
  81. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/routes.py +0 -0
  82. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/runtime.py +0 -0
  83. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/server.py +0 -0
  84. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/static/dist/assets/index-B6IQl7AZ.js +0 -0
  85. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/static/dist/assets/index-Czx9yv3Y.css +0 -0
  86. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/static/dist/icons-tab-add.svg +0 -0
  87. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/static/dist/icons-tab-close.svg +0 -0
  88. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/static/dist/index.html +0 -0
  89. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/thread_history.py +0 -0
  90. {codex-telegram-0.4.6 → codex-telegram-0.4.7}/web/workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codex-telegram
3
- Version: 0.4.6
3
+ Version: 0.4.7
4
4
  Summary: Bridge for controlling the Codex App Server from Telegram and Web UI
5
5
  Author: heungtae
6
6
  License: Apache License
@@ -125,7 +125,6 @@ class CodexClient:
125
125
  logger.debug("app-server stdin: %s", data)
126
126
  if self._proc and self._proc.stdin:
127
127
  self._proc.stdin.write(data.encode() + b"\n")
128
- self._proc.stdin.flush()
129
128
 
130
129
  def _fail_pending(self, exc: Exception) -> None:
131
130
  for future in self._pending.values():
@@ -1,3 +1,3 @@
1
1
  """codex-telegram package."""
2
2
 
3
- __version__ = "0.4.6"
3
+ __version__ = "0.4.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codex-telegram
3
- Version: 0.4.6
3
+ Version: 0.4.7
4
4
  Summary: Bridge for controlling the Codex App Server from Telegram and Web UI
5
5
  Author: heungtae
6
6
  License: Apache License
@@ -1,11 +1,26 @@
1
1
  import unittest
2
2
  from unittest.mock import patch
3
+ from types import SimpleNamespace
3
4
 
4
5
  from codex.client import CodexClient
5
- from codex.protocol import JSONRPCRequest
6
+ from codex.protocol import JSONRPCRequest, JSONRPCNotification
6
7
 
7
8
 
8
9
  class CodexClientServerRequestTests(unittest.IsolatedAsyncioTestCase):
10
+ def test_write_does_not_require_flush_on_asyncio_stream_writer(self):
11
+ client = CodexClient()
12
+ written = []
13
+
14
+ class _DummyStdin:
15
+ def write(self, data):
16
+ written.append(data)
17
+
18
+ client._proc = SimpleNamespace(stdin=_DummyStdin())
19
+
20
+ client._write(JSONRPCNotification(method="initialized"))
21
+
22
+ self.assertEqual([b'{"method": "initialized"}\n'], written)
23
+
9
24
  async def test_tool_request_user_input_auto_approve_maps_to_approve_once(self):
10
25
  client = CodexClient()
11
26
  written = []
File without changes
File without changes
File without changes
File without changes
File without changes