synth-ai 0.2.6.dev5__tar.gz → 0.4.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of synth-ai might be problematic. Click here for more details.

Files changed (911) hide show
  1. synth_ai-0.4.11/MANIFEST.in +44 -0
  2. synth_ai-0.4.11/PKG-INFO +245 -0
  3. synth_ai-0.4.11/README.md +162 -0
  4. synth_ai-0.4.11/pyproject.toml +241 -0
  5. synth_ai-0.4.11/synth_ai/__init__.py +61 -0
  6. synth_ai-0.4.11/synth_ai/__main__.py +36 -0
  7. synth_ai-0.4.11/synth_ai/cli/__init__.py +129 -0
  8. synth_ai-0.4.11/synth_ai/cli/__main__.py +42 -0
  9. synth_ai-0.4.11/synth_ai/cli/_internal/__init__.py +5 -0
  10. synth_ai-0.4.11/synth_ai/cli/_internal/modal_wrapper.py +31 -0
  11. synth_ai-0.4.11/synth_ai/cli/_internal/storage.py +20 -0
  12. synth_ai-0.4.11/synth_ai/cli/_internal/typer_patch.py +47 -0
  13. synth_ai-0.4.11/synth_ai/cli/_internal/validate_task_app.py +29 -0
  14. synth_ai-0.4.11/synth_ai/cli/agents/__init__.py +17 -0
  15. synth_ai-0.4.11/synth_ai/cli/agents/claude.py +77 -0
  16. synth_ai-0.4.11/synth_ai/cli/agents/codex.py +265 -0
  17. synth_ai-0.4.11/synth_ai/cli/agents/opencode.py +253 -0
  18. synth_ai-0.4.11/synth_ai/cli/commands/__init__.py +18 -0
  19. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/__init__.py +13 -0
  20. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/client.py +119 -0
  21. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/config.py +57 -0
  22. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/core.py +24 -0
  23. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/download.py +188 -0
  24. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/export.py +186 -0
  25. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/list.py +156 -0
  26. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/parsing.py +250 -0
  27. synth_ai-0.4.11/synth_ai/cli/commands/artifacts/show.py +336 -0
  28. synth_ai-0.4.11/synth_ai/cli/commands/demo/__init__.py +3 -0
  29. synth_ai-0.4.11/synth_ai/cli/commands/demo/core.py +153 -0
  30. synth_ai-0.4.11/synth_ai/cli/commands/eval/__init__.py +10 -0
  31. synth_ai-0.4.11/synth_ai/cli/commands/eval/config.py +338 -0
  32. synth_ai-0.4.11/synth_ai/cli/commands/eval/core.py +258 -0
  33. synth_ai-0.4.11/synth_ai/cli/commands/eval/runner.py +715 -0
  34. synth_ai-0.4.11/synth_ai/cli/commands/eval/validation.py +60 -0
  35. synth_ai-0.4.11/synth_ai/cli/commands/filter/__init__.py +12 -0
  36. synth_ai-0.4.11/synth_ai/cli/commands/filter/core.py +441 -0
  37. synth_ai-0.4.11/synth_ai/cli/commands/filter/errors.py +55 -0
  38. synth_ai-0.4.11/synth_ai/cli/commands/filter/validation.py +83 -0
  39. synth_ai-0.4.11/synth_ai/cli/commands/help/__init__.py +393 -0
  40. synth_ai-0.4.11/synth_ai/cli/commands/help/core.py +72 -0
  41. synth_ai-0.4.11/synth_ai/cli/commands/scan/__init__.py +19 -0
  42. synth_ai-0.4.11/synth_ai/cli/commands/scan/cloudflare_scanner.py +403 -0
  43. synth_ai-0.4.11/synth_ai/cli/commands/scan/core.py +344 -0
  44. synth_ai-0.4.11/synth_ai/cli/commands/scan/health_checker.py +242 -0
  45. synth_ai-0.4.11/synth_ai/cli/commands/scan/local_scanner.py +278 -0
  46. synth_ai-0.4.11/synth_ai/cli/commands/scan/models.py +83 -0
  47. synth_ai-0.4.11/synth_ai/cli/commands/smoke/__init__.py +7 -0
  48. synth_ai-0.4.11/synth_ai/cli/commands/smoke/core.py +1428 -0
  49. synth_ai-0.4.11/synth_ai/cli/commands/status/__init__.py +3 -0
  50. synth_ai-0.4.11/synth_ai/cli/commands/status/client.py +91 -0
  51. synth_ai-0.4.11/synth_ai/cli/commands/status/config.py +12 -0
  52. synth_ai-0.4.11/synth_ai/cli/commands/status/errors.py +11 -0
  53. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/__init__.py +3 -0
  54. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/config.py +13 -0
  55. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/files.py +34 -0
  56. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/jobs.py +51 -0
  57. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/models.py +35 -0
  58. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/runs.py +34 -0
  59. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/session.py +77 -0
  60. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/summary.py +39 -0
  61. synth_ai-0.4.11/synth_ai/cli/commands/status/subcommands/utils.py +41 -0
  62. synth_ai-0.4.11/synth_ai/cli/commands/status/utils.py +23 -0
  63. synth_ai-0.4.11/synth_ai/cli/commands/train/__init__.py +51 -0
  64. synth_ai-0.4.11/synth_ai/cli/commands/train/core.py +22 -0
  65. synth_ai-0.4.11/synth_ai/cli/commands/train/errors.py +117 -0
  66. synth_ai-0.4.11/synth_ai/cli/commands/train/prompt_learning_validation.py +632 -0
  67. synth_ai-0.4.11/synth_ai/cli/commands/train/validation.py +392 -0
  68. synth_ai-0.4.11/synth_ai/cli/commands/train/verifier_schemas.py +200 -0
  69. synth_ai-0.4.11/synth_ai/cli/commands/train/verifier_validation.py +235 -0
  70. synth_ai-0.4.11/synth_ai/cli/commands/tui.py +75 -0
  71. synth_ai-0.4.11/synth_ai/cli/demo_apps/__init__.py +10 -0
  72. synth_ai-0.4.11/synth_ai/cli/demo_apps/core/__init__.py +28 -0
  73. synth_ai-0.4.11/synth_ai/cli/demo_apps/core/cli.py +1735 -0
  74. synth_ai-0.4.11/synth_ai/cli/demo_apps/crafter/__init__.py +1 -0
  75. synth_ai-0.4.11/synth_ai/cli/demo_apps/crafter/crafter_fft_4b.toml +55 -0
  76. synth_ai-0.4.11/synth_ai/cli/demo_apps/crafter/grpo_crafter_task_app.py +186 -0
  77. synth_ai-0.4.11/synth_ai/cli/demo_apps/crafter/rl_from_base_qwen4b.toml +74 -0
  78. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_registry.py +176 -0
  79. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/__init__.py +7 -0
  80. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/core.py +440 -0
  81. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/crafter/__init__.py +1 -0
  82. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/crafter/configs/crafter_fft_4b.toml +53 -0
  83. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/crafter/configs/rl_from_base_qwen4b.toml +73 -0
  84. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/crafter/grpo_crafter_task_app.py +185 -0
  85. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/math/_common.py +16 -0
  86. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/math/app.py +38 -0
  87. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/math/config.toml +73 -0
  88. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/math/deploy_modal.py +57 -0
  89. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/math/modal_task_app.py +738 -0
  90. synth_ai-0.4.11/synth_ai/cli/demo_apps/demo_task_apps/math/task_app_entry.py +39 -0
  91. synth_ai-0.4.11/synth_ai/cli/demo_apps/math/__init__.py +1 -0
  92. synth_ai-0.4.11/synth_ai/cli/demo_apps/math/_common.py +16 -0
  93. synth_ai-0.4.11/synth_ai/cli/demo_apps/math/app.py +38 -0
  94. synth_ai-0.4.11/synth_ai/cli/demo_apps/math/config.toml +75 -0
  95. synth_ai-0.4.11/synth_ai/cli/demo_apps/math/deploy_modal.py +54 -0
  96. synth_ai-0.4.11/synth_ai/cli/demo_apps/math/modal_task_app.py +698 -0
  97. synth_ai-0.4.11/synth_ai/cli/demo_apps/math/task_app_entry.py +53 -0
  98. synth_ai-0.4.11/synth_ai/cli/demo_apps/mipro/main.py +271 -0
  99. synth_ai-0.4.11/synth_ai/cli/demo_apps/mipro/task_app.py +911 -0
  100. synth_ai-0.4.11/synth_ai/cli/demo_apps/mipro/train_cfg.toml +92 -0
  101. synth_ai-0.4.11/synth_ai/cli/demos/__init__.py +12 -0
  102. synth_ai-0.4.11/synth_ai/cli/demos/demo.py +32 -0
  103. synth_ai-0.4.11/synth_ai/cli/demos/rl_demo.py +254 -0
  104. synth_ai-0.4.11/synth_ai/cli/deploy.py +216 -0
  105. synth_ai-0.4.11/synth_ai/cli/infra/__init__.py +14 -0
  106. synth_ai-0.4.11/synth_ai/cli/infra/balance.py +216 -0
  107. synth_ai-0.4.11/synth_ai/cli/infra/mcp.py +35 -0
  108. synth_ai-0.4.11/synth_ai/cli/infra/modal_app.py +36 -0
  109. synth_ai-0.4.11/synth_ai/cli/infra/setup.py +69 -0
  110. synth_ai-0.4.11/synth_ai/cli/infra/status.py +16 -0
  111. synth_ai-0.4.11/synth_ai/cli/infra/turso.py +77 -0
  112. synth_ai-0.4.11/synth_ai/cli/lib/__init__.py +10 -0
  113. synth_ai-0.4.11/synth_ai/cli/lib/agents.py +76 -0
  114. synth_ai-0.4.11/synth_ai/cli/lib/apps/modal_app.py +101 -0
  115. synth_ai-0.4.11/synth_ai/cli/lib/apps/task_app.py +673 -0
  116. synth_ai-0.4.11/synth_ai/cli/lib/bin.py +39 -0
  117. synth_ai-0.4.11/synth_ai/cli/lib/env.py +375 -0
  118. synth_ai-0.4.11/synth_ai/cli/lib/errors.py +85 -0
  119. synth_ai-0.4.11/synth_ai/cli/lib/modal.py +315 -0
  120. synth_ai-0.4.11/synth_ai/cli/lib/plotting.py +126 -0
  121. synth_ai-0.4.11/synth_ai/cli/lib/prompt_args.py +39 -0
  122. synth_ai-0.4.11/synth_ai/cli/lib/prompts.py +284 -0
  123. synth_ai-0.4.11/synth_ai/cli/lib/sqld.py +122 -0
  124. synth_ai-0.4.11/synth_ai/cli/lib/task_app_discovery.py +884 -0
  125. synth_ai-0.4.11/synth_ai/cli/lib/task_app_env.py +295 -0
  126. synth_ai-0.4.11/synth_ai/cli/lib/train_cfgs.py +299 -0
  127. synth_ai-0.4.11/synth_ai/cli/lib/tunnel_records.py +207 -0
  128. synth_ai-0.4.11/synth_ai/cli/local/__init__.py +14 -0
  129. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/__init__.py +72 -0
  130. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/api_schemas.py +221 -0
  131. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/celery_app.py +208 -0
  132. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/config.py +128 -0
  133. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/config_utils.py +272 -0
  134. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/database.py +175 -0
  135. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/dispatcher.py +119 -0
  136. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/models.py +231 -0
  137. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/progress_info.py +160 -0
  138. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/results.py +373 -0
  139. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/schemas.py +131 -0
  140. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/service.py +344 -0
  141. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/status.py +372 -0
  142. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/status_tracker.py +360 -0
  143. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/tasks.py +1984 -0
  144. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/trace_storage.py +65 -0
  145. synth_ai-0.4.11/synth_ai/cli/local/experiment_queue/validation.py +157 -0
  146. synth_ai-0.4.11/synth_ai/cli/local/session/__init__.py +92 -0
  147. synth_ai-0.4.11/synth_ai/cli/local/session/client.py +383 -0
  148. synth_ai-0.4.11/synth_ai/cli/local/session/constants.py +63 -0
  149. synth_ai-0.4.11/synth_ai/cli/local/session/exceptions.py +105 -0
  150. synth_ai-0.4.11/synth_ai/cli/local/session/manager.py +139 -0
  151. synth_ai-0.4.11/synth_ai/cli/local/session/models.py +89 -0
  152. synth_ai-0.4.11/synth_ai/cli/local/session/query.py +110 -0
  153. synth_ai-0.4.11/synth_ai/cli/root.py +349 -0
  154. synth_ai-0.4.11/synth_ai/cli/task_apps/__init__.py +37 -0
  155. synth_ai-0.4.11/synth_ai/cli/task_apps/commands.py +3145 -0
  156. synth_ai-0.4.11/synth_ai/cli/task_apps/deploy.py +7 -0
  157. synth_ai-0.4.11/synth_ai/cli/task_apps/list.py +26 -0
  158. synth_ai-0.4.11/synth_ai/cli/task_apps/main.py +36 -0
  159. synth_ai-0.4.11/synth_ai/cli/task_apps/modal_serve.py +11 -0
  160. synth_ai-0.4.11/synth_ai/cli/task_apps/serve.py +11 -0
  161. synth_ai-0.4.11/synth_ai/cli/training/__init__.py +8 -0
  162. synth_ai-0.4.11/synth_ai/cli/training/train.py +5 -0
  163. synth_ai-0.4.11/synth_ai/cli/training/train_cfg.py +34 -0
  164. synth_ai-0.4.11/synth_ai/cli/training/watch.py +506 -0
  165. synth_ai-0.4.11/synth_ai/cli/turso.py +52 -0
  166. synth_ai-0.4.11/synth_ai/cli/utils/__init__.py +8 -0
  167. synth_ai-0.4.11/synth_ai/cli/utils/experiments.py +235 -0
  168. synth_ai-0.4.11/synth_ai/cli/utils/queue.py +504 -0
  169. synth_ai-0.4.11/synth_ai/cli/utils/recent.py +133 -0
  170. synth_ai-0.4.11/synth_ai/cli/utils/traces.py +164 -0
  171. synth_ai-0.4.11/synth_ai/contracts/__init__.py +67 -0
  172. synth_ai-0.4.11/synth_ai/core/__init__.py +100 -0
  173. synth_ai-0.4.11/synth_ai/core/_utils/__init__.py +54 -0
  174. synth_ai-0.4.11/synth_ai/core/_utils/base_url.py +10 -0
  175. synth_ai-0.4.11/synth_ai/core/_utils/http.py +10 -0
  176. synth_ai-0.4.11/synth_ai/core/_utils/prompts.py +14 -0
  177. synth_ai-0.4.11/synth_ai/core/_utils/task_app_state.py +12 -0
  178. synth_ai-0.4.11/synth_ai/core/_utils/user_config.py +10 -0
  179. synth_ai-0.4.11/synth_ai/core/apps/common.py +116 -0
  180. synth_ai-0.4.11/synth_ai/core/auth.py +95 -0
  181. synth_ai-0.4.11/synth_ai/core/cfgs.py +240 -0
  182. synth_ai-0.4.11/synth_ai/core/config/__init__.py +16 -0
  183. synth_ai-0.4.11/synth_ai/core/config/base.py +168 -0
  184. synth_ai-0.4.11/synth_ai/core/config/resolver.py +89 -0
  185. synth_ai-0.4.11/synth_ai/core/env.py +286 -0
  186. synth_ai-0.4.11/synth_ai/core/errors.py +125 -0
  187. synth_ai-0.4.11/synth_ai/core/http.py +230 -0
  188. synth_ai-0.4.11/synth_ai/core/integrations/__init__.py +11 -0
  189. synth_ai-0.4.11/synth_ai/core/integrations/cloudflare.py +2113 -0
  190. synth_ai-0.4.11/synth_ai/core/integrations/mcp/__init__.py +6 -0
  191. synth_ai-0.4.11/synth_ai/core/integrations/mcp/__main__.py +8 -0
  192. synth_ai-0.4.11/synth_ai/core/integrations/mcp/claude.py +36 -0
  193. synth_ai-0.4.11/synth_ai/core/integrations/mcp/main.py +254 -0
  194. synth_ai-0.4.11/synth_ai/core/integrations/mcp/setup.py +100 -0
  195. synth_ai-0.4.11/synth_ai/core/integrations/modal.py +280 -0
  196. synth_ai-0.4.11/synth_ai/core/json.py +72 -0
  197. synth_ai-0.4.11/synth_ai/core/log_filter.py +99 -0
  198. synth_ai-0.4.11/synth_ai/core/logging.py +82 -0
  199. synth_ai-0.4.11/synth_ai/core/paths.py +128 -0
  200. synth_ai-0.4.11/synth_ai/core/pricing.py +115 -0
  201. synth_ai-0.4.11/synth_ai/core/process.py +233 -0
  202. synth_ai-0.4.11/synth_ai/core/ssl.py +25 -0
  203. synth_ai-0.4.11/synth_ai/core/storage/__init__.py +71 -0
  204. synth_ai-0.4.11/synth_ai/core/task_app_state.py +318 -0
  205. synth_ai-0.4.11/synth_ai/core/telemetry.py +282 -0
  206. synth_ai-0.4.11/synth_ai/core/tracing_v3/__init__.py +103 -0
  207. synth_ai-0.4.11/synth_ai/core/tracing_v3/abstractions.py +348 -0
  208. synth_ai-0.4.11/synth_ai/core/tracing_v3/config.py +229 -0
  209. synth_ai-0.4.11/synth_ai/core/tracing_v3/constants.py +21 -0
  210. synth_ai-0.4.11/synth_ai/core/tracing_v3/db_config.py +182 -0
  211. synth_ai-0.4.11/synth_ai/core/tracing_v3/decorators.py +401 -0
  212. synth_ai-0.4.11/synth_ai/core/tracing_v3/examples/basic_usage.py +194 -0
  213. synth_ai-0.4.11/synth_ai/core/tracing_v3/hooks.py +232 -0
  214. synth_ai-0.4.11/synth_ai/core/tracing_v3/llm_call_record_helpers.py +437 -0
  215. synth_ai-0.4.11/synth_ai/core/tracing_v3/migration_helper.py +119 -0
  216. synth_ai-0.4.11/synth_ai/core/tracing_v3/replica_sync.py +262 -0
  217. synth_ai-0.4.11/synth_ai/core/tracing_v3/serialization.py +130 -0
  218. synth_ai-0.4.11/synth_ai/core/tracing_v3/session_tracer.py +644 -0
  219. synth_ai-0.4.11/synth_ai/core/tracing_v3/storage/base.py +213 -0
  220. synth_ai-0.4.11/synth_ai/core/tracing_v3/storage/config.py +109 -0
  221. synth_ai-0.4.11/synth_ai/core/tracing_v3/storage/factory.py +39 -0
  222. synth_ai-0.4.11/synth_ai/core/tracing_v3/storage/utils.py +206 -0
  223. synth_ai-0.4.11/synth_ai/core/tracing_v3/trace_utils.py +348 -0
  224. synth_ai-0.4.11/synth_ai/core/tracing_v3/turso/__init__.py +12 -0
  225. synth_ai-0.4.11/synth_ai/core/tracing_v3/turso/daemon.py +278 -0
  226. synth_ai-0.4.11/synth_ai/core/tracing_v3/turso/models.py +474 -0
  227. synth_ai-0.4.11/synth_ai/core/tracing_v3/turso/native_manager.py +1427 -0
  228. synth_ai-0.4.11/synth_ai/core/tracing_v3/utils.py +108 -0
  229. synth_ai-0.4.11/synth_ai/core/urls.py +18 -0
  230. synth_ai-0.4.11/synth_ai/core/user_config.py +137 -0
  231. synth_ai-0.4.11/synth_ai/core/uvicorn.py +222 -0
  232. synth_ai-0.4.11/synth_ai/data/__init__.py +134 -0
  233. synth_ai-0.4.11/synth_ai/data/enums.py +200 -0
  234. synth_ai-0.4.11/synth_ai/data/judgements.py +40 -0
  235. synth_ai-0.4.11/synth_ai/data/objectives.py +97 -0
  236. synth_ai-0.4.11/synth_ai/data/objectives_compat.py +228 -0
  237. synth_ai-0.4.11/synth_ai/data/rewards.py +222 -0
  238. synth_ai-0.4.11/synth_ai/data/traces.py +35 -0
  239. synth_ai-0.4.11/synth_ai/products/__init__.py +6 -0
  240. synth_ai-0.4.11/synth_ai/products/graph_evolve/__init__.py +45 -0
  241. synth_ai-0.4.11/synth_ai/products/graph_evolve/client.py +226 -0
  242. synth_ai-0.4.11/synth_ai/products/graph_evolve/config.py +621 -0
  243. synth_ai-0.4.11/synth_ai/products/graph_evolve/converters/__init__.py +42 -0
  244. synth_ai-0.4.11/synth_ai/products/graph_evolve/converters/openai_sft.py +484 -0
  245. synth_ai-0.4.11/synth_ai/products/graph_evolve/examples/hotpotqa/config.toml +109 -0
  246. synth_ai-0.4.11/synth_ai/products/graph_evolve/run.py +222 -0
  247. synth_ai-0.4.11/synth_ai/products/graph_gepa/__init__.py +23 -0
  248. synth_ai-0.4.11/synth_ai/products/graph_gepa/converters/__init__.py +19 -0
  249. synth_ai-0.4.11/synth_ai/products/graph_gepa/converters/openai_sft.py +29 -0
  250. synth_ai-0.4.11/synth_ai/sdk/__init__.py +132 -0
  251. synth_ai-0.4.11/synth_ai/sdk/api/__init__.py +6 -0
  252. synth_ai-0.4.11/synth_ai/sdk/api/eval/__init__.py +33 -0
  253. synth_ai-0.4.11/synth_ai/sdk/api/eval/job.py +729 -0
  254. synth_ai-0.4.11/synth_ai/sdk/api/models/supported.py +514 -0
  255. synth_ai-0.4.11/synth_ai/sdk/api/ontology/__init__.py +36 -0
  256. synth_ai-0.4.11/synth_ai/sdk/api/ontology/client.py +480 -0
  257. synth_ai-0.4.11/synth_ai/sdk/api/research_agent/__init__.py +296 -0
  258. synth_ai-0.4.11/synth_ai/sdk/api/train/__init__.py +85 -0
  259. synth_ai-0.4.11/synth_ai/sdk/api/train/builders.py +1077 -0
  260. synth_ai-0.4.11/synth_ai/sdk/api/train/cli.py +2228 -0
  261. synth_ai-0.4.11/synth_ai/sdk/api/train/config_finder.py +267 -0
  262. synth_ai-0.4.11/synth_ai/sdk/api/train/configs/__init__.py +67 -0
  263. synth_ai-0.4.11/synth_ai/sdk/api/train/configs/prompt_learning.py +1919 -0
  264. synth_ai-0.4.11/synth_ai/sdk/api/train/configs/rl.py +436 -0
  265. synth_ai-0.4.11/synth_ai/sdk/api/train/configs/sft.py +263 -0
  266. synth_ai-0.4.11/synth_ai/sdk/api/train/configs/shared.py +81 -0
  267. synth_ai-0.4.11/synth_ai/sdk/api/train/context_learning.py +312 -0
  268. synth_ai-0.4.11/synth_ai/sdk/api/train/env_resolver.py +418 -0
  269. synth_ai-0.4.11/synth_ai/sdk/api/train/graph_validators.py +235 -0
  270. synth_ai-0.4.11/synth_ai/sdk/api/train/graphgen.py +895 -0
  271. synth_ai-0.4.11/synth_ai/sdk/api/train/graphgen_models.py +956 -0
  272. synth_ai-0.4.11/synth_ai/sdk/api/train/graphgen_validators.py +119 -0
  273. synth_ai-0.4.11/synth_ai/sdk/api/train/local_api.py +10 -0
  274. synth_ai-0.4.11/synth_ai/sdk/api/train/pollers.py +160 -0
  275. synth_ai-0.4.11/synth_ai/sdk/api/train/progress/__init__.py +97 -0
  276. synth_ai-0.4.11/synth_ai/sdk/api/train/progress/dataclasses.py +617 -0
  277. synth_ai-0.4.11/synth_ai/sdk/api/train/progress/events.py +359 -0
  278. synth_ai-0.4.11/synth_ai/sdk/api/train/progress/results.py +472 -0
  279. synth_ai-0.4.11/synth_ai/sdk/api/train/progress/tracker.py +645 -0
  280. synth_ai-0.4.11/synth_ai/sdk/api/train/prompt_learning.py +807 -0
  281. synth_ai-0.4.11/synth_ai/sdk/api/train/rl.py +480 -0
  282. synth_ai-0.4.11/synth_ai/sdk/api/train/sft.py +393 -0
  283. synth_ai-0.4.11/synth_ai/sdk/api/train/summary.py +533 -0
  284. synth_ai-0.4.11/synth_ai/sdk/api/train/supported_algos.py +147 -0
  285. synth_ai-0.4.11/synth_ai/sdk/api/train/task_app.py +494 -0
  286. synth_ai-0.4.11/synth_ai/sdk/api/train/utils.py +279 -0
  287. synth_ai-0.4.11/synth_ai/sdk/api/train/validators.py +2436 -0
  288. synth_ai-0.4.11/synth_ai/sdk/graphs/__init__.py +15 -0
  289. synth_ai-0.4.11/synth_ai/sdk/graphs/completions.py +776 -0
  290. synth_ai-0.4.11/synth_ai/sdk/graphs/verifier_schemas.py +296 -0
  291. synth_ai-0.4.11/synth_ai/sdk/inference/__init__.py +6 -0
  292. synth_ai-0.4.11/synth_ai/sdk/inference/client.py +128 -0
  293. synth_ai-0.4.11/synth_ai/sdk/jobs/__init__.py +16 -0
  294. synth_ai-0.4.11/synth_ai/sdk/jobs/client.py +371 -0
  295. synth_ai-0.4.11/synth_ai/sdk/learning/__init__.py +99 -0
  296. synth_ai-0.4.11/synth_ai/sdk/learning/algorithms.py +14 -0
  297. synth_ai-0.4.11/synth_ai/sdk/learning/client.py +240 -0
  298. synth_ai-0.4.11/synth_ai/sdk/learning/config.py +5 -0
  299. synth_ai-0.4.11/synth_ai/sdk/learning/constants.py +27 -0
  300. synth_ai-0.4.11/synth_ai/sdk/learning/context_learning_client.py +531 -0
  301. synth_ai-0.4.11/synth_ai/sdk/learning/context_learning_types.py +302 -0
  302. synth_ai-0.4.11/synth_ai/sdk/learning/ft_client.py +7 -0
  303. synth_ai-0.4.11/synth_ai/sdk/learning/health.py +49 -0
  304. synth_ai-0.4.11/synth_ai/sdk/learning/jobs.py +202 -0
  305. synth_ai-0.4.11/synth_ai/sdk/learning/prompt_extraction.py +334 -0
  306. synth_ai-0.4.11/synth_ai/sdk/learning/prompt_learning_client.py +508 -0
  307. synth_ai-0.4.11/synth_ai/sdk/learning/prompt_learning_types.py +214 -0
  308. synth_ai-0.4.11/synth_ai/sdk/learning/rl/__init__.py +35 -0
  309. synth_ai-0.4.11/synth_ai/sdk/learning/rl/client.py +268 -0
  310. synth_ai-0.4.11/synth_ai/sdk/learning/rl/config.py +31 -0
  311. synth_ai-0.4.11/synth_ai/sdk/learning/rl/contracts.py +23 -0
  312. synth_ai-0.4.11/synth_ai/sdk/learning/rl/env_keys.py +15 -0
  313. synth_ai-0.4.11/synth_ai/sdk/learning/rl/secrets.py +7 -0
  314. synth_ai-0.4.11/synth_ai/sdk/learning/rl_client.py +5 -0
  315. synth_ai-0.4.11/synth_ai/sdk/learning/sft/__init__.py +29 -0
  316. synth_ai-0.4.11/synth_ai/sdk/learning/sft/client.py +95 -0
  317. synth_ai-0.4.11/synth_ai/sdk/learning/sft/config.py +270 -0
  318. synth_ai-0.4.11/synth_ai/sdk/learning/sft/data.py +698 -0
  319. synth_ai-0.4.11/synth_ai/sdk/learning/sse.py +57 -0
  320. synth_ai-0.4.11/synth_ai/sdk/learning/validators.py +52 -0
  321. synth_ai-0.4.11/synth_ai/sdk/localapi/__init__.py +85 -0
  322. synth_ai-0.4.11/synth_ai/sdk/localapi/apps/__init__.py +28 -0
  323. synth_ai-0.4.11/synth_ai/sdk/localapi/auth.py +391 -0
  324. synth_ai-0.4.11/synth_ai/sdk/localapi/client.py +10 -0
  325. synth_ai-0.4.11/synth_ai/sdk/localapi/contracts.py +10 -0
  326. synth_ai-0.4.11/synth_ai/sdk/localapi/helpers.py +519 -0
  327. synth_ai-0.4.11/synth_ai/sdk/localapi/rollouts.py +93 -0
  328. synth_ai-0.4.11/synth_ai/sdk/localapi/server.py +29 -0
  329. synth_ai-0.4.11/synth_ai/sdk/localapi/template.py +50 -0
  330. synth_ai-0.4.11/synth_ai/sdk/streaming/__init__.py +35 -0
  331. synth_ai-0.4.11/synth_ai/sdk/streaming/config.py +94 -0
  332. synth_ai-0.4.11/synth_ai/sdk/streaming/handlers.py +2023 -0
  333. synth_ai-0.4.11/synth_ai/sdk/streaming/streamer.py +708 -0
  334. synth_ai-0.4.11/synth_ai/sdk/streaming/types.py +112 -0
  335. synth_ai-0.4.11/synth_ai/sdk/task/__init__.py +182 -0
  336. synth_ai-0.4.11/synth_ai/sdk/task/apps/__init__.py +169 -0
  337. synth_ai-0.4.11/synth_ai/sdk/task/auth.py +165 -0
  338. synth_ai-0.4.11/synth_ai/sdk/task/client.py +175 -0
  339. synth_ai-0.4.11/synth_ai/sdk/task/config.py +263 -0
  340. synth_ai-0.4.11/synth_ai/sdk/task/contracts.py +373 -0
  341. synth_ai-0.4.11/synth_ai/sdk/task/datasets.py +108 -0
  342. synth_ai-0.4.11/synth_ai/sdk/task/errors.py +50 -0
  343. synth_ai-0.4.11/synth_ai/sdk/task/health.py +34 -0
  344. synth_ai-0.4.11/synth_ai/sdk/task/in_process.py +1202 -0
  345. synth_ai-0.4.11/synth_ai/sdk/task/in_process_runner.py +314 -0
  346. synth_ai-0.4.11/synth_ai/sdk/task/inference_api.py +299 -0
  347. synth_ai-0.4.11/synth_ai/sdk/task/json.py +111 -0
  348. synth_ai-0.4.11/synth_ai/sdk/task/llm_call_guards.py +214 -0
  349. synth_ai-0.4.11/synth_ai/sdk/task/localapi_template.py +235 -0
  350. synth_ai-0.4.11/synth_ai/sdk/task/proxy.py +287 -0
  351. synth_ai-0.4.11/synth_ai/sdk/task/rollout_helpers.py +65 -0
  352. synth_ai-0.4.11/synth_ai/sdk/task/rubrics/__init__.py +54 -0
  353. synth_ai-0.4.11/synth_ai/sdk/task/rubrics/loaders.py +156 -0
  354. synth_ai-0.4.11/synth_ai/sdk/task/rubrics/models.py +57 -0
  355. synth_ai-0.4.11/synth_ai/sdk/task/rubrics/scoring.py +116 -0
  356. synth_ai-0.4.11/synth_ai/sdk/task/rubrics/strict.py +148 -0
  357. synth_ai-0.4.11/synth_ai/sdk/task/rubrics.py +219 -0
  358. synth_ai-0.4.11/synth_ai/sdk/task/server.py +649 -0
  359. synth_ai-0.4.11/synth_ai/sdk/task/trace_correlation_helpers.py +540 -0
  360. synth_ai-0.4.11/synth_ai/sdk/task/tracing_utils.py +95 -0
  361. synth_ai-0.4.11/synth_ai/sdk/task/validators.py +443 -0
  362. synth_ai-0.4.11/synth_ai/sdk/task/vendors.py +59 -0
  363. synth_ai-0.4.11/synth_ai/sdk/training/__init__.py +93 -0
  364. synth_ai-0.4.11/synth_ai/sdk/tunnels/__init__.py +196 -0
  365. synth_ai-0.4.11/synth_ai/sdk/tunnels/cleanup.py +83 -0
  366. synth_ai-0.4.11/synth_ai/sdk/tunnels/ports.py +224 -0
  367. synth_ai-0.4.11/synth_ai/sdk/tunnels/tunneled_api.py +445 -0
  368. synth_ai-0.4.11/synth_ai/tui/__init__.py +5 -0
  369. synth_ai-0.4.11/synth_ai/tui/app/bunfig.toml +2 -0
  370. synth_ai-0.4.11/synth_ai/tui/app/node_modules/@opencode/tui/bunfig.toml +7 -0
  371. synth_ai-0.4.11/synth_ai/tui/app/package.dist.json +34 -0
  372. synth_ai-0.4.11/synth_ai/tui/app/package.json +80 -0
  373. synth_ai-0.4.11/synth_ai/tui/app/src/api/client.ts +99 -0
  374. synth_ai-0.4.11/synth_ai/tui/app/src/api/events.ts +229 -0
  375. synth_ai-0.4.11/synth_ai/tui/app/src/api/identity.ts +52 -0
  376. synth_ai-0.4.11/synth_ai/tui/app/src/api/index.ts +10 -0
  377. synth_ai-0.4.11/synth_ai/tui/app/src/api/jobs-stream.ts +135 -0
  378. synth_ai-0.4.11/synth_ai/tui/app/src/api/jobs.ts +279 -0
  379. synth_ai-0.4.11/synth_ai/tui/app/src/api/opencode.ts +289 -0
  380. synth_ai-0.4.11/synth_ai/tui/app/src/api/sessions.ts +133 -0
  381. synth_ai-0.4.11/synth_ai/tui/app/src/api/tunnels.ts +158 -0
  382. synth_ai-0.4.11/synth_ai/tui/app/src/auth.ts +190 -0
  383. synth_ai-0.4.11/synth_ai/tui/app/src/components/error-box.ts +237 -0
  384. synth_ai-0.4.11/synth_ai/tui/app/src/components/index.ts +7 -0
  385. synth_ai-0.4.11/synth_ai/tui/app/src/components/key-hint.ts +22 -0
  386. synth_ai-0.4.11/synth_ai/tui/app/src/components/layout.ts +463 -0
  387. synth_ai-0.4.11/synth_ai/tui/app/src/context.ts +52 -0
  388. synth_ai-0.4.11/synth_ai/tui/app/src/focus.ts +92 -0
  389. synth_ai-0.4.11/synth_ai/tui/app/src/formatters/events.ts +82 -0
  390. synth_ai-0.4.11/synth_ai/tui/app/src/formatters/index.ts +9 -0
  391. synth_ai-0.4.11/synth_ai/tui/app/src/formatters/job-details.ts +180 -0
  392. synth_ai-0.4.11/synth_ai/tui/app/src/formatters/metrics.ts +37 -0
  393. synth_ai-0.4.11/synth_ai/tui/app/src/formatters/results.ts +719 -0
  394. synth_ai-0.4.11/synth_ai/tui/app/src/formatters/time.ts +62 -0
  395. synth_ai-0.4.11/synth_ai/tui/app/src/handlers/index.ts +6 -0
  396. synth_ai-0.4.11/synth_ai/tui/app/src/handlers/keyboard.ts +154 -0
  397. synth_ai-0.4.11/synth_ai/tui/app/src/index.ts +24 -0
  398. synth_ai-0.4.11/synth_ai/tui/app/src/lifecycle/index.ts +12 -0
  399. synth_ai-0.4.11/synth_ai/tui/app/src/lifecycle/shutdown.ts +158 -0
  400. synth_ai-0.4.11/synth_ai/tui/app/src/login_modal.ts +260 -0
  401. synth_ai-0.4.11/synth_ai/tui/app/src/modals/base.ts +280 -0
  402. synth_ai-0.4.11/synth_ai/tui/app/src/modals/config-modal.ts +179 -0
  403. synth_ai-0.4.11/synth_ai/tui/app/src/modals/create-job-modal.ts +758 -0
  404. synth_ai-0.4.11/synth_ai/tui/app/src/modals/env-key-modal.ts +213 -0
  405. synth_ai-0.4.11/synth_ai/tui/app/src/modals/event-modal.ts +113 -0
  406. synth_ai-0.4.11/synth_ai/tui/app/src/modals/filter-modal.ts +84 -0
  407. synth_ai-0.4.11/synth_ai/tui/app/src/modals/index.ts +20 -0
  408. synth_ai-0.4.11/synth_ai/tui/app/src/modals/job-filter-modal.ts +170 -0
  409. synth_ai-0.4.11/synth_ai/tui/app/src/modals/key-modal.ts +131 -0
  410. synth_ai-0.4.11/synth_ai/tui/app/src/modals/log-file-modal.ts +166 -0
  411. synth_ai-0.4.11/synth_ai/tui/app/src/modals/profile-modal.ts +73 -0
  412. synth_ai-0.4.11/synth_ai/tui/app/src/modals/sessions-modal.ts +480 -0
  413. synth_ai-0.4.11/synth_ai/tui/app/src/modals/settings-modal.ts +199 -0
  414. synth_ai-0.4.11/synth_ai/tui/app/src/modals/snapshot-modal.ts +104 -0
  415. synth_ai-0.4.11/synth_ai/tui/app/src/modals/task-apps-modal.ts +199 -0
  416. synth_ai-0.4.11/synth_ai/tui/app/src/modals/urls-modal.ts +67 -0
  417. synth_ai-0.4.11/synth_ai/tui/app/src/modals/usage-modal.ts +306 -0
  418. synth_ai-0.4.11/synth_ai/tui/app/src/persistence/index.ts +5 -0
  419. synth_ai-0.4.11/synth_ai/tui/app/src/persistence/settings.ts +120 -0
  420. synth_ai-0.4.11/synth_ai/tui/app/src/selectors/index.ts +6 -0
  421. synth_ai-0.4.11/synth_ai/tui/app/src/selectors/jobs.ts +38 -0
  422. synth_ai-0.4.11/synth_ai/tui/app/src/solid/api/index.ts +7 -0
  423. synth_ai-0.4.11/synth_ai/tui/app/src/solid/api/job-details-stream.ts +138 -0
  424. synth_ai-0.4.11/synth_ai/tui/app/src/solid/api/useJobDetailsStream.ts +64 -0
  425. synth_ai-0.4.11/synth_ai/tui/app/src/solid/app.tsx +2788 -0
  426. synth_ai-0.4.11/synth_ai/tui/app/src/solid/components/KeyHint.tsx +21 -0
  427. synth_ai-0.4.11/synth_ai/tui/app/src/solid/context.ts +20 -0
  428. synth_ai-0.4.11/synth_ai/tui/app/src/solid/data.ts +151 -0
  429. synth_ai-0.4.11/synth_ai/tui/app/src/solid/formatters/job-card.ts +32 -0
  430. synth_ai-0.4.11/synth_ai/tui/app/src/solid/formatters/job-details.ts +5 -0
  431. synth_ai-0.4.11/synth_ai/tui/app/src/solid/formatters/metrics.ts +4 -0
  432. synth_ai-0.4.11/synth_ai/tui/app/src/solid/formatters/results.ts +4 -0
  433. synth_ai-0.4.11/synth_ai/tui/app/src/solid/formatters/time.ts +96 -0
  434. synth_ai-0.4.11/synth_ai/tui/app/src/solid/layout.ts +55 -0
  435. synth_ai-0.4.11/synth_ai/tui/app/src/solid/modals/CandidatesModal.tsx +433 -0
  436. synth_ai-0.4.11/synth_ai/tui/app/src/solid/modals/CreateJobModal.tsx +490 -0
  437. synth_ai-0.4.11/synth_ai/tui/app/src/solid/opencode/ChatPane.tsx +751 -0
  438. synth_ai-0.4.11/synth_ai/tui/app/src/solid/opencode/client.ts +34 -0
  439. synth_ai-0.4.11/synth_ai/tui/app/src/solid/opencode/index.ts +7 -0
  440. synth_ai-0.4.11/synth_ai/tui/app/src/solid/services/deployment.ts +193 -0
  441. synth_ai-0.4.11/synth_ai/tui/app/src/solid/services/file-creation.ts +97 -0
  442. synth_ai-0.4.11/synth_ai/tui/app/src/solid/templates/localapi.ts +235 -0
  443. synth_ai-0.4.11/synth_ai/tui/app/src/solid/theme.ts +36 -0
  444. synth_ai-0.4.11/synth_ai/tui/app/src/solid/ui/detail-panels/JobsDetail.tsx +204 -0
  445. synth_ai-0.4.11/synth_ai/tui/app/src/solid/ui/detail-panels/LogsDetail.tsx +37 -0
  446. synth_ai-0.4.11/synth_ai/tui/app/src/solid/ui/list-panels/JobsList.tsx +147 -0
  447. synth_ai-0.4.11/synth_ai/tui/app/src/solid/ui/list-panels/LogsList.tsx +107 -0
  448. synth_ai-0.4.11/synth_ai/tui/app/src/solid/utils/files.ts +72 -0
  449. synth_ai-0.4.11/synth_ai/tui/app/src/solid/utils/job-status.ts +44 -0
  450. synth_ai-0.4.11/synth_ai/tui/app/src/solid/utils/localapi-scanner.ts +74 -0
  451. synth_ai-0.4.11/synth_ai/tui/app/src/state/app-state.ts +191 -0
  452. synth_ai-0.4.11/synth_ai/tui/app/src/state/index.ts +7 -0
  453. synth_ai-0.4.11/synth_ai/tui/app/src/state/polling.ts +52 -0
  454. synth_ai-0.4.11/synth_ai/tui/app/src/state/snapshot.ts +53 -0
  455. synth_ai-0.4.11/synth_ai/tui/app/src/templates/localapi.ts +233 -0
  456. synth_ai-0.4.11/synth_ai/tui/app/src/tui_data.ts +147 -0
  457. synth_ai-0.4.11/synth_ai/tui/app/src/types/opencode.d.ts +34 -0
  458. synth_ai-0.4.11/synth_ai/tui/app/src/types.ts +199 -0
  459. synth_ai-0.4.11/synth_ai/tui/app/src/ui/events.ts +151 -0
  460. synth_ai-0.4.11/synth_ai/tui/app/src/ui/footer.ts +48 -0
  461. synth_ai-0.4.11/synth_ai/tui/app/src/ui/index.ts +10 -0
  462. synth_ai-0.4.11/synth_ai/tui/app/src/ui/logs.ts +193 -0
  463. synth_ai-0.4.11/synth_ai/tui/app/src/ui/opencode.ts +275 -0
  464. synth_ai-0.4.11/synth_ai/tui/app/src/ui/panes.ts +310 -0
  465. synth_ai-0.4.11/synth_ai/tui/app/src/ui/render.ts +74 -0
  466. synth_ai-0.4.11/synth_ai/tui/app/src/ui/status.ts +19 -0
  467. synth_ai-0.4.11/synth_ai/tui/app/src/utils/clipboard.ts +26 -0
  468. synth_ai-0.4.11/synth_ai/tui/app/src/utils/env.ts +172 -0
  469. synth_ai-0.4.11/synth_ai/tui/app/src/utils/files.ts +71 -0
  470. synth_ai-0.4.11/synth_ai/tui/app/src/utils/index.ts +10 -0
  471. synth_ai-0.4.11/synth_ai/tui/app/src/utils/job.ts +19 -0
  472. synth_ai-0.4.11/synth_ai/tui/app/src/utils/localapi-scanner.ts +53 -0
  473. synth_ai-0.4.11/synth_ai/tui/app/src/utils/log.ts +14 -0
  474. synth_ai-0.4.11/synth_ai/tui/app/src/utils/logout-marker.ts +81 -0
  475. synth_ai-0.4.11/synth_ai/tui/app/src/utils/opencode-server.ts +226 -0
  476. synth_ai-0.4.11/synth_ai/tui/app/src/utils/truncate.ts +84 -0
  477. synth_ai-0.4.11/synth_ai/tui/app/tsconfig.json +20 -0
  478. synth_ai-0.4.11/synth_ai/tui/app/tsconfig.typecheck.json +9 -0
  479. synth_ai-0.4.11/synth_ai/tui/deploy.py +492 -0
  480. synth_ai-0.4.11/synth_ai/tui/eval_job.py +125 -0
  481. synth_ai-0.4.11/synth_ai/tui/launcher.py +122 -0
  482. synth_ai-0.4.11/synth_ai/utils/__init__.py +213 -0
  483. synth_ai-0.4.11/synth_ai.egg-info/PKG-INFO +245 -0
  484. synth_ai-0.4.11/synth_ai.egg-info/SOURCES.txt +497 -0
  485. synth_ai-0.4.11/synth_ai.egg-info/entry_points.txt +2 -0
  486. synth_ai-0.4.11/synth_ai.egg-info/requires.txt +74 -0
  487. synth_ai-0.2.6.dev5/MANIFEST.in +0 -31
  488. synth_ai-0.2.6.dev5/PKG-INFO +0 -106
  489. synth_ai-0.2.6.dev5/README.md +0 -33
  490. synth_ai-0.2.6.dev5/pyproject.toml +0 -198
  491. synth_ai-0.2.6.dev5/synth_ai/__init__.py +0 -36
  492. synth_ai-0.2.6.dev5/synth_ai/__main__.py +0 -9
  493. synth_ai-0.2.6.dev5/synth_ai/cli/__init__.py +0 -77
  494. synth_ai-0.2.6.dev5/synth_ai/cli/balance.py +0 -198
  495. synth_ai-0.2.6.dev5/synth_ai/cli/calc.py +0 -69
  496. synth_ai-0.2.6.dev5/synth_ai/cli/demo.py +0 -131
  497. synth_ai-0.2.6.dev5/synth_ai/cli/legacy_root_backup.py +0 -470
  498. synth_ai-0.2.6.dev5/synth_ai/cli/man.py +0 -106
  499. synth_ai-0.2.6.dev5/synth_ai/cli/recent.py +0 -127
  500. synth_ai-0.2.6.dev5/synth_ai/cli/rl_demo.py +0 -156
  501. synth_ai-0.2.6.dev5/synth_ai/cli/root.py +0 -294
  502. synth_ai-0.2.6.dev5/synth_ai/cli/status.py +0 -133
  503. synth_ai-0.2.6.dev5/synth_ai/cli/traces.py +0 -160
  504. synth_ai-0.2.6.dev5/synth_ai/cli/watch.py +0 -511
  505. synth_ai-0.2.6.dev5/synth_ai/config/base_url.py +0 -98
  506. synth_ai-0.2.6.dev5/synth_ai/core/experiment.py +0 -15
  507. synth_ai-0.2.6.dev5/synth_ai/core/system.py +0 -15
  508. synth_ai-0.2.6.dev5/synth_ai/demos/core/__init__.py +0 -1
  509. synth_ai-0.2.6.dev5/synth_ai/demos/core/cli.py +0 -1055
  510. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/__init__.py +0 -1
  511. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/core.py +0 -374
  512. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/math/_common.py +0 -17
  513. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/math/app.py +0 -37
  514. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/math/config.toml +0 -44
  515. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/math/deploy_modal.py +0 -60
  516. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/math/deploy_task_app.sh +0 -22
  517. synth_ai-0.2.6.dev5/synth_ai/demos/demo_task_apps/math/modal_task_app.py +0 -415
  518. synth_ai-0.2.6.dev5/synth_ai/environments/__init__.py +0 -31
  519. synth_ai-0.2.6.dev5/synth_ai/environments/environment/__init__.py +0 -1
  520. synth_ai-0.2.6.dev5/synth_ai/environments/environment/artifacts/__init__.py +0 -1
  521. synth_ai-0.2.6.dev5/synth_ai/environments/environment/artifacts/base.py +0 -52
  522. synth_ai-0.2.6.dev5/synth_ai/environments/environment/core.py +0 -67
  523. synth_ai-0.2.6.dev5/synth_ai/environments/environment/db/__init__.py +0 -1
  524. synth_ai-0.2.6.dev5/synth_ai/environments/environment/db/sqlite.py +0 -45
  525. synth_ai-0.2.6.dev5/synth_ai/environments/environment/registry.py +0 -233
  526. synth_ai-0.2.6.dev5/synth_ai/environments/environment/resources/sqlite.py +0 -45
  527. synth_ai-0.2.6.dev5/synth_ai/environments/environment/results.py +0 -1
  528. synth_ai-0.2.6.dev5/synth_ai/environments/environment/rewards/__init__.py +0 -1
  529. synth_ai-0.2.6.dev5/synth_ai/environments/environment/rewards/core.py +0 -29
  530. synth_ai-0.2.6.dev5/synth_ai/environments/environment/shared_engine.py +0 -26
  531. synth_ai-0.2.6.dev5/synth_ai/environments/environment/tools/__init__.py +0 -200
  532. synth_ai-0.2.6.dev5/synth_ai/environments/examples/__init__.py +0 -1
  533. synth_ai-0.2.6.dev5/synth_ai/environments/examples/bandit/__init__.py +0 -33
  534. synth_ai-0.2.6.dev5/synth_ai/environments/examples/bandit/engine.py +0 -294
  535. synth_ai-0.2.6.dev5/synth_ai/environments/examples/bandit/environment.py +0 -194
  536. synth_ai-0.2.6.dev5/synth_ai/environments/examples/bandit/taskset.py +0 -200
  537. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/__init__.py +0 -8
  538. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/analyze_semantic_words_markdown.py +0 -250
  539. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_comprehensive_evaluation.py +0 -59
  540. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_browser.py +0 -152
  541. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_config.toml +0 -24
  542. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_framework.py +0 -1194
  543. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/crafter_synth_config.toml +0 -56
  544. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_config_modal.toml +0 -32
  545. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_traces_sft_turso.py +0 -738
  546. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/kick_off_ft_modal.py +0 -384
  547. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_action_results.py +0 -53
  548. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_agent_actions.py +0 -178
  549. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_latest_run.py +0 -222
  550. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_lm_traces.py +0 -183
  551. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_no_rewards.py +0 -210
  552. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_trace_issue.py +0 -206
  553. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_db_schema.py +0 -49
  554. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_latest_results.py +0 -64
  555. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/debug_agent_responses.py +0 -88
  556. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/quick_trace_check.py +0 -77
  557. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/compare_experiments.py +0 -324
  558. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/filter_traces_sft_turso.py +0 -580
  559. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/kick_off_ft_oai.py +0 -362
  560. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/multi_model_config.toml +0 -49
  561. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_enhanced_hooks.py +0 -332
  562. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_events.py +0 -97
  563. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_results.py +0 -217
  564. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_hook_storage.py +0 -87
  565. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_seeds.py +0 -88
  566. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/compare_seed_performance.py +0 -195
  567. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/custom_eval_pipelines.py +0 -400
  568. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/plot_hook_frequency.py +0 -195
  569. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/seed_analysis_summary.py +0 -56
  570. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/run_rollouts_for_models_and_compare_v3.py +0 -858
  571. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_quick_evaluation.py +0 -52
  572. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_react_agent.py +0 -874
  573. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_trace_evaluation.py +0 -1412
  574. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/example_v3_usage.py +0 -216
  575. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/compare_traces.py +0 -296
  576. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_comprehensive_evaluation.py +0 -58
  577. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_env_serialization.py +0 -464
  578. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_evaluation_browser.py +0 -152
  579. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_quick_evaluation.py +0 -51
  580. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_trace_evaluation.py +0 -1412
  581. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/debug_player_loss.py +0 -112
  582. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_service.py +0 -203
  583. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_slowness.py +0 -305
  584. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_by_difficulty.py +0 -126
  585. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_example.py +0 -94
  586. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/explore_saved_states.py +0 -142
  587. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft.py +0 -26
  588. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft_OLD.py +0 -984
  589. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_gemini.py +0 -724
  590. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_modal.py +0 -386
  591. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_metadata.py +0 -205
  592. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_gemini.py +0 -150
  593. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_modal.py +0 -283
  594. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/prepare_vertex_ft.py +0 -280
  595. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/profile_env_slowness.py +0 -456
  596. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/replicate_issue.py +0 -166
  597. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/run_and_eval.py +0 -102
  598. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/run_comparison.py +0 -128
  599. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/run_qwen_rollouts.py +0 -655
  600. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/trace_eval_OLD.py +0 -202
  601. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/agent_demos/old/validate_openai_format.py +0 -166
  602. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/config_logging.py +0 -111
  603. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/debug_translation.py +0 -0
  604. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/engine.py +0 -579
  605. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/engine_deterministic_patch.py +0 -64
  606. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/engine_helpers/action_map.py +0 -6
  607. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/engine_helpers/serialization.py +0 -75
  608. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/engine_serialization_patch_v3.py +0 -267
  609. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/environment.py +0 -404
  610. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/taskset.py +0 -233
  611. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/trace_hooks_v3.py +0 -228
  612. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_classic/world_config_patch_simple.py +0 -299
  613. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/__init__.py +0 -4
  614. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/agent_demos/__init__.py +0 -1
  615. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/agent_demos/trace_eval.py +0 -202
  616. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/__init__.py +0 -7
  617. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/config.py +0 -182
  618. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/constants.py +0 -8
  619. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/engine.py +0 -269
  620. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/env.py +0 -262
  621. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/objects.py +0 -417
  622. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/recorder.py +0 -187
  623. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/crafter/worldgen.py +0 -118
  624. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/dataset_builder.py +0 -373
  625. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/environment.py +0 -312
  626. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/old/analyze_diamond_issue.py +0 -159
  627. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/old/analyze_diamond_spawning.py +0 -158
  628. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/old/compare_worlds.py +0 -71
  629. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/old/dataset_stats.py +0 -105
  630. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/old/diamond_spawning_summary.py +0 -119
  631. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/old/example_dataset_usage.py +0 -52
  632. synth_ai-0.2.6.dev5/synth_ai/environments/examples/crafter_custom/run_dataset.py +0 -305
  633. synth_ai-0.2.6.dev5/synth_ai/environments/examples/enron/art_helpers/email_search_tools.py +0 -156
  634. synth_ai-0.2.6.dev5/synth_ai/environments/examples/enron/art_helpers/local_email_db.py +0 -281
  635. synth_ai-0.2.6.dev5/synth_ai/environments/examples/enron/art_helpers/types_enron.py +0 -25
  636. synth_ai-0.2.6.dev5/synth_ai/environments/examples/enron/engine.py +0 -295
  637. synth_ai-0.2.6.dev5/synth_ai/environments/examples/enron/environment.py +0 -166
  638. synth_ai-0.2.6.dev5/synth_ai/environments/examples/enron/taskset.py +0 -112
  639. synth_ai-0.2.6.dev5/synth_ai/environments/examples/enron/units/keyword_stats.py +0 -112
  640. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/__init__.py +0 -48
  641. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/agent_demos/minigrid_evaluation_framework.py +0 -1188
  642. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/agent_demos/minigrid_quick_evaluation.py +0 -48
  643. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/agent_demos/minigrid_react_agent.py +0 -562
  644. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/agent_demos/minigrid_trace_evaluation.py +0 -221
  645. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/engine.py +0 -589
  646. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/environment.py +0 -274
  647. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/environment_mapping.py +0 -242
  648. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/puzzle_loader.py +0 -417
  649. synth_ai-0.2.6.dev5/synth_ai/environments/examples/minigrid/taskset.py +0 -583
  650. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/__init__.py +0 -7
  651. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/achievements.py +0 -337
  652. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/agent_demos/nethack_evaluation_framework.py +0 -981
  653. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/agent_demos/nethack_quick_evaluation.py +0 -74
  654. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/agent_demos/nethack_react_agent.py +0 -831
  655. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/engine.py +0 -739
  656. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/environment.py +0 -256
  657. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/__init__.py +0 -41
  658. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/action_mapping.py +0 -301
  659. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/nle_wrapper.py +0 -402
  660. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/observation_utils.py +0 -433
  661. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/recording_wrapper.py +0 -200
  662. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/trajectory_recorder.py +0 -269
  663. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/visualization/replay_viewer.py +0 -308
  664. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/helpers/visualization/visualizer.py +0 -431
  665. synth_ai-0.2.6.dev5/synth_ai/environments/examples/nethack/taskset.py +0 -323
  666. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/__init__.py +0 -7
  667. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/agent_demos/__init__.py +0 -1
  668. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/config_logging.py +0 -110
  669. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine.py +0 -694
  670. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/__init__.py +0 -1
  671. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/memory_map.py +0 -28
  672. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_components.py +0 -276
  673. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/__init__.py +0 -142
  674. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/adaptive_rewards.py +0 -57
  675. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/battle_rewards.py +0 -284
  676. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/composite_rewards.py +0 -150
  677. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/economy_rewards.py +0 -138
  678. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/efficiency_rewards.py +0 -57
  679. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/exploration_rewards.py +0 -331
  680. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/novelty_rewards.py +0 -121
  681. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/pallet_town_rewards.py +0 -559
  682. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/pokemon_rewards.py +0 -313
  683. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/social_rewards.py +0 -148
  684. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/reward_library/story_rewards.py +0 -247
  685. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/screen_analysis.py +0 -368
  686. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/engine_helpers/state_extraction.py +0 -140
  687. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/environment.py +0 -238
  688. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/taskset.py +0 -79
  689. synth_ai-0.2.6.dev5/synth_ai/environments/examples/red/units/__init__.py +0 -1
  690. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/__init__.py +0 -1
  691. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/agent_demos/sokoban_full_eval.py +0 -899
  692. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine.py +0 -678
  693. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/__init__.py +0 -1
  694. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/room_utils.py +0 -657
  695. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/__init__.py +0 -18
  696. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/__init__.py +0 -3
  697. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/boxoban_env.py +0 -131
  698. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/render_utils.py +0 -370
  699. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/room_utils.py +0 -332
  700. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env.py +0 -306
  701. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_fixed_targets.py +0 -67
  702. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py +0 -115
  703. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py +0 -123
  704. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py +0 -394
  705. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/environment.py +0 -229
  706. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/generate_verified_puzzles.py +0 -440
  707. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/puzzle_loader.py +0 -312
  708. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/taskset.py +0 -428
  709. synth_ai-0.2.6.dev5/synth_ai/environments/examples/sokoban/units/astar_common.py +0 -95
  710. synth_ai-0.2.6.dev5/synth_ai/environments/examples/tictactoe/__init__.py +0 -1
  711. synth_ai-0.2.6.dev5/synth_ai/environments/examples/tictactoe/engine.py +0 -368
  712. synth_ai-0.2.6.dev5/synth_ai/environments/examples/tictactoe/environment.py +0 -240
  713. synth_ai-0.2.6.dev5/synth_ai/environments/examples/tictactoe/taskset.py +0 -215
  714. synth_ai-0.2.6.dev5/synth_ai/environments/examples/verilog/__init__.py +0 -10
  715. synth_ai-0.2.6.dev5/synth_ai/environments/examples/verilog/engine.py +0 -329
  716. synth_ai-0.2.6.dev5/synth_ai/environments/examples/verilog/environment.py +0 -350
  717. synth_ai-0.2.6.dev5/synth_ai/environments/examples/verilog/taskset.py +0 -420
  718. synth_ai-0.2.6.dev5/synth_ai/environments/examples/wordle/__init__.py +0 -29
  719. synth_ai-0.2.6.dev5/synth_ai/environments/examples/wordle/engine.py +0 -398
  720. synth_ai-0.2.6.dev5/synth_ai/environments/examples/wordle/environment.py +0 -159
  721. synth_ai-0.2.6.dev5/synth_ai/environments/examples/wordle/helpers/generate_instances_wordfreq.py +0 -75
  722. synth_ai-0.2.6.dev5/synth_ai/environments/examples/wordle/taskset.py +0 -230
  723. synth_ai-0.2.6.dev5/synth_ai/environments/reproducibility/core.py +0 -42
  724. synth_ai-0.2.6.dev5/synth_ai/environments/reproducibility/helpers.py +0 -0
  725. synth_ai-0.2.6.dev5/synth_ai/environments/reproducibility/tree.py +0 -364
  726. synth_ai-0.2.6.dev5/synth_ai/environments/service/app.py +0 -98
  727. synth_ai-0.2.6.dev5/synth_ai/environments/service/core_routes.py +0 -1020
  728. synth_ai-0.2.6.dev5/synth_ai/environments/service/external_registry.py +0 -56
  729. synth_ai-0.2.6.dev5/synth_ai/environments/service/registry.py +0 -9
  730. synth_ai-0.2.6.dev5/synth_ai/environments/stateful/__init__.py +0 -1
  731. synth_ai-0.2.6.dev5/synth_ai/environments/stateful/core.py +0 -163
  732. synth_ai-0.2.6.dev5/synth_ai/environments/stateful/engine.py +0 -21
  733. synth_ai-0.2.6.dev5/synth_ai/environments/stateful/state.py +0 -7
  734. synth_ai-0.2.6.dev5/synth_ai/environments/tasks/api.py +0 -19
  735. synth_ai-0.2.6.dev5/synth_ai/environments/tasks/core.py +0 -80
  736. synth_ai-0.2.6.dev5/synth_ai/environments/tasks/filters.py +0 -41
  737. synth_ai-0.2.6.dev5/synth_ai/environments/tasks/utils.py +0 -91
  738. synth_ai-0.2.6.dev5/synth_ai/environments/v0_observability/history.py +0 -3
  739. synth_ai-0.2.6.dev5/synth_ai/environments/v0_observability/log.py +0 -2
  740. synth_ai-0.2.6.dev5/synth_ai/evals/base.py +0 -15
  741. synth_ai-0.2.6.dev5/synth_ai/experimental/synth_oss.py +0 -446
  742. synth_ai-0.2.6.dev5/synth_ai/http.py +0 -26
  743. synth_ai-0.2.6.dev5/synth_ai/http_client.py +0 -104
  744. synth_ai-0.2.6.dev5/synth_ai/inference/__init__.py +0 -7
  745. synth_ai-0.2.6.dev5/synth_ai/inference/client.py +0 -20
  746. synth_ai-0.2.6.dev5/synth_ai/install_sqld.sh +0 -40
  747. synth_ai-0.2.6.dev5/synth_ai/jobs/client.py +0 -246
  748. synth_ai-0.2.6.dev5/synth_ai/learning/__init__.py +0 -24
  749. synth_ai-0.2.6.dev5/synth_ai/learning/client.py +0 -149
  750. synth_ai-0.2.6.dev5/synth_ai/learning/config.py +0 -43
  751. synth_ai-0.2.6.dev5/synth_ai/learning/constants.py +0 -29
  752. synth_ai-0.2.6.dev5/synth_ai/learning/filtering.py +0 -0
  753. synth_ai-0.2.6.dev5/synth_ai/learning/ft_client.py +0 -59
  754. synth_ai-0.2.6.dev5/synth_ai/learning/health.py +0 -43
  755. synth_ai-0.2.6.dev5/synth_ai/learning/jobs.py +0 -205
  756. synth_ai-0.2.6.dev5/synth_ai/learning/offline/dpo.py +0 -0
  757. synth_ai-0.2.6.dev5/synth_ai/learning/offline/providers.py +0 -7
  758. synth_ai-0.2.6.dev5/synth_ai/learning/offline/sft.py +0 -0
  759. synth_ai-0.2.6.dev5/synth_ai/learning/offline/shared.py +0 -0
  760. synth_ai-0.2.6.dev5/synth_ai/learning/online/grpo.py +0 -0
  761. synth_ai-0.2.6.dev5/synth_ai/learning/online/irft.py +0 -0
  762. synth_ai-0.2.6.dev5/synth_ai/learning/prompts/banking77_injection_eval.py +0 -168
  763. synth_ai-0.2.6.dev5/synth_ai/learning/prompts/gepa.py +0 -0
  764. synth_ai-0.2.6.dev5/synth_ai/learning/prompts/hello_world_in_context_injection_ex.py +0 -213
  765. synth_ai-0.2.6.dev5/synth_ai/learning/prompts/mipro.py +0 -289
  766. synth_ai-0.2.6.dev5/synth_ai/learning/prompts/random_search.py +0 -246
  767. synth_ai-0.2.6.dev5/synth_ai/learning/prompts/run_mipro_banking77.py +0 -172
  768. synth_ai-0.2.6.dev5/synth_ai/learning/prompts/run_random_search_banking77.py +0 -324
  769. synth_ai-0.2.6.dev5/synth_ai/learning/rl_client.py +0 -256
  770. synth_ai-0.2.6.dev5/synth_ai/learning/sse.py +0 -58
  771. synth_ai-0.2.6.dev5/synth_ai/learning/validators.py +0 -48
  772. synth_ai-0.2.6.dev5/synth_ai/lm/__init__.py +0 -51
  773. synth_ai-0.2.6.dev5/synth_ai/lm/caching/constants.py +0 -6
  774. synth_ai-0.2.6.dev5/synth_ai/lm/caching/dbs.py +0 -0
  775. synth_ai-0.2.6.dev5/synth_ai/lm/caching/ephemeral.py +0 -102
  776. synth_ai-0.2.6.dev5/synth_ai/lm/caching/handler.py +0 -137
  777. synth_ai-0.2.6.dev5/synth_ai/lm/caching/initialize.py +0 -11
  778. synth_ai-0.2.6.dev5/synth_ai/lm/caching/persistent.py +0 -114
  779. synth_ai-0.2.6.dev5/synth_ai/lm/config.py +0 -110
  780. synth_ai-0.2.6.dev5/synth_ai/lm/constants.py +0 -32
  781. synth_ai-0.2.6.dev5/synth_ai/lm/core/__init__.py +0 -8
  782. synth_ai-0.2.6.dev5/synth_ai/lm/core/all.py +0 -73
  783. synth_ai-0.2.6.dev5/synth_ai/lm/core/exceptions.py +0 -7
  784. synth_ai-0.2.6.dev5/synth_ai/lm/core/main.py +0 -319
  785. synth_ai-0.2.6.dev5/synth_ai/lm/core/main_v3.py +0 -594
  786. synth_ai-0.2.6.dev5/synth_ai/lm/core/synth_models.py +0 -48
  787. synth_ai-0.2.6.dev5/synth_ai/lm/core/vendor_clients.py +0 -188
  788. synth_ai-0.2.6.dev5/synth_ai/lm/cost/__init__.py +0 -0
  789. synth_ai-0.2.6.dev5/synth_ai/lm/cost/monitor.py +0 -1
  790. synth_ai-0.2.6.dev5/synth_ai/lm/cost/statefulness.py +0 -1
  791. synth_ai-0.2.6.dev5/synth_ai/lm/injection.py +0 -80
  792. synth_ai-0.2.6.dev5/synth_ai/lm/overrides.py +0 -206
  793. synth_ai-0.2.6.dev5/synth_ai/lm/provider_support/__init__.py +0 -8
  794. synth_ai-0.2.6.dev5/synth_ai/lm/provider_support/anthropic.py +0 -972
  795. synth_ai-0.2.6.dev5/synth_ai/lm/provider_support/openai.py +0 -1139
  796. synth_ai-0.2.6.dev5/synth_ai/lm/provider_support/suppress_logging.py +0 -31
  797. synth_ai-0.2.6.dev5/synth_ai/lm/structured_outputs/__init__.py +0 -0
  798. synth_ai-0.2.6.dev5/synth_ai/lm/structured_outputs/handler.py +0 -440
  799. synth_ai-0.2.6.dev5/synth_ai/lm/structured_outputs/inject.py +0 -297
  800. synth_ai-0.2.6.dev5/synth_ai/lm/structured_outputs/rehabilitate.py +0 -185
  801. synth_ai-0.2.6.dev5/synth_ai/lm/tools/__init__.py +0 -3
  802. synth_ai-0.2.6.dev5/synth_ai/lm/tools/base.py +0 -172
  803. synth_ai-0.2.6.dev5/synth_ai/lm/unified_interface.py +0 -202
  804. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/__init__.py +0 -0
  805. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/base.py +0 -81
  806. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/core/__init__.py +0 -0
  807. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/core/anthropic_api.py +0 -387
  808. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/core/gemini_api.py +0 -292
  809. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/core/mistral_api.py +0 -322
  810. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/core/openai_api.py +0 -220
  811. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/core/synth_dev_api.py +0 -0
  812. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/local/__init__.py +0 -0
  813. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/local/ollama.py +0 -0
  814. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/openai_standard.py +0 -780
  815. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/openai_standard_responses.py +0 -256
  816. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/retries.py +0 -22
  817. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/__init__.py +0 -0
  818. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/custom_endpoint.py +0 -417
  819. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/deepseek.py +0 -69
  820. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/grok.py +0 -75
  821. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/groq.py +0 -16
  822. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/ollama.py +0 -15
  823. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/openrouter.py +0 -74
  824. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/supported/together.py +0 -11
  825. synth_ai-0.2.6.dev5/synth_ai/lm/vendors/synth_client.py +0 -808
  826. synth_ai-0.2.6.dev5/synth_ai/lm/warmup.py +0 -186
  827. synth_ai-0.2.6.dev5/synth_ai/rl/__init__.py +0 -30
  828. synth_ai-0.2.6.dev5/synth_ai/rl/contracts.py +0 -32
  829. synth_ai-0.2.6.dev5/synth_ai/rl/env_keys.py +0 -137
  830. synth_ai-0.2.6.dev5/synth_ai/rl/secrets.py +0 -19
  831. synth_ai-0.2.6.dev5/synth_ai/scripts/verify_rewards.py +0 -100
  832. synth_ai-0.2.6.dev5/synth_ai/task/__init__.py +0 -10
  833. synth_ai-0.2.6.dev5/synth_ai/task/contracts.py +0 -120
  834. synth_ai-0.2.6.dev5/synth_ai/task/health.py +0 -28
  835. synth_ai-0.2.6.dev5/synth_ai/task/validators.py +0 -12
  836. synth_ai-0.2.6.dev5/synth_ai/tracing/__init__.py +0 -30
  837. synth_ai-0.2.6.dev5/synth_ai/tracing_v1/__init__.py +0 -33
  838. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/__init__.py +0 -95
  839. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/abstractions.py +0 -285
  840. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/config.py +0 -84
  841. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/db_config.py +0 -169
  842. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/decorators.py +0 -366
  843. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/examples/basic_usage.py +0 -188
  844. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/hooks.py +0 -230
  845. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/llm_call_record_helpers.py +0 -337
  846. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/migration_helper.py +0 -120
  847. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/replica_sync.py +0 -257
  848. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/session_tracer.py +0 -475
  849. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/storage/base.py +0 -124
  850. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/storage/config.py +0 -62
  851. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/storage/factory.py +0 -37
  852. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/storage/utils.py +0 -202
  853. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/turso/__init__.py +0 -25
  854. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/turso/daemon.py +0 -144
  855. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/turso/manager.py +0 -760
  856. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/turso/models.py +0 -466
  857. synth_ai-0.2.6.dev5/synth_ai/tracing_v3/utils.py +0 -107
  858. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/__init__.py +0 -0
  859. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/abstractions.py +0 -224
  860. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/base_client.py +0 -91
  861. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/client_manager.py +0 -131
  862. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/config.py +0 -140
  863. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/context.py +0 -146
  864. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/decorators.py +0 -680
  865. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/events/__init__.py +0 -0
  866. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/events/manage.py +0 -147
  867. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/events/scope.py +0 -86
  868. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/events/store.py +0 -228
  869. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/immediate_client.py +0 -151
  870. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/local.py +0 -18
  871. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/log_client_base.py +0 -73
  872. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/retry_queue.py +0 -186
  873. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/trackers.py +0 -515
  874. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/upload.py +0 -510
  875. synth_ai-0.2.6.dev5/synth_ai/v0/tracing/utils.py +0 -9
  876. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/__init__.py +0 -16
  877. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/abstractions.py +0 -224
  878. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/base_client.py +0 -91
  879. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/client_manager.py +0 -131
  880. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/config.py +0 -140
  881. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/context.py +0 -146
  882. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/decorators.py +0 -701
  883. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/events/__init__.py +0 -0
  884. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/events/manage.py +0 -147
  885. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/events/scope.py +0 -86
  886. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/events/store.py +0 -228
  887. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/immediate_client.py +0 -151
  888. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/local.py +0 -18
  889. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/log_client_base.py +0 -73
  890. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/retry_queue.py +0 -186
  891. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/trackers.py +0 -515
  892. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/upload.py +0 -525
  893. synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1/utils.py +0 -9
  894. synth_ai-0.2.6.dev5/synth_ai/zyk/__init__.py +0 -30
  895. synth_ai-0.2.6.dev5/synth_ai.egg-info/PKG-INFO +0 -106
  896. synth_ai-0.2.6.dev5/synth_ai.egg-info/SOURCES.txt +0 -423
  897. synth_ai-0.2.6.dev5/synth_ai.egg-info/entry_points.txt +0 -3
  898. synth_ai-0.2.6.dev5/synth_ai.egg-info/requires.txt +0 -62
  899. {synth_ai-0.2.6.dev5 → synth_ai-0.4.11}/LICENSE +0 -0
  900. {synth_ai-0.2.6.dev5 → synth_ai-0.4.11}/setup.cfg +0 -0
  901. {synth_ai-0.2.6.dev5/synth_ai/demos → synth_ai-0.4.11/synth_ai/cli/demo_apps}/demo_task_apps/math/__init__.py +0 -0
  902. {synth_ai-0.2.6.dev5/synth_ai/lm/caching → synth_ai-0.4.11/synth_ai/core/apps}/__init__.py +0 -0
  903. {synth_ai-0.2.6.dev5/synth_ai → synth_ai-0.4.11/synth_ai/core}/tracing_v3/lm_call_record_abstractions.py +0 -0
  904. {synth_ai-0.2.6.dev5/synth_ai → synth_ai-0.4.11/synth_ai/core}/tracing_v3/storage/__init__.py +0 -0
  905. {synth_ai-0.2.6.dev5/synth_ai → synth_ai-0.4.11/synth_ai/core}/tracing_v3/storage/exceptions.py +0 -0
  906. {synth_ai-0.2.6.dev5/synth_ai → synth_ai-0.4.11/synth_ai/core}/tracing_v3/storage/types.py +0 -0
  907. /synth_ai-0.2.6.dev5/synth_ai/compound/cais.py → /synth_ai-0.4.11/synth_ai/py.typed +0 -0
  908. {synth_ai-0.2.6.dev5/synth_ai → synth_ai-0.4.11/synth_ai/sdk}/learning/core.py +0 -0
  909. {synth_ai-0.2.6.dev5/synth_ai → synth_ai-0.4.11/synth_ai/sdk}/learning/gateway.py +0 -0
  910. {synth_ai-0.2.6.dev5 → synth_ai-0.4.11}/synth_ai.egg-info/dependency_links.txt +0 -0
  911. {synth_ai-0.2.6.dev5 → synth_ai-0.4.11}/synth_ai.egg-info/top_level.txt +0 -0
@@ -0,0 +1,44 @@
1
+ include README.md
2
+ include LICENSE
3
+ recursive-include synth_ai *.py
4
+ # Only include lightweight config/data files from core packages
5
+ recursive-include synth_ai *.toml
6
+ # Include examples for task app discovery
7
+ recursive-include examples *.py
8
+ recursive-include examples *.toml
9
+ recursive-include examples *.md
10
+ recursive-include examples *.sh
11
+
12
+ # Prune heavy example/demo/test/data trees from the sdist (keep code)
13
+ prune tests
14
+ prune private_tests
15
+ prune synth_ai/tracing_v3/tests
16
+ recursive-exclude synth_ai **/test_*.py
17
+ recursive-exclude synth_ai **/tests/*
18
+
19
+ # Remove large data files from package
20
+ recursive-exclude synth_ai *.json
21
+ # But include TUI package.json and other config files
22
+ include synth_ai/tui/app/package.json
23
+ include synth_ai/tui/app/package.dist.json
24
+ include synth_ai/tui/app/bunfig.toml
25
+ include synth_ai/tui/app/tsconfig.json
26
+ include synth_ai/tui/app/tsconfig.typecheck.json
27
+ # Include TUI TypeScript source files
28
+ recursive-include synth_ai/tui/app/src *.ts
29
+ recursive-include synth_ai/tui/app/src *.tsx
30
+ recursive-exclude synth_ai *.db
31
+ recursive-exclude synth_ai *.duckdb
32
+ recursive-exclude synth_ai *.sqlite
33
+ recursive-exclude synth_ai *.parquet
34
+ recursive-exclude synth_ai *.csv
35
+ recursive-exclude synth_ai *.npz
36
+ recursive-exclude synth_ai *.npy
37
+ recursive-exclude synth_ai *.pt
38
+ recursive-exclude synth_ai *.pth
39
+ recursive-exclude synth_ai *.bin
40
+ recursive-exclude synth_ai *.zip
41
+ recursive-exclude synth_ai *.tar
42
+ global-exclude *.pyc
43
+ global-exclude __pycache__
44
+ global-exclude .DS_Store
@@ -0,0 +1,245 @@
1
+ Metadata-Version: 2.4
2
+ Name: synth-ai
3
+ Version: 0.4.11
4
+ Summary: Serverless Posttraining for Agents - Core AI functionality and tracing
5
+ Author-email: Synth AI <josh@usesynth.ai>
6
+ License: 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: python-dotenv>=1.0.1
15
+ Requires-Dist: requests>=2.32.3
16
+ Requires-Dist: tqdm>=4.66.4
17
+ Requires-Dist: typing_extensions>=4.0.0
18
+ Requires-Dist: rich>=13.9.0
19
+ Requires-Dist: openai>=1.99.0
20
+ Requires-Dist: anthropic>=0.42.0
21
+ Requires-Dist: langfuse<3.0.0,>=2.53.9
22
+ Requires-Dist: opentelemetry-api>=1.26.0
23
+ Requires-Dist: opentelemetry-sdk>=1.26.0
24
+ Requires-Dist: groq>=0.30.0
25
+ Requires-Dist: google-genai>=1.26.0
26
+ Requires-Dist: together>=1.5.21
27
+ Requires-Dist: mistralai>=1.9.2
28
+ Requires-Dist: fastapi>=0.115.12
29
+ Requires-Dist: uvicorn>=0.34.2
30
+ Requires-Dist: numpy>=2.2.3
31
+ Requires-Dist: networkx>=3.4.2
32
+ Requires-Dist: sqlalchemy>=2.0.42
33
+ Requires-Dist: celery>=5.4.0
34
+ Requires-Dist: redis>=6.2.0
35
+ Requires-Dist: aiosqlite>=0.21.0
36
+ Requires-Dist: libsql>=0.1.8
37
+ Requires-Dist: pynacl>=1.5.0
38
+ Requires-Dist: click<8.2,>=8.1.7
39
+ Requires-Dist: aiohttp>=3.8.0
40
+ Requires-Dist: nest_asyncio>=1.6.0
41
+ Requires-Dist: httpx>=0.28.1
42
+ Requires-Dist: modal<2.0.0,>=1.1.4
43
+ Requires-Dist: docker>=7.0.0
44
+ Requires-Dist: mcp>=1.21.0
45
+ Requires-Dist: ruff>=0.12.9
46
+ Requires-Dist: tomli_w>=1.0.0
47
+ Requires-Dist: dspy>=3.0.4
48
+ Requires-Dist: setuptools>=80.9.0
49
+ Requires-Dist: gymnasium>=0.26.2
50
+ Requires-Dist: gepa>=0.0.17
51
+ Requires-Dist: datasets>=4.0.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-xdist>=3.6.1; extra == "dev"
58
+ Requires-Dist: pytest-timeout>=2.3.1; extra == "dev"
59
+ Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
60
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
61
+ Requires-Dist: pyright>=1.1.350; extra == "dev"
62
+ Requires-Dist: coverage[toml]>=7.3.0; extra == "dev"
63
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
64
+ Requires-Dist: papermill>=2.6.0; extra == "dev"
65
+ Requires-Dist: nest_asyncio>=1.6.0; extra == "dev"
66
+ Provides-Extra: research
67
+ Requires-Dist: crafter>=1.8.3; extra == "research"
68
+ Requires-Dist: datasets>=4.0.0; extra == "research"
69
+ Provides-Extra: swe
70
+ Requires-Dist: morphcloud>=0.1.3; extra == "swe"
71
+ Requires-Dist: swebench>=2.3.0; extra == "swe"
72
+ Provides-Extra: all
73
+ Requires-Dist: crafter>=1.8.3; extra == "all"
74
+ Requires-Dist: datasets>=4.0.0; extra == "all"
75
+ Requires-Dist: morphcloud>=0.1.3; extra == "all"
76
+ Requires-Dist: swebench>=2.3.0; extra == "all"
77
+ Requires-Dist: pyboy>=2.6.0; extra == "all"
78
+ Requires-Dist: transformers>=4.56.1; extra == "all"
79
+ Requires-Dist: redis>=6.2.0; extra == "all"
80
+ Provides-Extra: analytics
81
+ Requires-Dist: pandas>=2.2.3; extra == "analytics"
82
+ Dynamic: license-file
83
+
84
+ # Synth
85
+
86
+ [![Python](https://img.shields.io/badge/python-3.11+-blue)](https://www.python.org/)
87
+ [![PyPI](https://img.shields.io/pypi/v/synth-ai.svg)](https://pypi.org/project/synth-ai/)
88
+ [![PyPI Main](https://img.shields.io/badge/main-0.4.7-blue)](https://pypi.org/project/synth-ai/0.4.7/)
89
+ [![PyPI Nightly](https://img.shields.io/badge/nightly-0.4.7-orange)](https://pypi.org/project/synth-ai/0.4.7/)
90
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
91
+ ![Coverage](https://img.shields.io/badge/coverage-28.65%25-yellow)
92
+ ![Tests](https://img.shields.io/badge/tests-847%20passing-brightgreen)
93
+
94
+ Serverless Posttraining APIs for Developers
95
+
96
+ <p align="center">
97
+ <picture align="center">
98
+ <source media="(prefers-color-scheme: dark)" srcset="assets/langprobe_v2_dark.png">
99
+ <source media="(prefers-color-scheme: light)" srcset="assets/langprobe_v2_light.png">
100
+ <img alt="Shows a bar chart comparing prompt optimization performance across GPT-4.1 Nano, GPT-4o Mini, and GPT-5 Nano with baseline vs GEPA optimized." src="assets/langprobe_v2_light.png">
101
+ </picture>
102
+ </p>
103
+
104
+ <p align="center">
105
+ <i>Average accuracy on <a href="https://arxiv.org/abs/2502.20315">LangProBe</a> prompt optimization benchmarks.</i>
106
+ </p>
107
+
108
+ ## Demo Notebooks (Colab)
109
+
110
+ - [GEPA Banking77 Prompt Optimization](https://colab.research.google.com/github/synth-laboratories/synth-ai/blob/main/demos/gepa_banking77/gepa_banking77_prompt_optimization.ipynb)
111
+ - [GEPA Crafter VLM Verifier Optimization](https://colab.research.google.com/github/synth-laboratories/synth-ai/blob/main/demos/gepa_crafter_vlm/gepa_crafter_vlm_verifier_optimization.ipynb)
112
+ - [GraphGen Image Style Matching](https://colab.research.google.com/github/synth-laboratories/synth-ai/blob/main/demos/image_style_matching/graphgen_image_style_matching.ipynb)
113
+
114
+ ## Highlights
115
+
116
+ - 🎯 **GEPA Prompt Optimization** - Automatically improve prompts with evolutionary search. See 70%→95% accuracy gains on Banking77, +62% on critical game achievements
117
+ - 🔍 **Zero-Shot Verifiers** - Fast, accurate rubric-based evaluation with configurable scoring criteria
118
+ - 🧬 **GraphGen** - Train custom verifier graphs optimized for your specific workflows. Train custom pipelines for other tasks
119
+ - 🚀 **No Code Changes** - Wrap existing code in a FastAPI app and optimize via HTTP. Works with any language or framework
120
+ - ⚡️ **Local Development** - Run experiments locally with tunneled task apps. No cloud setup required
121
+ - 🗂️ **Multi-Experiment Management** - Track and compare prompts/models across runs with built-in experiment queues
122
+
123
+ ## Getting Started
124
+
125
+ ```
126
+ uv add
127
+ uv run synth-ai tui
128
+ ```
129
+
130
+ ## Testing
131
+
132
+ Run the TUI integration tests:
133
+
134
+ ```bash
135
+ cd synth_ai/_tui
136
+ bun test
137
+ ```
138
+
139
+ Synth is maintained by devs behind the [MIPROv2](https://scholar.google.com/citations?view_op=view_citation&hl=en&user=jauNVA8AAAAJ&citation_for_view=jauNVA8AAAAJ:u5HHmVD_uO8C) prompt optimizer.
140
+
141
+ ## Documentation
142
+
143
+ **[docs.usesynth.ai](https://docs.usesynth.ai)**
144
+
145
+ ## GEPA Prompt Optimization (SDK)
146
+
147
+ Run GEPA prompt optimization programmatically:
148
+
149
+ ```python
150
+ import asyncio
151
+ import os
152
+ from synth_ai.sdk.api.train.prompt_learning import PromptLearningJob
153
+ from synth_ai.sdk.localapi import LocalAPIConfig, create_local_api
154
+
155
+ # Create a local task app: app = create_local_api(LocalAPIConfig(app_id="my_app", handler=my_handler))
156
+
157
+ # Create and submit a GEPA job
158
+ pl_job = PromptLearningJob.from_dict({
159
+ "job_type": "prompt_learning",
160
+ "config": {
161
+ "prompt_learning": {
162
+ "gepa": {
163
+ "rollout": {"budget": 100},
164
+ "population_size": 10,
165
+ "generations": 5,
166
+ }
167
+ }
168
+ },
169
+ "task_app_id": "my_task_app",
170
+ })
171
+
172
+ pl_job.submit()
173
+ result = pl_job.stream_until_complete(timeout=3600.0)
174
+ print(f"Best score: {result.best_score}")
175
+ ```
176
+
177
+ See the [Banking77 demo notebook](demos/gepa_banking77/gepa_banking77_prompt_optimization.ipynb) for a complete example with local task apps.
178
+
179
+ ## Zero-Shot Verifiers (SDK)
180
+
181
+ Run a built-in verifier graph with rubric criteria passed at runtime. See the [Crafter VLM demo](demos/gepa_crafter_vlm/) for verifier optimization:
182
+
183
+ ```python
184
+ import asyncio
185
+ import os
186
+ from synth_ai.sdk.graphs import VerifierClient
187
+
188
+ async def run_verifier():
189
+ client = VerifierClient(
190
+ base_url=os.environ["SYNTH_BACKEND_BASE"],
191
+ api_key=os.environ["SYNTH_API_KEY"],
192
+ )
193
+ result = await client.evaluate(
194
+ job_id="zero_shot_verifier_single",
195
+ trace={"session_id": "s", "session_time_steps": []},
196
+ rubric={
197
+ "event": [{"id": "accuracy", "weight": 1.0, "description": "Correctness"}],
198
+ "outcome": [{"id": "task_completion", "weight": 1.0, "description": "Completed task"}],
199
+ },
200
+ options={"event": True, "outcome": True, "model": "gpt-5-nano"},
201
+ policy_name="my_policy",
202
+ task_app_id="my_task",
203
+ )
204
+ return result
205
+
206
+ asyncio.run(run_verifier())
207
+ ```
208
+
209
+ You can also call arbitrary graphs directly:
210
+
211
+ ```python
212
+ from synth_ai.sdk.graphs import GraphCompletionsClient
213
+
214
+ client = GraphCompletionsClient(base_url="https://api.usesynth.ai", api_key="...")
215
+ resp = await client.run(
216
+ graph={"kind": "zero_shot", "verifier_shape": "mapreduce", "verifier_mode": "rubric"},
217
+ input_data={"trace": {"session_id": "s", "session_time_steps": []}, "rubric": {"event": [], "outcome": []}},
218
+ )
219
+ ```
220
+
221
+ ## GraphGen: Train Custom Verifier Graphs
222
+
223
+ Train custom verifier graphs using GraphGen. See the [Image Style Matching demo](demos/image_style_matching/) for a complete GraphGen example:
224
+
225
+ ```python
226
+ from synth_ai.sdk.api.train.graphgen import GraphGenJob
227
+
228
+ # Train a verifier graph
229
+ verifier_job = GraphGenJob.from_dataset(
230
+ dataset="verifier_dataset.json",
231
+ graph_type="verifier",
232
+ policy_models=["gpt-4.1"],
233
+ proposer_effort="medium", # Use "medium" (gpt-4.1) or "high" (gpt-5.2)
234
+ rollout_budget=200,
235
+ )
236
+ verifier_job.submit()
237
+ result = verifier_job.stream_until_complete(timeout=3600.0)
238
+
239
+ # Run inference with trained verifier
240
+ verification = verifier_job.run_verifier(
241
+ trace=my_trace,
242
+ context={"rubric": my_rubric},
243
+ )
244
+ print(f"Score: {verification.score}, Reasoning: {verification.reasoning}")
245
+ ```
@@ -0,0 +1,162 @@
1
+ # Synth
2
+
3
+ [![Python](https://img.shields.io/badge/python-3.11+-blue)](https://www.python.org/)
4
+ [![PyPI](https://img.shields.io/pypi/v/synth-ai.svg)](https://pypi.org/project/synth-ai/)
5
+ [![PyPI Main](https://img.shields.io/badge/main-0.4.7-blue)](https://pypi.org/project/synth-ai/0.4.7/)
6
+ [![PyPI Nightly](https://img.shields.io/badge/nightly-0.4.7-orange)](https://pypi.org/project/synth-ai/0.4.7/)
7
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
8
+ ![Coverage](https://img.shields.io/badge/coverage-28.65%25-yellow)
9
+ ![Tests](https://img.shields.io/badge/tests-847%20passing-brightgreen)
10
+
11
+ Serverless Posttraining APIs for Developers
12
+
13
+ <p align="center">
14
+ <picture align="center">
15
+ <source media="(prefers-color-scheme: dark)" srcset="assets/langprobe_v2_dark.png">
16
+ <source media="(prefers-color-scheme: light)" srcset="assets/langprobe_v2_light.png">
17
+ <img alt="Shows a bar chart comparing prompt optimization performance across GPT-4.1 Nano, GPT-4o Mini, and GPT-5 Nano with baseline vs GEPA optimized." src="assets/langprobe_v2_light.png">
18
+ </picture>
19
+ </p>
20
+
21
+ <p align="center">
22
+ <i>Average accuracy on <a href="https://arxiv.org/abs/2502.20315">LangProBe</a> prompt optimization benchmarks.</i>
23
+ </p>
24
+
25
+ ## Demo Notebooks (Colab)
26
+
27
+ - [GEPA Banking77 Prompt Optimization](https://colab.research.google.com/github/synth-laboratories/synth-ai/blob/main/demos/gepa_banking77/gepa_banking77_prompt_optimization.ipynb)
28
+ - [GEPA Crafter VLM Verifier Optimization](https://colab.research.google.com/github/synth-laboratories/synth-ai/blob/main/demos/gepa_crafter_vlm/gepa_crafter_vlm_verifier_optimization.ipynb)
29
+ - [GraphGen Image Style Matching](https://colab.research.google.com/github/synth-laboratories/synth-ai/blob/main/demos/image_style_matching/graphgen_image_style_matching.ipynb)
30
+
31
+ ## Highlights
32
+
33
+ - 🎯 **GEPA Prompt Optimization** - Automatically improve prompts with evolutionary search. See 70%→95% accuracy gains on Banking77, +62% on critical game achievements
34
+ - 🔍 **Zero-Shot Verifiers** - Fast, accurate rubric-based evaluation with configurable scoring criteria
35
+ - 🧬 **GraphGen** - Train custom verifier graphs optimized for your specific workflows. Train custom pipelines for other tasks
36
+ - 🚀 **No Code Changes** - Wrap existing code in a FastAPI app and optimize via HTTP. Works with any language or framework
37
+ - ⚡️ **Local Development** - Run experiments locally with tunneled task apps. No cloud setup required
38
+ - 🗂️ **Multi-Experiment Management** - Track and compare prompts/models across runs with built-in experiment queues
39
+
40
+ ## Getting Started
41
+
42
+ ```
43
+ uv add
44
+ uv run synth-ai tui
45
+ ```
46
+
47
+ ## Testing
48
+
49
+ Run the TUI integration tests:
50
+
51
+ ```bash
52
+ cd synth_ai/_tui
53
+ bun test
54
+ ```
55
+
56
+ Synth is maintained by devs behind the [MIPROv2](https://scholar.google.com/citations?view_op=view_citation&hl=en&user=jauNVA8AAAAJ&citation_for_view=jauNVA8AAAAJ:u5HHmVD_uO8C) prompt optimizer.
57
+
58
+ ## Documentation
59
+
60
+ **[docs.usesynth.ai](https://docs.usesynth.ai)**
61
+
62
+ ## GEPA Prompt Optimization (SDK)
63
+
64
+ Run GEPA prompt optimization programmatically:
65
+
66
+ ```python
67
+ import asyncio
68
+ import os
69
+ from synth_ai.sdk.api.train.prompt_learning import PromptLearningJob
70
+ from synth_ai.sdk.localapi import LocalAPIConfig, create_local_api
71
+
72
+ # Create a local task app: app = create_local_api(LocalAPIConfig(app_id="my_app", handler=my_handler))
73
+
74
+ # Create and submit a GEPA job
75
+ pl_job = PromptLearningJob.from_dict({
76
+ "job_type": "prompt_learning",
77
+ "config": {
78
+ "prompt_learning": {
79
+ "gepa": {
80
+ "rollout": {"budget": 100},
81
+ "population_size": 10,
82
+ "generations": 5,
83
+ }
84
+ }
85
+ },
86
+ "task_app_id": "my_task_app",
87
+ })
88
+
89
+ pl_job.submit()
90
+ result = pl_job.stream_until_complete(timeout=3600.0)
91
+ print(f"Best score: {result.best_score}")
92
+ ```
93
+
94
+ See the [Banking77 demo notebook](demos/gepa_banking77/gepa_banking77_prompt_optimization.ipynb) for a complete example with local task apps.
95
+
96
+ ## Zero-Shot Verifiers (SDK)
97
+
98
+ Run a built-in verifier graph with rubric criteria passed at runtime. See the [Crafter VLM demo](demos/gepa_crafter_vlm/) for verifier optimization:
99
+
100
+ ```python
101
+ import asyncio
102
+ import os
103
+ from synth_ai.sdk.graphs import VerifierClient
104
+
105
+ async def run_verifier():
106
+ client = VerifierClient(
107
+ base_url=os.environ["SYNTH_BACKEND_BASE"],
108
+ api_key=os.environ["SYNTH_API_KEY"],
109
+ )
110
+ result = await client.evaluate(
111
+ job_id="zero_shot_verifier_single",
112
+ trace={"session_id": "s", "session_time_steps": []},
113
+ rubric={
114
+ "event": [{"id": "accuracy", "weight": 1.0, "description": "Correctness"}],
115
+ "outcome": [{"id": "task_completion", "weight": 1.0, "description": "Completed task"}],
116
+ },
117
+ options={"event": True, "outcome": True, "model": "gpt-5-nano"},
118
+ policy_name="my_policy",
119
+ task_app_id="my_task",
120
+ )
121
+ return result
122
+
123
+ asyncio.run(run_verifier())
124
+ ```
125
+
126
+ You can also call arbitrary graphs directly:
127
+
128
+ ```python
129
+ from synth_ai.sdk.graphs import GraphCompletionsClient
130
+
131
+ client = GraphCompletionsClient(base_url="https://api.usesynth.ai", api_key="...")
132
+ resp = await client.run(
133
+ graph={"kind": "zero_shot", "verifier_shape": "mapreduce", "verifier_mode": "rubric"},
134
+ input_data={"trace": {"session_id": "s", "session_time_steps": []}, "rubric": {"event": [], "outcome": []}},
135
+ )
136
+ ```
137
+
138
+ ## GraphGen: Train Custom Verifier Graphs
139
+
140
+ Train custom verifier graphs using GraphGen. See the [Image Style Matching demo](demos/image_style_matching/) for a complete GraphGen example:
141
+
142
+ ```python
143
+ from synth_ai.sdk.api.train.graphgen import GraphGenJob
144
+
145
+ # Train a verifier graph
146
+ verifier_job = GraphGenJob.from_dataset(
147
+ dataset="verifier_dataset.json",
148
+ graph_type="verifier",
149
+ policy_models=["gpt-4.1"],
150
+ proposer_effort="medium", # Use "medium" (gpt-4.1) or "high" (gpt-5.2)
151
+ rollout_budget=200,
152
+ )
153
+ verifier_job.submit()
154
+ result = verifier_job.stream_until_complete(timeout=3600.0)
155
+
156
+ # Run inference with trained verifier
157
+ verification = verifier_job.run_verifier(
158
+ trace=my_trace,
159
+ context={"rubric": my_rubric},
160
+ )
161
+ print(f"Score: {verification.score}, Reasoning: {verification.reasoning}")
162
+ ```
@@ -0,0 +1,241 @@
1
+ [project]
2
+ name = "synth-ai"
3
+ version = "0.4.11"
4
+ description = "Serverless Posttraining for Agents - Core AI functionality and tracing"
5
+ authors = [{name = "Synth AI", email = "josh@usesynth.ai"}]
6
+ license = { text = "MIT" }
7
+ readme = "README.md"
8
+ requires-python = ">=3.11"
9
+ dependencies = [
10
+ # Core dependencies
11
+ "pydantic>=2.0.0",
12
+ "python-dotenv>=1.0.1",
13
+ "requests>=2.32.3",
14
+ "tqdm>=4.66.4",
15
+ "typing_extensions>=4.0.0",
16
+ # AI/LLM providers
17
+ "rich>=13.9.0",
18
+ "openai>=1.99.0",
19
+ "anthropic>=0.42.0",
20
+ # Tracing and observability
21
+ "langfuse>=2.53.9,<3.0.0",
22
+ "opentelemetry-api>=1.26.0",
23
+ "opentelemetry-sdk>=1.26.0",
24
+ # Storage and caching
25
+ "groq>=0.30.0",
26
+ "google-genai>=1.26.0",
27
+ "together>=1.5.21",
28
+ "mistralai>=1.9.2",
29
+ # Environment framework - basic dependencies
30
+ "fastapi>=0.115.12",
31
+ "uvicorn>=0.34.2",
32
+ "numpy>=2.2.3",
33
+ "networkx>=3.4.2",
34
+ "sqlalchemy>=2.0.42",
35
+ "celery>=5.4.0",
36
+ "redis>=6.2.0",
37
+ "aiosqlite>=0.21.0",
38
+ "libsql>=0.1.8",
39
+ "pynacl>=1.5.0",
40
+ "click>=8.1.7,<8.2", # For CLI (pin to signature compatible with Typer)
41
+ "aiohttp>=3.8.0", # For async HTTP requests
42
+ "nest_asyncio>=1.6.0", # For nested event loops in sync callbacks
43
+ "httpx>=0.28.1", # CLI preflights and HTTP clients (pulls httpcore)
44
+ "modal>=1.1.4,<2.0.0",
45
+ "docker>=7.0.0",
46
+ "mcp>=1.21.0",
47
+ "ruff>=0.12.9",
48
+ "tomli_w>=1.0.0",
49
+ "dspy>=3.0.4",
50
+ "setuptools>=80.9.0",
51
+ "gymnasium>=0.26.2",
52
+ "gepa>=0.0.17",
53
+ # Dataset loading - used by many task apps (banking77, math, hotpotqa, etc.)
54
+ "datasets>=4.0.0",
55
+ ]
56
+
57
+ [project.scripts]
58
+ synth-ai = "synth_ai.cli:cli"
59
+
60
+ [project.optional-dependencies]
61
+ dev = [
62
+ "build>=1.2.2.post1",
63
+ "twine>=4.0.0",
64
+ "keyring>=24.0.0",
65
+ "pytest>=8.3.3",
66
+ "pytest-xdist>=3.6.1",
67
+ "pytest-timeout>=2.3.1",
68
+ "pytest-asyncio>=0.24.0",
69
+ "pytest-cov>=4.1.0",
70
+ "pyright>=1.1.350",
71
+ "coverage[toml]>=7.3.0",
72
+ "ruff>=0.1.0",
73
+ "papermill>=2.6.0",
74
+ "nest_asyncio>=1.6.0",
75
+ ]
76
+ research = [
77
+ # Heavy game environment dependencies
78
+ "crafter>=1.8.3",
79
+ "datasets>=4.0.0", # For math environments
80
+ ]
81
+ swe = [
82
+ "morphcloud>=0.1.3",
83
+ "swebench>=2.3.0",
84
+ ]
85
+ all = [
86
+ # Include research and swe dependencies in all
87
+ "crafter>=1.8.3",
88
+ "datasets>=4.0.0",
89
+ "morphcloud>=0.1.3",
90
+ "swebench>=2.3.0",
91
+ "pyboy>=2.6.0",
92
+ "transformers>=4.56.1",
93
+ "redis>=6.2.0",
94
+ ]
95
+ analytics = [
96
+ "pandas>=2.2.3",
97
+ ]
98
+
99
+ [project.urls]
100
+ Homepage = "https://github.com/synth-laboratories/synth-ai"
101
+ Repository = "https://github.com/synth-laboratories/synth-ai"
102
+ Issues = "https://github.com/synth-laboratories/synth-ai/issues"
103
+
104
+ [build-system]
105
+ requires = ["setuptools>=61.0"]
106
+ build-backend = "setuptools.build_meta"
107
+
108
+ [tool.setuptools.packages.find]
109
+ include = ["synth_ai*"]
110
+ exclude = [
111
+ "docs*",
112
+ "tests*",
113
+ "scripts*",
114
+ "private_tests*",
115
+ # Exclude heavy demo/test subpackages from distribution
116
+ "synth_ai.*agent_demos*",
117
+ "synth_ai.*old*",
118
+ "synth_ai.*tests*",
119
+ "synth_ai.*units*",
120
+ "synth_ai.tracing_v3.tests*",
121
+ ]
122
+
123
+ [tool.setuptools]
124
+ include-package-data = true
125
+
126
+ [tool.setuptools.exclude-package-data]
127
+ "synth_ai" = [
128
+ # Exclude heavy data inside agent_demos/old/tests
129
+ "**/agent_demos/**",
130
+ "**/old/**",
131
+ "**/tests/**",
132
+ "**/units/**",
133
+ ]
134
+
135
+ [tool.setuptools.package-data]
136
+ "synth_ai" = [
137
+ "demos/demo_task_apps/math/config.toml",
138
+ "demos/demo_task_apps/math/deploy_task_app.sh",
139
+ "_tui/dist/*",
140
+ "tui/app/package.json",
141
+ "tui/app/package.dist.json",
142
+ "tui/app/bunfig.toml",
143
+ "tui/app/tsconfig.json",
144
+ "tui/app/tsconfig.typecheck.json",
145
+ "tui/app/src/**/*.ts",
146
+ "tui/app/src/**/*.tsx",
147
+ ]
148
+
149
+ [tool.pytest.ini_options]
150
+ testpaths = ["tests", "private_tests"]
151
+ python_files = "test_*.py"
152
+ python_classes = "Test*"
153
+ python_functions = "test_*"
154
+ asyncio_mode = "auto"
155
+ markers = [
156
+ "fast: marks tests as fast (≤5 seconds) - these are the default tests to run",
157
+ "slow: marks tests as slow (>5 seconds) - requires more time/resources",
158
+ "integration: marks tests as integration tests requiring external services",
159
+ "unit: marks tests as isolated unit tests",
160
+ "public: marks tests that can run in any environment",
161
+ "private: marks tests that may require credentials or special setup",
162
+ ]
163
+ # Add timeout for long-running tests
164
+ timeout = 300
165
+ # Show test durations (slowest N tests)
166
+ addopts = "--durations=10"
167
+
168
+ [tool.coverage.run]
169
+ source = ["synth_ai"]
170
+ omit = ["*/tests/*", "*/test_*"]
171
+ data_file = "coverage/.coverage"
172
+
173
+ [tool.coverage.report]
174
+ precision = 2
175
+ show_missing = true
176
+ skip_covered = false
177
+
178
+ [tool.pyright]
179
+ include = ["synth_ai", "tests"]
180
+ exclude = ["**/__pycache__"]
181
+ pythonVersion = "3.11"
182
+ typeCheckingMode = "standard"
183
+ reportMissingImports = true
184
+ reportMissingTypeStubs = false
185
+
186
+ [tool.ruff]
187
+ line-length = 100
188
+ target-version = "py311"
189
+ src = ["synth_ai"]
190
+ extend-exclude = [
191
+ ".venv",
192
+ ".tmp",
193
+ "dev",
194
+ "docs",
195
+ "scripts",
196
+ "tests",
197
+ "private_tests",
198
+ "old",
199
+ "tauri",
200
+ "temp",
201
+ "traces",
202
+ "traces_*",
203
+ "synth_ai.db",
204
+ "synth_ai/tracing_v3/tests",
205
+ ]
206
+
207
+ [tool.ruff.lint]
208
+ select = ["E", "F", "I", "N", "UP", "YTT", "B", "C4", "T10", "SIM"]
209
+ ignore = [
210
+ "E501", # Line too long
211
+ "B008", # Do not perform function call in argument defaults
212
+ "UP035", # Don't require `from __future__ import annotations` (not needed in 3.11+)
213
+ "UP006", # Allow typing.Tuple
214
+ "UP045", # Allow Optional[...] annotations
215
+ ]
216
+
217
+ [tool.ruff.lint.per-file-ignores]
218
+ "synth_ai/http.py" = ["F403"]
219
+ "**/__init__.py" = ["N999"]
220
+ "**/__main__.py" = ["N999"]
221
+
222
+ [tool.ty]
223
+ # Suppress conservative warnings about possibly-missing-attribute
224
+ # These are false positives for dict.get() calls and dynamic attributes
225
+ rules = { "possibly-missing-attribute" = "ignore" }
226
+
227
+ [dependency-groups]
228
+ dev = [
229
+ "pytest>=8.3.3",
230
+ "pytest-xdist>=3.6.1",
231
+ "pytest-timeout>=2.3.1",
232
+ "pytest-asyncio>=0.24.0",
233
+ "pytest-cov>=4.1.0",
234
+ "ruff>=0.1.0",
235
+ "pyright>=1.1.350",
236
+ "responses>=0.25.7",
237
+ "httpx>=0.28.1",
238
+ "crafter>=1.8.3",
239
+ "papermill>=2.6.0",
240
+ "nest_asyncio>=1.6.0",
241
+ ]