fabricatio 0.2.10.dev0__cp312-cp312-win_amd64.whl → 0.2.11.dev0__cp312-cp312-win_amd64.whl

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.
fabricatio/rust.pyi CHANGED
@@ -12,7 +12,8 @@ Key Features:
12
12
  """
13
13
 
14
14
  from pathlib import Path
15
- from typing import Any, Dict, List, Optional
15
+ from typing import Any, Dict, List, Optional, overload
16
+
16
17
 
17
18
  class TemplateManager:
18
19
  """Template rendering engine using Handlebars templates.
@@ -24,7 +25,7 @@ class TemplateManager:
24
25
  """
25
26
 
26
27
  def __init__(
27
- self, template_dirs: List[Path], suffix: Optional[str] = None, active_loading: Optional[bool] = None
28
+ self, template_dirs: List[Path], suffix: Optional[str] = None, active_loading: Optional[bool] = None
28
29
  ) -> None:
29
30
  """Initialize the template manager.
30
31
 
@@ -54,31 +55,48 @@ class TemplateManager:
54
55
  This refreshes the template cache, finding any new or modified templates.
55
56
  """
56
57
 
58
+ @overload
57
59
  def render_template(self, name: str, data: Dict[str, Any]) -> str:
58
- """Render a template with context data.
60
+ ...
61
+
62
+ @overload
63
+ def render_template(self, name: str, data: List[Dict[str, Any]]) -> List[str]:
64
+ ...
59
65
 
66
+ def render_template(self, name: str, data: Dict[str, Any] | List[Dict[str, Any]]) -> str | List[str]:
67
+ """Render a template with context data.
68
+
60
69
  Args:
61
70
  name: Template name (without extension)
62
- data: Context dictionary to provide variables to the template
63
-
71
+ data: Context dictionary or list of dictionaries to provide variables to the template
72
+
64
73
  Returns:
65
- Rendered template content as string
66
-
74
+ Rendered template content as string or list of strings
75
+
67
76
  Raises:
68
77
  RuntimeError: If template rendering fails
69
78
  """
70
79
 
80
+ @overload
71
81
  def render_template_raw(self, template: str, data: Dict[str, Any]) -> str:
72
- """Render a template with context data.
82
+ ...
83
+
84
+ @overload
85
+ def render_template_raw(self, template: str, data: List[Dict[str, Any]]) -> List[str]:
86
+ ...
73
87
 
88
+ def render_template_raw(self, template: str, data: Dict[str, Any] | List[Dict[str, Any]]) -> str | List[str]:
89
+ """Render a template with context data.
90
+
74
91
  Args:
75
92
  template: The template string
76
- data: Context dictionary to provide variables to the template
77
-
93
+ data: Context dictionary or list of dictionaries to provide variables to the template
94
+
78
95
  Returns:
79
- Rendered template content as string
96
+ Rendered template content as string or list of strings
80
97
  """
81
98
 
99
+
82
100
  def blake3_hash(content: bytes) -> str:
83
101
  """Calculate the BLAKE3 cryptographic hash of data.
84
102
 
@@ -89,9 +107,11 @@ def blake3_hash(content: bytes) -> str:
89
107
  Hex-encoded BLAKE3 hash string
90
108
  """
91
109
 
110
+
92
111
  def detect_language(string: str) -> str:
93
112
  """Detect the language of a given string."""
94
113
 
114
+
95
115
  def split_word_bounds(string: str) -> List[str]:
96
116
  """Split the string into words based on word boundaries.
97
117
 
@@ -102,6 +122,7 @@ def split_word_bounds(string: str) -> List[str]:
102
122
  A list of words extracted from the string.
103
123
  """
104
124
 
125
+
105
126
  def split_sentence_bounds(string: str) -> List[str]:
106
127
  """Split the string into sentences based on sentence boundaries.
107
128
 
@@ -112,6 +133,7 @@ def split_sentence_bounds(string: str) -> List[str]:
112
133
  A list of sentences extracted from the string.
113
134
  """
114
135
 
136
+
115
137
  def split_into_chunks(string: str, max_chunk_size: int, max_overlapping_rate: float = 0.3) -> List[str]:
116
138
  """Split the string into chunks of a specified size.
117
139
 
@@ -124,6 +146,7 @@ def split_into_chunks(string: str, max_chunk_size: int, max_overlapping_rate: fl
124
146
  A list of chunks extracted from the string.
125
147
  """
126
148
 
149
+
127
150
  def word_count(string: str) -> int:
128
151
  """Count the number of words in the string.
129
152
 
@@ -134,6 +157,100 @@ def word_count(string: str) -> int:
134
157
  The number of words in the string.
135
158
  """
136
159
 
160
+
161
+ def is_chinese(string: str) -> bool:
162
+ """Check if the given string is in Chinese."""
163
+
164
+
165
+ def is_english(string: str) -> bool:
166
+ """Check if the given string is in English."""
167
+
168
+
169
+ def is_japanese(string: str) -> bool:
170
+ """Check if the given string is in Japanese."""
171
+
172
+
173
+ def is_korean(string: str) -> bool:
174
+ """Check if the given string is in Korean."""
175
+
176
+
177
+ def is_arabic(string: str) -> bool:
178
+ """Check if the given string is in Arabic."""
179
+
180
+
181
+ def is_russian(string: str) -> bool:
182
+ """Check if the given string is in Russian."""
183
+
184
+
185
+ def is_german(string: str) -> bool:
186
+ """Check if the given string is in German."""
187
+
188
+
189
+ def is_french(string: str) -> bool:
190
+ """Check if the given string is in French."""
191
+
192
+
193
+ def is_hindi(string: str) -> bool:
194
+ """Check if the given string is in Hindi."""
195
+
196
+
197
+ def is_italian(string: str) -> bool:
198
+ """Check if the given string is in Italian."""
199
+
200
+
201
+ def is_dutch(string: str) -> bool:
202
+ """Check if the given string is in Dutch."""
203
+
204
+
205
+ def is_portuguese(string: str) -> bool:
206
+ """Check if the given string is in Portuguese."""
207
+
208
+
209
+ def is_swedish(string: str) -> bool:
210
+ """Check if the given string is in Swedish."""
211
+
212
+
213
+ def is_turkish(string: str) -> bool:
214
+ """Check if the given string is in Turkish."""
215
+
216
+
217
+ def is_vietnamese(string: str) -> bool:
218
+ """Check if the given string is in Vietnamese."""
219
+
220
+
221
+ def tex_to_typst(string: str) -> str:
222
+ """Convert TeX to Typst.
223
+
224
+ Args:
225
+ string: The input TeX string to be converted.
226
+
227
+ Returns:
228
+ The converted Typst string.
229
+ """
230
+
231
+
232
+ def convert_all_inline_tex(string: str) -> str:
233
+ """Convert all inline TeX code in the string.
234
+
235
+ Args:
236
+ string: The input string containing inline TeX code wrapped in $code$.
237
+
238
+ Returns:
239
+ The converted string with inline TeX code replaced.
240
+ """
241
+
242
+
243
+ def convert_all_block_tex(string: str) -> str:
244
+ """Convert all block TeX code in the string.
245
+
246
+ Args:
247
+ string: The input string containing block TeX code wrapped in $$code$$.
248
+
249
+ Returns:
250
+ The converted string with block TeX code replaced.
251
+ """
252
+
253
+
137
254
  class BibManager:
138
255
  """BibTeX bibliography manager for parsing and querying citation data."""
139
256
 
@@ -147,7 +264,7 @@ class BibManager:
147
264
  RuntimeError: If file cannot be read or parsed
148
265
  """
149
266
 
150
- def get_cite_key(self, title: str) -> Optional[str]:
267
+ def get_cite_key_by_title(self, title: str) -> Optional[str]:
151
268
  """Find citation key by exact title match.
152
269
 
153
270
  Args:
@@ -157,6 +274,16 @@ class BibManager:
157
274
  Citation key if exact match found, None otherwise
158
275
  """
159
276
 
277
+ def get_cite_key_by_title_fuzzy(self, title: str) -> Optional[str]:
278
+ """Find citation key by fuzzy title match.
279
+
280
+ Args:
281
+ title: Search term to find in bibliography entries
282
+
283
+ Returns:
284
+ Citation key of best matching entry, or None if no good match
285
+ """
286
+
160
287
  def get_cite_key_fuzzy(self, query: str) -> Optional[str]:
161
288
  """Find best matching citation using fuzzy text search.
162
289
 
@@ -210,6 +337,7 @@ class BibManager:
210
337
  Returns:
211
338
  Abstract if found, None otherwise
212
339
  """
340
+
213
341
  def get_title_by_key(self, key: str) -> Optional[str]:
214
342
  """Retrieve the title by citation key.
215
343
 
fabricatio/utils.py CHANGED
@@ -2,9 +2,12 @@
2
2
 
3
3
  from typing import Any, Dict, List, Mapping, Optional
4
4
 
5
- from questionary import text
5
+ from fabricatio.decorators import precheck_package
6
6
 
7
7
 
8
+ @precheck_package(
9
+ "questionary", "'questionary' is required to run this function. Have you installed `fabricatio[qa]`?."
10
+ )
8
11
  async def ask_edit(
9
12
  text_seq: List[str],
10
13
  ) -> List[str]:
@@ -17,6 +20,8 @@ async def ask_edit(
17
20
  List[str]: A list of edited texts.
18
21
  If the user does not edit a text, it will not be included in the returned list.
19
22
  """
23
+ from questionary import text
24
+
20
25
  res = []
21
26
  for i, t in enumerate(text_seq):
22
27
  edited = await text(f"[{i}] ", default=t).ask_async()
@@ -25,7 +30,7 @@ async def ask_edit(
25
30
  return res
26
31
 
27
32
 
28
- def override_kwargs(kwargs: Mapping[str,Any], **overrides) -> Dict[str, Any]:
33
+ def override_kwargs(kwargs: Mapping[str, Any], **overrides) -> Dict[str, Any]:
29
34
  """Override the values in kwargs with the provided overrides."""
30
35
  new_kwargs = dict(kwargs.items())
31
36
  new_kwargs.update({k: v for k, v in overrides.items() if v is not None})
@@ -52,3 +57,19 @@ def ok[T](val: Optional[T], msg: str = "Value is None") -> T:
52
57
  if val is None:
53
58
  raise ValueError(msg)
54
59
  return val
60
+
61
+
62
+ def wrapp_in_block(string: str, title: str, style: str = "-") -> str:
63
+ """Wraps a string in a block with a title.
64
+
65
+ Args:
66
+ string: The string to wrap.
67
+ title: The title of the block.
68
+ style: The style of the block.
69
+
70
+ Returns:
71
+ str: The wrapped string.
72
+ """
73
+ return f"--- Start of {title} ---\n{string}\n--- End of {title} ---".replace("-", style)
74
+
75
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fabricatio
3
- Version: 0.2.10.dev0
3
+ Version: 0.2.11.dev0
4
4
  Classifier: License :: OSI Approved :: MIT License
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: 3.12
@@ -14,24 +14,24 @@ Requires-Dist: asyncstdlib>=3.13.0
14
14
  Requires-Dist: json-repair>=0.39.1
15
15
  Requires-Dist: litellm>=1.60.0
16
16
  Requires-Dist: loguru>=0.7.3
17
- Requires-Dist: magika>=0.5.1
18
17
  Requires-Dist: more-itertools>=10.6.0
19
- Requires-Dist: orjson>=3.10.15
20
18
  Requires-Dist: pydantic>=2.10.6
21
19
  Requires-Dist: pydantic-settings>=2.7.1
22
20
  Requires-Dist: pymitter>=1.0.0
23
- Requires-Dist: questionary>=2.1.0
24
- Requires-Dist: regex>=2024.11.6
25
21
  Requires-Dist: rich>=13.9.4
26
- Requires-Dist: rtoml>=0.12.0
22
+ Requires-Dist: ujson>=5.10.0
23
+ Requires-Dist: fabricatio[calc,ftd,plot,qa,rag] ; extra == 'full'
27
24
  Requires-Dist: pymilvus>=2.5.4 ; extra == 'rag'
28
- Requires-Dist: fabricatio[calc,plot,rag] ; extra == 'full'
29
25
  Requires-Dist: sympy>=1.13.3 ; extra == 'calc'
30
26
  Requires-Dist: matplotlib>=3.10.1 ; extra == 'plot'
31
- Provides-Extra: rag
27
+ Requires-Dist: questionary>=2.1.0 ; extra == 'qa'
28
+ Requires-Dist: magika>=0.6.1 ; extra == 'ftd'
32
29
  Provides-Extra: full
30
+ Provides-Extra: rag
33
31
  Provides-Extra: calc
34
32
  Provides-Extra: plot
33
+ Provides-Extra: qa
34
+ Provides-Extra: ftd
35
35
  License-File: LICENSE
36
36
  Summary: A LLM multi-agent framework.
37
37
  Keywords: ai,agents,multi-agent,llm,pyo3
@@ -45,12 +45,11 @@ Project-URL: Issues, https://github.com/Whth/fabricatio/issues
45
45
  # Fabricatio
46
46
 
47
47
  ![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)
48
- ![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)
49
- ![Build Status](https://img.shields.io/badge/build-passing-brightgreen)
50
48
 
51
49
  ## Overview
52
50
 
53
- Fabricatio is a streamlined Python library for building LLM applications using an event-based agent structure. It leverages Rust for performance-critical tasks, Handlebars for templating, and PyO3 for Python bindings.
51
+ Fabricatio is a streamlined Python library for building LLM applications using an event-based agent structure. It
52
+ leverages Rust for performance-critical tasks, Handlebars for templating, and PyO3 for Python bindings.
54
53
 
55
54
  ## Features
56
55
 
@@ -90,6 +89,7 @@ import asyncio
90
89
  from fabricatio import Action, Role, Task, logger, WorkFlow
91
90
  from typing import Any
92
91
 
92
+
93
93
  class Hello(Action):
94
94
  name: str = "hello"
95
95
  output_key: str = "task_output"
@@ -99,6 +99,7 @@ class Hello(Action):
99
99
  logger.info("executing talk action")
100
100
  return ret
101
101
 
102
+
102
103
  async def main() -> None:
103
104
  role = Role(
104
105
  name="talker",
@@ -110,6 +111,7 @@ async def main() -> None:
110
111
  result = await task.delegate()
111
112
  logger.success(f"Result: {result}")
112
113
 
114
+
113
115
  if __name__ == "__main__":
114
116
  asyncio.run(main())
115
117
  ```
@@ -117,6 +119,7 @@ if __name__ == "__main__":
117
119
  ### Examples
118
120
 
119
121
  For various usage scenarios, refer to the following examples:
122
+
120
123
  - Simple Chat
121
124
  - Retrieval-Augmented Generation (RAG)
122
125
  - Article Extraction
@@ -164,6 +167,7 @@ max_tokens = 8192
164
167
  ## Contributing
165
168
 
166
169
  Contributions are welcome! Follow these steps:
170
+
167
171
  1. Fork the repository.
168
172
  2. Create your feature branch (`git checkout -b feature/new-feature`).
169
173
  3. Commit your changes (`git commit -am 'Add new feature'`).
@@ -177,6 +181,8 @@ Fabricatio is licensed under the MIT License. See [LICENSE](LICENSE) for details
177
181
  ## Acknowledgments
178
182
 
179
183
  Special thanks to the contributors and maintainers of:
184
+
180
185
  - [PyO3](https://github.com/PyO3/pyo3)
181
186
  - [Maturin](https://github.com/PyO3/maturin)
182
- - [Handlebars.rs](https://github.com/sunng87/handlebars-rust)
187
+ - [Handlebars.rs](https://github.com/sunng87/handlebars-rust)
188
+
@@ -1,62 +1,65 @@
1
- fabricatio-0.2.10.dev0.dist-info/METADATA,sha256=P8fqqWkcxcC1a42_I3GdmnP6qB8ZKsGoqyn4u-9yRT4,5289
2
- fabricatio-0.2.10.dev0.dist-info/WHEEL,sha256=jABKVkLC9kJr8mi_er5jOqpiQUjARSLXDUIIxDqsS50,96
3
- fabricatio-0.2.10.dev0.dist-info/licenses/LICENSE,sha256=do7J7EiCGbq0QPbMAL_FqLYufXpHnCnXBOuqVPwSV8Y,1088
4
- fabricatio/actions/article.py,sha256=C4t3hB5_k4dDrVuLzVTJIp3D6XyvvlRyGIov5-mNows,8984
5
- fabricatio/actions/article_rag.py,sha256=itGH-VCKTVFm7hrYIOOT4FyFXP8CbL042kpYNI9a2BE,4735
6
- fabricatio/actions/output.py,sha256=gkC2u_VpMJ6jOnbyRAJN24UVK7iDAMzhItYukaW8Spk,6498
7
- fabricatio/actions/rag.py,sha256=5nSih3YUkdt1uU02hSAMW6sADq9mkMOR1wDv7zIrIGQ,2737
8
- fabricatio/actions/rules.py,sha256=SNvAvQx4xUare16Za_dEpYlYI_PJNnbiO-E0XDa5JT4,2857
1
+ fabricatio-0.2.11.dev0.dist-info/METADATA,sha256=44Bf_9HTRLTblO_IZUwAABRWfvjcsGRpE6nDnVLVWtk,5178
2
+ fabricatio-0.2.11.dev0.dist-info/WHEEL,sha256=jABKVkLC9kJr8mi_er5jOqpiQUjARSLXDUIIxDqsS50,96
3
+ fabricatio-0.2.11.dev0.dist-info/licenses/LICENSE,sha256=do7J7EiCGbq0QPbMAL_FqLYufXpHnCnXBOuqVPwSV8Y,1088
4
+ fabricatio/actions/article.py,sha256=nvpp_jwbwxllGOgifV1_f4W_3UVcZyg3D_sF7rzEdD8,9389
5
+ fabricatio/actions/article_rag.py,sha256=W_CYNgvF-OPEbTPyyRmpiufxAWcyQKD3_SIIL6gNvCo,10802
6
+ fabricatio/actions/fs.py,sha256=gJR14U4ln35nt8Z7OWLVAZpqGaLnED-r1Yi-lX22tkI,959
7
+ fabricatio/actions/output.py,sha256=ttXLC2wZmtVN9Ik8zsA7g45rwBO656LyRjOGRdVSyJA,6977
8
+ fabricatio/actions/rag.py,sha256=KN-OWgcQjGmNgSZ-s5B8m4LpYKSGFJR8eq72mo2CP9k,3592
9
+ fabricatio/actions/rules.py,sha256=dkvCgNDjt2KSO1VgPRsxT4YBmIIMeetZb5tiz-slYkU,3640
9
10
  fabricatio/actions/__init__.py,sha256=wVENCFtpVb1rLFxoOFJt9-8smLWXuJV7IwA8P3EfFz4,48
10
11
  fabricatio/capabilities/advanced_judge.py,sha256=selB0Gwf1F4gGJlwBiRo6gI4KOUROgh3WnzO3mZFEls,706
11
12
  fabricatio/capabilities/censor.py,sha256=bBT5qy-kp7fh8g4Lz3labSwxwJ60gGd_vrkc6k1cZ1U,4719
12
13
  fabricatio/capabilities/check.py,sha256=kYqzohhv2bZfl1aKSUt7a8snT8YEl2zgha_ZdAdMMfQ,8622
13
14
  fabricatio/capabilities/correct.py,sha256=W_cInqlciNEhyMK0YI53jk4EvW9uAdge90IO9OElUmA,10420
15
+ fabricatio/capabilities/extract.py,sha256=Y4hTPheleI2ciyeaPIt0JKeVp8gEfBmYRZq6O9rItcg,2271
14
16
  fabricatio/capabilities/propose.py,sha256=hkBeSlmcTdfYWT-ph6nlbtHXBozi_JXqXlWcnBy3W78,2007
15
- fabricatio/capabilities/rag.py,sha256=eWA4lDs6lnBFCK80H1JF68yOe7oScydQekXlBs2X0OI,9396
16
- fabricatio/capabilities/rating.py,sha256=Wt_H5fA1H4XuZGIMI8pr0cp_6jnXJABlo8lfU_4Fp5A,17645
17
+ fabricatio/capabilities/rag.py,sha256=kqcunWBC6oA4P1rzIG2Xu9zqSg73H3uKPF41JJQ1HVI,9595
18
+ fabricatio/capabilities/rating.py,sha256=iMtQs3H6vCjuEjiuuz4SRKMVaX7yff7MHWz-slYvi5g,17835
17
19
  fabricatio/capabilities/review.py,sha256=-EMZe0ADFPT6fPGmra16UPjJC1M3rAs6dPFdTZ88Fgg,5060
18
- fabricatio/capabilities/task.py,sha256=JahC61X233UIPsjovxJgc_yqj_BjWZJBCzJZq11M2Xk,4417
20
+ fabricatio/capabilities/task.py,sha256=uks1U-4LNCUdwdRxAbJJjMc31hOw6jlrcYriuQQfb04,4475
19
21
  fabricatio/capabilities/__init__.py,sha256=v1cHRHIJ2gxyqMLNCs6ERVcCakSasZNYzmMI4lqAcls,57
20
- fabricatio/config.py,sha256=gqhdKxoj4S0EmQKprAEWUARn7yJg-w5UJ7d7GPlyttw,17631
22
+ fabricatio/config.py,sha256=GreSl9dKrFBODeDtcZgE2qqJt6_0Rwq-7Vtj2K5sHAc,17988
21
23
  fabricatio/constants.py,sha256=thfDuF6JEtJ5CHOnAJLfqvn5834n8ep6DH2jc6XGzQM,577
22
24
  fabricatio/core.py,sha256=VQ_JKgUGIy2gZ8xsTBZCdr_IP7wC5aPg0_bsOmjQ588,6458
23
- fabricatio/decorators.py,sha256=-rLj9OXRfzY2E2euLKAHNRcWXjA1teLElg4zZYdIojs,8291
25
+ fabricatio/decorators.py,sha256=nYCYnJd7s0h-jcCLqt4XLcc4fXTUIc5DFnk7gne1GOo,8453
24
26
  fabricatio/fs/curd.py,sha256=p8y0LGKgVDk-CWOlm37E6wg7RK6RCD6denKo-VsW28c,4763
25
- fabricatio/fs/readers.py,sha256=M5kojKWsJQMQpE4CBbYvas0JKmPaiaYSfWmiqJx1SP4,1884
26
- fabricatio/fs/__init__.py,sha256=PCf0s_9KDjVfNw7AfPoJzGt3jMq4gJOfbcT4pb0D0ZY,588
27
+ fabricatio/fs/readers.py,sha256=UXvcJO3UCsxHu9PPkg34Yh55Zi-miv61jD_wZQJgKRs,1751
28
+ fabricatio/fs/__init__.py,sha256=FydmlEY_3QY74r1BpGDc5lFLhE6g6gkwOAtE30Fo-aI,786
27
29
  fabricatio/journal.py,sha256=stnEP88aUBA_GmU9gfTF2EZI8FS2OyMLGaMSTgK4QgA,476
28
30
  fabricatio/models/action.py,sha256=Kfa-zojgHQ1vPoC2lQp-thTTp0oySKn7k6I4ea6iYTs,9837
29
- fabricatio/models/adv_kwargs_types.py,sha256=YojZbB7m7VHA8woYnJpkLF4zPF2aYqv__SnCMK2cG-o,2180
31
+ fabricatio/models/adv_kwargs_types.py,sha256=kUO-SiZtFuz5cZCmMLnJJ9tjQ4-Zd_foo6R8HQMlM5A,1950
30
32
  fabricatio/models/events.py,sha256=wiirk_ASg3iXDOZU_gIimci1VZVzWE1nDmxy-hQVJ9M,4150
31
33
  fabricatio/models/extra/advanced_judge.py,sha256=INUl_41C8jkausDekkjnEmTwNfLCJ23TwFjq2cM23Cw,1092
34
+ fabricatio/models/extra/aricle_rag.py,sha256=39LFrRnvqv2thQj92Ip4vZIdZoBDIAMdUkBH8Wg8OZM,9261
32
35
  fabricatio/models/extra/article_base.py,sha256=DxBex4UsMAFmHmriwXkcvGIuU-WTSD4ZfzDEk-no9TA,11894
33
- fabricatio/models/extra/article_essence.py,sha256=xd6j-PDqjhrMjgUmyfk6HqkyMLu-sS9feUo0sZ3QABY,2825
34
- fabricatio/models/extra/article_main.py,sha256=zGzcf51abcWwiaX6iyi2V7upBLa-DBovnpTJj-qYLeA,7878
36
+ fabricatio/models/extra/article_essence.py,sha256=mlIkkRMR3I1RtqiiOnmIE3Vy623L4eECumkRzryE1pw,2749
37
+ fabricatio/models/extra/article_main.py,sha256=l1KejyWzAgtsVTmSOrdAGRlJ3T6vtdRPuzavDVYyq-Y,9507
35
38
  fabricatio/models/extra/article_outline.py,sha256=w7O0SHgC7exbptWVbR62FMHAueMgBpyWKVYMGGl_oj8,1427
36
39
  fabricatio/models/extra/article_proposal.py,sha256=NbyjW-7UiFPtnVD9nte75re4xL2pD4qL29PpNV4Cg_M,1870
37
40
  fabricatio/models/extra/patches.py,sha256=_WNCxtYzzsVfUxI16vu4IqsLahLYRHdbQN9er9tqhC0,997
38
- fabricatio/models/extra/problem.py,sha256=zZEnjBW2XGRVpJpUp09f1J_w5A1zU-LhxX78AVCq9ts,7113
39
- fabricatio/models/extra/rag.py,sha256=_atfPwk3nzhiilAOC5H1WMBgTxcZvDn3qx0CVhETlZ8,2561
41
+ fabricatio/models/extra/problem.py,sha256=g0gZBYuabhQPu2siEXZi3-nM0ljfAV7mCdXed9Fe3LM,7159
42
+ fabricatio/models/extra/rag.py,sha256=RMi8vhEPB0I5mVmjRLRLxYHUnm9pFhvVwysaIwmW2s0,3955
40
43
  fabricatio/models/extra/rule.py,sha256=KQQELVhCLUXhEZ35jU3WGYqKHuCYEAkn0p6pxAE-hOU,2625
41
44
  fabricatio/models/extra/__init__.py,sha256=XlYnS_2B9nhLhtQkjE7rvvfPmAAtXVdNi9bSDAR-Ge8,54
42
- fabricatio/models/generic.py,sha256=BS-K8Rd_1aLU9jIExtXScvzNZ-lsBCmHlaBCjNJ6g3s,30655
43
- fabricatio/models/kwargs_types.py,sha256=J4klrMVybkCWg8Fq4x27o5QSq8jmGg2XvneW66jI0Wc,4565
45
+ fabricatio/models/generic.py,sha256=PXSvIZPQ-BXI5_nD2em5YcblYyX0VQD3MXLRvlQHkrg,31282
46
+ fabricatio/models/kwargs_types.py,sha256=U7mwngTfAGveyqmc6g-KXlQ12YKpH-jkm34ptTJ_7Y4,4778
44
47
  fabricatio/models/role.py,sha256=-CRcj5_M3_ciLPzwiNn92grBmwoSLQ-n4koVZiCNTBM,2953
45
48
  fabricatio/models/task.py,sha256=SxWI-b5jlQcGmNsjQ2aKDyywXwGiUvCR1rgUhk-pli8,10503
46
49
  fabricatio/models/tool.py,sha256=jQ51g4lwTPfsMF1nbreDJtBczbxIHoXcPuLSOqHliq8,12506
47
- fabricatio/models/usages.py,sha256=VLBpNs7zfNPqROvI2IXlqsoqKYSW8L6usNwZ1HXZVOY,34339
48
- fabricatio/parser.py,sha256=qN2godNsArmb90btOMxgqlol57166DyYsV2JlU8DlHs,6532
50
+ fabricatio/models/usages.py,sha256=B9kII7wP9uUj6-M69kbnTsWQpZcJ-gKZ2HplIxL0j1c,33358
51
+ fabricatio/parser.py,sha256=-RbW2yzfJiu2ARq-lZw4tfgsjY2rIZWtJpoUmaE6gJQ,6637
49
52
  fabricatio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- fabricatio/rust.pyi,sha256=vSItFXKj7YG6b7gmObMo99rWztsiYj4Ji124UNJbhd0,6957
53
+ fabricatio/rust.pyi,sha256=JaUWLQER6EJM2-jDedx61IYfwbwIYNKplcOFfdC8p5o,10113
51
54
  fabricatio/rust_instances.py,sha256=Byeo8KHW_dJiXujJq7YPGDLBX5bHNDYbBc4sY3uubVY,313
52
55
  fabricatio/toolboxes/arithmetic.py,sha256=WLqhY-Pikv11Y_0SGajwZx3WhsLNpHKf9drzAqOf_nY,1369
53
56
  fabricatio/toolboxes/fs.py,sha256=l4L1CVxJmjw9Ld2XUpIlWfV0_Fu_2Og6d3E13I-S4aE,736
54
57
  fabricatio/toolboxes/__init__.py,sha256=KBJi5OG_pExscdlM7Bnt_UF43j4I3Lv6G71kPVu4KQU,395
55
- fabricatio/utils.py,sha256=uy-W5b1d8oM1UTk2IT1lLGKIn_Pmo3XU5xbahjyDESE,1710
58
+ fabricatio/utils.py,sha256=Fju7bvxrF2r-tGpRGuIQHvgjiifSfDYXZYdBXWtzFns,2310
56
59
  fabricatio/workflows/articles.py,sha256=ObYTFUqLUk_CzdmmnX6S7APfxcGmPFqnFr9pdjU7Z4Y,969
57
60
  fabricatio/workflows/rag.py,sha256=-YYp2tlE9Vtfgpg6ROpu6QVO8j8yVSPa6yDzlN3qVxs,520
58
61
  fabricatio/workflows/__init__.py,sha256=5ScFSTA-bvhCesj3U9Mnmi6Law6N1fmh5UKyh58L3u8,51
59
62
  fabricatio/__init__.py,sha256=Rmvq2VgdS2u68vnOi2i5RbeWbAwrJDbk8D8D883PJWE,1022
60
- fabricatio/rust.cp312-win_amd64.pyd,sha256=pgavk4szzu7Fdb8oC-IK3XmhB9upqwxJxkMG_Ep65eQ,2235904
61
- fabricatio-0.2.10.dev0.data/scripts/tdown.exe,sha256=hH6MCz4SZWxYNzpNzlZ3KzTM2-H_wFyxMrKie4K24Go,3364864
62
- fabricatio-0.2.10.dev0.dist-info/RECORD,,
63
+ fabricatio/rust.cp312-win_amd64.pyd,sha256=iDUCLLLHZeLF925xuc-EuKGGodngokW-2twNJmUSkuw,4233728
64
+ fabricatio-0.2.11.dev0.data/scripts/tdown.exe,sha256=wQCIxZYlbS8jgGl3owdBxyXIppU5DNWUUA08K3Up5lg,3352576
65
+ fabricatio-0.2.11.dev0.dist-info/RECORD,,