thoughtflow 0.2.2__tar.gz → 0.2.3__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 (87) hide show
  1. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/CHANGELOG.md +7 -1
  2. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/PKG-INFO +2 -2
  3. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/README.md +1 -1
  4. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/pyproject.toml +1 -1
  5. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/__init__.py +1 -1
  6. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/message.py +5 -6
  7. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/.gitignore +0 -0
  8. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/LICENSE +0 -0
  9. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/_cron_expr.py +0 -0
  10. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/_util.py +0 -0
  11. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/action.py +0 -0
  12. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/__init__.py +0 -0
  13. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/_http.py +0 -0
  14. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/_substitution.py +0 -0
  15. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/ask.py +0 -0
  16. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/call.py +0 -0
  17. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/fetch.py +0 -0
  18. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/noop.py +0 -0
  19. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/notify.py +0 -0
  20. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/post.py +0 -0
  21. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/read_file.py +0 -0
  22. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/run.py +0 -0
  23. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/say.py +0 -0
  24. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/scrape.py +0 -0
  25. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/search.py +0 -0
  26. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/sleep.py +0 -0
  27. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/wait.py +0 -0
  28. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/actions/write_file.py +0 -0
  29. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/agent.py +0 -0
  30. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/agents/__init__.py +0 -0
  31. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/agents/planact.py +0 -0
  32. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/agents/react.py +0 -0
  33. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/agents/reflect.py +0 -0
  34. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/chat.py +0 -0
  35. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/chron.py +0 -0
  36. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/delegate.py +0 -0
  37. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/embed.py +0 -0
  38. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/eval/__init__.py +0 -0
  39. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/eval/harness.py +0 -0
  40. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/llm.py +0 -0
  41. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/llm_cache.py +0 -0
  42. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/llm_params.py +0 -0
  43. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/mcp.py +0 -0
  44. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/memory.py +0 -0
  45. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/providers/README.md +0 -0
  46. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/providers/__init__.py +0 -0
  47. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/providers/cerebras.py +0 -0
  48. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/providers/groq.py +0 -0
  49. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/providers/openrouter.py +0 -0
  50. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/py.typed +0 -0
  51. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/this.py +0 -0
  52. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/thought.py +0 -0
  53. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/thoughts/__init__.py +0 -0
  54. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/thoughts/decide.py +0 -0
  55. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/thoughts/plan.py +0 -0
  56. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/tool.py +0 -0
  57. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/src/thoughtflow/workflow.py +0 -0
  58. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/__init__.py +0 -0
  59. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/conftest.py +0 -0
  60. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/integration/__init__.py +0 -0
  61. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/integration/smoke_helpers.py +0 -0
  62. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/integration/test_chron.py +0 -0
  63. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/integration/test_embed_providers.py +0 -0
  64. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/integration/test_llm_providers.py +0 -0
  65. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/integration/test_scrape.py +0 -0
  66. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/integration/test_search_providers.py +0 -0
  67. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/__init__.py +0 -0
  68. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_action.py +0 -0
  69. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_actions.py +0 -0
  70. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_agent.py +0 -0
  71. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_chat.py +0 -0
  72. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_chron.py +0 -0
  73. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_delegate.py +0 -0
  74. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_embed.py +0 -0
  75. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_eval.py +0 -0
  76. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_foundation_agent_response.py +0 -0
  77. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_llm.py +0 -0
  78. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_llm_provider_integration.py +0 -0
  79. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_mcp.py +0 -0
  80. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_memory.py +0 -0
  81. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_message.py +0 -0
  82. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_replay.py +0 -0
  83. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_this.py +0 -0
  84. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_thought.py +0 -0
  85. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_tool.py +0 -0
  86. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_util.py +0 -0
  87. {thoughtflow-0.2.2 → thoughtflow-0.2.3}/tests/unit/test_workflow.py +0 -0
@@ -5,6 +5,11 @@ All notable changes to ThoughtFlow will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.3] - 2026-07-11
9
+
10
+ ### Fixed
11
+ - Python 3.9 import failure: `TypeAlias` removed from `message.py` (stdlib support starts at 3.10)
12
+
8
13
  ## [0.2.2] - 2026-07-10
9
14
 
10
15
  Production-hardening release: THOUGHT/PLAN parsing improvements (Foundation Agent feedback) plus unified LLM param pipeline, prompt caching, and native provider convenience classes.
@@ -197,7 +202,8 @@ grown from MEMORY itself, with zero new concepts.
197
202
  ---
198
203
 
199
204
  <!-- Release links -->
200
- [Unreleased]: https://github.com/jrolf/thoughtflow/compare/v0.2.2...HEAD
205
+ [Unreleased]: https://github.com/jrolf/thoughtflow/compare/v0.2.3...HEAD
206
+ [0.2.3]: https://github.com/jrolf/thoughtflow/compare/v0.2.2...v0.2.3
201
207
  [0.2.2]: https://github.com/jrolf/thoughtflow/compare/v0.2.0...v0.2.2
202
208
  [0.2.0]: https://github.com/jrolf/thoughtflow/compare/v0.1.3...v0.2.0
203
209
  [0.1.3]: https://github.com/jrolf/thoughtflow/compare/v0.1.2...v0.1.3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: thoughtflow
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Powerful AI systems from simple parts. Composable cognitive primitives, event-sourced memory, and autonomous agents in pure Python with zero dependencies.
5
5
  Project-URL: Homepage, https://github.com/jrolf/thoughtflow
6
6
  Project-URL: Documentation, https://thoughtflow.dev
@@ -164,7 +164,7 @@ supply-chain anxiety. The core library uses only Python's standard library —
164
164
  pip install --upgrade thoughtflow
165
165
 
166
166
  # Pin to a specific version for stability
167
- pip install thoughtflow==0.2.2
167
+ pip install thoughtflow==0.2.3
168
168
 
169
169
  # Check your installed version
170
170
  python -c "import thoughtflow; print(thoughtflow.__version__)"
@@ -93,7 +93,7 @@ supply-chain anxiety. The core library uses only Python's standard library —
93
93
  pip install --upgrade thoughtflow
94
94
 
95
95
  # Pin to a specific version for stability
96
- pip install thoughtflow==0.2.2
96
+ pip install thoughtflow==0.2.3
97
97
 
98
98
  # Check your installed version
99
99
  python -c "import thoughtflow; print(thoughtflow.__version__)"
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "thoughtflow"
7
- version = "0.2.2"
7
+ version = "0.2.3"
8
8
  description = "Powerful AI systems from simple parts. Composable cognitive primitives, event-sourced memory, and autonomous agents in pure Python with zero dependencies."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -105,7 +105,7 @@ try:
105
105
 
106
106
  __version__ = _get_version("thoughtflow")
107
107
  except Exception:
108
- __version__ = "0.2.2"
108
+ __version__ = "0.2.3"
109
109
 
110
110
  # Public API
111
111
  __all__ = [
@@ -14,13 +14,12 @@ Typical structure:
14
14
  from __future__ import annotations
15
15
 
16
16
  from dataclasses import dataclass, field
17
- from typing import Any, Literal, TypeAlias
17
+ from typing import Any, Literal
18
18
 
19
-
20
- # Type aliases for clarity
21
- Role: TypeAlias = Literal["system", "user", "assistant", "tool"]
22
- MessageDict: TypeAlias = dict[str, Any]
23
- MessageList: TypeAlias = list[MessageDict]
19
+ # Plain aliases (no TypeAlias — added in Python 3.10; we support 3.9+).
20
+ Role = Literal["system", "user", "assistant", "tool"]
21
+ MessageDict = dict[str, Any]
22
+ MessageList = list[MessageDict]
24
23
 
25
24
 
26
25
  @dataclass
File without changes
File without changes