fabricatio 0.2.5.dev3__tar.gz → 0.2.5.dev4__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 (110) hide show
  1. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/PKG-INFO +1 -1
  2. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/pyproject.toml +1 -1
  3. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/kwargs_types.py +6 -3
  4. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/usages.py +10 -0
  5. fabricatio-0.2.5.dev4/templates.tar.gz +0 -0
  6. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_models/test_usages.py +2 -2
  7. fabricatio-0.2.5.dev4/uv.lock +1509 -0
  8. fabricatio-0.2.5.dev3/templates.tar.gz +0 -0
  9. fabricatio-0.2.5.dev3/uv.lock +0 -1509
  10. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/.github/workflows/build-package.yaml +0 -0
  11. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/.github/workflows/ruff.yaml +0 -0
  12. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/.github/workflows/tests.yaml +0 -0
  13. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/.gitignore +0 -0
  14. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/.python-version +0 -0
  15. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/Cargo.lock +0 -0
  16. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/Cargo.toml +0 -0
  17. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/LICENSE +0 -0
  18. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/Makefile +0 -0
  19. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/README.md +0 -0
  20. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/extract_and_review/.gitignore +0 -0
  21. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/extract_and_review/extract_and_review.py +0 -0
  22. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/extract_article/extract.py +0 -0
  23. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/llm_usages/llm_usage.py +0 -0
  24. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/make_a_rating/rating.py +0 -0
  25. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/make_diary/commits.json +0 -0
  26. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/make_diary/diary.py +0 -0
  27. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/minor/hello_fabricatio.py +0 -0
  28. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/propose_task/propose.py +0 -0
  29. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/reviewer/review.py +0 -0
  30. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/simple_chat/chat.py +0 -0
  31. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/simple_rag/simple_rag.py +0 -0
  32. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/task_handle/handle_task.py +0 -0
  33. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/write_outline/.gitignore +0 -0
  34. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/examples/write_outline/write_outline.py +0 -0
  35. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/__init__.py +0 -0
  36. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/_rust.pyi +0 -0
  37. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/_rust_instances.py +0 -0
  38. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/actions/article.py +0 -0
  39. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/actions/output.py +0 -0
  40. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/actions/rag.py +0 -0
  41. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/capabilities/propose.py +0 -0
  42. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/capabilities/rag.py +0 -0
  43. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/capabilities/rating.py +0 -0
  44. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/capabilities/review.py +0 -0
  45. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/capabilities/task.py +0 -0
  46. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/config.py +0 -0
  47. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/core.py +0 -0
  48. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/decorators.py +0 -0
  49. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/fs/__init__.py +0 -0
  50. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/fs/curd.py +0 -0
  51. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/fs/readers.py +0 -0
  52. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/journal.py +0 -0
  53. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/action.py +0 -0
  54. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/events.py +0 -0
  55. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/extra.py +0 -0
  56. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/generic.py +0 -0
  57. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/role.py +0 -0
  58. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/task.py +0 -0
  59. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/tool.py +0 -0
  60. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/models/utils.py +0 -0
  61. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/parser.py +0 -0
  62. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/py.typed +0 -0
  63. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/toolboxes/__init__.py +0 -0
  64. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/toolboxes/arithmetic.py +0 -0
  65. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/toolboxes/fs.py +0 -0
  66. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/workflows/articles.py +0 -0
  67. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/python/fabricatio/workflows/rag.py +0 -0
  68. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/src/bib_tools.rs +0 -0
  69. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/src/hash.rs +0 -0
  70. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/src/hbs_helpers.rs +0 -0
  71. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/src/lib.rs +0 -0
  72. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/src/templates.rs +0 -0
  73. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/binary-exploitation-ctf-solver.hbs +0 -0
  74. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/claude-xml.hbs +0 -0
  75. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/clean-up-code.hbs +0 -0
  76. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/create_json_obj.hbs +0 -0
  77. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/cryptography-ctf-solver.hbs +0 -0
  78. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/dependencies.hbs +0 -0
  79. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/document-the-code.hbs +0 -0
  80. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/draft_rating_criteria.hbs +0 -0
  81. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/draft_rating_manual.hbs +0 -0
  82. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/draft_rating_weights_klee.hbs +0 -0
  83. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/draft_tool_usage_code.hbs +0 -0
  84. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/extract_criteria_from_reasons.hbs +0 -0
  85. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/extract_reasons_from_examples.hbs +0 -0
  86. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/find-security-vulnerabilities.hbs +0 -0
  87. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/fix-bugs.hbs +0 -0
  88. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/improve-performance.hbs +0 -0
  89. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/liststr.hbs +0 -0
  90. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/make_choice.hbs +0 -0
  91. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/make_judgment.hbs +0 -0
  92. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/pathstr.hbs +0 -0
  93. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/rate_fine_grind.hbs +0 -0
  94. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/refactor.hbs +0 -0
  95. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/refined_query.hbs +0 -0
  96. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/retrieved_display.hbs +0 -0
  97. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/reverse-engineering-ctf-solver.hbs +0 -0
  98. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/review_string.hbs +0 -0
  99. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/task_briefing.hbs +0 -0
  100. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/web-ctf-solver.hbs +0 -0
  101. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/write-git-commit.hbs +0 -0
  102. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/write-github-pull-request.hbs +0 -0
  103. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/templates/built-in/write-github-readme.hbs +0 -0
  104. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_config.py +0 -0
  105. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_models/test_action.py +0 -0
  106. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_models/test_advanced.py +0 -0
  107. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_models/test_generic.py +0 -0
  108. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_models/test_role.py +0 -0
  109. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_models/test_task.py +0 -0
  110. {fabricatio-0.2.5.dev3 → fabricatio-0.2.5.dev4}/tests/test_models/test_tool.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fabricatio
3
- Version: 0.2.5.dev3
3
+ Version: 0.2.5.dev4
4
4
  Classifier: License :: OSI Approved :: MIT License
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: 3.12
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fabricatio"
3
- version = "0.2.5-dev3"
3
+ version = "0.2.5-dev4"
4
4
  description = "A LLM multi-agent framework."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -74,7 +74,8 @@ class ValidateKwargs[T](LLMKwargs):
74
74
  max_validations: NotRequired[PositiveInt]
75
75
 
76
76
 
77
- class GenerateKwargs(ValidateKwargs):
77
+ # noinspection PyTypedDict
78
+ class GenerateKwargs[T](ValidateKwargs[T]):
78
79
  """Arguments for content generation operations.
79
80
 
80
81
  Extends ValidateKwargs with parameters specific to text generation,
@@ -84,7 +85,8 @@ class GenerateKwargs(ValidateKwargs):
84
85
  system_message: NotRequired[str]
85
86
 
86
87
 
87
- class ReviewKwargs(GenerateKwargs):
88
+ # noinspection PyTypedDict
89
+ class ReviewKwargs[T](GenerateKwargs[T]):
88
90
  """Arguments for content review operations.
89
91
 
90
92
  Extends GenerateKwargs with parameters for evaluating content against
@@ -95,7 +97,8 @@ class ReviewKwargs(GenerateKwargs):
95
97
  criteria: NotRequired[Set[str]]
96
98
 
97
99
 
98
- class ChooseKwargs(GenerateKwargs):
100
+ # noinspection PyTypedDict
101
+ class ChooseKwargs[T](GenerateKwargs[T]):
99
102
  """Arguments for selection operations.
100
103
 
101
104
  Extends GenerateKwargs with parameters for selecting among options,
@@ -188,6 +188,16 @@ class LLMUsage(ScopedConfig):
188
188
  system_message: str = "",
189
189
  **kwargs: Unpack[LLMKwargs],
190
190
  ) -> T: ...
191
+ @overload
192
+ async def aask_validate[T](
193
+ self,
194
+ question: str,
195
+ validator: Callable[[str], T | None],
196
+ default: None = None,
197
+ max_validations: PositiveInt = 2,
198
+ system_message: str = "",
199
+ **kwargs: Unpack[LLMKwargs],
200
+ ) -> Optional[T]: ...
191
201
 
192
202
  async def aask_validate[T](
193
203
  self,
Binary file
@@ -187,8 +187,8 @@ async def test_llmusage_aask_validate_failure(basic_llm_usage, monkeypatch):
187
187
  return mock_completion(*args, **kwargs)
188
188
 
189
189
  monkeypatch.setattr("litellm.acompletion", mock_comp)
190
- with pytest.raises(ValueError):
191
- await basic_llm_usage.aask_validate("test", validator=lambda x: int(x) if x.isdigit() else None)
190
+ assert await basic_llm_usage.aask_validate("test", validator=lambda x: None) is None
191
+ assert await basic_llm_usage.aask_validate("test", validator=lambda x: None, default="fallback") == "fallback"
192
192
 
193
193
 
194
194
  def test_toolboxusage_inheritance():