synth-ai 0.2.4.dev6__py3-none-any.whl → 0.2.4.dev8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- synth_ai/__init__.py +18 -9
- synth_ai/cli/__init__.py +10 -5
- synth_ai/cli/balance.py +25 -32
- synth_ai/cli/calc.py +2 -3
- synth_ai/cli/demo.py +3 -5
- synth_ai/cli/legacy_root_backup.py +58 -32
- synth_ai/cli/man.py +22 -19
- synth_ai/cli/recent.py +9 -8
- synth_ai/cli/root.py +58 -13
- synth_ai/cli/status.py +13 -6
- synth_ai/cli/traces.py +45 -21
- synth_ai/cli/watch.py +40 -37
- synth_ai/config/base_url.py +47 -2
- synth_ai/core/experiment.py +1 -2
- synth_ai/environments/__init__.py +2 -6
- synth_ai/environments/environment/artifacts/base.py +3 -1
- synth_ai/environments/environment/db/sqlite.py +1 -1
- synth_ai/environments/environment/registry.py +19 -20
- synth_ai/environments/environment/resources/sqlite.py +2 -3
- synth_ai/environments/environment/rewards/core.py +3 -2
- synth_ai/environments/environment/tools/__init__.py +6 -4
- synth_ai/environments/examples/crafter_classic/__init__.py +1 -1
- synth_ai/environments/examples/crafter_classic/engine.py +13 -13
- synth_ai/environments/examples/crafter_classic/engine_deterministic_patch.py +1 -0
- synth_ai/environments/examples/crafter_classic/engine_helpers/action_map.py +2 -1
- synth_ai/environments/examples/crafter_classic/engine_helpers/serialization.py +2 -1
- synth_ai/environments/examples/crafter_classic/engine_serialization_patch_v3.py +3 -2
- synth_ai/environments/examples/crafter_classic/environment.py +16 -15
- synth_ai/environments/examples/crafter_classic/taskset.py +2 -2
- synth_ai/environments/examples/crafter_classic/trace_hooks_v3.py +2 -3
- synth_ai/environments/examples/crafter_classic/world_config_patch_simple.py +2 -1
- synth_ai/environments/examples/crafter_custom/crafter/__init__.py +2 -2
- synth_ai/environments/examples/crafter_custom/crafter/config.py +2 -2
- synth_ai/environments/examples/crafter_custom/crafter/env.py +1 -5
- synth_ai/environments/examples/crafter_custom/crafter/objects.py +1 -2
- synth_ai/environments/examples/crafter_custom/crafter/worldgen.py +1 -2
- synth_ai/environments/examples/crafter_custom/dataset_builder.py +5 -5
- synth_ai/environments/examples/crafter_custom/environment.py +13 -13
- synth_ai/environments/examples/crafter_custom/run_dataset.py +5 -5
- synth_ai/environments/examples/enron/art_helpers/email_search_tools.py +2 -2
- synth_ai/environments/examples/enron/art_helpers/local_email_db.py +5 -4
- synth_ai/environments/examples/enron/art_helpers/types_enron.py +2 -1
- synth_ai/environments/examples/enron/engine.py +18 -14
- synth_ai/environments/examples/enron/environment.py +12 -11
- synth_ai/environments/examples/enron/taskset.py +7 -7
- synth_ai/environments/examples/minigrid/__init__.py +6 -6
- synth_ai/environments/examples/minigrid/engine.py +6 -6
- synth_ai/environments/examples/minigrid/environment.py +6 -6
- synth_ai/environments/examples/minigrid/puzzle_loader.py +3 -2
- synth_ai/environments/examples/minigrid/taskset.py +13 -13
- synth_ai/environments/examples/nethack/achievements.py +1 -1
- synth_ai/environments/examples/nethack/engine.py +8 -7
- synth_ai/environments/examples/nethack/environment.py +10 -9
- synth_ai/environments/examples/nethack/helpers/__init__.py +8 -9
- synth_ai/environments/examples/nethack/helpers/action_mapping.py +1 -1
- synth_ai/environments/examples/nethack/helpers/nle_wrapper.py +2 -1
- synth_ai/environments/examples/nethack/helpers/observation_utils.py +1 -1
- synth_ai/environments/examples/nethack/helpers/recording_wrapper.py +3 -4
- synth_ai/environments/examples/nethack/helpers/trajectory_recorder.py +6 -5
- synth_ai/environments/examples/nethack/helpers/visualization/replay_viewer.py +5 -5
- synth_ai/environments/examples/nethack/helpers/visualization/visualizer.py +7 -6
- synth_ai/environments/examples/nethack/taskset.py +5 -5
- synth_ai/environments/examples/red/engine.py +9 -8
- synth_ai/environments/examples/red/engine_helpers/reward_components.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/__init__.py +7 -7
- synth_ai/environments/examples/red/engine_helpers/reward_library/adaptive_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/battle_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/composite_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/economy_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/efficiency_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/exploration_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/novelty_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/pallet_town_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/pokemon_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/social_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/reward_library/story_rewards.py +2 -1
- synth_ai/environments/examples/red/engine_helpers/screen_analysis.py +3 -2
- synth_ai/environments/examples/red/engine_helpers/state_extraction.py +2 -1
- synth_ai/environments/examples/red/environment.py +18 -15
- synth_ai/environments/examples/red/taskset.py +5 -3
- synth_ai/environments/examples/sokoban/engine.py +16 -13
- synth_ai/environments/examples/sokoban/engine_helpers/room_utils.py +3 -2
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/__init__.py +2 -1
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/__init__.py +1 -1
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/boxoban_env.py +7 -5
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/render_utils.py +1 -1
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/room_utils.py +2 -1
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env.py +5 -4
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_fixed_targets.py +3 -2
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py +2 -1
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py +5 -4
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py +1 -1
- synth_ai/environments/examples/sokoban/environment.py +15 -14
- synth_ai/environments/examples/sokoban/generate_verified_puzzles.py +5 -3
- synth_ai/environments/examples/sokoban/puzzle_loader.py +3 -2
- synth_ai/environments/examples/sokoban/taskset.py +13 -10
- synth_ai/environments/examples/tictactoe/engine.py +6 -6
- synth_ai/environments/examples/tictactoe/environment.py +8 -7
- synth_ai/environments/examples/tictactoe/taskset.py +6 -5
- synth_ai/environments/examples/verilog/engine.py +4 -3
- synth_ai/environments/examples/verilog/environment.py +11 -10
- synth_ai/environments/examples/verilog/taskset.py +14 -12
- synth_ai/environments/examples/wordle/__init__.py +5 -5
- synth_ai/environments/examples/wordle/engine.py +32 -25
- synth_ai/environments/examples/wordle/environment.py +21 -16
- synth_ai/environments/examples/wordle/helpers/generate_instances_wordfreq.py +6 -6
- synth_ai/environments/examples/wordle/taskset.py +20 -12
- synth_ai/environments/reproducibility/core.py +1 -1
- synth_ai/environments/reproducibility/tree.py +21 -21
- synth_ai/environments/service/app.py +3 -2
- synth_ai/environments/service/core_routes.py +104 -110
- synth_ai/environments/service/external_registry.py +1 -2
- synth_ai/environments/service/registry.py +1 -1
- synth_ai/environments/stateful/core.py +1 -2
- synth_ai/environments/stateful/engine.py +1 -1
- synth_ai/environments/tasks/api.py +4 -4
- synth_ai/environments/tasks/core.py +14 -12
- synth_ai/environments/tasks/filters.py +6 -4
- synth_ai/environments/tasks/utils.py +13 -11
- synth_ai/evals/base.py +2 -3
- synth_ai/experimental/synth_oss.py +4 -4
- synth_ai/http.py +102 -0
- synth_ai/inference/__init__.py +7 -0
- synth_ai/inference/client.py +20 -0
- synth_ai/jobs/client.py +246 -0
- synth_ai/learning/__init__.py +24 -0
- synth_ai/learning/client.py +149 -0
- synth_ai/learning/config.py +43 -0
- synth_ai/learning/constants.py +29 -0
- synth_ai/learning/ft_client.py +59 -0
- synth_ai/learning/gateway.py +1 -3
- synth_ai/learning/health.py +43 -0
- synth_ai/learning/jobs.py +205 -0
- synth_ai/learning/prompts/banking77_injection_eval.py +15 -10
- synth_ai/learning/prompts/hello_world_in_context_injection_ex.py +26 -14
- synth_ai/learning/prompts/mipro.py +61 -52
- synth_ai/learning/prompts/random_search.py +42 -43
- synth_ai/learning/prompts/run_mipro_banking77.py +32 -20
- synth_ai/learning/prompts/run_random_search_banking77.py +71 -52
- synth_ai/learning/rl_client.py +256 -0
- synth_ai/learning/sse.py +58 -0
- synth_ai/learning/validators.py +48 -0
- synth_ai/lm/__init__.py +5 -5
- synth_ai/lm/caching/ephemeral.py +9 -9
- synth_ai/lm/caching/handler.py +20 -20
- synth_ai/lm/caching/persistent.py +10 -10
- synth_ai/lm/config.py +3 -3
- synth_ai/lm/constants.py +7 -7
- synth_ai/lm/core/all.py +17 -3
- synth_ai/lm/core/exceptions.py +0 -2
- synth_ai/lm/core/main.py +26 -41
- synth_ai/lm/core/main_v3.py +33 -10
- synth_ai/lm/core/synth_models.py +48 -0
- synth_ai/lm/core/vendor_clients.py +26 -22
- synth_ai/lm/injection.py +7 -8
- synth_ai/lm/overrides.py +21 -19
- synth_ai/lm/provider_support/__init__.py +1 -1
- synth_ai/lm/provider_support/anthropic.py +15 -15
- synth_ai/lm/provider_support/openai.py +23 -21
- synth_ai/lm/structured_outputs/handler.py +34 -32
- synth_ai/lm/structured_outputs/inject.py +24 -27
- synth_ai/lm/structured_outputs/rehabilitate.py +19 -15
- synth_ai/lm/tools/base.py +17 -16
- synth_ai/lm/unified_interface.py +17 -18
- synth_ai/lm/vendors/base.py +20 -18
- synth_ai/lm/vendors/core/anthropic_api.py +36 -27
- synth_ai/lm/vendors/core/gemini_api.py +31 -36
- synth_ai/lm/vendors/core/mistral_api.py +19 -19
- synth_ai/lm/vendors/core/openai_api.py +42 -13
- synth_ai/lm/vendors/openai_standard.py +158 -101
- synth_ai/lm/vendors/openai_standard_responses.py +74 -61
- synth_ai/lm/vendors/retries.py +9 -1
- synth_ai/lm/vendors/supported/custom_endpoint.py +38 -28
- synth_ai/lm/vendors/supported/deepseek.py +10 -10
- synth_ai/lm/vendors/supported/grok.py +8 -8
- synth_ai/lm/vendors/supported/ollama.py +2 -1
- synth_ai/lm/vendors/supported/openrouter.py +11 -9
- synth_ai/lm/vendors/synth_client.py +425 -75
- synth_ai/lm/warmup.py +8 -7
- synth_ai/rl/__init__.py +30 -0
- synth_ai/rl/contracts.py +32 -0
- synth_ai/rl/env_keys.py +137 -0
- synth_ai/rl/secrets.py +19 -0
- synth_ai/scripts/verify_rewards.py +100 -0
- synth_ai/task/__init__.py +10 -0
- synth_ai/task/contracts.py +120 -0
- synth_ai/task/health.py +28 -0
- synth_ai/task/validators.py +12 -0
- synth_ai/tracing/__init__.py +22 -10
- synth_ai/tracing_v1/__init__.py +22 -20
- synth_ai/tracing_v3/__init__.py +7 -7
- synth_ai/tracing_v3/abstractions.py +56 -52
- synth_ai/tracing_v3/config.py +4 -2
- synth_ai/tracing_v3/db_config.py +6 -8
- synth_ai/tracing_v3/decorators.py +29 -30
- synth_ai/tracing_v3/examples/basic_usage.py +12 -12
- synth_ai/tracing_v3/hooks.py +24 -22
- synth_ai/tracing_v3/llm_call_record_helpers.py +85 -98
- synth_ai/tracing_v3/lm_call_record_abstractions.py +2 -4
- synth_ai/tracing_v3/migration_helper.py +3 -5
- synth_ai/tracing_v3/replica_sync.py +30 -32
- synth_ai/tracing_v3/session_tracer.py +158 -31
- synth_ai/tracing_v3/storage/__init__.py +1 -1
- synth_ai/tracing_v3/storage/base.py +8 -7
- synth_ai/tracing_v3/storage/config.py +4 -4
- synth_ai/tracing_v3/storage/factory.py +4 -4
- synth_ai/tracing_v3/storage/utils.py +9 -9
- synth_ai/tracing_v3/turso/__init__.py +3 -3
- synth_ai/tracing_v3/turso/daemon.py +9 -9
- synth_ai/tracing_v3/turso/manager.py +278 -48
- synth_ai/tracing_v3/turso/models.py +77 -19
- synth_ai/tracing_v3/utils.py +5 -5
- synth_ai/v0/tracing/abstractions.py +28 -28
- synth_ai/v0/tracing/base_client.py +9 -9
- synth_ai/v0/tracing/client_manager.py +7 -7
- synth_ai/v0/tracing/config.py +7 -7
- synth_ai/v0/tracing/context.py +6 -6
- synth_ai/v0/tracing/decorators.py +6 -5
- synth_ai/v0/tracing/events/manage.py +1 -1
- synth_ai/v0/tracing/events/store.py +5 -4
- synth_ai/v0/tracing/immediate_client.py +4 -5
- synth_ai/v0/tracing/local.py +3 -3
- synth_ai/v0/tracing/log_client_base.py +4 -5
- synth_ai/v0/tracing/retry_queue.py +5 -6
- synth_ai/v0/tracing/trackers.py +25 -25
- synth_ai/v0/tracing/upload.py +6 -0
- synth_ai/v0/tracing_v1/__init__.py +1 -1
- synth_ai/v0/tracing_v1/abstractions.py +28 -28
- synth_ai/v0/tracing_v1/base_client.py +9 -9
- synth_ai/v0/tracing_v1/client_manager.py +7 -7
- synth_ai/v0/tracing_v1/config.py +7 -7
- synth_ai/v0/tracing_v1/context.py +6 -6
- synth_ai/v0/tracing_v1/decorators.py +7 -6
- synth_ai/v0/tracing_v1/events/manage.py +1 -1
- synth_ai/v0/tracing_v1/events/store.py +5 -4
- synth_ai/v0/tracing_v1/immediate_client.py +4 -5
- synth_ai/v0/tracing_v1/local.py +3 -3
- synth_ai/v0/tracing_v1/log_client_base.py +4 -5
- synth_ai/v0/tracing_v1/retry_queue.py +5 -6
- synth_ai/v0/tracing_v1/trackers.py +25 -25
- synth_ai/v0/tracing_v1/upload.py +25 -24
- synth_ai/zyk/__init__.py +1 -0
- synth_ai-0.2.4.dev8.dist-info/METADATA +635 -0
- synth_ai-0.2.4.dev8.dist-info/RECORD +317 -0
- synth_ai/tui/__init__.py +0 -1
- synth_ai/tui/__main__.py +0 -13
- synth_ai/tui/cli/__init__.py +0 -1
- synth_ai/tui/cli/query_experiments.py +0 -165
- synth_ai/tui/cli/query_experiments_v3.py +0 -165
- synth_ai/tui/dashboard.py +0 -329
- synth_ai-0.2.4.dev6.dist-info/METADATA +0 -203
- synth_ai-0.2.4.dev6.dist-info/RECORD +0 -299
- {synth_ai-0.2.4.dev6.dist-info → synth_ai-0.2.4.dev8.dist-info}/WHEEL +0 -0
- {synth_ai-0.2.4.dev6.dist-info → synth_ai-0.2.4.dev8.dist-info}/entry_points.txt +0 -0
- {synth_ai-0.2.4.dev6.dist-info → synth_ai-0.2.4.dev8.dist-info}/licenses/LICENSE +0 -0
- {synth_ai-0.2.4.dev6.dist-info → synth_ai-0.2.4.dev8.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,317 @@
|
|
1
|
+
synth_ai/__init__.py,sha256=u8sOAEzlDIPKIpXgDIItSUIphvhr4RsQ55Us_Sx5Ywk,1354
|
2
|
+
synth_ai/__main__.py,sha256=Kh1xBKkTE5Vs2qNMtDuuOXerHUptMcOiF3YziOpC6DA,146
|
3
|
+
synth_ai/http.py,sha256=aKIGsGwMBi7S0Tg57Q1Nxdoxjh2sn9xzNziLYhfSA3c,4427
|
4
|
+
synth_ai/cli/__init__.py,sha256=Zp845vrQ4PXxTSnToGTQXzYIX7IOKu2mj6qLmdW64yw,1461
|
5
|
+
synth_ai/cli/balance.py,sha256=dlxGKCZ2kDeuHMZ5m8n5SHRWW-2CIWs3JcY5xpnWRVA,7798
|
6
|
+
synth_ai/cli/calc.py,sha256=RJyQJ41e02xn-V0vRRCAVkL59UHDqyz8XpYGsenfdm4,2085
|
7
|
+
synth_ai/cli/demo.py,sha256=Md37HDSPsaJcsIybw-vVA7H6YbnMBLcwK2twz5IM7pk,2474
|
8
|
+
synth_ai/cli/legacy_root_backup.py,sha256=KSMADyJ2g5OVpsq_CeBzqIeDC2Um-9GyINzsJH-75uw,15872
|
9
|
+
synth_ai/cli/man.py,sha256=JQDon73ZkuKP9xr1_vRh5fjV9_b5xiUb7zNjny7ArB8,3765
|
10
|
+
synth_ai/cli/recent.py,sha256=mHhM-QrR_MfjfKSzBvvPUEC-lkXTWUZrQwqYTmb2x0Y,4173
|
11
|
+
synth_ai/cli/root.py,sha256=xaeadlg144DW7t4CHZUXbjE5dl1S5bWQ_nr2JMXWgcs,7366
|
12
|
+
synth_ai/cli/status.py,sha256=M_bt7U58Ubi-q-ZlrIpgCASKq9_k6uMjpx926f6kLLA,4591
|
13
|
+
synth_ai/cli/traces.py,sha256=_QBdCR92u0Gv51U4DH0Ws1d5yCrbJRpaYKe7pmcHrHs,6484
|
14
|
+
synth_ai/cli/watch.py,sha256=HBKbAcpUkkPhGvsPRofckbu8oILiVqp35NXHkIEpTTc,17808
|
15
|
+
synth_ai/compound/cais.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
+
synth_ai/config/base_url.py,sha256=Bk7Bd9jKJP-LF0SW--WE01JhMfvOB6NUkFMRgPMnJuQ,3101
|
17
|
+
synth_ai/core/experiment.py,sha256=hLkPtzUFA7iY3-QpeJ5K8YjvQeyfqnjab5P2CFaojys,236
|
18
|
+
synth_ai/core/system.py,sha256=s-Z7np2ISYmYc1r9YN-y2yb3cgRlOalrh0iaqnxeo84,206
|
19
|
+
synth_ai/environments/__init__.py,sha256=BQW0Nc_BFQq_N-pcqTyJVjW56kSEXu7XZyaSer-U95Q,1032
|
20
|
+
synth_ai/environments/environment/__init__.py,sha256=EBol9AKxPTIPXWcbH9Tja-l3yL-N2kB8e5atyf6F66c,31
|
21
|
+
synth_ai/environments/environment/core.py,sha256=0jd0CZ88_s_qqA3d1lOgVsnv-ucw_1lJDAIUj1gTSt0,2201
|
22
|
+
synth_ai/environments/environment/registry.py,sha256=flHYYk5df3DiLfU4yFn-ec6AtoFtmLqRctDVgweq9lA,8847
|
23
|
+
synth_ai/environments/environment/results.py,sha256=IqIZqE7TxZudF63e3-OLIC57n2uiODybhwAOWkFEQxY,111
|
24
|
+
synth_ai/environments/environment/shared_engine.py,sha256=7moaV5eKDtNdPuM8euSaCNAPVLJ9E28v-hOu0fX0dkE,429
|
25
|
+
synth_ai/environments/environment/artifacts/__init__.py,sha256=RWyqjTyJB8jnLb6yNr9TgSBhLB_2XetuPzwaGUkFH4U,20
|
26
|
+
synth_ai/environments/environment/artifacts/base.py,sha256=yHO_PNWwAuM4KBRLOwCdggnNC3ODnuPXTD_BOkwUQQ8,1240
|
27
|
+
synth_ai/environments/environment/db/__init__.py,sha256=SMiJDPTgF7Nlgz9-AAlxFt82au4cshEmuDhPjfNJEvo,13
|
28
|
+
synth_ai/environments/environment/db/sqlite.py,sha256=h6pdGcLi8v6oj3zMCuCU8YL1hvNpiGMuer2oyuQVcCs,1635
|
29
|
+
synth_ai/environments/environment/resources/sqlite.py,sha256=h6pdGcLi8v6oj3zMCuCU8YL1hvNpiGMuer2oyuQVcCs,1635
|
30
|
+
synth_ai/environments/environment/rewards/__init__.py,sha256=5TpSHuCNeRy0W5N55ITVVoAI6oNYre9usbPhFnDrc7I,18
|
31
|
+
synth_ai/environments/environment/rewards/core.py,sha256=Iu5MKInKW1LGZ1vb3oc_qmsL3ZQvXxZFMnFffJ_M9BI,883
|
32
|
+
synth_ai/environments/environment/tools/__init__.py,sha256=ew_9CkNnt4t6nh_wjXa4BudWHhALVUbTycQsdUtAg-4,6900
|
33
|
+
synth_ai/environments/examples/__init__.py,sha256=POgz9O4n1tvPAW1rYNUNeQGrMlWxoPDmyht85o5Po0s,38
|
34
|
+
synth_ai/environments/examples/crafter_classic/__init__.py,sha256=8g6e991LpiUOkj3avOJo8qBbFiD7XSvrXb44ci98JRc,270
|
35
|
+
synth_ai/environments/examples/crafter_classic/config_logging.py,sha256=Eqq35s0lPAmBiU0neZM6vmHPct15gp9TwS3vogrNziM,3794
|
36
|
+
synth_ai/environments/examples/crafter_classic/debug_translation.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
+
synth_ai/environments/examples/crafter_classic/engine.py,sha256=i13hDJe-6BXWFqXAsdjNCrfjU_HpwWLE5-4KNT-VSbs,25257
|
38
|
+
synth_ai/environments/examples/crafter_classic/engine_deterministic_patch.py,sha256=IMmqt0S9wh0sdP42G_Q6W_2j22gKX4YQZVvuIqLzLWc,2802
|
39
|
+
synth_ai/environments/examples/crafter_classic/engine_serialization_patch_v3.py,sha256=oC1y_CdnB_xit4FH72dMo8ljlZW_Mpa3cMpbDVCtqyU,11127
|
40
|
+
synth_ai/environments/examples/crafter_classic/environment.py,sha256=x71ZPgX7Ij3NKaLO03ZzK0ZX4szpUg26tjztJbEvt_M,17219
|
41
|
+
synth_ai/environments/examples/crafter_classic/taskset.py,sha256=9uZpQOllUqMupIBwlz2Jv38hBYqY09czi1LOonCTk5c,9843
|
42
|
+
synth_ai/environments/examples/crafter_classic/trace_hooks_v3.py,sha256=lka-3tNuYsvYQ6acEvJjvBPkylbqgCzuCd2QMOjNCRs,7194
|
43
|
+
synth_ai/environments/examples/crafter_classic/world_config_patch_simple.py,sha256=wHT2pyOJ55Jlh9iq-UND4cd-GQdyKxQmo9ncCuQ_Jiw,10166
|
44
|
+
synth_ai/environments/examples/crafter_classic/engine_helpers/action_map.py,sha256=hSjplDgu-m7bbpd1uuZq7n5mejBp6vylEru6xPHooJI,230
|
45
|
+
synth_ai/environments/examples/crafter_classic/engine_helpers/serialization.py,sha256=7M8_FJsCAEzBTbdur0LRGiBAl2V4J3kFLORn6bB2t2s,2243
|
46
|
+
synth_ai/environments/examples/crafter_custom/__init__.py,sha256=139ewayoaO3Oxr-vG-1hxI89urYr1Dsy35JEeJEdvj0,190
|
47
|
+
synth_ai/environments/examples/crafter_custom/dataset_builder.py,sha256=9rG98Z7JoStsJdNqbb5yxEu5__41h-4mg8b1VUGATvk,12956
|
48
|
+
synth_ai/environments/examples/crafter_custom/environment.py,sha256=O5rOusbe1Ce4VMCNBNWhVzN0kMJnAuokHLRVyzgeeGM,14784
|
49
|
+
synth_ai/environments/examples/crafter_custom/run_dataset.py,sha256=SSPQ4puh55grB9xjqP-yt3LZF7ihW_sorTN3txgolpo,9959
|
50
|
+
synth_ai/environments/examples/crafter_custom/crafter/__init__.py,sha256=IwsX9FySJrnMXEVsHpEb-SxcYbohTMG5IOVUIsUUjSI,235
|
51
|
+
synth_ai/environments/examples/crafter_custom/crafter/config.py,sha256=maislluS06yuiry18rOedmiFpczw8EPFiC-45ZULiuI,5542
|
52
|
+
synth_ai/environments/examples/crafter_custom/crafter/constants.py,sha256=ZAHy89ZCWyLGzP1sQqlHHqGIMuIHqgsYWy7usD3ODB8,218
|
53
|
+
synth_ai/environments/examples/crafter_custom/crafter/engine.py,sha256=DFGknXHvOoliVtded7TnDsBrOOSnb79gbTdgpJNQKtE,9479
|
54
|
+
synth_ai/environments/examples/crafter_custom/crafter/env.py,sha256=y14Y7i53vjCC8wc4sqjcD2kEaSlrZvxY5DRSItIjt2Y,9273
|
55
|
+
synth_ai/environments/examples/crafter_custom/crafter/objects.py,sha256=8CMOwh5n2jfit-aqs-CJbf-lYMD71NOtc2mupVoz-tI,13009
|
56
|
+
synth_ai/environments/examples/crafter_custom/crafter/recorder.py,sha256=NcqecXkU8S5pJ4vE89KcZPIO8SknkKuV1AookEvQ2Gw,5898
|
57
|
+
synth_ai/environments/examples/crafter_custom/crafter/worldgen.py,sha256=m1lV-lTYVNkC5deVQrr3eb8iYr4LJVdRfrVH2jYe9F8,4115
|
58
|
+
synth_ai/environments/examples/enron/engine.py,sha256=kmyE3See-NPxs3XKz7HV7XL9IoH4YTxFvPrAz9MYY1M,11702
|
59
|
+
synth_ai/environments/examples/enron/environment.py,sha256=s3g8zAn6qS5d_shcz8pl8J903eWa0KFw04j3Wury4NE,5986
|
60
|
+
synth_ai/environments/examples/enron/taskset.py,sha256=KQBQMclCh24jSCBLbxsWDn7BveT1RlnEUDErm5AW57I,3171
|
61
|
+
synth_ai/environments/examples/enron/art_helpers/email_search_tools.py,sha256=bDiuxp8W5ZZEtM1vn1n0B0qxqBEqCwMwYDGHy93rBiQ,5545
|
62
|
+
synth_ai/environments/examples/enron/art_helpers/local_email_db.py,sha256=h3Q44pKs5pnz_on66bIFVhL4Ma5chdKzCDST_oYSQWA,9985
|
63
|
+
synth_ai/environments/examples/enron/art_helpers/types_enron.py,sha256=ZMpkH5bLmaCcm3OL_6FxzQxrgY9QI82LhC-W-a6T25o,734
|
64
|
+
synth_ai/environments/examples/minigrid/__init__.py,sha256=e7cd6mAcSiPbxtpVyDAGW9CE_sILNNF-BW8c2sJcSUc,1328
|
65
|
+
synth_ai/environments/examples/minigrid/engine.py,sha256=-PokRGnbzQarpF2mPfVW49auU7X_MMOyV1cGNmJA_Ng,22061
|
66
|
+
synth_ai/environments/examples/minigrid/environment.py,sha256=sRmxb4Ntm8B6ngzyQZTmQ9PR5KvXI4TzbKEBWrDIi5k,10490
|
67
|
+
synth_ai/environments/examples/minigrid/environment_mapping.py,sha256=N0JJ4Ako-sX-89nE9vCbPQIzVuhGpyy309Y_y7osNiA,7019
|
68
|
+
synth_ai/environments/examples/minigrid/puzzle_loader.py,sha256=fjLqZ_WW2Oc5F1zQM6SRS98pT2Tf04O3tkjFzI-svmc,14656
|
69
|
+
synth_ai/environments/examples/minigrid/taskset.py,sha256=k0XiC9bBV5te3NJpiMXUShBJ200X40zFDIQxv9EsOio,21305
|
70
|
+
synth_ai/environments/examples/nethack/__init__.py,sha256=viygo8pTUB891fGm_tb38s5thNcr17bLFffQdDOfiQ0,266
|
71
|
+
synth_ai/environments/examples/nethack/achievements.py,sha256=YKSYGPXSTva0hwI5Vom0qVEB5DX9rfSbVFUOSnSTTYA,12443
|
72
|
+
synth_ai/environments/examples/nethack/engine.py,sha256=7DPUA6w06vXrBpo_uqSZbm5IPxligXg0w_KbTDHy3y8,29957
|
73
|
+
synth_ai/environments/examples/nethack/environment.py,sha256=FBgjN2MxEoWrsKGBaNyx4NnU4v2_9YBhiffbY43LD1c,10042
|
74
|
+
synth_ai/environments/examples/nethack/taskset.py,sha256=VuRW1hGqtGycBYA6IDPLmr8Pevqg_-Ly-IM4b6vsFYk,11339
|
75
|
+
synth_ai/environments/examples/nethack/helpers/__init__.py,sha256=dvKHaTSS_zn2zLM09TvJsPotiwXgfYr_TiqLw1vAmAg,958
|
76
|
+
synth_ai/environments/examples/nethack/helpers/action_mapping.py,sha256=IzBWMxUHhYWf4a6sfH5gmSXb9OGCEFjKNTmWGcm0le0,9133
|
77
|
+
synth_ai/environments/examples/nethack/helpers/nle_wrapper.py,sha256=9EYtTXK8ITe9p871nuZ2P5Ua29cFChyPzO7g5R6_SZ8,15142
|
78
|
+
synth_ai/environments/examples/nethack/helpers/observation_utils.py,sha256=FlZUycZEtRTACq1rRIhIfUmOMCF-jVqRR1WSgWbAolM,12350
|
79
|
+
synth_ai/environments/examples/nethack/helpers/recording_wrapper.py,sha256=YJnwu-E72U7t4YIUr1__Chm_DyVQoDOtbNl61X_Kz0w,7447
|
80
|
+
synth_ai/environments/examples/nethack/helpers/trajectory_recorder.py,sha256=fpnCDmWnoVp5wyw3KoneS2B58pEBRxhNMTl1ggAuk6k,8988
|
81
|
+
synth_ai/environments/examples/nethack/helpers/visualization/replay_viewer.py,sha256=sqd-todPUhK2VogNcPAXLqtHE0ASw7ythTzYqVgSYRM,11902
|
82
|
+
synth_ai/environments/examples/nethack/helpers/visualization/visualizer.py,sha256=70reUQd5jk2Rs7hhX_NY8K4_zVxZObGmomPDYoVF2g4,14832
|
83
|
+
synth_ai/environments/examples/red/__init__.py,sha256=4uHc_oyMmFK9jllUs9BAY4mxMwt5_Q7sD7Meo8zuTa4,199
|
84
|
+
synth_ai/environments/examples/red/config_logging.py,sha256=jVjehrms140gnJ1aAaXK9oxRXqh8CuU23yGp4AZOh74,3710
|
85
|
+
synth_ai/environments/examples/red/engine.py,sha256=R8uVkQyd9VQe7LdIBzQjcRPRAhHsP3BW3iKwJfci73E,23836
|
86
|
+
synth_ai/environments/examples/red/environment.py,sha256=lhEYlWjmSGKZFfdD4_g0oA_E8VAFc_6ppyPXnL-JEao,9364
|
87
|
+
synth_ai/environments/examples/red/taskset.py,sha256=B7TjNjBscUDeWEXmNjJxvoNSGbwNzRqaxS0XUiOYgXg,2827
|
88
|
+
synth_ai/environments/examples/red/engine_helpers/__init__.py,sha256=YyNOk0TMWA_CI_EakcTMjbLJpkFKKRhJfVe792w-CXE,33
|
89
|
+
synth_ai/environments/examples/red/engine_helpers/memory_map.py,sha256=jOsBYaYYxUy2tz3L2pCoj7Y_3UdrViw6vNYdgbEZFDk,1193
|
90
|
+
synth_ai/environments/examples/red/engine_helpers/reward_components.py,sha256=zueBbdnERtim8LjgsGsSglowgqCx66F01NegHYqAscQ,9356
|
91
|
+
synth_ai/environments/examples/red/engine_helpers/screen_analysis.py,sha256=Z3MieifyTux37LATCRHYlcSsK8RX1Bc5tM3mKi4WXAo,12774
|
92
|
+
synth_ai/environments/examples/red/engine_helpers/state_extraction.py,sha256=klKNv5y_vURtPfFhwhNOLZ8qEGUjcfd5sCbNUB2etAU,4419
|
93
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/__init__.py,sha256=kVVAJLLrZqwlbcUIvxOdjaKGUUUnVV25LyCXzEfpoMk,4015
|
94
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/adaptive_rewards.py,sha256=-Wox3xUMfn_7flG3_PROl0209bVSTIgAMDqCxVR5grY,1891
|
95
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/battle_rewards.py,sha256=pXHjxQwRO5EFkKfFERdu0jCitC3xygPq236JkFEVcjM,10427
|
96
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/composite_rewards.py,sha256=wYvcnlGAT5cvAh-4kuZ_jYQAtwXUlSZ-k7Pr6s19RAA,5092
|
97
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/economy_rewards.py,sha256=8UpwTzQHOl0VqhjsWtb1SHbVxLmIGdjXzoUGl9LXoMc,5019
|
98
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/efficiency_rewards.py,sha256=Frkr6UE57dmA1WWaa9d933nK8TbbI07ucVC5bplM1ZQ,1818
|
99
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/exploration_rewards.py,sha256=1jKMphKjG_YJa7OKsEHLT3geBBHcrCYKi45tDOaCF-4,12392
|
100
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/novelty_rewards.py,sha256=ii6pZijxW5oDtQtPelWOoOKjNJ4NAoN9wtaDmOiyNCM,3612
|
101
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/pallet_town_rewards.py,sha256=8SaZP_76PIaXWs0bbmc2cwW2V0dz5XSXCzkHFB5ho9E,19890
|
102
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/pokemon_rewards.py,sha256=0WtJcdWtcjHD7Zk678KGZExZSlhd6nSmJ1JFzEYRe4o,10861
|
103
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/social_rewards.py,sha256=MjocMamUzUue6EgwGl1dd9nIUqA67mm1LgNN4L27p_c,5676
|
104
|
+
synth_ai/environments/examples/red/engine_helpers/reward_library/story_rewards.py,sha256=WOq39UtC7e0cTBQj88TIHwI6KatmR6UxhOKuJSS4SXI,8465
|
105
|
+
synth_ai/environments/examples/sokoban/__init__.py,sha256=Y5MpHrvlI9s5gEwlAJ0FM08bZpyC4QdnGWaTCyPQas8,35
|
106
|
+
synth_ai/environments/examples/sokoban/engine.py,sha256=e3jFsbrm3nr1u90aa3hXiCFoMs9dcyAq4xjRZWv2cA4,26354
|
107
|
+
synth_ai/environments/examples/sokoban/environment.py,sha256=Owy7ppk8X3FJoX2rIB4QVi9JmmkhBo9PpftzjJPInuM,9802
|
108
|
+
synth_ai/environments/examples/sokoban/generate_verified_puzzles.py,sha256=Wu1UMtUk_qk14LHHKSSkk108yuM9TFyhG1F9Dpi_Kk4,15511
|
109
|
+
synth_ai/environments/examples/sokoban/puzzle_loader.py,sha256=3FTMk_u6G9Ex1BBFsCxHDO5nTdENlSxM6BSIafXJ0_E,11498
|
110
|
+
synth_ai/environments/examples/sokoban/taskset.py,sha256=suFDtkh20_Fq-A-Oc3CtaLXhsOa2WQVZNPWafrdhikY,15506
|
111
|
+
synth_ai/environments/examples/sokoban/engine_helpers/__init__.py,sha256=ensyOUm01rMpYZPIoV012_v6vxnv95mwwi63hLJvwIw,29
|
112
|
+
synth_ai/environments/examples/sokoban/engine_helpers/room_utils.py,sha256=1qs8UmlqD-VKPXNvncqMG0X3ICF_LXif4BP5tUkJ-34,21758
|
113
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/__init__.py,sha256=aojjVMDT0WX5hhjt2sxTwDe4_BoS7ZogcFTz1andAq0,405
|
114
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/__init__.py,sha256=9NnrZMdHGIqAqB2nJVOyxvbxElbZURt_LifmysF5CB8,134
|
115
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/boxoban_env.py,sha256=St4GMPN2HtKd-Em9GXRq7Yjs9WaAizPBCKcvFbYuIHA,4134
|
116
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/render_utils.py,sha256=oB2oEpusoTZDsq2-7MhUDS2zEWXICRGNFsMOlJahF_M,11375
|
117
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/room_utils.py,sha256=Z9g8Q8RzHSHUVSkN_F29NSBFK-5k3BKLVPkvqM9lO64,10588
|
118
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env.py,sha256=4F-tPHZAmaI1cIhPzVOAZQiKOOyL0s_5vmdlDaPqXu0,10382
|
119
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_fixed_targets.py,sha256=bFKXcif8NHNMzsDufD6Audws8ACVh_umL8myhkeEQdI,2552
|
120
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py,sha256=ZCEr6LoSxKvVQzbRGwRBN62RAQPP5jiLoNqI8c4Ij2Q,3808
|
121
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py,sha256=99yZCBsbx3i5Wiuf786TiHQjq2tMEY0OKsOEa-obhXY,3763
|
122
|
+
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py,sha256=VKMXRVmVdIxfa0q_T5Dfll5HHadc5QHpktRQztEIxGs,15455
|
123
|
+
synth_ai/environments/examples/tictactoe/__init__.py,sha256=XGoOP8GEGXjG-TI_E_-3b1jOhpGNtl_LmR9G3K59Gig,31
|
124
|
+
synth_ai/environments/examples/tictactoe/engine.py,sha256=B2OYQ3TVi_c75BRy_zHIEWjcTSaO4vnZZQJTo6wFe7k,12430
|
125
|
+
synth_ai/environments/examples/tictactoe/environment.py,sha256=p_ZN5-AyYKUnIJ5Df46fXMlJZ6yRerkvXC9GA1W0Ht8,9336
|
126
|
+
synth_ai/environments/examples/tictactoe/taskset.py,sha256=q601JiFJXqJu9gjsvEXgYA8TkQ-u0pLZgzxHN7A4hBw,7812
|
127
|
+
synth_ai/environments/examples/verilog/__init__.py,sha256=JBf4ayWGO-VPK7PLitp_-jiKDi9gd3hhQ-PahNkiLJ0,262
|
128
|
+
synth_ai/environments/examples/verilog/engine.py,sha256=Vl-msE1hrtx1zSwy0p6Xq0nCgCo-AUHy2zkcJA715LA,12171
|
129
|
+
synth_ai/environments/examples/verilog/environment.py,sha256=UfdV8097c_oCtqoaL9TP7-J2nsYCz3tFQRdFoUW0pKA,12330
|
130
|
+
synth_ai/environments/examples/verilog/taskset.py,sha256=sJzLVjq3d4_gbmzKQPLJlFYBXIHonf8ybpB7HdZYdLo,13338
|
131
|
+
synth_ai/environments/examples/wordle/__init__.py,sha256=JksC4yMuWfnoO1nXS-bIrxRGPBL3AU93Kw4R1FYGj7E,804
|
132
|
+
synth_ai/environments/examples/wordle/engine.py,sha256=FyPczyaBCJHR5kM329w4fP4yDTKQl6uCw3F3iKj6fLI,13097
|
133
|
+
synth_ai/environments/examples/wordle/environment.py,sha256=bVQgDKX6l96unaY37cndf_8eBEiLJwvoPZ6DAgb5fQY,6378
|
134
|
+
synth_ai/environments/examples/wordle/taskset.py,sha256=E5EfE9cma_saVoUKmVkCL9FgYeKRnkpQDviZAkyuIoY,8236
|
135
|
+
synth_ai/environments/examples/wordle/helpers/generate_instances_wordfreq.py,sha256=QZmCX62GMfrR3U6VqzFth1C9nk7JL1JO7hpHcXUFrOw,2509
|
136
|
+
synth_ai/environments/reproducibility/core.py,sha256=jDhG1EARROJH7-Y7eKuMYdjbi4-t1QUbxddHbbG1Dxc,1499
|
137
|
+
synth_ai/environments/reproducibility/helpers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
|
+
synth_ai/environments/reproducibility/tree.py,sha256=LMVTrKpPkBDjkZOfA5ptl3_n8JPc9GCnP49itPKL8zc,13703
|
139
|
+
synth_ai/environments/service/app.py,sha256=wS3xlqxEQmQ0uqMDTHvpXWE8FSIUPryixAIA_sX8iwI,2981
|
140
|
+
synth_ai/environments/service/core_routes.py,sha256=D3KMH6eIWxbcW0F8jIgdfYe7PF8Nb7kmKz1a9z0GwR8,38412
|
141
|
+
synth_ai/environments/service/external_registry.py,sha256=3PiWCsZr0PburC6K-IBjO9uHGVa-qnT0JHTFyyN4sZE,1765
|
142
|
+
synth_ai/environments/service/registry.py,sha256=R4bvjdEW1GtYJdZL4Vl9ogNCQc0iGCxmjs-NuzCo5f4,405
|
143
|
+
synth_ai/environments/stateful/__init__.py,sha256=UPNmotqxS2zXjSfhBui6R4qsDOIxKECL5xVTVDHcvsk,39
|
144
|
+
synth_ai/environments/stateful/core.py,sha256=hzQdicqHqffDUIBBEMz2eR5nt5M_zFV1s2mdlkvntMw,6377
|
145
|
+
synth_ai/environments/stateful/engine.py,sha256=aMzJS47T1asCOk2rZ6ourjiEneGehmLJwLexX3hpjbk,437
|
146
|
+
synth_ai/environments/stateful/state.py,sha256=UT-cZzXPtHYZccefQ8hgKbRl80UzriNBnXlIF_xEnVs,257
|
147
|
+
synth_ai/environments/tasks/api.py,sha256=cvfC8-aTHEkM22qnzx3_QI71kmIH3jDzkswb3y6M2FI,308
|
148
|
+
synth_ai/environments/tasks/core.py,sha256=lec-e94evJeGNdToqQPXbDVVj8SrGv3kd2aY0hFfZqw,1731
|
149
|
+
synth_ai/environments/tasks/filters.py,sha256=f4xSkyY90YvirhRZRo7dDU5T3XwzQ8Bw1Tqiuha9LBo,1376
|
150
|
+
synth_ai/environments/tasks/utils.py,sha256=ZyDCQmj9jVcVBCrxFR2es1o5eLr7SLJK8k2EdNknFzk,2608
|
151
|
+
synth_ai/environments/v0_observability/history.py,sha256=gW0SozHmxeL6PFNaTAQ7em8BNUlObsRpP4_MJ3drMBE,54
|
152
|
+
synth_ai/environments/v0_observability/log.py,sha256=B4LvbPh0a1_E5dki2PlKAVHESB8oCQz0CmDBvC0GwdQ,38
|
153
|
+
synth_ai/evals/base.py,sha256=EFupWBUxKIwvTvr4H29jX-LHWwAyIvNhzexHmG9w6QU,355
|
154
|
+
synth_ai/experimental/synth_oss.py,sha256=g9DQw3LqaDiVEcr-B49yg21M5Mus1HHId5-wMgJoK9Y,15636
|
155
|
+
synth_ai/inference/__init__.py,sha256=FMLFiLMfhZJlQERJCj641TtPqpiiJpaJQxxPFaFZ5jA,76
|
156
|
+
synth_ai/inference/client.py,sha256=zg2OXGxkURZihLONcm4jGTndlde7YDrORlE9uwGLFm8,711
|
157
|
+
synth_ai/jobs/client.py,sha256=wSSqzvIY_vmwG-CHeQYGoSsb-uOr0hDmE8ylNqNoQQQ,9498
|
158
|
+
synth_ai/learning/__init__.py,sha256=gBtKs-FtQYsqcYtpGvHQA3Ro-ezu1ILjoQAMTCJWFq0,743
|
159
|
+
synth_ai/learning/client.py,sha256=BtoSHkbUhBs6ALj4ylCNmJ7fyXMYMhrKzbeXhAKtkWY,6626
|
160
|
+
synth_ai/learning/config.py,sha256=-W1vsN08sKydgo3IEaaGVa45zrnMipm-rPRPE3WNhP8,1243
|
161
|
+
synth_ai/learning/constants.py,sha256=TnIEZrMpbPNpu7Zyk3bmyX3K2XGwWTwRuAUukxBYg64,538
|
162
|
+
synth_ai/learning/core.py,sha256=bA_Ng3YKeCJb1scnrSapp48HildL7Pd2fHkZ4zxurZU,440
|
163
|
+
synth_ai/learning/filtering.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
|
+
synth_ai/learning/ft_client.py,sha256=3kSiDHjea1wA8tZf2g7JOav-VtKpeYYTHh7OEBapfH8,2241
|
165
|
+
synth_ai/learning/gateway.py,sha256=8plVu9V_0PTt1ZI6awuh9wSFT4BqS-mLshaN77wGyDk,31
|
166
|
+
synth_ai/learning/health.py,sha256=YxvY0YY3nF_a_HO3IdL9gUj7dXcuVdGpnUEP0dUGMMo,1571
|
167
|
+
synth_ai/learning/jobs.py,sha256=5ShyHNJ1btpC7NY5coURTPl8X4V9fshTq2O-3figJEo,9692
|
168
|
+
synth_ai/learning/rl_client.py,sha256=feCYyFxC0iAXICSknG_W2fNrxr7CzUy4gLM3gfraszQ,11340
|
169
|
+
synth_ai/learning/sse.py,sha256=S0IxAB0SOSSliua-e8m2wilC84jEaNXM6TP4LElUWNU,1891
|
170
|
+
synth_ai/learning/validators.py,sha256=9p7Sqrh-NeFzyqNzsPZBSPQgOPsSlNAqqydtnVdNiWI,1823
|
171
|
+
synth_ai/learning/offline/dpo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
|
+
synth_ai/learning/offline/providers.py,sha256=nrPYoOvns5ekC_o9FecWpV7MOtHR1sH-ldRpmrfMeGo,33
|
173
|
+
synth_ai/learning/offline/sft.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
174
|
+
synth_ai/learning/offline/shared.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
175
|
+
synth_ai/learning/online/grpo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
176
|
+
synth_ai/learning/online/irft.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
177
|
+
synth_ai/learning/prompts/banking77_injection_eval.py,sha256=PFAfNC8OydKiC0Nr-DhPV0lwAgQBq5FoRkc5-xMUfzo,5704
|
178
|
+
synth_ai/learning/prompts/gepa.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
179
|
+
synth_ai/learning/prompts/hello_world_in_context_injection_ex.py,sha256=QCVggg3dbKDR8zi0Slx0tTEqZL7eMf6Y1qn05a6mUBE,9008
|
180
|
+
synth_ai/learning/prompts/mipro.py,sha256=--lTu7o9PBc0XDbu9R-sCFMPS9jdrjs0D2W6C2mvRy4,9560
|
181
|
+
synth_ai/learning/prompts/random_search.py,sha256=cL2sAT217So_rmWVGNbz8K-XD0nJbPjhuwaYJcci3Xg,8164
|
182
|
+
synth_ai/learning/prompts/run_mipro_banking77.py,sha256=7OwJ4E5xsKfqQL9gp09D47IuDY6qRUrL_dHkjHDBY3M,5337
|
183
|
+
synth_ai/learning/prompts/run_random_search_banking77.py,sha256=vdO-RnW_Yh0VViniW_PJqUXGz_ywERd90N_ldf0P4Hc,13578
|
184
|
+
synth_ai/lm/__init__.py,sha256=Yv8qzz_BxUvwmwRQcLquLU5uMudPtqYa93IY0q7PvDU,1142
|
185
|
+
synth_ai/lm/config.py,sha256=qsV-1w9WlSRju0hyDj8EI61N_jLwnCN3yhe-DLxkG-Y,3565
|
186
|
+
synth_ai/lm/constants.py,sha256=I7WRm8bRqH0mQQS0bbBysojzxdcvuJ77kJh81es8qZw,1227
|
187
|
+
synth_ai/lm/injection.py,sha256=pMWQSem8j_76cw5sMevcw54H6Kb3UG2uPSK-O64y8BU,2807
|
188
|
+
synth_ai/lm/overrides.py,sha256=-qsmSxDcXq9HoeiTU_Ox3YW9Xcb0-VMWddzQRZa5jX0,6887
|
189
|
+
synth_ai/lm/unified_interface.py,sha256=cHi90uhWoLq58jMNvNzd4xwbxR7JFK8QbF6pjKWHeIk,6436
|
190
|
+
synth_ai/lm/warmup.py,sha256=-h9H8PRPs6tiRIwhSTlfqaG4K5OQpVMBvxpd24Bst7Q,6740
|
191
|
+
synth_ai/lm/caching/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
192
|
+
synth_ai/lm/caching/constants.py,sha256=75etL2lff9oHv2xGitvTtxACS2ffuPECZc6RKiSX4DI,149
|
193
|
+
synth_ai/lm/caching/dbs.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
194
|
+
synth_ai/lm/caching/ephemeral.py,sha256=3uML-OEcb95UcfGwSedXkwQKpIqEJMegs0Zm5RTgT6w,3290
|
195
|
+
synth_ai/lm/caching/handler.py,sha256=vmW0ksarIqhS5AtYQ_bj2Cjm_0K0VOVhMv5vfwugf_U,4856
|
196
|
+
synth_ai/lm/caching/initialize.py,sha256=MG4DybeWkWDff76hLMdwWWniCDbZ1LpVXsYI4EX-caQ,405
|
197
|
+
synth_ai/lm/caching/persistent.py,sha256=j4b4biOnJwaUCMEAXU7KLKSbbpwB1aSlMlwhtmu9eWE,3806
|
198
|
+
synth_ai/lm/core/__init__.py,sha256=pFiA6qPyQu6e-KrZruL9A-soRlhSU4Vd_TmdqMzWaIU,136
|
199
|
+
synth_ai/lm/core/all.py,sha256=sRSuXgdXMrG46DbL7LeBA2g9PcnNgMKV0RhLkWecR1o,1765
|
200
|
+
synth_ai/lm/core/exceptions.py,sha256=YZ3dgwb--ZyLoa4gI9uDGkuWoGfh-TS4yFanSwQd-CM,98
|
201
|
+
synth_ai/lm/core/main.py,sha256=V1b-v8aySJwcilS_uziHyIVF-RUpOj8QK2_F828pHJ8,12801
|
202
|
+
synth_ai/lm/core/main_v3.py,sha256=TJQHZ0kg7B1jM6deZSF21gVM-u-X-zkr-Zs4GiGfxTw,24602
|
203
|
+
synth_ai/lm/core/synth_models.py,sha256=XEogTWiXbpyeznb0Px_WAkRUmKlT2WIS4nFrtnEm6-c,1646
|
204
|
+
synth_ai/lm/core/vendor_clients.py,sha256=yDJ4KxIP4sdxIaUkXJqF4G4_VS-47YA_OBQscj9v0B0,6890
|
205
|
+
synth_ai/lm/cost/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
206
|
+
synth_ai/lm/cost/monitor.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
|
207
|
+
synth_ai/lm/cost/statefulness.py,sha256=SO-H9_R1_KL110z_ceRIJzH6n8D9gpx-R1-_mtO7pNI,37
|
208
|
+
synth_ai/lm/provider_support/__init__.py,sha256=dUyw3dK63eDvo6VmM4dol8ZGfyYk2V1vzQEAdZlZ8-s,225
|
209
|
+
synth_ai/lm/provider_support/anthropic.py,sha256=r1mnHd-NX65QZLqOSQqh980IUtYXqcT0D0LQHkn8F08,35515
|
210
|
+
synth_ai/lm/provider_support/openai.py,sha256=XLfmfoN_-8WwiIvhl1LjqVh5hvs7dh6_tloFmX_pmPY,40040
|
211
|
+
synth_ai/lm/provider_support/suppress_logging.py,sha256=CKk8yGVWUZT6YLqzALOf4PZ3WyqMC_DiUTx6vF9O0zo,1037
|
212
|
+
synth_ai/lm/structured_outputs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
213
|
+
synth_ai/lm/structured_outputs/handler.py,sha256=HMOsmvRdlrF09rkTXE-fT2xa36AeMMq7DcFCMV25XSE,17322
|
214
|
+
synth_ai/lm/structured_outputs/inject.py,sha256=gm9jo7zsAb4bYxovbxAzZWCxL-pc8dezsXYzwupMvas,11495
|
215
|
+
synth_ai/lm/structured_outputs/rehabilitate.py,sha256=glJ6ZMFIaHQg47ugMKzcTiIIktPUmD0V1GLr9mfUvwQ,7929
|
216
|
+
synth_ai/lm/tools/__init__.py,sha256=3JM5vqZqKloaeHaxuO49C8A_0qljys3pQ1yt70WKhho,51
|
217
|
+
synth_ai/lm/tools/base.py,sha256=sDiqopouPml_tEFKQXMZFl0M45JO-yJBWWjyaeAyV1Q,5722
|
218
|
+
synth_ai/lm/vendors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
219
|
+
synth_ai/lm/vendors/base.py,sha256=K9SmghoH_WoMtmx8Q1qrcKcj1VriWHrMm607tIUgNOI,2430
|
220
|
+
synth_ai/lm/vendors/openai_standard.py,sha256=ExZaaGc-No-xZ2kpVoyXEzh57tanDZbFFVJVpLLoG0Y,34039
|
221
|
+
synth_ai/lm/vendors/openai_standard_responses.py,sha256=iTmnXzLgeWQ_XfB8CtNMDdPRSPI97jccw4k5anhKLcg,10165
|
222
|
+
synth_ai/lm/vendors/retries.py,sha256=Ti72rZWoJsO7Kj6QtCMwmubX65AM-K4USf86zh-K3Go,565
|
223
|
+
synth_ai/lm/vendors/synth_client.py,sha256=F7VI5G02t1nerCE3QAxcsdn3byo98ifWfM7A_-fZNWo,27749
|
224
|
+
synth_ai/lm/vendors/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
225
|
+
synth_ai/lm/vendors/core/anthropic_api.py,sha256=mxJVF-uvSUOdbBRMmVfwBFCc7ntV5i_LNE5tQ2AxAbU,14986
|
226
|
+
synth_ai/lm/vendors/core/gemini_api.py,sha256=mHvQtRqoymuzsQDxNFgTDt4HsrgvIuVBSAE29QpRa34,11082
|
227
|
+
synth_ai/lm/vendors/core/mistral_api.py,sha256=4ggRg_4ajzZMBCb-0mHMX_ZTg10tteSfnIPE2NULFag,11875
|
228
|
+
synth_ai/lm/vendors/core/openai_api.py,sha256=7znI4-yFc0sI5z6eOckd-Ks-IJU66v9gCBzoLjSzY7A,8416
|
229
|
+
synth_ai/lm/vendors/core/synth_dev_api.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
230
|
+
synth_ai/lm/vendors/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
231
|
+
synth_ai/lm/vendors/local/ollama.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
232
|
+
synth_ai/lm/vendors/supported/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
233
|
+
synth_ai/lm/vendors/supported/custom_endpoint.py,sha256=dlJyb3d4c-ZIlCxBDsmBj8dtYBO8aoz1MxD8TuqmbG4,15314
|
234
|
+
synth_ai/lm/vendors/supported/deepseek.py,sha256=vTWdr0MYMsywhm2ajMzXOTTbgOcStT_P7xL8BDMcpNI,2329
|
235
|
+
synth_ai/lm/vendors/supported/grok.py,sha256=_dDUPhov6_T_nqCN3ygLuFiDeoSMcKGaztvfhPrR5UY,2226
|
236
|
+
synth_ai/lm/vendors/supported/groq.py,sha256=7W3kOg164C4R5zhDG6hb0IhaHDSz85xHc04uLz7umcQ,383
|
237
|
+
synth_ai/lm/vendors/supported/ollama.py,sha256=GMrDhKD0LJLk6wFwzEi4WCgreagkADC6WxcWZqBdGJ8,466
|
238
|
+
synth_ai/lm/vendors/supported/openrouter.py,sha256=N2slrvToudY8LIq8QHfHESm-IVo4GBriTAQF7RteO0E,2570
|
239
|
+
synth_ai/lm/vendors/supported/together.py,sha256=IFd6gJtfPuE_KLh51ywp1iIkvow_R26EHPcYXBnw8Vc,337
|
240
|
+
synth_ai/rl/__init__.py,sha256=MrO6d2ehaDpE7nWQdie13CtYbIvezms9IaVENPeymwE,724
|
241
|
+
synth_ai/rl/contracts.py,sha256=6LJUT2UWHWebkoMprbIgsycV9ET3qLY-3NN1v4bJacY,673
|
242
|
+
synth_ai/rl/env_keys.py,sha256=lb2kQwuk4zMXyTUnaVCAbYvIstiGznLCdx797rAsPFk,4960
|
243
|
+
synth_ai/rl/secrets.py,sha256=RJU7N0idDNhENHyG9uAStXJxRGQMQti45xpm5i3uUGc,586
|
244
|
+
synth_ai/scripts/verify_rewards.py,sha256=w1eFGi-H5It7J55Qyt5s1mPnSc4AldMmZ9roNzE0ulQ,3304
|
245
|
+
synth_ai/task/__init__.py,sha256=1mkw9Gfgg7eYKxgvJGHvffpGZmJG9xTNn7ESKhERDv0,253
|
246
|
+
synth_ai/task/contracts.py,sha256=-zzarbw-8XIBSbd9SPSU1UF0fYKuTFOweWh5yHrj9nk,3699
|
247
|
+
synth_ai/task/health.py,sha256=MItweOAtvYAVdhqDVaKJhRgvTOqgSLZylgY8m7YqVp8,985
|
248
|
+
synth_ai/task/validators.py,sha256=IGE9zTjHYXOehwakMkcOAaDLSaHw_0Tp8uzL2ydCZ9U,361
|
249
|
+
synth_ai/tracing/__init__.py,sha256=0Yy1YDMe_Duw976yu0HL1cbqPWdZEvtgEdtjDguNvcc,781
|
250
|
+
synth_ai/tracing_v1/__init__.py,sha256=uV6qf8_rJTxRx6tCsXvqnjHhA1mR0im2rANuh0McrHA,930
|
251
|
+
synth_ai/tracing_v3/__init__.py,sha256=9lKM-blbXo6Sk1oBpyYayjMVU43f9Y_35M1OvRynWoU,3251
|
252
|
+
synth_ai/tracing_v3/abstractions.py,sha256=FmVxWpRZAq5UmEmM-PjG-lFAT-1qgao7JGNh7AkU6b8,12368
|
253
|
+
synth_ai/tracing_v3/config.py,sha256=mPX2P4ILv1ktoI8oGKO_LyLc0O6Lnr2jbHA3QE-y6N0,3241
|
254
|
+
synth_ai/tracing_v3/db_config.py,sha256=9tG-0OC22bmpNHH4bz6pdb5a5JHgFzhav6p14POAqAQ,5827
|
255
|
+
synth_ai/tracing_v3/decorators.py,sha256=p8iXlNw7bIRC8-uG9doWMkDQiuJK5KSCm_awiifMjJw,13262
|
256
|
+
synth_ai/tracing_v3/hooks.py,sha256=iUKYY_I0abTSH_-Xe6Dfja7ff8xAhBVOU8AP2BEEcmA,7923
|
257
|
+
synth_ai/tracing_v3/llm_call_record_helpers.py,sha256=mqSQStFC02z9b7uoTO7FjgJfd8Kq1FWcBLi3k2lqRWs,12181
|
258
|
+
synth_ai/tracing_v3/lm_call_record_abstractions.py,sha256=j2RGuXVaV_EXmIosuXRDjptJSlrDXwb8x06k2fF6lqo,9195
|
259
|
+
synth_ai/tracing_v3/migration_helper.py,sha256=izm7SNHtG3VDv_5ZmMk_mmwKitmShxUK3joNFOArZIY,4177
|
260
|
+
synth_ai/tracing_v3/replica_sync.py,sha256=MoJRcMp6rZVC1QZF9EH2oUV70C7Br0N8DhEUZ9PeWks,8670
|
261
|
+
synth_ai/tracing_v3/session_tracer.py,sha256=_pNmKmoqUsnH410L5zDzC9_f804j_fOzTFSUTh782d0,16718
|
262
|
+
synth_ai/tracing_v3/utils.py,sha256=8fmysb6iHVaKtd7-ybFYC_hk2EnFh-wrywtHmdgx0ik,3409
|
263
|
+
synth_ai/tracing_v3/examples/basic_usage.py,sha256=wNpn8t0s0-2wusamBjn8WyyDUM_5Qz5_7TJuK4tSA98,7196
|
264
|
+
synth_ai/tracing_v3/storage/__init__.py,sha256=VPjBh180bcSPz1HsbqaqfnvguwqwomaEYKxkrhfGABY,332
|
265
|
+
synth_ai/tracing_v3/storage/base.py,sha256=6gzMy0wHnkPRK1gPWRQWZk5Q1EFhWtdcXHfuUP_F12E,3587
|
266
|
+
synth_ai/tracing_v3/storage/config.py,sha256=F20Vh5rBYtN9H2MFfVw9tQT8IjKmPsOtNfdcy1vIx8g,2077
|
267
|
+
synth_ai/tracing_v3/storage/exceptions.py,sha256=zqfsjb4r8qcZGlId0h9-x0RpJq2_DRDfdlzW6_KIRCw,708
|
268
|
+
synth_ai/tracing_v3/storage/factory.py,sha256=fztR3YxxFpRBFtRsJvvn5Gb7eNWfzMScX48cJiVIgos,1262
|
269
|
+
synth_ai/tracing_v3/storage/types.py,sha256=LevN8M12ilZ0EaiQ6Y3yONSMuLGEhSKNt0ir5wbVbek,613
|
270
|
+
synth_ai/tracing_v3/storage/utils.py,sha256=GTc0AYzuaCAwci6sg7UCgtMnluNIIUDbrBOJcP8LvmE,6056
|
271
|
+
synth_ai/tracing_v3/turso/__init__.py,sha256=MSvWojb9unyfLeTSaiVfw5T3dK72MzNQbvoCEZB9zag,414
|
272
|
+
synth_ai/tracing_v3/turso/daemon.py,sha256=RHcwab3pe3rbD8Ccl10_61KWgaieBv0fHVOsn9NkFfk,4334
|
273
|
+
synth_ai/tracing_v3/turso/manager.py,sha256=klWc5RHh5N_EGMse8yQCWjhY82lw87XKPq78QD8IBP8,31248
|
274
|
+
synth_ai/tracing_v3/turso/models.py,sha256=z_6UIq01RMpo1fHxbDrRQYU78tulWUPYSyp2edq9Q7M,16186
|
275
|
+
synth_ai/v0/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
276
|
+
synth_ai/v0/tracing/abstractions.py,sha256=pL9XCf9UEWdX4IRizzRK9XUNBtDeBYfkVD51F8UOB0s,6898
|
277
|
+
synth_ai/v0/tracing/base_client.py,sha256=IZpyuM-GIClvBBFA9iv4tpOjzY1QHF1m7vkNCYk7xLo,2931
|
278
|
+
synth_ai/v0/tracing/client_manager.py,sha256=rDHpOClkf1t0_6cJecQtr9IaaRmEJOCQ8StaiHyXq1E,4512
|
279
|
+
synth_ai/v0/tracing/config.py,sha256=Rv_NWeYBFqxNdj_Pp7_EifdZUgFU00d81iE9MPqWU8k,3998
|
280
|
+
synth_ai/v0/tracing/context.py,sha256=QZRgMgSWMcmZtQ4WDA7eCJdIAKbgU85vWDM-aiRUpCE,5113
|
281
|
+
synth_ai/v0/tracing/decorators.py,sha256=WlpU6qfFBqg5W7uc6_l_sK0LKae4CJdcxXSlHUIr3po,30807
|
282
|
+
synth_ai/v0/tracing/immediate_client.py,sha256=M1J1zY9dC2u0Ta-xa6kK32mSa9g-va2Avu7hnB88tbo,6203
|
283
|
+
synth_ai/v0/tracing/local.py,sha256=sDNQ6ECVwZZkRlCC0_F33VOXuUUzZ1B0UVFBMKtN5R0,722
|
284
|
+
synth_ai/v0/tracing/log_client_base.py,sha256=Zl-dOknLd47xa-fh_3UBJkw1wF67uN1-4sm8N0Wl7CU,2297
|
285
|
+
synth_ai/v0/tracing/retry_queue.py,sha256=Crpt8ugbuxKfau3ioWt0jMJzsCafaxKPSC1X3gfPU34,6647
|
286
|
+
synth_ai/v0/tracing/trackers.py,sha256=I_5M9vAzFAsR_xKPGq_55yq2NkwztBZreMX8JhCK9UA,19005
|
287
|
+
synth_ai/v0/tracing/upload.py,sha256=orzoqYjfkBblTOE9lUIsSvCCDkM1hmVfVV9xRBNOdII,17343
|
288
|
+
synth_ai/v0/tracing/utils.py,sha256=FXoMW9qOIk8-2qv_7WpVK2UG3_0AAGwi6fQQJ5Eldqk,306
|
289
|
+
synth_ai/v0/tracing/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
290
|
+
synth_ai/v0/tracing/events/manage.py,sha256=ZDXXP-ZwLH9LCsmw7Ru9o55d7bl_diPtJV78_p7hhxQ,5956
|
291
|
+
synth_ai/v0/tracing/events/scope.py,sha256=BuBkhSpVHUJt8iGT9HJZF82rbb88mQcd2vM2shg-w2I,2550
|
292
|
+
synth_ai/v0/tracing/events/store.py,sha256=0342lvAcalyJbVEIzQFaPuMQGgwiFm7M5rE6gr-G0E8,9041
|
293
|
+
synth_ai/v0/tracing_v1/__init__.py,sha256=AHaSAzOMVAML9T_E4OrO2K9BheZDiKBUU3uyfGxIKxc,461
|
294
|
+
synth_ai/v0/tracing_v1/abstractions.py,sha256=pL9XCf9UEWdX4IRizzRK9XUNBtDeBYfkVD51F8UOB0s,6898
|
295
|
+
synth_ai/v0/tracing_v1/base_client.py,sha256=IZpyuM-GIClvBBFA9iv4tpOjzY1QHF1m7vkNCYk7xLo,2931
|
296
|
+
synth_ai/v0/tracing_v1/client_manager.py,sha256=rDHpOClkf1t0_6cJecQtr9IaaRmEJOCQ8StaiHyXq1E,4512
|
297
|
+
synth_ai/v0/tracing_v1/config.py,sha256=Rv_NWeYBFqxNdj_Pp7_EifdZUgFU00d81iE9MPqWU8k,3998
|
298
|
+
synth_ai/v0/tracing_v1/context.py,sha256=QZRgMgSWMcmZtQ4WDA7eCJdIAKbgU85vWDM-aiRUpCE,5113
|
299
|
+
synth_ai/v0/tracing_v1/decorators.py,sha256=iOTISzwBS9VT_leGzMroy_Et7ybHKRzlO-0_V0NBFT0,31660
|
300
|
+
synth_ai/v0/tracing_v1/immediate_client.py,sha256=M1J1zY9dC2u0Ta-xa6kK32mSa9g-va2Avu7hnB88tbo,6203
|
301
|
+
synth_ai/v0/tracing_v1/local.py,sha256=sDNQ6ECVwZZkRlCC0_F33VOXuUUzZ1B0UVFBMKtN5R0,722
|
302
|
+
synth_ai/v0/tracing_v1/log_client_base.py,sha256=Zl-dOknLd47xa-fh_3UBJkw1wF67uN1-4sm8N0Wl7CU,2297
|
303
|
+
synth_ai/v0/tracing_v1/retry_queue.py,sha256=P1XxTzZHBBPeFTHWSh_1oP5Byn4X3bNsXZqPc1rsu5U,6650
|
304
|
+
synth_ai/v0/tracing_v1/trackers.py,sha256=I_5M9vAzFAsR_xKPGq_55yq2NkwztBZreMX8JhCK9UA,19005
|
305
|
+
synth_ai/v0/tracing_v1/upload.py,sha256=_QvCvgNEUmxIpWik9C2y_7f_FBhY9XpgFPLO6zM-b3w,17980
|
306
|
+
synth_ai/v0/tracing_v1/utils.py,sha256=FXoMW9qOIk8-2qv_7WpVK2UG3_0AAGwi6fQQJ5Eldqk,306
|
307
|
+
synth_ai/v0/tracing_v1/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
308
|
+
synth_ai/v0/tracing_v1/events/manage.py,sha256=ZDXXP-ZwLH9LCsmw7Ru9o55d7bl_diPtJV78_p7hhxQ,5956
|
309
|
+
synth_ai/v0/tracing_v1/events/scope.py,sha256=BuBkhSpVHUJt8iGT9HJZF82rbb88mQcd2vM2shg-w2I,2550
|
310
|
+
synth_ai/v0/tracing_v1/events/store.py,sha256=0342lvAcalyJbVEIzQFaPuMQGgwiFm7M5rE6gr-G0E8,9041
|
311
|
+
synth_ai/zyk/__init__.py,sha256=htVLnzTYQ5rxzYpzSYBm7_o6uNKZ3pB_PrqkBrgTRS4,771
|
312
|
+
synth_ai-0.2.4.dev8.dist-info/licenses/LICENSE,sha256=ynhjRQUfqA_RdGRATApfFA_fBAy9cno04sLtLUqxVFM,1069
|
313
|
+
synth_ai-0.2.4.dev8.dist-info/METADATA,sha256=QXSSjKQqZTr1IOiV9xA9gwhvuvyttAw_fWEHU2IrTds,29293
|
314
|
+
synth_ai-0.2.4.dev8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
315
|
+
synth_ai-0.2.4.dev8.dist-info/entry_points.txt,sha256=GSFXaJreq4PJXbixkUI0GHZwGh2dZDG5pYaoVmqr_KE,46
|
316
|
+
synth_ai-0.2.4.dev8.dist-info/top_level.txt,sha256=fBmtZyVHuKaGa29oHBaaUkrUIWTqSpoVMPiVdCDP3k8,9
|
317
|
+
synth_ai-0.2.4.dev8.dist-info/RECORD,,
|
synth_ai/tui/__init__.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"""Text User Interface utilities for synth-ai."""
|
synth_ai/tui/__main__.py
DELETED
synth_ai/tui/cli/__init__.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"""Command Line Interface tools for synth-ai."""
|
@@ -1,165 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python3
|
2
|
-
"""
|
3
|
-
Query experiments and sessions from Turso/sqld using v3 tracing.
|
4
|
-
"""
|
5
|
-
|
6
|
-
import argparse
|
7
|
-
import asyncio
|
8
|
-
from typing import Optional
|
9
|
-
from synth_ai.tracing_v3.turso.manager import AsyncSQLTraceManager
|
10
|
-
import pandas as pd
|
11
|
-
|
12
|
-
|
13
|
-
async def list_experiments(db_url: str):
|
14
|
-
"""List all experiments in the database."""
|
15
|
-
db = AsyncSQLTraceManager(db_url)
|
16
|
-
await db.initialize()
|
17
|
-
|
18
|
-
try:
|
19
|
-
df = await db.query_traces("""
|
20
|
-
SELECT
|
21
|
-
e.experiment_id,
|
22
|
-
e.name,
|
23
|
-
e.description,
|
24
|
-
e.created_at,
|
25
|
-
COUNT(DISTINCT st.session_id) as num_sessions,
|
26
|
-
COUNT(DISTINCT ev.id) as num_events,
|
27
|
-
SUM(CASE WHEN ev.event_type = 'cais' THEN ev.cost_usd ELSE 0 END) / 100.0 as total_cost,
|
28
|
-
SUM(CASE WHEN ev.event_type = 'cais' THEN ev.total_tokens ELSE 0 END) as total_tokens
|
29
|
-
FROM experiments e
|
30
|
-
LEFT JOIN session_traces st ON e.experiment_id = st.experiment_id
|
31
|
-
LEFT JOIN events ev ON st.session_id = ev.session_id
|
32
|
-
GROUP BY e.experiment_id, e.name, e.description, e.created_at
|
33
|
-
ORDER BY e.created_at DESC
|
34
|
-
""")
|
35
|
-
|
36
|
-
if df.empty:
|
37
|
-
print("No experiments found in database.")
|
38
|
-
return
|
39
|
-
|
40
|
-
print(f"\n{'=' * 100}")
|
41
|
-
print(f"{'Experiments in ' + db_url:^100}")
|
42
|
-
print(f"{'=' * 100}\n")
|
43
|
-
|
44
|
-
for _, row in df.iterrows():
|
45
|
-
print(f"🧪 {row['name']} (id: {row['experiment_id'][:8]}...)")
|
46
|
-
print(f" Created: {row['created_at']}")
|
47
|
-
print(f" Description: {row['description']}")
|
48
|
-
print(f" Sessions: {row['num_sessions']}")
|
49
|
-
print(f" Events: {row['num_events']:,}")
|
50
|
-
if row["total_cost"] and row["total_cost"] > 0:
|
51
|
-
print(f" Cost: ${row['total_cost']:.4f}")
|
52
|
-
if row["total_tokens"] and row["total_tokens"] > 0:
|
53
|
-
print(f" Tokens: {int(row['total_tokens']):,}")
|
54
|
-
print()
|
55
|
-
finally:
|
56
|
-
await db.close()
|
57
|
-
|
58
|
-
|
59
|
-
async def show_experiment_details(db_url: str, experiment_id: str):
|
60
|
-
"""Show detailed information about a specific experiment."""
|
61
|
-
db = AsyncSQLTraceManager(db_url)
|
62
|
-
await db.initialize()
|
63
|
-
|
64
|
-
try:
|
65
|
-
# Get experiment info
|
66
|
-
exp_df = await db.query_traces(
|
67
|
-
"""
|
68
|
-
SELECT * FROM experiments WHERE experiment_id LIKE :exp_id
|
69
|
-
""",
|
70
|
-
{"exp_id": f"{experiment_id}%"},
|
71
|
-
)
|
72
|
-
|
73
|
-
if exp_df.empty:
|
74
|
-
print(f"No experiment found matching ID: {experiment_id}")
|
75
|
-
return
|
76
|
-
|
77
|
-
exp = exp_df.iloc[0]
|
78
|
-
print(f"\n{'=' * 100}")
|
79
|
-
print(f"Experiment: {exp['name']} ({exp['experiment_id']})")
|
80
|
-
print(f"{'=' * 100}\n")
|
81
|
-
|
82
|
-
# Get session statistics
|
83
|
-
sessions_df = await db.get_sessions_by_experiment(exp["experiment_id"])
|
84
|
-
|
85
|
-
if sessions_df:
|
86
|
-
print(f"Sessions: {len(sessions_df)}")
|
87
|
-
|
88
|
-
# Get aggregated stats
|
89
|
-
stats_df = await db.query_traces(
|
90
|
-
"""
|
91
|
-
SELECT
|
92
|
-
COUNT(DISTINCT ev.id) as total_events,
|
93
|
-
COUNT(DISTINCT m.id) as total_messages,
|
94
|
-
SUM(CASE WHEN ev.event_type = 'cais' THEN ev.cost_usd ELSE 0 END) / 100.0 as total_cost,
|
95
|
-
SUM(CASE WHEN ev.event_type = 'cais' THEN ev.total_tokens ELSE 0 END) as total_tokens
|
96
|
-
FROM session_traces st
|
97
|
-
LEFT JOIN events ev ON st.session_id = ev.session_id
|
98
|
-
LEFT JOIN messages m ON st.session_id = m.session_id
|
99
|
-
WHERE st.experiment_id = :exp_id
|
100
|
-
""",
|
101
|
-
{"exp_id": exp["experiment_id"]},
|
102
|
-
)
|
103
|
-
|
104
|
-
if not stats_df.empty:
|
105
|
-
stats = stats_df.iloc[0]
|
106
|
-
print(f"Total events: {int(stats['total_events']):,}")
|
107
|
-
print(f"Total messages: {int(stats['total_messages']):,}")
|
108
|
-
print(f"Total cost: ${stats['total_cost']:.4f}")
|
109
|
-
print(f"Total tokens: {int(stats['total_tokens']):,}")
|
110
|
-
|
111
|
-
# Show session list
|
112
|
-
print("\nSession list:")
|
113
|
-
for sess in sessions_df:
|
114
|
-
print(f" - {sess['session_id']} ({sess['created_at']})")
|
115
|
-
print(
|
116
|
-
f" Timesteps: {sess['num_timesteps']}, Events: {sess['num_events']}, Messages: {sess['num_messages']}"
|
117
|
-
)
|
118
|
-
finally:
|
119
|
-
await db.close()
|
120
|
-
|
121
|
-
|
122
|
-
async def show_model_usage(db_url: str, model_name: Optional[str] = None):
|
123
|
-
"""Show model usage statistics."""
|
124
|
-
db = AsyncSQLTraceManager(db_url)
|
125
|
-
await db.initialize()
|
126
|
-
|
127
|
-
try:
|
128
|
-
df = await db.get_model_usage(model_name=model_name)
|
129
|
-
|
130
|
-
if df.empty:
|
131
|
-
print("No model usage data found.")
|
132
|
-
return
|
133
|
-
|
134
|
-
print(f"\n{'=' * 100}")
|
135
|
-
print(f"{'Model Usage Statistics':^100}")
|
136
|
-
print(f"{'=' * 100}\n")
|
137
|
-
|
138
|
-
print(df.to_string(index=False))
|
139
|
-
finally:
|
140
|
-
await db.close()
|
141
|
-
|
142
|
-
|
143
|
-
async def main():
|
144
|
-
parser = argparse.ArgumentParser(description="Query experiments from Turso/sqld (v3)")
|
145
|
-
parser.add_argument(
|
146
|
-
"-u", "--url", default="sqlite+libsql://http://127.0.0.1:8080", help="Turso database URL"
|
147
|
-
)
|
148
|
-
parser.add_argument(
|
149
|
-
"-e", "--experiment", help="Show details for specific experiment ID (can be partial)"
|
150
|
-
)
|
151
|
-
parser.add_argument("-m", "--model", help="Show usage for specific model")
|
152
|
-
parser.add_argument("--usage", action="store_true", help="Show model usage statistics")
|
153
|
-
|
154
|
-
args = parser.parse_args()
|
155
|
-
|
156
|
-
if args.usage or args.model:
|
157
|
-
await show_model_usage(args.url, args.model)
|
158
|
-
elif args.experiment:
|
159
|
-
await show_experiment_details(args.url, args.experiment)
|
160
|
-
else:
|
161
|
-
await list_experiments(args.url)
|
162
|
-
|
163
|
-
|
164
|
-
if __name__ == "__main__":
|
165
|
-
asyncio.run(main())
|