vbagent 0.2.0__py3-none-any.whl → 0.2.1__py3-none-any.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.
@@ -0,0 +1,328 @@
1
+ """Subject-specific prompt components.
2
+
3
+ Each subject has different:
4
+ - LaTeX packages (chemfig, mhchem for chemistry; tikz for physics)
5
+ - Example problems and solutions
6
+ - Topic taxonomies
7
+ - Expert terminology
8
+
9
+ Usage:
10
+ from vbagent.prompts.subjects import get_subject_config, SUBJECTS
11
+
12
+ config = get_subject_config("chemistry")
13
+ print(config.packages) # ['chemfig', 'mhchem', ...]
14
+ print(config.expert_role) # "expert chemist"
15
+ """
16
+
17
+ from dataclasses import dataclass, field
18
+ from typing import Optional
19
+
20
+
21
+ @dataclass
22
+ class SubjectConfig:
23
+ """Configuration for a specific subject."""
24
+
25
+ name: str
26
+ display_name: str
27
+ expert_role: str # "expert physicist", "expert chemist"
28
+
29
+ # LaTeX packages required
30
+ packages: list[str] = field(default_factory=list)
31
+ package_instructions: str = ""
32
+
33
+ # Topics for classification
34
+ topics: list[str] = field(default_factory=list)
35
+
36
+ # Diagram types
37
+ diagram_types: list[str] = field(default_factory=list)
38
+ diagram_instructions: str = ""
39
+
40
+ # Example problem (for few-shot prompting)
41
+ example_problem: str = ""
42
+ example_solution: str = ""
43
+
44
+ # Subject-specific formatting rules
45
+ formatting_rules: str = ""
46
+
47
+
48
+ # Physics configuration
49
+ PHYSICS_CONFIG = SubjectConfig(
50
+ name="physics",
51
+ display_name="Physics",
52
+ expert_role="expert physicist and skilled LaTeX typesetter",
53
+ packages=["tikz", "pgfplots", "tzplot", "kinematikz"],
54
+ package_instructions=r"""
55
+ **Required LaTeX Packages:**
56
+ - `tikz` with libraries: calc, decorations.pathmorphing, patterns, arrows.meta, positioning
57
+ - `pgfplots` for graphs and data plots
58
+ - `tzplot` for simplified TikZ plotting (coordinates, curves, angles)
59
+ - `kinematikz` for mechanical diagrams (frames, supports, pivots)
60
+
61
+ **TikZ Libraries to use:**
62
+ ```latex
63
+ \usetikzlibrary{calc, decorations.pathmorphing, patterns, arrows.meta, positioning, shapes.geometric}
64
+ ```
65
+ """,
66
+ topics=[
67
+ "kinematics", "dynamics", "work_energy", "momentum",
68
+ "rotational_motion", "gravitation", "oscillations", "waves",
69
+ "thermodynamics", "kinetic_theory", "electrostatics",
70
+ "current_electricity", "magnetism", "electromagnetic_induction",
71
+ "alternating_current", "optics", "modern_physics", "semiconductors"
72
+ ],
73
+ diagram_types=["graph", "circuit", "free_body", "geometry", "ray_diagram", "wave"],
74
+ diagram_instructions=r"""
75
+ **TikZ for Physics Diagrams:**
76
+ - Use `kinematikz` for frames, supports, pivots: `\pic (name) {frame=2cm};`
77
+ - Springs: `spring/.style={decorate, decoration={coil, amplitude=4pt, segment length=4.5pt}}`
78
+ - Circuits: Use `circuitikz` package for electrical components
79
+ - Free body diagrams: Use arrows with `\draw[->, thick]` for force vectors
80
+ - Use `tzplot` for quick coordinate plots: `\tzto(0,0)(3,2)`
81
+ """,
82
+ example_problem=r"""\item A ball of mass $m = 2 \ \mathrm{kg}$ is thrown vertically upward with initial velocity $v_0 = 20 \ \mathrm{m/s}$. Find the maximum height reached. (Take $g = 10 \ \mathrm{m/s^2}$)""",
83
+ example_solution=r"""\begin{solution}
84
+ \begin{align*}
85
+ v^2 &= v_0^2 - 2gh \\
86
+ \intertext{At maximum height, $v = 0$:}
87
+ 0 &= (20)^2 - 2(10)h \\
88
+ h &= \frac{400}{20} = 20 \ \mathrm{m}
89
+ \end{align*}
90
+ \end{solution}""",
91
+ formatting_rules=r"""
92
+ **Physics Formatting:**
93
+ - Use `\vec{a}` for vectors, `\hat{i}`, `\hat{j}`, `\hat{k}` for unit vectors
94
+ - Use `\mathrm{...}` for units: `20 \ \mathrm{m/s}`, `5 \ \mathrm{kg}`, `10 \ \mathrm{N}`
95
+ - Use `^\circ` for degrees: `30^\circ`, `\theta = 45^\circ`
96
+ - Use `\frac{a}{b}` for fractions (not `\tfrac`)
97
+ - Do NOT use `\SI{}{}` or siunitx package - use `\mathrm{}` instead
98
+ """
99
+ )
100
+
101
+
102
+ # Chemistry configuration
103
+ CHEMISTRY_CONFIG = SubjectConfig(
104
+ name="chemistry",
105
+ display_name="Chemistry",
106
+ expert_role="expert chemist and skilled LaTeX typesetter",
107
+ packages=["chemfig", "mhchem", "chemmacros", "tikz"],
108
+ package_instructions=r"""
109
+ **Required LaTeX Packages:**
110
+ - `mhchem` for chemical equations: `\ce{H2O}`, `\ce{2H2 + O2 -> 2H2O}`
111
+ - `chemfig` for structural formulas and reaction mechanisms
112
+ - `chemmacros` for IUPAC nomenclature and chemical symbols
113
+ - `tikz` for orbital diagrams and energy level diagrams
114
+
115
+ **TikZ Libraries:**
116
+ ```latex
117
+ \usetikzlibrary{calc, arrows.meta, positioning, shapes.geometric}
118
+ ```
119
+ """,
120
+ topics=[
121
+ "atomic_structure", "chemical_bonding", "states_of_matter",
122
+ "thermodynamics", "equilibrium", "ionic_equilibrium",
123
+ "redox_reactions", "electrochemistry", "chemical_kinetics",
124
+ "surface_chemistry", "coordination_compounds", "organic_chemistry",
125
+ "polymers", "biomolecules", "chemistry_in_everyday_life",
126
+ "s_block", "p_block", "d_block", "f_block", "metallurgy"
127
+ ],
128
+ diagram_types=["structure", "mechanism", "orbital", "graph", "apparatus"],
129
+ diagram_instructions=r"""
130
+ **Chemistry Diagrams:**
131
+ - Structural formulas: Use `chemfig` package
132
+ ```latex
133
+ \chemfig{H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-H} % Ethane
134
+ ```
135
+ - Reaction mechanisms: Use `chemfig` with arrows
136
+ ```latex
137
+ \schemestart
138
+ \chemfig{R-X} \arrow{->[\ce{Nu^-}]} \chemfig{R-Nu}
139
+ \schemestop
140
+ ```
141
+ - Orbital diagrams: Use TikZ with boxes and arrows
142
+ - Energy diagrams: Use `pgfplots` or TikZ
143
+ """,
144
+ example_problem=r"""\item Balance the following redox reaction in acidic medium:
145
+ \ce{MnO4^- + Fe^{2+} -> Mn^{2+} + Fe^{3+}}""",
146
+ example_solution=r"""\begin{solution}
147
+ \begin{align*}
148
+ \intertext{Oxidation half-reaction:}
149
+ \ce{Fe^{2+} &-> Fe^{3+} + e^-} \\
150
+ \intertext{Reduction half-reaction:}
151
+ \ce{MnO4^- + 8H^+ + 5e^- &-> Mn^{2+} + 4H2O} \\
152
+ \intertext{Balancing electrons (multiply oxidation by 5):}
153
+ \ce{5Fe^{2+} &-> 5Fe^{3+} + 5e^-} \\
154
+ \intertext{Adding both half-reactions:}
155
+ \ce{MnO4^- + 8H^+ + 5Fe^{2+} &-> Mn^{2+} + 5Fe^{3+} + 4H2O}
156
+ \end{align*}
157
+ \end{solution}""",
158
+ formatting_rules=r"""
159
+ **Chemistry Formatting:**
160
+ - Use `\ce{...}` for all chemical formulas and equations
161
+ - Use `\chemfig{...}` for structural formulas
162
+ - Subscripts in formulas: `\ce{H2SO4}` (not `H_2SO_4`)
163
+ - Reaction arrows: `\ce{->}`, `\ce{<=>}`, `\ce{<<=>}` for equilibrium
164
+ - State symbols: `\ce{(s)}`, `\ce{(l)}`, `\ce{(g)}`, `\ce{(aq)}`
165
+ - Use `\mathrm{...}` for units: `25 \ \mathrm{kJ/mol}`, `0.1 \ \mathrm{M}`
166
+ - Use `^\circ` for degrees: `25^\circ \mathrm{C}`, `100^\circ \mathrm{C}`
167
+ """
168
+ )
169
+
170
+
171
+ # Mathematics configuration
172
+ MATHEMATICS_CONFIG = SubjectConfig(
173
+ name="mathematics",
174
+ display_name="Mathematics",
175
+ expert_role="expert mathematician and skilled LaTeX typesetter",
176
+ packages=["amsmath", "amssymb", "amsthm", "tikz", "pgfplots", "tzplot"],
177
+ package_instructions=r"""
178
+ **Required LaTeX Packages:**
179
+ - `amsmath` for advanced math environments
180
+ - `amssymb` for mathematical symbols
181
+ - `amsthm` for theorem environments
182
+ - `tikz` for geometric figures
183
+ - `pgfplots` for function graphs
184
+ - `tzplot` for simplified coordinate plotting
185
+
186
+ **TikZ Libraries:**
187
+ ```latex
188
+ \usetikzlibrary{calc, arrows.meta, positioning, intersections, angles, quotes}
189
+ ```
190
+ """,
191
+ topics=[
192
+ "sets_relations_functions", "complex_numbers", "quadratic_equations",
193
+ "sequences_series", "permutations_combinations", "binomial_theorem",
194
+ "matrices_determinants", "limits_continuity", "differentiation",
195
+ "integration", "differential_equations", "coordinate_geometry",
196
+ "straight_lines", "circles", "conics", "vectors_3d",
197
+ "probability", "statistics", "trigonometry", "inverse_trigonometry"
198
+ ],
199
+ diagram_types=["graph", "geometry", "coordinate", "venn_diagram"],
200
+ diagram_instructions=r"""
201
+ **Mathematics Diagrams:**
202
+ - Function graphs: Use `pgfplots` with `axis` environment or `tzplot`
203
+ - Geometric figures: Use TikZ with coordinate calculations
204
+ - Coordinate geometry: Use TikZ with grid and axes
205
+ - Venn diagrams: Use TikZ with circles and labels
206
+ - Use `tzplot` for quick plots: `\tzaxes(-1,-1)(5,5)` `\tzfn{sin(\x)}[0:2*pi]`
207
+ """,
208
+ example_problem=r"""\item Evaluate: $\displaystyle\int_0^{\pi/2} \frac{\sin x}{\sin x + \cos x} \, dx$""",
209
+ example_solution=r"""\begin{solution}
210
+ \begin{align*}
211
+ I &= \int_0^{\pi/2} \frac{\sin x}{\sin x + \cos x} \, dx \\
212
+ \intertext{Using property: $\int_0^a f(x)\,dx = \int_0^a f(a-x)\,dx$}
213
+ I &= \int_0^{\pi/2} \frac{\cos x}{\cos x + \sin x} \, dx \\
214
+ \intertext{Adding both:}
215
+ 2I &= \int_0^{\pi/2} \frac{\sin x + \cos x}{\sin x + \cos x} \, dx = \int_0^{\pi/2} 1 \, dx = \frac{\pi}{2} \\
216
+ I &= \frac{\pi}{4}
217
+ \end{align*}
218
+ \end{solution}""",
219
+ formatting_rules=r"""
220
+ **Mathematics Formatting:**
221
+ - Use `\displaystyle` for inline fractions and integrals
222
+ - Use `\left( ... \right)` for auto-sizing brackets
223
+ - Use `\mathbb{R}`, `\mathbb{N}`, `\mathbb{Z}` for number sets
224
+ - Use `\therefore` for "therefore", `\because` for "because"
225
+ - Use `\mathrm{...}` for text in math: `\mathrm{cm}`, `\mathrm{units}`
226
+ - Use `^\circ` for degrees: `90^\circ`, `\angle ABC = 60^\circ`
227
+ """
228
+ )
229
+
230
+
231
+ # Biology configuration
232
+ BIOLOGY_CONFIG = SubjectConfig(
233
+ name="biology",
234
+ display_name="Biology",
235
+ expert_role="expert biologist and skilled LaTeX typesetter",
236
+ packages=["tikz", "pgfplots"],
237
+ package_instructions=r"""
238
+ **Required LaTeX Packages:**
239
+ - `tikz` for diagrams (cell structures, flowcharts)
240
+ - `pgfplots` for graphs (population curves, enzyme kinetics)
241
+
242
+ **TikZ Libraries:**
243
+ ```latex
244
+ \usetikzlibrary{calc, arrows.meta, positioning, shapes.geometric, decorations.pathmorphing}
245
+ ```
246
+ """,
247
+ topics=[
248
+ "cell_biology", "biomolecules", "cell_division", "genetics",
249
+ "molecular_biology", "evolution", "classification", "plant_kingdom",
250
+ "animal_kingdom", "morphology_flowering_plants", "anatomy_flowering_plants",
251
+ "structural_organization_animals", "digestion_absorption",
252
+ "breathing_exchange_gases", "body_fluids_circulation",
253
+ "excretory_products", "locomotion_movement", "neural_control",
254
+ "chemical_coordination", "reproduction_organisms",
255
+ "human_reproduction", "reproductive_health", "heredity_variation",
256
+ "molecular_basis_inheritance", "biotechnology", "ecology"
257
+ ],
258
+ diagram_types=["flowchart", "structure", "graph", "cycle"],
259
+ diagram_instructions=r"""
260
+ **Biology Diagrams:**
261
+ - Cell structures: Use TikZ with shapes and labels
262
+ - Flowcharts: Use TikZ with nodes and arrows
263
+ - Graphs (population, enzyme kinetics): Use pgfplots
264
+ - Cycles (Krebs, Calvin): Use TikZ with circular arrangements
265
+ """,
266
+ example_problem=r"""\item Describe the process of DNA replication. Explain why it is called semi-conservative.""",
267
+ example_solution=r"""\begin{solution}
268
+ DNA replication is semi-conservative because each new DNA molecule contains one original (parental) strand and one newly synthesized strand.
269
+
270
+ \textbf{Steps:}
271
+ \begin{enumerate}
272
+ \item \textbf{Initiation:} Helicase unwinds the double helix at the origin of replication.
273
+ \item \textbf{Elongation:} DNA polymerase III synthesizes new strands in 5' to 3' direction.
274
+ \item \textbf{Termination:} Replication forks meet and DNA ligase joins Okazaki fragments.
275
+ \end{enumerate}
276
+
277
+ Meselson and Stahl (1958) experimentally proved semi-conservative replication using $^{15}$N-labeled DNA.
278
+ \end{solution}""",
279
+ formatting_rules=r"""
280
+ **Biology Formatting:**
281
+ - Use `\textbf{...}` for key terms
282
+ - Use `enumerate` for sequential steps
283
+ - Use `itemize` for lists of features
284
+ - Scientific names in italics: \textit{Homo sapiens}
285
+ - Use `\mathrm{...}` for units: `0.9\% \ \mathrm{NaCl}`
286
+ - Use `^\circ` for temperature: `37^\circ \mathrm{C}`, `4^\circ \mathrm{C}`
287
+ """
288
+ )
289
+
290
+
291
+ # Subject registry
292
+ SUBJECT_CONFIGS: dict[str, SubjectConfig] = {
293
+ "physics": PHYSICS_CONFIG,
294
+ "chemistry": CHEMISTRY_CONFIG,
295
+ "mathematics": MATHEMATICS_CONFIG,
296
+ "biology": BIOLOGY_CONFIG,
297
+ }
298
+
299
+ SUBJECTS = list(SUBJECT_CONFIGS.keys())
300
+
301
+
302
+ def get_subject_config(subject: str) -> SubjectConfig:
303
+ """Get configuration for a subject.
304
+
305
+ Args:
306
+ subject: Subject name (physics, chemistry, mathematics, biology)
307
+
308
+ Returns:
309
+ SubjectConfig for the subject
310
+
311
+ Raises:
312
+ ValueError: If subject is not recognized
313
+ """
314
+ if subject not in SUBJECT_CONFIGS:
315
+ raise ValueError(f"Unknown subject: {subject}. Valid: {SUBJECTS}")
316
+ return SUBJECT_CONFIGS[subject]
317
+
318
+
319
+ __all__ = [
320
+ "SubjectConfig",
321
+ "get_subject_config",
322
+ "SUBJECTS",
323
+ "SUBJECT_CONFIGS",
324
+ "PHYSICS_CONFIG",
325
+ "CHEMISTRY_CONFIG",
326
+ "MATHEMATICS_CONFIG",
327
+ "BIOLOGY_CONFIG",
328
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: vbagent
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Physics question processing library and CLI - classification, LaTeX extraction, variant generation
5
5
  Author: vaibhavblayer
6
6
  Author-email: vaibhavblayer@gmail.com
@@ -1,15 +1,16 @@
1
1
  vbagent/__init__.py,sha256=qgGNlY8UPE9vRsQam4fpw9LMRBxZG4HVRVneHl2waxo,6065
2
2
  vbagent/agents/__init__.py,sha256=z1wOwmmYtPVDo5gNb7M-H-acZIr-CP3mvEvxHWE_l6g,6445
3
3
  vbagent/agents/alternate.py,sha256=KQXsFMtQPUAWElTFYbWvFf1RqP9HDjK3hA4s7PkIlPE,5791
4
- vbagent/agents/base.py,sha256=iwqAy5g-jkFHzkJ6eFpmori95ZVjKwfIbAGpWE8AomA,6477
4
+ vbagent/agents/base.py,sha256=LjDwFYlVQnkVZZ8q8-I3p2zGIt9SuQHDkEDWhrdqmPE,6603
5
5
  vbagent/agents/clarity_checker.py,sha256=Qa2eMMcPH08z4e8kpwK-eUp1WGXsplaVpfGbdfWY5Us,3710
6
- vbagent/agents/classifier.py,sha256=1gbr_yCHyObL1EeWZv1SYUdmV1cafoCfZSB0fqTyo1k,1148
6
+ vbagent/agents/classifier.py,sha256=Tc0vo5o9kGTNtYGshGbxjsbMawoTUCNaiut-P3g7w4U,1996
7
+ vbagent/agents/compile_fixer.py,sha256=6xhr-x0fVOLpseyl1JvwJDwKF1SlMExQoh39h3CZlEo,1718
7
8
  vbagent/agents/converter.py,sha256=DTI5DctCoBMNvTe-sDCbmCsLSljheMrM4xgoaP43b9c,3306
8
9
  vbagent/agents/grammar_checker.py,sha256=niU33_z_V-LhrYNY494aA4yzB2SfoQQmhe4qf2fAQqI,3660
9
10
  vbagent/agents/idea.py,sha256=Qlu6C7yryUVLiwSKQrKfVKctLbK1ELZrlvK8LGSr12E,3827
10
11
  vbagent/agents/multi_variant.py,sha256=N3x-EtAIkDLRuoMHrrEcviVzSuSqEy0xvRznuFSuYlk,2158
11
12
  vbagent/agents/reviewer.py,sha256=xjhblveC99pwBszmUyALMqkdYMETwZGbXMaTfe6ZpTs,11987
12
- vbagent/agents/scanner.py,sha256=haFmoAtRMTuKVWd8u4x9NuFYGkeIS0fkBChlbkTiqK8,4316
13
+ vbagent/agents/scanner.py,sha256=elj7Whxo4puJSoduQUYzIWJLmIe-pftBc0cGKp6hmQw,5138
13
14
  vbagent/agents/selector.py,sha256=lFnrgG6Gw85M189o7q0BaGNhYbtGhV3KHydmTR9Pxmc,4751
14
15
  vbagent/agents/solution_checker.py,sha256=tRlTn8EgFtLQ-drz2mCDLZ9ZOLAQ4hP4kFRrANj4Q1k,3984
15
16
  vbagent/agents/tikz.py,sha256=4Iun65onPD2nrNXfGkhVnk5rj_R8E78CX_BhoABMeK8,7544
@@ -21,16 +22,19 @@ vbagent/cli/batch.py,sha256=RO9O_Qw0LOT6U0lTbM8oZeWWF4tBkSFBOdAizG-kJGA,23322
21
22
  vbagent/cli/check.py,sha256=C6rZ65iYynHV0_n5TAdqEIo_P9ZOj2oxhGuQsk07G5w,142750
22
23
  vbagent/cli/classify.py,sha256=f8RxAimwLQhsY_cPz1ObEehbb6SB-Wv6Dx4y5KCasho,3542
23
24
  vbagent/cli/common.py,sha256=iHr286IxhZpHvIU9gECQUWyaghp18fAPrIhoIPZEuNE,25861
24
- vbagent/cli/config.py,sha256=9-Sy4kQ7ozr9uKiohrNjbvJeGZrZ1p61-CFkJ6FDLrU,5722
25
+ vbagent/cli/config.py,sha256=89AEiATJ2UeZDe5HTD61qo52PVW_tnkBtVC8gYiqBp4,15613
25
26
  vbagent/cli/convert.py,sha256=r3LM9GHv1p1GOBRgtJmo3hpbxQEBZwc6Vf-QytI43CE,7991
26
27
  vbagent/cli/idea.py,sha256=BQ6WCJ7MlD8U1xyGs1cBsQa-ppGVD_J3_HGMNklOP5o,5166
27
- vbagent/cli/main.py,sha256=GaR7QWHD7Wf5p8mqHu9JLaDfBxqAqEJf4n2L7-pK4gg,3157
28
- vbagent/cli/process.py,sha256=31SRyVZzXdGthwlWZa4IPdX5ioye2cZgOgcBLAgk1Sc,41874
28
+ vbagent/cli/init.py,sha256=MGiVrivRaRCwPvRfBTCxBiP89nzGQ6LAmNIrk8W_XOg,8690
29
+ vbagent/cli/main.py,sha256=F4ndUE6YaxnxR89DbZbd1LVZRvgUCAOF4LlHyc1EzCo,3645
30
+ vbagent/cli/process.py,sha256=kpAs2T1n2TmmThxaR8USfmMexVCR8ooJKoZppQNs9N8,43524
29
31
  vbagent/cli/ref.py,sha256=YnJSRG3kVl2NyvxHDIGOno0EF0h0EvNKME3oVGAMMZQ,20074
30
- vbagent/cli/scan.py,sha256=ALtszwhahIu3sYNSIKWAcDz_WEssAgAy7FfYkjta3vs,4502
31
- vbagent/cli/tikz.py,sha256=pEA0QYOrGzjkKdaV3qD_X9JEgrqDQZU2wjoT77am3-s,4113
32
- vbagent/cli/variant.py,sha256=fTh7jjcWC8UUXxxZjb5Hk6FY4CdOIjdd15Ktb5unVMA,9474
33
- vbagent/config.py,sha256=zA0JZQoy2lsdG7wANj-_EDjjDW5Xtf86BwNi_K1lANA,9095
32
+ vbagent/cli/scan.py,sha256=K-KRYCxsMDS6EGAvAh9sU3y_bMoiiDVHsBtZ_Vjvw9Q,5473
33
+ vbagent/cli/tikz.py,sha256=OGHPCM1jTD-3eNXglCKHZqopsN7m_CCsvlXMvm62Q-M,5085
34
+ vbagent/cli/util.py,sha256=3fuLR802QBcsMWz2ffI35jH4W_trGHzd43G82KrgGQg,11067
35
+ vbagent/cli/variant.py,sha256=paroK6U_iLhr-sVJTFELWhguzBV0tU6S6PFF_9PzgHQ,10580
36
+ vbagent/compile.py,sha256=Yr-oJSEWs8l68klZlf-hKJ2DX08gfQHOKbzYO9YgCSA,14175
37
+ vbagent/config.py,sha256=jD6V6EQTjNs9-Eh8c_s7hMngGRW8HbzCBgFEEooJqr0,23708
34
38
  vbagent/models/__init__.py,sha256=jslnT_VhptRfAtDsCgHMDvQIeqWJNZVSANprQzPDAu4,2878
35
39
  vbagent/models/batch.py,sha256=-39pKC0-6uWRiN33RRQmqSTUjglaPbAqN2KvztK4Cq8,13228
36
40
  vbagent/models/classification.py,sha256=8dxg4rJ3S_7njZ2CCbLMFlRdWINYcaOJDqKdDsWbHOs,1507
@@ -43,12 +47,12 @@ vbagent/models/version_store.py,sha256=HzISHfuQjl_7E61U826QuAhqd19li9xvG3xyiQhmJ
43
47
  vbagent/prompts/__init__.py,sha256=iccSjAM8ySellDF-5wvj3VfdPXlKEZQKBpY4Wwq2Jb0,3787
44
48
  vbagent/prompts/alternate.py,sha256=4CT_dbTt-weIsQmTgXUr3n2Ppmnvp55woxxl6ptUK48,4070
45
49
  vbagent/prompts/clarity_checker.py,sha256=YcP5CmIhjP6EeLM-NDEZ5sSExMjiamE9KPK_d25-4qg,1642
46
- vbagent/prompts/classifier.py,sha256=BAop4YDcP4VnHJKgppnXEOilVJ7CpoNru5HJA0jrWU0,1304
50
+ vbagent/prompts/classifier.py,sha256=cP8uYN9pQLRAyUXTRVIF3prK3v-Xqn8fa1ZYnpK55dk,2233
47
51
  vbagent/prompts/converter.py,sha256=tzO7IiymfNWzuoLr2tbWOwrbheHHK780MTu0qbuT0RI,12274
48
52
  vbagent/prompts/grammar_checker.py,sha256=AYqtscYZYPgQJ0_rVCtos8OwqYSwyFSdP48z5d2YxJ4,1571
49
53
  vbagent/prompts/idea.py,sha256=sYtCCBoqgwlei2WESaZyswn3AgShnHPHeQTUfDQxbIg,5151
50
54
  vbagent/prompts/reviewer.py,sha256=81xe5N-PZk1lML4ti_R7y1PNUW5_XG5DIzH_thSUAyQ,5046
51
- vbagent/prompts/scanner/__init__.py,sha256=7a3zOdrKEiqga5b00FBpGNOj-tYWyPQznYTW803P4jE,2207
55
+ vbagent/prompts/scanner/__init__.py,sha256=KC6iiCPF3I6Bljuzb2mJLlc9OOvFLNng6C2Wmd846Ys,3992
52
56
  vbagent/prompts/scanner/assertion_reason.py,sha256=eBQ9pk-2a3BEAIlo6i7Mlk5Nv-KL2LUUlytfct8t89s,3467
53
57
  vbagent/prompts/scanner/common.py,sha256=vtMsPOJcWAZO1q3ZtPpSEqhtXry3_lpyv-hScVtz5oY,9396
54
58
  vbagent/prompts/scanner/match.py,sha256=vUUFZAX-KdOG5fEtS9KtpOr5IZJVS_9uHEXnx7_2aIU,3683
@@ -57,6 +61,7 @@ vbagent/prompts/scanner/mcq_sc.py,sha256=UNXcGaJshAKCE7shfRup-wR44Zld-6N-cPV3wsi
57
61
  vbagent/prompts/scanner/passage.py,sha256=S-26mg6gC7mSHjk8PFH2c8vKg40VNlLfnFhdJ0H1pyE,3171
58
62
  vbagent/prompts/scanner/subjective.py,sha256=lgBHUzkMR9F37gI9oUnvjVpaDqe_9_TnO07awFEWT78,2992
59
63
  vbagent/prompts/solution_checker.py,sha256=L0H3GLNtNAGb36_FL8vkPwmhFSStfKVDilPOSpzQLU4,3919
64
+ vbagent/prompts/subjects/__init__.py,sha256=wKEXNW8Fpitiz6AWpx4RYp8nkmXVYDRmIowirAgyzqo,12422
60
65
  vbagent/prompts/tikz.py,sha256=PAGdye_dHFTf7FBX8O0MYNnb3r8OaxUgoD0E2TTtjgI,18102
61
66
  vbagent/prompts/tikz_checker.py,sha256=VLmctVUlXgiqKlFeImnIci6kGnrnzFYPs8vVsk0Nz5o,10268
62
67
  vbagent/prompts/variants/__init__.py,sha256=evniFs1M6qnarvU-tjaZie5vWqBNgEdgEprPmJSzRVQ,903
@@ -71,7 +76,7 @@ vbagent/references/store.py,sha256=caCFfw9cmtEI_b6TJeNRnmED9MLDiwpwDPouvtn2Ecc,1
71
76
  vbagent/references/tikz_store.py,sha256=FQl_v_4pD8BvIbJEpI3dQF2IniF2IZKynk7bmNy-IDw,17473
72
77
  vbagent/templates/__init__.py,sha256=HhQO2KvTbxPfgyMzC7cTlY_vqSI46oWO6E2Ljz-mpgQ,152
73
78
  vbagent/templates/agentic_context.py,sha256=qB3ofjmmO2dFgq2RZeE7_0w6oXOVMImM1IMK91G-pfs,6246
74
- vbagent-0.2.0.dist-info/METADATA,sha256=b2gN8k6U99eviNK-jbf0rv0adL3KnUQzxdPajc7Krz8,30323
75
- vbagent-0.2.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
76
- vbagent-0.2.0.dist-info/entry_points.txt,sha256=94i1UBZsJ9uPiLHJW1CEk8Oh7zfWdp2aWZmWRGLCjAk,49
77
- vbagent-0.2.0.dist-info/RECORD,,
79
+ vbagent-0.2.1.dist-info/METADATA,sha256=E_EOjEZhj6qxGQXbLlBvjXEfq1iQkVQYRBZRGBeLN5M,30323
80
+ vbagent-0.2.1.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
81
+ vbagent-0.2.1.dist-info/entry_points.txt,sha256=94i1UBZsJ9uPiLHJW1CEk8Oh7zfWdp2aWZmWRGLCjAk,49
82
+ vbagent-0.2.1.dist-info/RECORD,,