codex-ipc 0.1.0__tar.gz → 0.1.2__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 (52) hide show
  1. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/.gitignore +1 -0
  2. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/PKG-INFO +1 -1
  3. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/__init__.py +8 -1
  4. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/async_client.py +15 -0
  5. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/client.py +523 -54
  6. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/constants.py +1 -1
  7. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/conversation_state.py +222 -3
  8. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/owner_follower.py +579 -23
  9. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/pyproject.toml +1 -1
  10. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/__init__.py +8 -1
  11. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/codex/api.py +3 -0
  12. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/codex/async_client.py +25 -0
  13. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/codex/client.py +26 -0
  14. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/config.py +3 -1
  15. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/session.py +182 -4
  16. codex_ipc-0.1.2/tests/test_plan_mode_user_input.py +1782 -0
  17. codex_ipc-0.1.2/tests/test_ssh_websocket_transport.py +170 -0
  18. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/uv.lock +1 -1
  19. codex_ipc-0.1.0/tests/test_plan_mode_user_input.py +0 -706
  20. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/.github/workflows/publish.yml +0 -0
  21. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/.python-version +0 -0
  22. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/.vscode/launch.json +0 -0
  23. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/README.md +0 -0
  24. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/examples/demo.py +0 -0
  25. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/examples/tui.py +0 -0
  26. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/README.md +0 -0
  27. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/pyproject.toml +0 -0
  28. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/_inputs.py +0 -0
  29. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/_message_router.py +0 -0
  30. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/_run.py +0 -0
  31. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/_version.py +0 -0
  32. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/api.py +0 -0
  33. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/errors.py +0 -0
  34. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/generated/__init__.py +0 -0
  35. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/generated/notification_registry.py +0 -0
  36. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/generated/v2_all.py +0 -0
  37. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/models.py +0 -0
  38. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/py.typed +0 -0
  39. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/codex-sdk/src/codex_app_server/retry.py +0 -0
  40. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/README.md +0 -0
  41. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/pyproject.toml +0 -0
  42. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/__init__.py +0 -0
  43. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/client.py +0 -0
  44. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/frame_protocol.py +0 -0
  45. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/immer.py +0 -0
  46. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/py.typed +0 -0
  47. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/packages/ipc/src/ipc/router.py +0 -0
  48. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/codex/__init__.py +0 -0
  49. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/codex/generated/__init__.py +0 -0
  50. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/codex/generated/v2_all.py +0 -0
  51. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/src/codex_ipc/user_input.py +0 -0
  52. {codex_ipc-0.1.0 → codex_ipc-0.1.2}/tests/__init__.py +0 -0
@@ -11,3 +11,4 @@ wheels/
11
11
  tmp/
12
12
  .codex
13
13
  .zed/
14
+ .DS_Store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codex-ipc
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: pydantic>=2.12
@@ -1,5 +1,10 @@
1
1
  from .async_client import AsyncAppServerClient
2
- from .client import AppServerClient, AppServerConfig
2
+ from .client import (
3
+ AppServerClient,
4
+ AppServerConfig,
5
+ SshConnectionConfig,
6
+ SshWebsocketAppServerConfig,
7
+ )
3
8
  from .errors import (
4
9
  AppServerError,
5
10
  AppServerRpcError,
@@ -61,6 +66,8 @@ __all__ = [
61
66
  "AppServerClient",
62
67
  "AsyncAppServerClient",
63
68
  "AppServerConfig",
69
+ "SshConnectionConfig",
70
+ "SshWebsocketAppServerConfig",
64
71
  "Codex",
65
72
  "AsyncCodex",
66
73
  "Thread",
@@ -9,6 +9,9 @@ from pydantic import BaseModel
9
9
  from .client import AppServerClient, AppServerConfig
10
10
  from .generated.v2_all import (
11
11
  AgentMessageDeltaNotification,
12
+ GetAccountResponse,
13
+ LoginAccountResponse,
14
+ LogoutAccountResponse,
12
15
  ModelListResponse,
13
16
  ThreadArchiveResponse,
14
17
  ThreadCompactStartResponse,
@@ -168,6 +171,18 @@ class AsyncAppServerClient:
168
171
  async def model_list(self, include_hidden: bool = False) -> ModelListResponse:
169
172
  return await self._call_sync(self._sync.model_list, include_hidden)
170
173
 
174
+ async def account_read(self, *, refresh_token: bool = False) -> GetAccountResponse:
175
+ return await self._call_sync(
176
+ self._sync.account_read,
177
+ refresh_token=refresh_token,
178
+ )
179
+
180
+ async def account_login_api_key(self, api_key: str) -> LoginAccountResponse:
181
+ return await self._call_sync(self._sync.account_login_api_key, api_key)
182
+
183
+ async def account_logout(self) -> LogoutAccountResponse:
184
+ return await self._call_sync(self._sync.account_logout)
185
+
171
186
  async def request_with_retry_on_overload(
172
187
  self,
173
188
  method: str,