synth-ai 0.2.0__py3-none-any.whl → 0.2.1.dev0__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.
Files changed (266) hide show
  1. synth_ai/__init__.py +28 -2
  2. synth_ai/core/system.py +4 -0
  3. synth_ai/environments/__init__.py +35 -0
  4. synth_ai/environments/environment/__init__.py +1 -0
  5. synth_ai/environments/environment/artifacts/__init__.py +1 -0
  6. synth_ai/environments/environment/artifacts/base.py +50 -0
  7. synth_ai/environments/environment/core.py +22 -0
  8. synth_ai/environments/environment/db/__init__.py +1 -0
  9. synth_ai/environments/environment/db/sqlite.py +45 -0
  10. synth_ai/environments/environment/registry.py +24 -0
  11. synth_ai/environments/environment/resources/sqlite.py +46 -0
  12. synth_ai/environments/environment/results.py +1 -0
  13. synth_ai/environments/environment/rewards/__init__.py +1 -0
  14. synth_ai/environments/environment/rewards/core.py +28 -0
  15. synth_ai/environments/environment/shared_engine.py +26 -0
  16. synth_ai/environments/environment/tools/__init__.py +34 -0
  17. synth_ai/environments/examples/__init__.py +1 -0
  18. synth_ai/environments/examples/crafter_classic/__init__.py +8 -0
  19. synth_ai/environments/examples/crafter_classic/agent_demos/crafter_comprehensive_evaluation.py +58 -0
  20. synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_browser.py +152 -0
  21. synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_framework.py +1194 -0
  22. synth_ai/environments/examples/crafter_classic/agent_demos/crafter_quick_evaluation.py +51 -0
  23. synth_ai/environments/examples/crafter_classic/agent_demos/crafter_react_agent.py +872 -0
  24. synth_ai/environments/examples/crafter_classic/agent_demos/crafter_trace_evaluation.py +1412 -0
  25. synth_ai/environments/examples/crafter_classic/agent_demos/test_crafter_react_agent.py +1110 -0
  26. synth_ai/environments/examples/crafter_classic/config_logging.py +111 -0
  27. synth_ai/environments/examples/crafter_classic/engine.py +502 -0
  28. synth_ai/environments/examples/crafter_classic/engine_deterministic_patch.py +63 -0
  29. synth_ai/environments/examples/crafter_classic/engine_helpers/action_map.py +5 -0
  30. synth_ai/environments/examples/crafter_classic/engine_helpers/serialization.py +74 -0
  31. synth_ai/environments/examples/crafter_classic/environment.py +255 -0
  32. synth_ai/environments/examples/crafter_classic/taskset.py +228 -0
  33. synth_ai/environments/examples/enron/agent_demos/test_synth_react.py +535 -0
  34. synth_ai/environments/examples/enron/art_helpers/email_search_tools.py +156 -0
  35. synth_ai/environments/examples/enron/art_helpers/local_email_db.py +280 -0
  36. synth_ai/environments/examples/enron/art_helpers/types_enron.py +24 -0
  37. synth_ai/environments/examples/enron/engine.py +291 -0
  38. synth_ai/environments/examples/enron/environment.py +165 -0
  39. synth_ai/environments/examples/enron/taskset.py +112 -0
  40. synth_ai/environments/examples/enron/units/keyword_stats.py +111 -0
  41. synth_ai/environments/examples/enron/units/test_email_index.py +8 -0
  42. synth_ai/environments/examples/minigrid/__init__.py +48 -0
  43. synth_ai/environments/examples/minigrid/agent_demos/minigrid_evaluation_framework.py +1188 -0
  44. synth_ai/environments/examples/minigrid/agent_demos/minigrid_quick_evaluation.py +47 -0
  45. synth_ai/environments/examples/minigrid/agent_demos/minigrid_react_agent.py +562 -0
  46. synth_ai/environments/examples/minigrid/agent_demos/minigrid_trace_evaluation.py +220 -0
  47. synth_ai/environments/examples/minigrid/agent_demos/test_minigrid_react_agent.py +393 -0
  48. synth_ai/environments/examples/minigrid/engine.py +589 -0
  49. synth_ai/environments/examples/minigrid/environment.py +274 -0
  50. synth_ai/environments/examples/minigrid/environment_mapping.py +242 -0
  51. synth_ai/environments/examples/minigrid/puzzle_loader.py +416 -0
  52. synth_ai/environments/examples/minigrid/taskset.py +583 -0
  53. synth_ai/environments/examples/minigrid/units/test_action_behavior.py +226 -0
  54. synth_ai/environments/examples/minigrid/units/test_debug_messages.py +83 -0
  55. synth_ai/environments/examples/minigrid/units/test_exploration.py +120 -0
  56. synth_ai/environments/examples/minigrid/units/test_minigrid_engine.py +214 -0
  57. synth_ai/environments/examples/minigrid/units/test_minigrid_environment.py +238 -0
  58. synth_ai/environments/examples/minigrid/units/test_minigrid_environment_mapping.py +301 -0
  59. synth_ai/environments/examples/minigrid/units/test_minigrid_taskset.py +210 -0
  60. synth_ai/environments/examples/nethack/__init__.py +7 -0
  61. synth_ai/environments/examples/nethack/achievements.py +337 -0
  62. synth_ai/environments/examples/nethack/agent_demos/nethack_evaluation_framework.py +981 -0
  63. synth_ai/environments/examples/nethack/agent_demos/nethack_quick_evaluation.py +74 -0
  64. synth_ai/environments/examples/nethack/agent_demos/nethack_react_agent.py +832 -0
  65. synth_ai/environments/examples/nethack/agent_demos/test_nethack_react_agent.py +1112 -0
  66. synth_ai/environments/examples/nethack/engine.py +738 -0
  67. synth_ai/environments/examples/nethack/environment.py +255 -0
  68. synth_ai/environments/examples/nethack/helpers/__init__.py +42 -0
  69. synth_ai/environments/examples/nethack/helpers/action_mapping.py +301 -0
  70. synth_ai/environments/examples/nethack/helpers/nle_wrapper.py +401 -0
  71. synth_ai/environments/examples/nethack/helpers/observation_utils.py +433 -0
  72. synth_ai/environments/examples/nethack/helpers/recording_wrapper.py +201 -0
  73. synth_ai/environments/examples/nethack/helpers/trajectory_recorder.py +268 -0
  74. synth_ai/environments/examples/nethack/helpers/visualization/replay_viewer.py +308 -0
  75. synth_ai/environments/examples/nethack/helpers/visualization/visualizer.py +430 -0
  76. synth_ai/environments/examples/nethack/taskset.py +323 -0
  77. synth_ai/environments/examples/nethack/units/test_nethack_engine.py +277 -0
  78. synth_ai/environments/examples/nethack/units/test_nethack_environment.py +281 -0
  79. synth_ai/environments/examples/nethack/units/test_nethack_taskset.py +213 -0
  80. synth_ai/environments/examples/nethack/units/test_recording.py +307 -0
  81. synth_ai/environments/examples/red/__init__.py +7 -0
  82. synth_ai/environments/examples/red/agent_demos/__init__.py +1 -0
  83. synth_ai/environments/examples/red/agent_demos/test_synth_react.py +1471 -0
  84. synth_ai/environments/examples/red/config_logging.py +110 -0
  85. synth_ai/environments/examples/red/engine.py +693 -0
  86. synth_ai/environments/examples/red/engine_helpers/__init__.py +1 -0
  87. synth_ai/environments/examples/red/engine_helpers/memory_map.py +28 -0
  88. synth_ai/environments/examples/red/engine_helpers/reward_components.py +275 -0
  89. synth_ai/environments/examples/red/engine_helpers/reward_library/__init__.py +142 -0
  90. synth_ai/environments/examples/red/engine_helpers/reward_library/adaptive_rewards.py +56 -0
  91. synth_ai/environments/examples/red/engine_helpers/reward_library/battle_rewards.py +283 -0
  92. synth_ai/environments/examples/red/engine_helpers/reward_library/composite_rewards.py +149 -0
  93. synth_ai/environments/examples/red/engine_helpers/reward_library/economy_rewards.py +137 -0
  94. synth_ai/environments/examples/red/engine_helpers/reward_library/efficiency_rewards.py +56 -0
  95. synth_ai/environments/examples/red/engine_helpers/reward_library/exploration_rewards.py +330 -0
  96. synth_ai/environments/examples/red/engine_helpers/reward_library/novelty_rewards.py +120 -0
  97. synth_ai/environments/examples/red/engine_helpers/reward_library/pallet_town_rewards.py +558 -0
  98. synth_ai/environments/examples/red/engine_helpers/reward_library/pokemon_rewards.py +312 -0
  99. synth_ai/environments/examples/red/engine_helpers/reward_library/social_rewards.py +147 -0
  100. synth_ai/environments/examples/red/engine_helpers/reward_library/story_rewards.py +246 -0
  101. synth_ai/environments/examples/red/engine_helpers/screen_analysis.py +367 -0
  102. synth_ai/environments/examples/red/engine_helpers/state_extraction.py +139 -0
  103. synth_ai/environments/examples/red/environment.py +235 -0
  104. synth_ai/environments/examples/red/taskset.py +77 -0
  105. synth_ai/environments/examples/red/test_fixes.py +125 -0
  106. synth_ai/environments/examples/red/test_fixes_mock.py +148 -0
  107. synth_ai/environments/examples/red/units/__init__.py +1 -0
  108. synth_ai/environments/examples/red/units/test_basic_functionality.py +97 -0
  109. synth_ai/environments/examples/red/units/test_button_press_requirements.py +217 -0
  110. synth_ai/environments/examples/red/units/test_engine.py +192 -0
  111. synth_ai/environments/examples/red/units/test_environment.py +455 -0
  112. synth_ai/environments/examples/red/units/test_exploration_strategy.py +227 -0
  113. synth_ai/environments/examples/red/units/test_integration.py +217 -0
  114. synth_ai/environments/examples/red/units/test_memory_extraction.py +111 -0
  115. synth_ai/environments/examples/red/units/test_menu_bug_reproduction.py +1100 -0
  116. synth_ai/environments/examples/red/units/test_movement_debug.py +255 -0
  117. synth_ai/environments/examples/red/units/test_pokemon_mcts_debug.py +163 -0
  118. synth_ai/environments/examples/red/units/test_pokemon_mcts_verbose.py +117 -0
  119. synth_ai/environments/examples/red/units/test_red_basic.py +145 -0
  120. synth_ai/environments/examples/red/units/test_red_comprehensive.py +323 -0
  121. synth_ai/environments/examples/red/units/test_retry_movement.py +195 -0
  122. synth_ai/environments/examples/red/units/test_reward_components.py +186 -0
  123. synth_ai/environments/examples/red/units/test_rom_integration.py +260 -0
  124. synth_ai/environments/examples/red/units/test_taskset.py +116 -0
  125. synth_ai/environments/examples/red/units/test_tree.py +448 -0
  126. synth_ai/environments/examples/sokoban/__init__.py +1 -0
  127. synth_ai/environments/examples/sokoban/agent_demos/sokoban_full_eval.py +900 -0
  128. synth_ai/environments/examples/sokoban/agent_demos/test_dspy_react.py +1 -0
  129. synth_ai/environments/examples/sokoban/agent_demos/test_sokoban_react_agent.py +498 -0
  130. synth_ai/environments/examples/sokoban/agent_demos/test_synth_lats.py +1 -0
  131. synth_ai/environments/examples/sokoban/agent_demos/test_synth_react_locally.py +748 -0
  132. synth_ai/environments/examples/sokoban/agent_demos/test_synth_react_service.py +296 -0
  133. synth_ai/environments/examples/sokoban/engine.py +675 -0
  134. synth_ai/environments/examples/sokoban/engine_helpers/__init__.py +1 -0
  135. synth_ai/environments/examples/sokoban/engine_helpers/room_utils.py +656 -0
  136. synth_ai/environments/examples/sokoban/engine_helpers/vendored/__init__.py +17 -0
  137. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/__init__.py +3 -0
  138. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/boxoban_env.py +129 -0
  139. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/render_utils.py +370 -0
  140. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/room_utils.py +331 -0
  141. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env.py +305 -0
  142. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_fixed_targets.py +66 -0
  143. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py +114 -0
  144. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py +122 -0
  145. synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py +394 -0
  146. synth_ai/environments/examples/sokoban/environment.py +228 -0
  147. synth_ai/environments/examples/sokoban/generate_verified_puzzles.py +438 -0
  148. synth_ai/environments/examples/sokoban/puzzle_loader.py +311 -0
  149. synth_ai/environments/examples/sokoban/taskset.py +425 -0
  150. synth_ai/environments/examples/sokoban/units/astar_common.py +94 -0
  151. synth_ai/environments/examples/sokoban/units/test_building_task_set.py +49 -0
  152. synth_ai/environments/examples/sokoban/units/test_false_positive.py +120 -0
  153. synth_ai/environments/examples/sokoban/units/test_simple_run_through_environment.py +119 -0
  154. synth_ai/environments/examples/sokoban/units/test_sokoban_environment.py +98 -0
  155. synth_ai/environments/examples/sokoban/units/test_tree.py +364 -0
  156. synth_ai/environments/examples/tictactoe/__init__.py +1 -0
  157. synth_ai/environments/examples/tictactoe/agent_demos/test_synth_react.py +266 -0
  158. synth_ai/environments/examples/tictactoe/agent_demos/test_tictactoe_react_agent.py +470 -0
  159. synth_ai/environments/examples/tictactoe/engine.py +368 -0
  160. synth_ai/environments/examples/tictactoe/environment.py +239 -0
  161. synth_ai/environments/examples/tictactoe/taskset.py +214 -0
  162. synth_ai/environments/examples/tictactoe/units/test_tictactoe_engine.py +393 -0
  163. synth_ai/environments/examples/tictactoe/units/test_tictactoe_environment.py +493 -0
  164. synth_ai/environments/examples/tictactoe/units/test_tictactoe_taskset.py +191 -0
  165. synth_ai/environments/examples/verilog/__init__.py +10 -0
  166. synth_ai/environments/examples/verilog/agent_demos/test_synth_react.py +520 -0
  167. synth_ai/environments/examples/verilog/engine.py +328 -0
  168. synth_ai/environments/examples/verilog/environment.py +349 -0
  169. synth_ai/environments/examples/verilog/taskset.py +418 -0
  170. synth_ai/environments/examples/verilog/units/test_verilog_engine.py +466 -0
  171. synth_ai/environments/examples/verilog/units/test_verilog_environment.py +585 -0
  172. synth_ai/environments/examples/verilog/units/test_verilog_integration.py +383 -0
  173. synth_ai/environments/examples/verilog/units/test_verilog_taskset.py +457 -0
  174. synth_ai/environments/reproducibility/core.py +42 -0
  175. synth_ai/environments/reproducibility/tree.py +364 -0
  176. synth_ai/environments/service/app.py +78 -0
  177. synth_ai/environments/service/core_routes.py +775 -0
  178. synth_ai/environments/service/external_registry.py +57 -0
  179. synth_ai/environments/service/registry.py +9 -0
  180. synth_ai/environments/stateful/__init__.py +1 -0
  181. synth_ai/environments/stateful/core.py +28 -0
  182. synth_ai/environments/stateful/engine.py +21 -0
  183. synth_ai/environments/stateful/state.py +7 -0
  184. synth_ai/environments/tasks/api.py +19 -0
  185. synth_ai/environments/tasks/core.py +78 -0
  186. synth_ai/environments/tasks/filters.py +39 -0
  187. synth_ai/environments/tasks/utils.py +89 -0
  188. synth_ai/environments/v0_observability/history.py +3 -0
  189. synth_ai/environments/v0_observability/log.py +2 -0
  190. synth_ai/lm/caching/constants.py +1 -0
  191. synth_ai/{zyk/lms → lm}/caching/ephemeral.py +4 -8
  192. synth_ai/{zyk/lms → lm}/caching/handler.py +15 -15
  193. synth_ai/{zyk/lms → lm}/caching/initialize.py +2 -4
  194. synth_ai/{zyk/lms → lm}/caching/persistent.py +4 -10
  195. synth_ai/{zyk/lms → lm}/config.py +2 -1
  196. synth_ai/{zyk/lms → lm}/constants.py +2 -2
  197. synth_ai/{zyk/lms → lm}/core/all.py +10 -10
  198. synth_ai/{zyk/lms → lm}/core/main.py +57 -33
  199. synth_ai/{zyk/lms → lm}/core/vendor_clients.py +12 -10
  200. synth_ai/lm/cost/monitor.py +1 -0
  201. synth_ai/lm/cost/statefulness.py +1 -0
  202. synth_ai/lm/provider_support/__init__.py +8 -0
  203. synth_ai/lm/provider_support/anthropic.py +945 -0
  204. synth_ai/lm/provider_support/openai.py +1115 -0
  205. synth_ai/lm/provider_support/suppress_logging.py +31 -0
  206. synth_ai/{zyk/lms → lm}/structured_outputs/handler.py +58 -80
  207. synth_ai/{zyk/lms → lm}/structured_outputs/inject.py +6 -20
  208. synth_ai/{zyk/lms → lm}/structured_outputs/rehabilitate.py +6 -12
  209. synth_ai/{zyk/lms → lm}/vendors/core/anthropic_api.py +21 -30
  210. synth_ai/{zyk/lms → lm}/vendors/core/gemini_api.py +35 -32
  211. synth_ai/{zyk/lms → lm}/vendors/core/mistral_api.py +19 -28
  212. synth_ai/{zyk/lms → lm}/vendors/core/openai_api.py +26 -36
  213. synth_ai/{zyk/lms → lm}/vendors/openai_standard.py +29 -33
  214. synth_ai/{zyk/lms → lm}/vendors/retries.py +1 -1
  215. synth_ai/lm/vendors/supported/__init__.py +0 -0
  216. synth_ai/{zyk/lms → lm}/vendors/supported/custom_endpoint.py +131 -118
  217. synth_ai/{zyk/lms → lm}/vendors/supported/deepseek.py +4 -8
  218. synth_ai/{zyk/lms → lm}/vendors/supported/grok.py +6 -8
  219. synth_ai/{zyk/lms → lm}/vendors/supported/groq.py +1 -1
  220. synth_ai/{zyk/lms → lm}/vendors/supported/ollama.py +2 -2
  221. synth_ai/{zyk/lms → lm}/vendors/supported/openrouter.py +18 -16
  222. synth_ai/{zyk/lms → lm}/vendors/supported/together.py +1 -1
  223. synth_ai/tracing/__init__.py +0 -0
  224. synth_ai/tracing/abstractions.py +224 -0
  225. synth_ai/tracing/base_client.py +91 -0
  226. synth_ai/tracing/client_manager.py +131 -0
  227. synth_ai/tracing/config.py +140 -0
  228. synth_ai/tracing/context.py +146 -0
  229. synth_ai/tracing/decorators.py +679 -0
  230. synth_ai/tracing/events/__init__.py +0 -0
  231. synth_ai/tracing/events/manage.py +147 -0
  232. synth_ai/tracing/events/scope.py +86 -0
  233. synth_ai/tracing/events/store.py +227 -0
  234. synth_ai/tracing/immediate_client.py +152 -0
  235. synth_ai/tracing/local.py +18 -0
  236. synth_ai/tracing/log_client_base.py +74 -0
  237. synth_ai/tracing/retry_queue.py +187 -0
  238. synth_ai/tracing/trackers.py +515 -0
  239. synth_ai/tracing/upload.py +504 -0
  240. synth_ai/tracing/utils.py +9 -0
  241. synth_ai/zyk/__init__.py +28 -2
  242. synth_ai-0.2.1.dev0.dist-info/METADATA +349 -0
  243. synth_ai-0.2.1.dev0.dist-info/RECORD +261 -0
  244. {synth_ai-0.2.0.dist-info → synth_ai-0.2.1.dev0.dist-info}/WHEEL +1 -1
  245. synth_ai/zyk/lms/caching/constants.py +0 -1
  246. synth_ai/zyk/lms/cost/monitor.py +0 -1
  247. synth_ai/zyk/lms/cost/statefulness.py +0 -1
  248. synth_ai-0.2.0.dist-info/METADATA +0 -36
  249. synth_ai-0.2.0.dist-info/RECORD +0 -50
  250. /synth_ai/{zyk/lms/__init__.py → environments/reproducibility/helpers.py} +0 -0
  251. /synth_ai/{zyk/lms/caching → lm}/__init__.py +0 -0
  252. /synth_ai/{zyk/lms/core → lm/caching}/__init__.py +0 -0
  253. /synth_ai/{zyk/lms → lm}/caching/dbs.py +0 -0
  254. /synth_ai/{zyk/lms/cost → lm/core}/__init__.py +0 -0
  255. /synth_ai/{zyk/lms → lm}/core/exceptions.py +0 -0
  256. /synth_ai/{zyk/lms/structured_outputs → lm/cost}/__init__.py +0 -0
  257. /synth_ai/{zyk/lms/vendors → lm/structured_outputs}/__init__.py +0 -0
  258. /synth_ai/{zyk/lms → lm}/tools/__init__.py +0 -0
  259. /synth_ai/{zyk/lms → lm}/tools/base.py +0 -0
  260. /synth_ai/{zyk/lms/vendors/core → lm/vendors}/__init__.py +0 -0
  261. /synth_ai/{zyk/lms → lm}/vendors/base.py +0 -0
  262. /synth_ai/{zyk/lms/vendors/local → lm/vendors/core}/__init__.py +0 -0
  263. /synth_ai/{zyk/lms/vendors/supported → lm/vendors/local}/__init__.py +0 -0
  264. /synth_ai/{zyk/lms → lm}/vendors/local/ollama.py +0 -0
  265. {synth_ai-0.2.0.dist-info → synth_ai-0.2.1.dev0.dist-info/licenses}/LICENSE +0 -0
  266. {synth_ai-0.2.0.dist-info → synth_ai-0.2.1.dev0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,349 @@
1
+ Metadata-Version: 2.4
2
+ Name: synth-ai
3
+ Version: 0.2.1.dev0
4
+ Summary: Software for aiding the best and multiplying the will - Core AI functionality and tracing
5
+ Author-email: Synth AI <josh@usesynth.ai>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/synth-laboratories/synth-ai
8
+ Project-URL: Repository, https://github.com/synth-laboratories/synth-ai
9
+ Project-URL: Issues, https://github.com/synth-laboratories/synth-ai/issues
10
+ Requires-Python: >=3.11
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: pydantic>=2.0.0
14
+ Requires-Dist: pydantic-openapi-schema>=1.5.1
15
+ Requires-Dist: python-dotenv>=1.0.1
16
+ Requires-Dist: requests>=2.32.3
17
+ Requires-Dist: urllib3>=2.3.0
18
+ Requires-Dist: tqdm>=4.66.4
19
+ Requires-Dist: typing-inspect>=0.9.0
20
+ Requires-Dist: jsonschema>=4.23.0
21
+ Requires-Dist: openai==1.63.0
22
+ Requires-Dist: anthropic>=0.42.0
23
+ Requires-Dist: google-generativeai>=0.8.0
24
+ Requires-Dist: langfuse<3.0.0,>=2.53.9
25
+ Requires-Dist: opentelemetry-api>=1.27.0
26
+ Requires-Dist: opentelemetry-sdk>=1.27.0
27
+ Requires-Dist: boto3>=1.35.71
28
+ Requires-Dist: botocore>=1.35.71
29
+ Requires-Dist: diskcache>=5.6.3
30
+ Requires-Dist: groq>=0.30.0
31
+ Requires-Dist: google-genai>=1.26.0
32
+ Requires-Dist: together>=1.5.21
33
+ Requires-Dist: mistralai>=1.9.2
34
+ Requires-Dist: fastapi>=0.115.12
35
+ Requires-Dist: uvicorn>=0.34.2
36
+ Requires-Dist: numpy>=2.2.3
37
+ Requires-Dist: networkx>=3.4.2
38
+ Requires-Dist: redis>=6.2.0
39
+ Requires-Dist: imageio>=2.31.0
40
+ Requires-Dist: matplotlib>=3.10.3
41
+ Requires-Dist: seaborn>=0.13.2
42
+ Requires-Dist: pillow>=11.2.1
43
+ Requires-Dist: tabulate>=0.9.0
44
+ Requires-Dist: duckdb>=1.0.0
45
+ Requires-Dist: pyarrow>=18.0.0
46
+ Requires-Dist: pandas>=2.2.3
47
+ Requires-Dist: psutil>=7.0.0
48
+ Requires-Dist: setuptools>=80.8.0
49
+ Requires-Dist: gymnasium>=1.1.1
50
+ Requires-Dist: ty>=0.0.1a5
51
+ Requires-Dist: gym>=0.23.0
52
+ Provides-Extra: dev
53
+ Requires-Dist: build>=1.2.2.post1; extra == "dev"
54
+ Requires-Dist: twine>=4.0.0; extra == "dev"
55
+ Requires-Dist: keyring>=24.0.0; extra == "dev"
56
+ Requires-Dist: pytest>=8.3.3; extra == "dev"
57
+ Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
58
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
59
+ Requires-Dist: pyright>=1.1.350; extra == "dev"
60
+ Requires-Dist: coverage[toml]>=7.3.0; extra == "dev"
61
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
62
+ Provides-Extra: google
63
+ Requires-Dist: google-api-core>=2.0.0; extra == "google"
64
+ Requires-Dist: google-generativeai>=0.8.0; extra == "google"
65
+ Requires-Dist: google-genai>=1.0.0; extra == "google"
66
+ Provides-Extra: mistral
67
+ Requires-Dist: mistralai>=1.0.0; extra == "mistral"
68
+ Provides-Extra: research
69
+ Requires-Dist: crafter>=1.8.3; extra == "research"
70
+ Requires-Dist: gym-sokoban>=0.0.6; extra == "research"
71
+ Requires-Dist: pyboy>=2.6.0; extra == "research"
72
+ Requires-Dist: nle>=0.9.1; extra == "research"
73
+ Requires-Dist: minigrid>=3.0.0; extra == "research"
74
+ Requires-Dist: datasets>=4.0.0; extra == "research"
75
+ Provides-Extra: all
76
+ Requires-Dist: google-api-core>=2.0.0; extra == "all"
77
+ Requires-Dist: google-generativeai>=0.8.0; extra == "all"
78
+ Requires-Dist: google-genai>=1.0.0; extra == "all"
79
+ Requires-Dist: mistralai>=1.0.0; extra == "all"
80
+ Requires-Dist: crafter>=1.8.3; extra == "all"
81
+ Requires-Dist: gym-sokoban>=0.0.6; extra == "all"
82
+ Requires-Dist: pyboy>=2.6.0; extra == "all"
83
+ Requires-Dist: nle>=0.9.1; extra == "all"
84
+ Requires-Dist: minigrid>=3.0.0; extra == "all"
85
+ Requires-Dist: datasets>=4.0.0; extra == "all"
86
+ Dynamic: license-file
87
+
88
+ # Synth AI
89
+
90
+ **Comprehensive AI Framework for Language Models, Environments, and Observability**
91
+
92
+ [![Python](https://img.shields.io/badge/python-3.11+-blue)](https://www.python.org/)
93
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
94
+ [![PyPI](https://img.shields.io/badge/PyPI-0.1.9-orange)](https://pypi.org/project/synth-ai/)
95
+ ![Coverage](https://img.shields.io/badge/coverage-11.3%25-red)
96
+ ![Tests](https://img.shields.io/badge/tests-17/17 passing-brightgreen)
97
+ A unified framework combining language model capabilities, synthetic environments, and comprehensive tracing for building and evaluating AI agents.
98
+
99
+ ## 🎯 Key Features
100
+
101
+ - **🤖 Language Models** - Unified LM interface for OpenAI, Anthropic, Gemini, Groq, and more
102
+ - **🏗️ Synthetic Environments** - Comprehensive framework for agent training and evaluation
103
+ - **📊 Observability & Tracing** - Built-in monitoring, logging, and performance tracking
104
+ - **🔌 Provider Support** - Enhanced client wrappers with automatic tracing integration
105
+ - **🌐 RESTful APIs** - HTTP access for remote training and evaluation
106
+ - **🛠️ Agent Tools** - Simple abstractions for agent-environment interaction
107
+
108
+ ## 🚀 Quick Start
109
+
110
+ ### Installation
111
+
112
+ ```bash
113
+ # Basic installation
114
+ pip install synth-ai
115
+
116
+ # With research environments (includes game environments)
117
+ pip install synth-ai[research]
118
+
119
+ # Full installation with all providers
120
+ pip install synth-ai[all]
121
+ ```
122
+
123
+ ### Basic Usage
124
+
125
+ ```python
126
+ from synth_ai import LM
127
+
128
+ # Create language model
129
+ lm = LM("gpt-4o-mini", temperature=0.7)
130
+
131
+ # Generate structured output
132
+ from pydantic import BaseModel
133
+
134
+ class Response(BaseModel):
135
+ answer: str
136
+ confidence: float
137
+
138
+ result = lm("What is the capital of France?", response_format=Response)
139
+ print(result.structured_output.answer) # "Paris"
140
+ ```
141
+
142
+ ### Environment Usage
143
+
144
+ ```python
145
+ from synth_ai.environments.examples.tictactoe.environment import TicTacToeEnvironment
146
+
147
+ # Create environment
148
+ env = TicTacToeEnvironment()
149
+
150
+ # Run agent
151
+ state = env.reset()
152
+ while not env.done:
153
+ action = agent.act(state)
154
+ state = env.step(action)
155
+ ```
156
+
157
+ ### Tracing & Observability
158
+
159
+ ```python
160
+ from synth_ai.tracing import trace_event_sync
161
+
162
+ @trace_event_sync
163
+ def my_agent_step(observation):
164
+ # Your agent logic here
165
+ return action
166
+
167
+ # Automatic tracing of execution
168
+ ```
169
+
170
+ ## 🎮 Supported Environments
171
+
172
+ | Environment | Status | Description |
173
+ |-------------|---------|-------------|
174
+ | **TicTacToe** | ✅ Stable | Simple strategic game for testing |
175
+ | **Sokoban** | ✅ Stable | Classic puzzle game for planning |
176
+ | **Hendryks Math** | ✅ Stable | Mathematical reasoning tasks |
177
+ | **Crafter** | 🔄 Research | Minecraft-like survival environment |
178
+ | **NetHack** | 🔄 Research | Complex dungeon exploration |
179
+ | **MiniGrid** | 🔄 Research | Grid world navigation |
180
+
181
+ ## 🤖 Supported LM Providers
182
+
183
+ | Provider | Status | Features |
184
+ |----------|--------|----------|
185
+ | **OpenAI** | ✅ Full | GPT-4, structured outputs, tools |
186
+ | **Anthropic** | ✅ Full | Claude models, structured outputs |
187
+ | **Google** | ✅ Full | Gemini models, structured outputs |
188
+ | **Groq** | ✅ Full | Fast inference, structured outputs |
189
+ | **Together** | ✅ Full | Open source models |
190
+ | **DeepSeek** | ✅ Full | Code and reasoning models |
191
+
192
+ ## 📖 Documentation
193
+
194
+ - **[API Reference](docs/api.md)** - Complete API documentation
195
+ - **[Environment Guide](docs/environments.md)** - Detailed environment descriptions
196
+ - **[LM Provider Guide](docs/providers.md)** - Language model configuration
197
+ - **[Tracing Guide](docs/tracing.md)** - Observability and monitoring
198
+
199
+ ## 🔧 Development
200
+
201
+ ### Health Check
202
+ ```bash
203
+ # Check codebase health
204
+ python scripts/check_health.py
205
+ ```
206
+
207
+ ### Testing
208
+ ```bash
209
+ # Fast tests (~3 seconds)
210
+ uv run pytest tests/ -x --tb=short
211
+
212
+ # With research environments
213
+ uv run --extra research pytest tests/
214
+
215
+ # Full test suite with coverage
216
+ uv run pytest tests/ --cov=synth_ai --cov-report=html
217
+ ```
218
+
219
+ ### Code Quality
220
+ ```bash
221
+ # Format code
222
+ ruff format .
223
+
224
+ # Check linting
225
+ ruff check .
226
+
227
+ # Type checking
228
+ uvx ty check
229
+
230
+ # Run all checks
231
+ uvx ty check && ruff check . && ruff format --check .
232
+ ```
233
+
234
+ ### Performance Profiling
235
+ ```bash
236
+ # Profile LM inference
237
+ uv run python -m synth_ai.lm.core.profiler
238
+
239
+ # Profile environment execution
240
+ uv run python -m synth_ai.environments.profiler
241
+ ```
242
+
243
+ ## 📊 Test Coverage & Metrics
244
+
245
+ Run comprehensive tests and generate metrics:
246
+
247
+ ```bash
248
+ # Generate test coverage report
249
+ uv run pytest tests/ --cov=synth_ai --cov-report=html --cov-report=term
250
+
251
+ # Update README metrics
252
+ python dev/update_readme_metrics.py
253
+
254
+ # Fast metric update (unit tests only)
255
+ python dev/update_readme_metrics.py --fast
256
+ ```
257
+
258
+ ## 🏗️ Architecture
259
+
260
+ ### Monorepo Structure
261
+
262
+ ```
263
+ synth_ai/
264
+ ├── lm/ # Language model core (formerly zyk)
265
+ │ ├── core/ # Main LM interface and clients
266
+ │ ├── vendors/ # Provider-specific implementations
267
+ │ ├── provider_support/ # Enhanced client wrappers
268
+ │ └── structured_outputs/ # Structured generation
269
+ ├── environments/ # Environment framework (formerly synth_env)
270
+ │ ├── examples/ # Built-in environments
271
+ │ ├── service/ # REST API service
272
+ │ └── stateful/ # State management
273
+ ├── tracing/ # Observability (formerly synth_sdk)
274
+ │ ├── decorators/ # Function tracing
275
+ │ ├── events/ # Event management
276
+ │ └── upload/ # Remote logging
277
+ └── zyk/ # Deprecated compatibility layer
278
+ ```
279
+
280
+ ### Migration Guide
281
+
282
+ The package consolidates functionality from multiple repos:
283
+
284
+ ```python
285
+ # Old imports (deprecated, but still work)
286
+ from synth_ai.zyk import LM # ⚠️ Shows deprecation warning
287
+ from synth_env import tasks # ⚠️ Shows deprecation warning
288
+
289
+ # New imports (recommended)
290
+ from synth_ai import LM, environments
291
+ from synth_ai.environments import tasks
292
+ from synth_ai.lm.core.main import LM # Direct import
293
+ ```
294
+
295
+ ## 🚢 Publishing & Releases
296
+
297
+ ### Build Package
298
+ ```bash
299
+ # Build for PyPI
300
+ uv build
301
+
302
+ # Check package contents
303
+ tar -tzf dist/synth-ai-*.tar.gz | head -20
304
+ ```
305
+
306
+ ### Publish
307
+ ```bash
308
+ # Test on TestPyPI
309
+ uv publish --index-url https://test.pypi.org/legacy/
310
+
311
+ # Publish to PyPI
312
+ uv publish
313
+ ```
314
+
315
+ ## 🤝 Contributing
316
+
317
+ We welcome contributions! Please see our **[Contributing Guide](dev/contributing.md)** for:
318
+ - Development setup with `uv`
319
+ - Code style guidelines (`ruff`, `uvx ty`)
320
+ - Testing requirements
321
+ - Pull request process
322
+
323
+ ### Pre-Commit Checklist
324
+ ```bash
325
+ # Run all checks before committing
326
+ uvx ty check && \
327
+ ruff check . && \
328
+ ruff format --check . && \
329
+ uv run pytest tests/ -x --tb=short
330
+ ```
331
+
332
+ ## 📄 License
333
+
334
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
335
+
336
+ ## 🙏 Acknowledgments
337
+
338
+ Special thanks to the teams at OpenAI, Anthropic, Google, and other contributors to the AI ecosystem that made this framework possible.
339
+
340
+ ---
341
+
342
+ **⚠️ Development Status**: This is an active consolidation of multiple AI frameworks. While core LM and tracing functionality is production-ready, some environments may have breaking changes.
343
+
344
+ ## 📈 Recent Updates
345
+
346
+ - **v0.1.9**: Consolidated monorepo with LM, environments, and tracing
347
+ - **Migration**: Moved from `synth_ai.zyk` → `synth_ai.lm` with backward compatibility
348
+ - **Integration**: Combined synth-sdk tracing and synth-env environments
349
+ - **Dependencies**: Added optional `[research]` extras for heavy game environments
@@ -0,0 +1,261 @@
1
+ synth_ai/__init__.py,sha256=Rv40NxA_KTzkMZxJ8w5nqnfMEziAlViiKlUx9VQq-Wo,977
2
+ synth_ai/core/system.py,sha256=H6x-hMONKdWS9dUNGadqgwjGlHoXgqFUnd7oDfzzH_M,24
3
+ synth_ai/environments/__init__.py,sha256=zWdzddGipytQwM9HfGJD4ZcLFum3prYcLxJ5ZBB0OQs,1095
4
+ synth_ai/environments/environment/__init__.py,sha256=EBol9AKxPTIPXWcbH9Tja-l3yL-N2kB8e5atyf6F66c,31
5
+ synth_ai/environments/environment/core.py,sha256=ZEhD6rlvRXXZEyVk9nqiTiGGcomryRrno3-1ankNhF4,624
6
+ synth_ai/environments/environment/registry.py,sha256=sowNRMMyJQxpP-Vs1B2IRkEQIxXaEQIRlV6HwUmFsSM,787
7
+ synth_ai/environments/environment/results.py,sha256=IqIZqE7TxZudF63e3-OLIC57n2uiODybhwAOWkFEQxY,111
8
+ synth_ai/environments/environment/shared_engine.py,sha256=7moaV5eKDtNdPuM8euSaCNAPVLJ9E28v-hOu0fX0dkE,429
9
+ synth_ai/environments/environment/artifacts/__init__.py,sha256=RWyqjTyJB8jnLb6yNr9TgSBhLB_2XetuPzwaGUkFH4U,20
10
+ synth_ai/environments/environment/artifacts/base.py,sha256=0_G1NHDv5HCYXzke82tAu-nnACu1Oi67oGBPo4nBZuM,1238
11
+ synth_ai/environments/environment/db/__init__.py,sha256=SMiJDPTgF7Nlgz9-AAlxFt82au4cshEmuDhPjfNJEvo,13
12
+ synth_ai/environments/environment/db/sqlite.py,sha256=lwsOC981OiBuMEHswQ009_xpxglzX2enQBwaxcBJokY,1635
13
+ synth_ai/environments/environment/resources/sqlite.py,sha256=_kKSF2SUGN1E61Hq7AZ-fXAugijHgI2__nfdY0grB_c,1666
14
+ synth_ai/environments/environment/rewards/__init__.py,sha256=5TpSHuCNeRy0W5N55ITVVoAI6oNYre9usbPhFnDrc7I,18
15
+ synth_ai/environments/environment/rewards/core.py,sha256=NPy6EmpBzeWlEulIvWXh12aJqQ71_X7rqzgVu85myXk,888
16
+ synth_ai/environments/environment/tools/__init__.py,sha256=SawGhbPPsVcSf8CMeBEP8xO6STNu7KIZ-i-lNuK5_0E,814
17
+ synth_ai/environments/examples/__init__.py,sha256=POgz9O4n1tvPAW1rYNUNeQGrMlWxoPDmyht85o5Po0s,38
18
+ synth_ai/environments/examples/crafter_classic/__init__.py,sha256=waICaSbO19tTJpj-BxCURLDxRdx_gnSVQXLIwo4gqLM,270
19
+ synth_ai/environments/examples/crafter_classic/config_logging.py,sha256=Eqq35s0lPAmBiU0neZM6vmHPct15gp9TwS3vogrNziM,3794
20
+ synth_ai/environments/examples/crafter_classic/engine.py,sha256=xManGDZBshQaIaAA96l9Ev3sPl-pzPaXvx7hhvdy2W0,21953
21
+ synth_ai/environments/examples/crafter_classic/engine_deterministic_patch.py,sha256=Jhn4dtLypG4-eLMsHxesagVTGJtzoGF6UssEfblEJYE,2801
22
+ synth_ai/environments/examples/crafter_classic/environment.py,sha256=AwfN2Pqt8i4ah6KHXwufcZ1RxBSkNL7iIQQJHVLJE2Y,12103
23
+ synth_ai/environments/examples/crafter_classic/taskset.py,sha256=9EIjQZ7mlpBo499v3B9eW_Pff1xQ84-GSBNvxYtN0yY,9656
24
+ synth_ai/environments/examples/crafter_classic/agent_demos/crafter_comprehensive_evaluation.py,sha256=ETfejFeIX-Bx0g-V3GAoikJMiUr9XKS1CAzpsyA0Bgs,1656
25
+ synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_browser.py,sha256=jftMYMvnZ0fbi8C5Thy7dT5SgsM6jqnxVzG_cmqIL5E,4817
26
+ synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_framework.py,sha256=bua2Dj66VIk3lRU8tN7kZoP_89T-bHr_cdiqp-YaG0E,47661
27
+ synth_ai/environments/examples/crafter_classic/agent_demos/crafter_quick_evaluation.py,sha256=rVfNtcgvJwPmYFFIfHhptsSbgKYlcTKhdFkvNkJoxyQ,1459
28
+ synth_ai/environments/examples/crafter_classic/agent_demos/crafter_react_agent.py,sha256=anCtxZfozRrfEsYD7LGHxykRMEaB0oqEvKvpI0lOjbg,34449
29
+ synth_ai/environments/examples/crafter_classic/agent_demos/crafter_trace_evaluation.py,sha256=PTLff2hB51kFTPssBQHInEE6M9JedU2oKOU9ZF6gWyc,46726
30
+ synth_ai/environments/examples/crafter_classic/agent_demos/test_crafter_react_agent.py,sha256=2yIlZ-2tiNQ2PDLYGWKtT-eGqs-udDTrDfuEfsTp7JA,45591
31
+ synth_ai/environments/examples/crafter_classic/engine_helpers/action_map.py,sha256=KUf20wX_t-DpU6kxWX6n7iyZxg_zrq7dV5S8Ci-2r18,229
32
+ synth_ai/environments/examples/crafter_classic/engine_helpers/serialization.py,sha256=biLmlrQFsSS4SVAqKilFyR6NjgcNJR1UlTnql98L0a0,2242
33
+ synth_ai/environments/examples/enron/engine.py,sha256=Unq3mrgit0Y4Y64s9cmiG4wocWyE28iRGGBFjN2IvmA,11534
34
+ synth_ai/environments/examples/enron/environment.py,sha256=QW0dmvv7og31tVnFHrQefZjAoo-yiKkkUUwj8QSd2f4,5985
35
+ synth_ai/environments/examples/enron/taskset.py,sha256=PdCkrPm99lAfRKKwkh6Qg_3LUEHy2AAP3qcvFht8_PI,3171
36
+ synth_ai/environments/examples/enron/agent_demos/test_synth_react.py,sha256=HjbGaRV3KMDPxVGBCPMp3gBzWK5ZJqe-73oZoq2L3R4,22109
37
+ synth_ai/environments/examples/enron/art_helpers/email_search_tools.py,sha256=VqUy5pDRHt2qs0G7jwgqN60T7xQJEKRUhWQYsIopqP0,5545
38
+ synth_ai/environments/examples/enron/art_helpers/local_email_db.py,sha256=G0_26Y-6TwDIHcjVrMLJ-4gqQwJowoFB-WkgQhtAlPU,9984
39
+ synth_ai/environments/examples/enron/art_helpers/types_enron.py,sha256=Nxn0yP5aQyRftlsuXvH6_8BxM3Ms14UuD1Pq-UO9uBY,733
40
+ synth_ai/environments/examples/enron/units/keyword_stats.py,sha256=iKxXo4fUf4N4kfK-VZeUuzq748LW6QOLxaXweI-hwTU,3083
41
+ synth_ai/environments/examples/enron/units/test_email_index.py,sha256=BFE14N-_0oQoxoC266lfY_Zu6laRbieqiJPU9PMzbX8,329
42
+ synth_ai/environments/examples/minigrid/__init__.py,sha256=tWQQ9kqbf-eP9RcJtlM_RNR63YkNXAl_U1zPfgP2TWk,1328
43
+ synth_ai/environments/examples/minigrid/engine.py,sha256=gvdc8Wgc8E4SGRhxCtCARgTzMMmtzxZT5Nc68-iI85k,22061
44
+ synth_ai/environments/examples/minigrid/environment.py,sha256=T-65hM-C3vqncmaLYzemNTwY7akDkRHiCKk3Dhiu9sQ,10490
45
+ synth_ai/environments/examples/minigrid/environment_mapping.py,sha256=N0JJ4Ako-sX-89nE9vCbPQIzVuhGpyy309Y_y7osNiA,7019
46
+ synth_ai/environments/examples/minigrid/puzzle_loader.py,sha256=Kc2KRBQr2wo1Lq3xhTASXFo1-j9ZgysY7imQ8uNz0zE,14655
47
+ synth_ai/environments/examples/minigrid/taskset.py,sha256=_ekomoTujsRbur60GvWSwWmABmZCp5k7f_JBDwJGmYk,21305
48
+ synth_ai/environments/examples/minigrid/agent_demos/minigrid_evaluation_framework.py,sha256=tfs-293q0MZx18qEGB-i74kO41I1jJty8i0nH0r4Uf4,46597
49
+ synth_ai/environments/examples/minigrid/agent_demos/minigrid_quick_evaluation.py,sha256=qtO-BCzAju-L520Dqpa5C4Dn0ZC4JBuj9KNuHp59pJg,1477
50
+ synth_ai/environments/examples/minigrid/agent_demos/minigrid_react_agent.py,sha256=YE3Za4EYOXoe5hM3IyUTcYjyA3NEL5tn7nYsRQUOrnE,20030
51
+ synth_ai/environments/examples/minigrid/agent_demos/minigrid_trace_evaluation.py,sha256=xuQqaIecr7-J8BzmyC5URMGB3u_GwACLSmK4h7EyANQ,6988
52
+ synth_ai/environments/examples/minigrid/agent_demos/test_minigrid_react_agent.py,sha256=UvUxOqNIq8ZciA84xBkGkbQJRA0lJHIURY6JQkY2as0,13654
53
+ synth_ai/environments/examples/minigrid/units/test_action_behavior.py,sha256=ebV05JS0xtthmo5RVJ6JBy854QqEuhwu0vitekfyxDM,7695
54
+ synth_ai/environments/examples/minigrid/units/test_debug_messages.py,sha256=IPr1lOz-z2_gcrQL9dv4AG1haQ0iZYvYgAhoZOTPJdM,2947
55
+ synth_ai/environments/examples/minigrid/units/test_exploration.py,sha256=tAxkho83ex0Lg4VGkpXJEm57bPk2DLbCNELOLfC6mXo,3790
56
+ synth_ai/environments/examples/minigrid/units/test_minigrid_engine.py,sha256=c1XY4WNqKOxXVzpKrkNMNhc9rdMcr_j8jxrp42Bb9mo,6295
57
+ synth_ai/environments/examples/minigrid/units/test_minigrid_environment.py,sha256=h-oZ_cZSLkxwgYwjkaTSeY04ZGXmutr3gejrqnhABLs,7393
58
+ synth_ai/environments/examples/minigrid/units/test_minigrid_environment_mapping.py,sha256=hb8ZRITFjqnhaDU-vvQ8rUkACf1FwHeYnGXeI0_OY7I,11669
59
+ synth_ai/environments/examples/minigrid/units/test_minigrid_taskset.py,sha256=RziEJoGgjfZiGc2-EjKLgwEM0sKZhTPnd4qybPOF7a0,7074
60
+ synth_ai/environments/examples/nethack/__init__.py,sha256=viygo8pTUB891fGm_tb38s5thNcr17bLFffQdDOfiQ0,266
61
+ synth_ai/environments/examples/nethack/achievements.py,sha256=hSDld5CBHubzmrDy2kZcfVDxQtymfg3kjQr0WuPH-Ro,12443
62
+ synth_ai/environments/examples/nethack/engine.py,sha256=e4F1bBoCbcvJwiHOGCCB5Ogwk_ARYHXiO3WC7tQAI-o,29956
63
+ synth_ai/environments/examples/nethack/environment.py,sha256=5ez7AJiKdnwe4cekTSTEh1Y5I1ZtPrDtCa6VeH_6pIY,10041
64
+ synth_ai/environments/examples/nethack/taskset.py,sha256=aPuleNGageiPhSXfNV-bzdmyPMi6gQSU40BAd8eT-a0,11339
65
+ synth_ai/environments/examples/nethack/agent_demos/nethack_evaluation_framework.py,sha256=1sFYZ-6cQzEjKBgbHYACX6irNj-neWbDUHX0ErfKBmg,38865
66
+ synth_ai/environments/examples/nethack/agent_demos/nethack_quick_evaluation.py,sha256=X26Vesh4IazXhh820lIHh980wppv2xIKTMrZXTvdgFQ,1992
67
+ synth_ai/environments/examples/nethack/agent_demos/nethack_react_agent.py,sha256=VoSGPpF5NKsgVJcz80D88wRULv7iggJvUpxNkoARpWc,34364
68
+ synth_ai/environments/examples/nethack/agent_demos/test_nethack_react_agent.py,sha256=GbY-6T52wHt30vcQz90UDo5jujdmYcuAU9Ho6AW8G3M,45037
69
+ synth_ai/environments/examples/nethack/helpers/__init__.py,sha256=7U8i1NKNIMC2eFKU5aOKYnUHbQCBTkoEZe-prFhAZOw,959
70
+ synth_ai/environments/examples/nethack/helpers/action_mapping.py,sha256=AZwkDY9-VEblagnpFrrnzlmNyRumWsDEf4w35y5Csmg,9133
71
+ synth_ai/environments/examples/nethack/helpers/nle_wrapper.py,sha256=dhyBFbHVHVslSm_4ztELLEURNt-iky0OOer2DEM7J8A,15141
72
+ synth_ai/environments/examples/nethack/helpers/observation_utils.py,sha256=XIHK6gtroNfeiLc8aisj7rDvcxROYiIpHKSCoJoWypU,12350
73
+ synth_ai/environments/examples/nethack/helpers/recording_wrapper.py,sha256=uWxZOgsi0GT29nv5_7zKAm28YCG8ukYCXafeV1kmgow,7448
74
+ synth_ai/environments/examples/nethack/helpers/trajectory_recorder.py,sha256=vzU_ir8zX1AlwcvgliA-HkCqEJJpICFDvAAS_UuP7xY,8987
75
+ synth_ai/environments/examples/nethack/helpers/visualization/replay_viewer.py,sha256=eceK4aejd3OcBXW98s3uhJ70kzOEXIa19TxdP4BCZdI,11902
76
+ synth_ai/environments/examples/nethack/helpers/visualization/visualizer.py,sha256=jHndZowjrRF2nYFyN-gP_3OOBsP3uPNT2PP1y6WV4pA,14831
77
+ synth_ai/environments/examples/nethack/units/test_nethack_engine.py,sha256=ucuxWy_dcSNPOXgkl5QNiYYoTLqO60v-S-5JYHcJgAE,9688
78
+ synth_ai/environments/examples/nethack/units/test_nethack_environment.py,sha256=mfUoyq3A6NagAYWeaS1Q1_cQFpMe5WzvnfP5ufqkeFo,9447
79
+ synth_ai/environments/examples/nethack/units/test_nethack_taskset.py,sha256=VkAIl4IV2GNP5xyIWAeJmC6IffVCTr7KZIG8rVJPhGU,8281
80
+ synth_ai/environments/examples/nethack/units/test_recording.py,sha256=I2ygGBDQkJjBdj8yB-bykOam9_wZzzFNYkszxTVjzE4,10735
81
+ synth_ai/environments/examples/red/__init__.py,sha256=4uHc_oyMmFK9jllUs9BAY4mxMwt5_Q7sD7Meo8zuTa4,199
82
+ synth_ai/environments/examples/red/config_logging.py,sha256=jVjehrms140gnJ1aAaXK9oxRXqh8CuU23yGp4AZOh74,3710
83
+ synth_ai/environments/examples/red/engine.py,sha256=43fKZ9YEs-ccL7rPtVNihStbwvxndk7GYyjr4zoCbYI,23835
84
+ synth_ai/environments/examples/red/environment.py,sha256=oHdG2I1QUOnVj80_IvIgBi5Rv2IyotnPgwMpXqsSZMc,9342
85
+ synth_ai/environments/examples/red/taskset.py,sha256=1oYI2UOqBdV5A-r7fg1LM4JIi5OQcRdTI6UUyPuQW_0,2825
86
+ synth_ai/environments/examples/red/test_fixes.py,sha256=zCVq1S87l3QnFLViBPpOsP0r6qQiZXmEptSgO7dS4Lw,3996
87
+ synth_ai/environments/examples/red/test_fixes_mock.py,sha256=KMSLM_6mHtWHczmxBPZIoMQeFaL6T0s3F2CicSugd5M,5214
88
+ synth_ai/environments/examples/red/agent_demos/__init__.py,sha256=sz-ozQldJ4M1Fn0Qrxct63Ru3DyRNj5v3_n9Mtk-Awk,42
89
+ synth_ai/environments/examples/red/agent_demos/test_synth_react.py,sha256=JSd2mwWsTYFU-z4G2vLohwzQWD545lWZGYaKh5lRqcM,63680
90
+ synth_ai/environments/examples/red/engine_helpers/__init__.py,sha256=YyNOk0TMWA_CI_EakcTMjbLJpkFKKRhJfVe792w-CXE,33
91
+ synth_ai/environments/examples/red/engine_helpers/memory_map.py,sha256=jOsBYaYYxUy2tz3L2pCoj7Y_3UdrViw6vNYdgbEZFDk,1193
92
+ synth_ai/environments/examples/red/engine_helpers/reward_components.py,sha256=QllhLE4lpyKLcTbGgl5zK51ftX5CXjl_7-MOoSIiRLg,9355
93
+ synth_ai/environments/examples/red/engine_helpers/screen_analysis.py,sha256=gR1AU10m_HZGqWr6g6eTUx1fkZi8Yfhg73XuMwmZODg,12773
94
+ synth_ai/environments/examples/red/engine_helpers/state_extraction.py,sha256=i20OpC7DCcOo52dHGzHQnXI2DzUiTbu_2PcyVhGDj9Q,4418
95
+ synth_ai/environments/examples/red/engine_helpers/reward_library/__init__.py,sha256=kETzPWAaFOiAO4sNxcGerX2lXP1xnQkdiVfzmL1JGkU,4015
96
+ synth_ai/environments/examples/red/engine_helpers/reward_library/adaptive_rewards.py,sha256=xE7AsliJVmygo2aptYCHBnt4X0OffeLYzRa0Tjhp92k,1890
97
+ synth_ai/environments/examples/red/engine_helpers/reward_library/battle_rewards.py,sha256=hjJMYS-CzvO2ugJyBVBNZuhZIG-LU2ng0S4DUkHZD90,10426
98
+ synth_ai/environments/examples/red/engine_helpers/reward_library/composite_rewards.py,sha256=sRS4h4njAzfGDnaah_OG0kCz3P5UlAz9zXm0hczRyLA,5091
99
+ synth_ai/environments/examples/red/engine_helpers/reward_library/economy_rewards.py,sha256=25ACp4SDPXUxQjAVRcdFvOw_NStRFaPc5K78OrwcJG4,5018
100
+ synth_ai/environments/examples/red/engine_helpers/reward_library/efficiency_rewards.py,sha256=RCLbN-hh-Cx0fxOB3zKQs6KvRa-u9MlKYeI5_TtOFrg,1817
101
+ synth_ai/environments/examples/red/engine_helpers/reward_library/exploration_rewards.py,sha256=V3Gvs-hHGHV9OohDsZncBd8K7kiGRtQkDo7p8rOG1mA,12391
102
+ synth_ai/environments/examples/red/engine_helpers/reward_library/novelty_rewards.py,sha256=uCRT8CQUDBueCuMa8x7IYKQun2yXq32mt6eHBifu4B8,3611
103
+ synth_ai/environments/examples/red/engine_helpers/reward_library/pallet_town_rewards.py,sha256=I-MzN6eiaQs7cuQHZvKO_nZJ1SRVlsK83dIY4TmTigA,19889
104
+ synth_ai/environments/examples/red/engine_helpers/reward_library/pokemon_rewards.py,sha256=pHMN8mh3qvJ-anxb80DxR_UBChOdrjiL7Ng6oyFBydU,10860
105
+ synth_ai/environments/examples/red/engine_helpers/reward_library/social_rewards.py,sha256=qQ-gN_xceb9QTzMiMGNmmKrZSsQDr-bD9JDWS4d_ops,5675
106
+ synth_ai/environments/examples/red/engine_helpers/reward_library/story_rewards.py,sha256=1sH6bLShvWOrvdOCIWbg56oMJ7eeMm2SmSLMcrO8MME,8464
107
+ synth_ai/environments/examples/red/units/__init__.py,sha256=W-M8LkGSsM_OvQicjUOi5358XVY6E5CvuVhZVQ4JiTQ,41
108
+ synth_ai/environments/examples/red/units/test_basic_functionality.py,sha256=3phJGNDSiSuFVk3_5DfJI3I8LqLjBfLClNFcllYamOU,3115
109
+ synth_ai/environments/examples/red/units/test_button_press_requirements.py,sha256=coZWOtEJUf76ZXxwPI9sxb0e4_5Wie-pQhDNe1jKelw,7841
110
+ synth_ai/environments/examples/red/units/test_engine.py,sha256=dPWNSd68PIur2_H_E8jNB8rF5WN7t5b6GuSaM7mJumg,6869
111
+ synth_ai/environments/examples/red/units/test_environment.py,sha256=-bS0L7c4R2ujSqD0Fb73o7ezibxIxoz9VhoEBBFDX2o,15253
112
+ synth_ai/environments/examples/red/units/test_exploration_strategy.py,sha256=7lV3uR87aOadSah2E5-rpky3b2mmu5vhVz1VySl-gLY,8129
113
+ synth_ai/environments/examples/red/units/test_integration.py,sha256=QlytFiJw8Ycj2yQWEVqOW4RjJeD1JrB22Uyl-qj00lc,8241
114
+ synth_ai/environments/examples/red/units/test_memory_extraction.py,sha256=Ti70dbqORn9rKJYJNQJw_qQjuLKLnt4-cXhkV8JBjC4,4082
115
+ synth_ai/environments/examples/red/units/test_menu_bug_reproduction.py,sha256=Zw13mOqCA18JQpyWAaMmgu469OaFRSUAO5NvtqSgTGo,43102
116
+ synth_ai/environments/examples/red/units/test_movement_debug.py,sha256=r8u-O4giYAH9pKeS1hrIPYWrN2xn3V-LMHvyvZnLOBU,9733
117
+ synth_ai/environments/examples/red/units/test_pokemon_mcts_debug.py,sha256=9b0DWb_EGEdHbJ5hwC5eXpAa9fqk5AL0vZoqXE7Wons,5859
118
+ synth_ai/environments/examples/red/units/test_pokemon_mcts_verbose.py,sha256=SOVKdiCl3W_73D9Fu7tDq-4wd35iIqG6gthBoFzkAt0,4245
119
+ synth_ai/environments/examples/red/units/test_red_basic.py,sha256=OVJlwY0BMG_ROQCgmjhfr7UCVxwetEQ_f69NgFyeA18,4543
120
+ synth_ai/environments/examples/red/units/test_red_comprehensive.py,sha256=9HCDDprTgyTVBRDzsLVSDhsdBZX2WxvfeGBwUpczpBw,10631
121
+ synth_ai/environments/examples/red/units/test_retry_movement.py,sha256=vsZ81XPORGsgA7G3Fz0r5xf9vDIXTi4wuB61hK9n0ck,6694
122
+ synth_ai/environments/examples/red/units/test_reward_components.py,sha256=BnYHCYbiFB1bVGt_7UvnCkGWjSTrK66z82UOkP_o-s8,6059
123
+ synth_ai/environments/examples/red/units/test_rom_integration.py,sha256=e01k4PbQQKNgx617i193Ao4I2HyHJTEORE6v7T33lKE,8387
124
+ synth_ai/environments/examples/red/units/test_taskset.py,sha256=8KmvefcNaJL3A7nP4hiHoEbkHHcQFaBcOHg9SGCIzjE,4865
125
+ synth_ai/environments/examples/red/units/test_tree.py,sha256=m5fIzZ_jO1IdWIxPaopkG-2T86mDEU0hkd-xDpbzfOA,15028
126
+ synth_ai/environments/examples/sokoban/__init__.py,sha256=Y5MpHrvlI9s5gEwlAJ0FM08bZpyC4QdnGWaTCyPQas8,35
127
+ synth_ai/environments/examples/sokoban/engine.py,sha256=Dn5lV8lyhb_4uQNIwpTeDjN0bYUCqjo1ym3vrD2nQfs,26275
128
+ synth_ai/environments/examples/sokoban/environment.py,sha256=wZ59GS9-UZMt9ysAVgdJIcL9UwvjiCdzYjEj6aPYSKM,9801
129
+ synth_ai/environments/examples/sokoban/generate_verified_puzzles.py,sha256=tGCJNaNsXGK2nsZ54xqJ4p9lyfjQGJ54a9SguUIQiiU,15509
130
+ synth_ai/environments/examples/sokoban/puzzle_loader.py,sha256=4Ufqx9IyuWDfHt77VxcM7URgCb6crpsMHr-1TBkfxsc,11497
131
+ synth_ai/environments/examples/sokoban/taskset.py,sha256=UhavqJceg6CYFFWClbldgjqRzY6gBUqZveaHc7N13Ko,15537
132
+ synth_ai/environments/examples/sokoban/agent_demos/sokoban_full_eval.py,sha256=z0A70vfqqkKaoyVmcypQhICXxrZhU-Sp2c56O1TiEMc,39837
133
+ synth_ai/environments/examples/sokoban/agent_demos/test_dspy_react.py,sha256=tiHrOCZ4aKw5vESpsYFIUZFSPEdFgoTl1V7lsOxDEWU,6
134
+ synth_ai/environments/examples/sokoban/agent_demos/test_sokoban_react_agent.py,sha256=xlBsJ4WsDrxkkvIxTdvY4sl0nFtzksINUHIp1C-OKyY,17798
135
+ synth_ai/environments/examples/sokoban/agent_demos/test_synth_lats.py,sha256=tiHrOCZ4aKw5vESpsYFIUZFSPEdFgoTl1V7lsOxDEWU,6
136
+ synth_ai/environments/examples/sokoban/agent_demos/test_synth_react_locally.py,sha256=eyTvs0sqRUVPSufqKI3_02-4Mmq-og-5XRCY1KR3934,31198
137
+ synth_ai/environments/examples/sokoban/agent_demos/test_synth_react_service.py,sha256=_RSDYuL-K1q7SHSfJKOqdroHVYh_eyGGzuZ9J9q_bNc,10966
138
+ synth_ai/environments/examples/sokoban/engine_helpers/__init__.py,sha256=ensyOUm01rMpYZPIoV012_v6vxnv95mwwi63hLJvwIw,29
139
+ synth_ai/environments/examples/sokoban/engine_helpers/room_utils.py,sha256=NZ3TSvTmbo19aT9X-xaPsg5CV4oPmdtV6356L76F7Bk,21757
140
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/__init__.py,sha256=jdGs_dghlGglKSi1EpsLz3IivSqNYhgu0icwzS7nKS0,404
141
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/__init__.py,sha256=Gvw94rIHk-BAaARkboJzZ6mx4z_n_UkFxm9xqZqxVFc,134
142
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/boxoban_env.py,sha256=ykJzlZjQtmcG0JJbOECUJ5EgQAURfvKkAq3ACwYF5xE,4132
143
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/render_utils.py,sha256=Vpj86hJhrSkK6kPobB_H5_bcvKsPT86-uhs7Agu66L4,11375
144
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/room_utils.py,sha256=43mge3pUJgvnGqKT1y7Ww39h3k0MRcvmL208ffzHzZ8,10587
145
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env.py,sha256=VaLExeff0vh4hQvkZphPBmjtS-f5v_MRk4E-9jNtCxU,10381
146
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_fixed_targets.py,sha256=aVsb29Q79X_6XYR6-fKynTlSoxBo7_Es9wlUFAM8ltE,2551
147
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py,sha256=8FiVFOf5-w_fuf2fWUOcluRH5Zzqbn7y4CDxXlMjtMM,3807
148
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py,sha256=ChjsHcraEnjRPazhojeG4RDekyBbB9XzRU-UnXIfEEo,3762
149
+ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py,sha256=mQlnDZJUfi-TiR3zcGyy4iTJutUqxwjRj7fxz8THupg,15455
150
+ synth_ai/environments/examples/sokoban/units/astar_common.py,sha256=DqCpp-OzPWRg5oRUTSWnuSxKJpNSDU76RVcy5GADQP8,3005
151
+ synth_ai/environments/examples/sokoban/units/test_building_task_set.py,sha256=jEO0Sg6pYXaFIwv7n3vz3384UJu8c3WRLqA2yZ6DQlk,1478
152
+ synth_ai/environments/examples/sokoban/units/test_false_positive.py,sha256=tP-p3PtjlYdoo0qkDjnjOFNzScBhu4__Vou0QK8CFUU,4418
153
+ synth_ai/environments/examples/sokoban/units/test_simple_run_through_environment.py,sha256=m79XfMvppw8Odf3Ln-myn4vT_NLvaxftPBCz1jRbfeE,3795
154
+ synth_ai/environments/examples/sokoban/units/test_sokoban_environment.py,sha256=FuPDp9XJyvbgkO8T4FpUErIUmq9MqND7UVfXc-_SvAM,3166
155
+ synth_ai/environments/examples/sokoban/units/test_tree.py,sha256=s2_x2ADmT_sv9aototEVdAR8IBmhtY3Uqo3HmHFGiOU,14945
156
+ synth_ai/environments/examples/tictactoe/__init__.py,sha256=XGoOP8GEGXjG-TI_E_-3b1jOhpGNtl_LmR9G3K59Gig,31
157
+ synth_ai/environments/examples/tictactoe/engine.py,sha256=NuFpXuiClyBCByS-m3fEpU343nkNq_aIsqYAMxXrGCs,12430
158
+ synth_ai/environments/examples/tictactoe/environment.py,sha256=42y9wCpG1NOAPxaILdaBjDl8WgEvnHbk3rd75GtgLH4,9335
159
+ synth_ai/environments/examples/tictactoe/taskset.py,sha256=rGbFwkokndkwXR95RSUF4-mRwvX8EKjpQRofnabmhs8,7811
160
+ synth_ai/environments/examples/tictactoe/agent_demos/test_synth_react.py,sha256=gLBZ3ZKaWNm0y2_olymccosN6Q6YuhMzcqGsD9LEL0A,9308
161
+ synth_ai/environments/examples/tictactoe/agent_demos/test_tictactoe_react_agent.py,sha256=U9C19dFOgHgGpxGotNxXYUXNoZa11yAvSqJmDovR_Yk,17412
162
+ synth_ai/environments/examples/tictactoe/units/test_tictactoe_engine.py,sha256=32Vcnb4vm5w5E48UiUpSahcWiQsEs3NR3QWT2GUKGdA,12636
163
+ synth_ai/environments/examples/tictactoe/units/test_tictactoe_environment.py,sha256=Sj6rERc-FMx-2A5Ao-8sAkrifFMxBvxCq_HWLUqpTcg,18961
164
+ synth_ai/environments/examples/tictactoe/units/test_tictactoe_taskset.py,sha256=4ze2zKSIDxUWN6PRrgNuCLgPO3lwmz15SQ3uxBmSiQc,7130
165
+ synth_ai/environments/examples/verilog/__init__.py,sha256=JBf4ayWGO-VPK7PLitp_-jiKDi9gd3hhQ-PahNkiLJ0,262
166
+ synth_ai/environments/examples/verilog/engine.py,sha256=jxpVJ5oVbRyObCLnETfy-sPARunaoYLLaPx7cyl68jc,12170
167
+ synth_ai/environments/examples/verilog/environment.py,sha256=M6igedpgJWvLjw_ta1k4fwY9Kz0dPDIEgO9S4B-eBGg,12329
168
+ synth_ai/environments/examples/verilog/taskset.py,sha256=-Vqrc_HY07WHcHLDQJ3KIDU3kNjpCgAMqCUYtay2Vyg,13336
169
+ synth_ai/environments/examples/verilog/agent_demos/test_synth_react.py,sha256=eKDDKkiciJNwiJo5RlsxC8hHZ5n0HRrnlempYt5ygGk,18516
170
+ synth_ai/environments/examples/verilog/units/test_verilog_engine.py,sha256=nGf6tjJukYGLp9qXMXV9yfMf8g0W-kqdzpk_46-Bu9Q,15146
171
+ synth_ai/environments/examples/verilog/units/test_verilog_environment.py,sha256=Y_g8P0zq3u8KkjynAdiGoE25HJZXRRJvIdUQlDhCSvk,19294
172
+ synth_ai/environments/examples/verilog/units/test_verilog_integration.py,sha256=hqPi6fG9Bavz6gepxLja96HOa9jE0L1ExY5ovsAliJQ,14545
173
+ synth_ai/environments/examples/verilog/units/test_verilog_taskset.py,sha256=9J7W9NAh8syPBRAtgKjPCwb2ARi3ixl8H-iG73IYuk0,18832
174
+ synth_ai/environments/reproducibility/core.py,sha256=y4__bivu_tdyIas509oK2EH9KUdLaQfbJ6z3dK8wYxc,1499
175
+ synth_ai/environments/reproducibility/helpers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
+ synth_ai/environments/reproducibility/tree.py,sha256=bl0lfIjrJGxMNmcWs75uPBwurgd1ENjN_mI5RHfrANY,13743
177
+ synth_ai/environments/service/app.py,sha256=USmaYzGOxMCZqvNAlh7cmOsaMXua_vluV8sCW_N2Se8,2907
178
+ synth_ai/environments/service/core_routes.py,sha256=S7jGZzowaJNARvR2lOTx8ScCYrByuC1JJrlBYBqRH20,29453
179
+ synth_ai/environments/service/external_registry.py,sha256=x7Qgbw83-1xcN69J337UHm4xPpWc5B0KUZrNUFtutLE,1795
180
+ synth_ai/environments/service/registry.py,sha256=Ex9c3ZwfZ-oW9nGz7bwCj1GNzvu78Z54rwufjKhsnMg,405
181
+ synth_ai/environments/stateful/__init__.py,sha256=UPNmotqxS2zXjSfhBui6R4qsDOIxKECL5xVTVDHcvsk,39
182
+ synth_ai/environments/stateful/core.py,sha256=6PXTwv4MEwbU7z-VzSytHzcRMDIxDZ3O24XnMBudy9w,742
183
+ synth_ai/environments/stateful/engine.py,sha256=k3B2RriVmIRDKX86bZPOyVd5hcHo_cxIa1SbzvLnFzY,437
184
+ synth_ai/environments/stateful/state.py,sha256=UT-cZzXPtHYZccefQ8hgKbRl80UzriNBnXlIF_xEnVs,257
185
+ synth_ai/environments/tasks/api.py,sha256=o4_yTOo1WzCD8jiOKxcCddK5daGRRthdfZX5hs1e9rQ,308
186
+ synth_ai/environments/tasks/core.py,sha256=6nxgQcySVDAP71VBl-62N93g47i2ut2FwboMr3qkstc,1726
187
+ synth_ai/environments/tasks/filters.py,sha256=sFtZeH-I6_7Q0WNoPF9xuVKM9XJS1rrSI_vhwdAa59s,1364
188
+ synth_ai/environments/tasks/utils.py,sha256=8O82-yh16es-R2TwmJbi9FJrm8jnoR7Y1DucF9kUhQM,2616
189
+ synth_ai/environments/v0_observability/history.py,sha256=gW0SozHmxeL6PFNaTAQ7em8BNUlObsRpP4_MJ3drMBE,54
190
+ synth_ai/environments/v0_observability/log.py,sha256=B4LvbPh0a1_E5dki2PlKAVHESB8oCQz0CmDBvC0GwdQ,38
191
+ synth_ai/lm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
+ synth_ai/lm/config.py,sha256=VBN-chFNz6LdWLMrNniUsej4D0to9YdbeiuSSO2P5_c,285
193
+ synth_ai/lm/constants.py,sha256=Z6eG5X4nwEHGfokHIJY4kFJqsY7bncBzJv2SG9YjicI,658
194
+ synth_ai/lm/caching/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
+ synth_ai/lm/caching/constants.py,sha256=HYG0yxRlLxZLHcDJVWkHOzkx6kj-dwyvpYZX766qPnw,55
196
+ synth_ai/lm/caching/dbs.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
+ synth_ai/lm/caching/ephemeral.py,sha256=10l8PLMzIp6vk71hoPYohe_PsrrIC-x-Q_iJ50Xbnlk,2298
198
+ synth_ai/lm/caching/handler.py,sha256=AW-7xcoQUDPX5mm9zrlFFPZ_CMlKl6qxYraJ4_c-Qns,4898
199
+ synth_ai/lm/caching/initialize.py,sha256=MG4DybeWkWDff76hLMdwWWniCDbZ1LpVXsYI4EX-caQ,405
200
+ synth_ai/lm/caching/persistent.py,sha256=5wABVsjNDvwkfSGTznUxPEFaZM92p9_i6wHo9tNkjjI,2763
201
+ synth_ai/lm/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
+ synth_ai/lm/core/all.py,sha256=BEthgcvSO_wWjF8aqgTM2yjp8NaUjPyHu5Ajm2YSApo,1664
203
+ synth_ai/lm/core/exceptions.py,sha256=K0BVdAzxVIchsvYZAaHEH1GAWBZvpxhFi-SPcJOjyPQ,205
204
+ synth_ai/lm/core/main.py,sha256=uug75S92qJI1loOGgR4PBvNe0ThefAAEVIHW076anqs,12263
205
+ synth_ai/lm/core/vendor_clients.py,sha256=Vyt1s7HJSPWTQ13pu2ITN_RCQUUdO-zCrPu8Q-KPWzU,6436
206
+ synth_ai/lm/cost/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
+ synth_ai/lm/cost/monitor.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
208
+ synth_ai/lm/cost/statefulness.py,sha256=SO-H9_R1_KL110z_ceRIJzH6n8D9gpx-R1-_mtO7pNI,37
209
+ synth_ai/lm/provider_support/__init__.py,sha256=4wd2x_gsRAVnGwHsK4nR0rlyIctPEpbZDETAtSh7doA,225
210
+ synth_ai/lm/provider_support/anthropic.py,sha256=mfPAw71Yovq5cKeUt0KYJo9GiYJuOmbxeFIHCtbJKOw,34428
211
+ synth_ai/lm/provider_support/openai.py,sha256=NTfYqZymM1dFzRM_Nw4-NxkPEYbrQTiQ1ZpxCNKPVTU,39093
212
+ synth_ai/lm/provider_support/suppress_logging.py,sha256=CKk8yGVWUZT6YLqzALOf4PZ3WyqMC_DiUTx6vF9O0zo,1037
213
+ synth_ai/lm/structured_outputs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
+ synth_ai/lm/structured_outputs/handler.py,sha256=1t-U8Kxz1yWTynEX_ppmCCFYcrCpY60Na_eZDvoPl4U,16584
215
+ synth_ai/lm/structured_outputs/inject.py,sha256=KmB5UqbLvJ1dfJR1y2PUrHRS-71_4kdE8xUs3tloA1Q,11541
216
+ synth_ai/lm/structured_outputs/rehabilitate.py,sha256=7yJfDonvOpGr3GC_RyemtFaadyeMd9ZLu6F1j5sF15g,7859
217
+ synth_ai/lm/tools/__init__.py,sha256=3JM5vqZqKloaeHaxuO49C8A_0qljys3pQ1yt70WKhho,51
218
+ synth_ai/lm/tools/base.py,sha256=i-AIVRlitiQ4JMJ_BBFRSpUcWgxWIUYoHxAqfxHN_7E,4056
219
+ synth_ai/lm/vendors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
+ synth_ai/lm/vendors/base.py,sha256=aK4PEtkMLt_o3qD22kW-x3HJUEKdIk06zlH4kX0VkAE,760
221
+ synth_ai/lm/vendors/openai_standard.py,sha256=ciJzH04oKxKSSDCwAXR2BlGMklNZGHwxpFjVAx6nn5s,11918
222
+ synth_ai/lm/vendors/retries.py,sha256=DkLYngUdqiDnLPv5n-gV9Tdq1ChRxmA8emLSMTcZJwM,429
223
+ synth_ai/lm/vendors/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
+ synth_ai/lm/vendors/core/anthropic_api.py,sha256=avahidrgJb1GbGR9oCV6_v3rg3VLRbnkhB8YmJ1YXac,13548
225
+ synth_ai/lm/vendors/core/gemini_api.py,sha256=eCMhRSGH5ATAiszFuwGW1Nja6dgzvEOq4sZACjU4XrM,11274
226
+ synth_ai/lm/vendors/core/mistral_api.py,sha256=vf_AK-zBwa0xICdQYBcIxxtK94pus94XafXhurR0T4I,11926
227
+ synth_ai/lm/vendors/core/openai_api.py,sha256=FlCGm2ce40k3LInvZjkC8TkcsGrGrCa007Y44fhYZro,6655
228
+ synth_ai/lm/vendors/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
+ synth_ai/lm/vendors/local/ollama.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
+ synth_ai/lm/vendors/supported/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
231
+ synth_ai/lm/vendors/supported/custom_endpoint.py,sha256=TrHlLjcB4nCg9xu4Q_QnOza7yY_Q85Q9f00eS-RvPCI,14854
232
+ synth_ai/lm/vendors/supported/deepseek.py,sha256=JvxBDosygQOG-FBUiz8MTuCLWhpQOpJ9Pf5gQJHgXsg,2376
233
+ synth_ai/lm/vendors/supported/grok.py,sha256=hsQFeyH_zFu-mnN5OvBKXoXo0PGomqfrInArhSls0hM,2257
234
+ synth_ai/lm/vendors/supported/groq.py,sha256=7W3kOg164C4R5zhDG6hb0IhaHDSz85xHc04uLz7umcQ,383
235
+ synth_ai/lm/vendors/supported/ollama.py,sha256=436QJkhrJjURkO-xsQlv_lV0Dso5UgC5Ybx2fvRWhUo,465
236
+ synth_ai/lm/vendors/supported/openrouter.py,sha256=CCL3dYR9VQkZMoRBuPKWVA1cSk3_TuHWZaS2bm-laWo,2596
237
+ synth_ai/lm/vendors/supported/together.py,sha256=IFd6gJtfPuE_KLh51ywp1iIkvow_R26EHPcYXBnw8Vc,337
238
+ synth_ai/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
+ synth_ai/tracing/abstractions.py,sha256=pQ28XKnYMWKgykBmUECQ6Fq7Q2BIoYwFe5vnPZwvRcE,6968
240
+ synth_ai/tracing/base_client.py,sha256=rLw-_Y2rJx7N8g0ZUxOxTyLnuuy34vhXAfMaTHZ9hjo,3007
241
+ synth_ai/tracing/client_manager.py,sha256=w1grD7anXIX9z1vAoJ-swbNcSndfg_PyaTXqQEJ4ups,4559
242
+ synth_ai/tracing/config.py,sha256=qLXH04k0KJd-M7LcoqwEVNqqJUiu85LbKIcRimK4yf0,4025
243
+ synth_ai/tracing/context.py,sha256=EKZtNU6z-cCBnvrBlbN6Nis799PbGtIFJEsqNyui6tI,5157
244
+ synth_ai/tracing/decorators.py,sha256=-UDm2VK4-J5fu-gDAvVN7N0V-B9XM6Jeac6wFL4D-wA,30968
245
+ synth_ai/tracing/immediate_client.py,sha256=h7rOxbdPoHYqWys60UfgLKGJBI81FV8ohBJArzYrvRI,6333
246
+ synth_ai/tracing/local.py,sha256=tyB32-3RH3rbly9P0yQzi7bmr5cSjBVbqaeIYEDelTU,728
247
+ synth_ai/tracing/log_client_base.py,sha256=FHTFuHf4Zm7AdJF3FoJl21M9PVLk3rO3LCnKrxsmM_8,2353
248
+ synth_ai/tracing/retry_queue.py,sha256=ZpK_vr_58CKJq_lFbbvrt8K-6gP-BOvaXyDzZgUwpf4,6745
249
+ synth_ai/tracing/trackers.py,sha256=0yC9rIPhc5PJCzsjFN0G0npb8C1ij10__KuEM_BRvas,19112
250
+ synth_ai/tracing/upload.py,sha256=IHU_6vf2U_VRlG4BtgfHyPSE5k7HURaETYiz3uXGo_E,17289
251
+ synth_ai/tracing/utils.py,sha256=FXoMW9qOIk8-2qv_7WpVK2UG3_0AAGwi6fQQJ5Eldqk,306
252
+ synth_ai/tracing/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
+ synth_ai/tracing/events/manage.py,sha256=LeJyLJrdlfNRViJ6irn5ZQx9NATSr4MZZf7GHpaQH_A,6019
254
+ synth_ai/tracing/events/scope.py,sha256=VUz7JRVxuy1GI4x8t60kM5IjV2K7x_vB8EIIngD_kYs,2640
255
+ synth_ai/tracing/events/store.py,sha256=7E0gG6oLriim7FrElzKQ_ulpMgKfIu4wvFbjWx-nEH0,9085
256
+ synth_ai/zyk/__init__.py,sha256=6HFa13sdHCouhzKOUPEWcJeVxKlzjWO7ERsrrwtTugs,752
257
+ synth_ai-0.2.1.dev0.dist-info/licenses/LICENSE,sha256=ynhjRQUfqA_RdGRATApfFA_fBAy9cno04sLtLUqxVFM,1069
258
+ synth_ai-0.2.1.dev0.dist-info/METADATA,sha256=WMtoLWhDul0UkL4lP3CGEikeWyYhcJq9j1gZBd_qcqo,10891
259
+ synth_ai-0.2.1.dev0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
260
+ synth_ai-0.2.1.dev0.dist-info/top_level.txt,sha256=fBmtZyVHuKaGa29oHBaaUkrUIWTqSpoVMPiVdCDP3k8,9
261
+ synth_ai-0.2.1.dev0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1 +0,0 @@
1
- DISKCACHE_SIZE_LIMIT = 10 * 1024 * 1024 * 1024 #10GB
@@ -1 +0,0 @@
1
- #TODO
@@ -1 +0,0 @@
1
- # Maybe some kind of ephemeral cache