codex-app-server-sdk 0.4.0__tar.gz → 0.4.1__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 (66) hide show
  1. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/CHANGELOG.md +16 -0
  2. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/PKG-INFO +3 -3
  3. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/releasing.md +14 -0
  4. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/pyproject.toml +12 -3
  5. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/uv.lock +1 -1
  6. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/.github/workflows/ci.yml +0 -0
  7. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/.github/workflows/docs.yml +0 -0
  8. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/.github/workflows/publish.yml +0 -0
  9. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/.gitignore +0 -0
  10. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/LICENSE +0 -0
  11. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/README.md +0 -0
  12. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/RELEASE.md +0 -0
  13. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/api/client.md +0 -0
  14. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/api/errors.md +0 -0
  15. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/api/index.md +0 -0
  16. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/api/models.md +0 -0
  17. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/api/package.md +0 -0
  18. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/api/protocol.md +0 -0
  19. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/api/transport.md +0 -0
  20. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/approvals-and-sandbox.md +0 -0
  21. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/behavior-guarantees.md +0 -0
  22. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/conversation.md +0 -0
  23. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/examples.md +0 -0
  24. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/getting-started.md +0 -0
  25. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/human-in-the-loop.md +0 -0
  26. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/index.md +0 -0
  27. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/migration-0.4.0.md +0 -0
  28. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/protocol-mapping.md +0 -0
  29. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/recipes/index.md +0 -0
  30. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/threads-and-config.md +0 -0
  31. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/timeouts-continuation-cancel.md +0 -0
  32. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/docs/transports.md +0 -0
  33. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/examples/chat_session_stdio.py +0 -0
  34. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/examples/chat_session_websocket.py +0 -0
  35. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/examples/chat_steps_rich.py +0 -0
  36. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/examples/thread_concurrent_handles.py +0 -0
  37. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/examples/thread_config_and_fork.py +0 -0
  38. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/examples/thread_ops_showcase.py +0 -0
  39. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/examples/thread_resume_by_id.py +0 -0
  40. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/mkdocs.yml +0 -0
  41. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/scripts/__init__.py +0 -0
  42. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/scripts/check_chat_method_links.py +0 -0
  43. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/scripts/check_quality.py +0 -0
  44. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/scripts/check_release.py +0 -0
  45. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/__init__.py +0 -0
  46. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/_version.py +0 -0
  47. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/client.py +0 -0
  48. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/errors.py +0 -0
  49. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/models.py +0 -0
  50. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/protocol.py +0 -0
  51. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/py.typed +0 -0
  52. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/src/codex_app_server_sdk/transport.py +0 -0
  53. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_approval_requests.py +0 -0
  54. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_chat_assembly_completed_item.py +0 -0
  55. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_chat_continuation.py +0 -0
  56. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_chat_steps.py +0 -0
  57. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_client_chat_once.py +0 -0
  58. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_client_correctness.py +0 -0
  59. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_client_lifecycle.py +0 -0
  60. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_collaboration_mode.py +0 -0
  61. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_live_app_server.py +0 -0
  62. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_protocol.py +0 -0
  63. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_release_checks.py +0 -0
  64. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_thread_handle.py +0 -0
  65. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_transport.py +0 -0
  66. {codex_app_server_sdk-0.4.0 → codex_app_server_sdk-0.4.1}/tests/test_user_input_requests.py +0 -0
@@ -3,6 +3,22 @@
3
3
  Version headings identify prepared releases. Publication dates and artifacts
4
4
  are recorded in GitHub Releases and PyPI.
5
5
 
6
+ ## 0.4.1
7
+
8
+ ### Fixed
9
+
10
+ - Convert the README's relative changelog and release-procedure links to
11
+ version-tagged GitHub URLs when building the PyPI description. The source
12
+ README keeps its relative links.
13
+
14
+ ### Compatibility
15
+
16
+ - Packaging/documentation patch; the SDK API and behavior are unchanged from 0.4.0.
17
+ The 0.4.0 migration requirements below still apply.
18
+ - Source builds now use `hatch-fancy-pypi-readme` as a build dependency. Isolated
19
+ builds install it automatically; builds without isolation must provide it.
20
+ Wheel runtime dependencies are unchanged.
21
+
6
22
  ## 0.4.0
7
23
 
8
24
  ### Compatibility and required migration
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: codex-app-server-sdk
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: Async Python client for Codex app-server over stdio and websocket.
5
5
  Project-URL: Documentation, https://emsi.github.io/codex-app-server-sdk/
6
6
  Project-URL: Repository, https://github.com/emsi/codex-app-server-sdk
@@ -775,9 +775,9 @@ uv pip install codex-app-server-sdk
775
775
  - Docs site: https://emsi.github.io/codex-app-server-sdk/
776
776
  - PyPI: https://pypi.org/project/codex-app-server-sdk/
777
777
  - Human-in-the-loop guide: https://emsi.github.io/codex-app-server-sdk/human-in-the-loop/
778
- - Release procedure: [RELEASE.md](RELEASE.md)
778
+ - Release procedure: [RELEASE.md](https://github.com/emsi/codex-app-server-sdk/blob/v0.4.1/RELEASE.md)
779
779
  - Upgrading from 0.3.2: [0.4.0 migration guide](https://emsi.github.io/codex-app-server-sdk/migration-0.4.0/)
780
- - Release notes and migration guidance: [CHANGELOG.md](CHANGELOG.md)
780
+ - Release notes and migration guidance: [CHANGELOG.md](https://github.com/emsi/codex-app-server-sdk/blob/v0.4.1/CHANGELOG.md)
781
781
 
782
782
  ## Quick start
783
783
 
@@ -50,6 +50,20 @@ Release tooling requires Twine 7 and packaging 26.3 or newer. Current Hatchling
50
50
  produces core metadata 2.5, which the previously locked tools rejected; strict
51
51
  artifact validation now detects this incompatibility before upload.
52
52
 
53
+ The source README keeps relative links to `CHANGELOG.md` and `RELEASE.md`.
54
+ The `hatch-fancy-pypi-readme` metadata hook converts those links to absolute
55
+ GitHub URLs under the package's version tag when building distributions. This
56
+ keeps links usable on PyPI and tied to the published release. The plugin is a
57
+ build dependency, installed automatically by isolated builds; builds without
58
+ isolation must install the declared build dependencies themselves.
59
+
60
+ When changing README links, inspect the description in the built wheel's
61
+ `METADATA` and the sdist's `PKG-INFO`, not only the source rendered by GitHub.
62
+ Extend the substitutions in `pyproject.toml` if adding more relative file links.
63
+ PyPI retains the first uploaded metadata for a version, so correcting an
64
+ already-published description requires a new release; repository edits alone
65
+ do not change historical PyPI pages.
66
+
53
67
  ## Prepare and validate locally
54
68
 
55
69
  Work on a branch based on the default branch (`master`) with complete tag
@@ -1,8 +1,8 @@
1
1
  [project]
2
2
  name = "codex-app-server-sdk"
3
- version = "0.4.0"
3
+ version = "0.4.1"
4
4
  description = "Async Python client for Codex app-server over stdio and websocket."
5
- readme = "README.md"
5
+ dynamic = ["readme"]
6
6
  license = { file = "LICENSE" }
7
7
  authors = [
8
8
  { name = "Mariusz Woloszyn", email = "emsi@users.noreply.github.com" }
@@ -36,7 +36,7 @@ Documentation = "https://emsi.github.io/codex-app-server-sdk/"
36
36
  Repository = "https://github.com/emsi/codex-app-server-sdk"
37
37
 
38
38
  [build-system]
39
- requires = ["hatchling"]
39
+ requires = ["hatchling", "hatch-fancy-pypi-readme>=25.1.0"]
40
40
  build-backend = "hatchling.build"
41
41
 
42
42
  [project.optional-dependencies]
@@ -66,6 +66,15 @@ dev = [
66
66
  [tool.hatch.build.targets.wheel]
67
67
  packages = ["src/codex_app_server_sdk"]
68
68
 
69
+ [tool.hatch.metadata.hooks.fancy-pypi-readme]
70
+ content-type = "text/markdown"
71
+ fragments = [{ path = "README.md" }]
72
+
73
+ [[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
74
+ # Keep repository links relative in source; PyPI needs a versioned absolute URL.
75
+ pattern = '\]\(((?:CHANGELOG|RELEASE)\.md)\)'
76
+ replacement = '](https://github.com/emsi/codex-app-server-sdk/blob/v$HFPR_VERSION/\1)'
77
+
69
78
  [tool.pytest.ini_options]
70
79
  pythonpath = ["."]
71
80
 
@@ -187,7 +187,7 @@ wheels = [
187
187
 
188
188
  [[package]]
189
189
  name = "codex-app-server-sdk"
190
- version = "0.4.0"
190
+ version = "0.4.1"
191
191
  source = { editable = "." }
192
192
  dependencies = [
193
193
  { name = "pydantic" },