synth-ai 0.2.6.dev5__tar.gz → 0.2.6.dev6__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.
- {synth_ai-0.2.6.dev5/synth_ai.egg-info → synth_ai-0.2.6.dev6}/PKG-INFO +1 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/pyproject.toml +1 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/balance.py +8 -2
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/config/base_url.py +9 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/core.py +24 -6
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/core/openai_api.py +8 -3
- {synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1 → synth_ai-0.2.6.dev6/synth_ai/v0/tracing}/config.py +3 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/decorators.py +3 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/upload.py +3 -1
- {synth_ai-0.2.6.dev5/synth_ai/v0/tracing → synth_ai-0.2.6.dev6/synth_ai/v0/tracing_v1}/config.py +3 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/decorators.py +3 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/upload.py +3 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6/synth_ai.egg-info}/PKG-INFO +1 -1
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/LICENSE +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/MANIFEST.in +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/README.md +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/setup.cfg +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/__main__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/calc.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/demo.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/legacy_root_backup.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/man.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/recent.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/rl_demo.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/root.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/status.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/traces.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/cli/watch.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/compound/cais.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/core/experiment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/core/system.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/core/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/core/cli.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/_common.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/app.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/config.toml +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/deploy_modal.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/deploy_task_app.sh +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/modal_task_app.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/artifacts/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/artifacts/base.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/core.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/db/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/db/sqlite.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/registry.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/resources/sqlite.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/results.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/rewards/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/rewards/core.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/shared_engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/tools/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/bandit/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/bandit/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/bandit/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/bandit/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/analyze_semantic_words_markdown.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_comprehensive_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_browser.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_config.toml +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_framework.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/crafter_synth_config.toml +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_config_modal.toml +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_traces_sft_turso.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/kick_off_ft_modal.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_action_results.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_agent_actions.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_latest_run.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_lm_traces.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_no_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_trace_issue.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_db_schema.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_latest_results.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/debug_agent_responses.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/quick_trace_check.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/compare_experiments.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/filter_traces_sft_turso.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/kick_off_ft_oai.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/multi_model_config.toml +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_enhanced_hooks.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_events.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_results.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_hook_storage.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_seeds.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/compare_seed_performance.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/custom_eval_pipelines.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/plot_hook_frequency.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/seed_analysis_summary.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/run_rollouts_for_models_and_compare_v3.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_quick_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_react_agent.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/crafter_trace_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/example_v3_usage.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/compare_traces.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_comprehensive_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_env_serialization.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_evaluation_browser.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_quick_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_trace_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/debug_player_loss.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_service.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_slowness.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_by_difficulty.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_example.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/explore_saved_states.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft_OLD.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_gemini.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_modal.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_metadata.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_gemini.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_modal.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/prepare_vertex_ft.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/profile_env_slowness.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/replicate_issue.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/run_and_eval.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/run_comparison.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/run_qwen_rollouts.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/trace_eval_OLD.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/agent_demos/old/validate_openai_format.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/config_logging.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/debug_translation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/engine_deterministic_patch.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/engine_helpers/action_map.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/engine_helpers/serialization.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/engine_serialization_patch_v3.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/trace_hooks_v3.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/world_config_patch_simple.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/agent_demos/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/agent_demos/trace_eval.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/config.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/constants.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/env.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/objects.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/recorder.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/crafter/worldgen.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/dataset_builder.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/old/analyze_diamond_issue.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/old/analyze_diamond_spawning.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/old/compare_worlds.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/old/dataset_stats.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/old/diamond_spawning_summary.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/old/example_dataset_usage.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_custom/run_dataset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/enron/art_helpers/email_search_tools.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/enron/art_helpers/local_email_db.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/enron/art_helpers/types_enron.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/enron/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/enron/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/enron/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/enron/units/keyword_stats.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/agent_demos/minigrid_evaluation_framework.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/agent_demos/minigrid_quick_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/agent_demos/minigrid_react_agent.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/agent_demos/minigrid_trace_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/environment_mapping.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/puzzle_loader.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/minigrid/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/achievements.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/agent_demos/nethack_evaluation_framework.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/agent_demos/nethack_quick_evaluation.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/agent_demos/nethack_react_agent.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/action_mapping.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/nle_wrapper.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/observation_utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/recording_wrapper.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/trajectory_recorder.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/visualization/replay_viewer.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/helpers/visualization/visualizer.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/nethack/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/agent_demos/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/config_logging.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/memory_map.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_components.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/adaptive_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/battle_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/composite_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/economy_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/efficiency_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/exploration_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/novelty_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/pallet_town_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/pokemon_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/social_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/reward_library/story_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/screen_analysis.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/engine_helpers/state_extraction.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/red/units/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/agent_demos/sokoban_full_eval.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/room_utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/boxoban_env.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/render_utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/room_utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_fixed_targets.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/generate_verified_puzzles.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/puzzle_loader.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/sokoban/units/astar_common.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/tictactoe/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/tictactoe/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/tictactoe/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/tictactoe/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/verilog/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/verilog/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/verilog/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/verilog/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/wordle/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/wordle/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/wordle/environment.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/wordle/helpers/generate_instances_wordfreq.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/wordle/taskset.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/reproducibility/core.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/reproducibility/helpers.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/reproducibility/tree.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/service/app.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/service/core_routes.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/service/external_registry.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/service/registry.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/stateful/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/stateful/core.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/stateful/engine.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/stateful/state.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/tasks/api.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/tasks/core.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/tasks/filters.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/tasks/utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/v0_observability/history.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/v0_observability/log.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/evals/base.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/experimental/synth_oss.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/http.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/http_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/inference/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/inference/client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/install_sqld.sh +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/jobs/client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/config.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/constants.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/core.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/filtering.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/ft_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/gateway.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/health.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/jobs.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/offline/dpo.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/offline/providers.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/offline/sft.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/offline/shared.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/online/grpo.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/online/irft.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/prompts/banking77_injection_eval.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/prompts/gepa.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/prompts/hello_world_in_context_injection_ex.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/prompts/mipro.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/prompts/random_search.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/prompts/run_mipro_banking77.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/prompts/run_random_search_banking77.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/rl_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/sse.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/learning/validators.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/caching/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/caching/constants.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/caching/dbs.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/caching/ephemeral.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/caching/handler.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/caching/initialize.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/caching/persistent.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/config.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/constants.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/core/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/core/all.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/core/exceptions.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/core/main.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/core/main_v3.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/core/synth_models.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/core/vendor_clients.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/cost/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/cost/monitor.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/cost/statefulness.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/injection.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/overrides.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/provider_support/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/provider_support/anthropic.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/provider_support/openai.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/provider_support/suppress_logging.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/structured_outputs/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/structured_outputs/handler.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/structured_outputs/inject.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/structured_outputs/rehabilitate.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/tools/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/tools/base.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/unified_interface.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/base.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/core/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/core/anthropic_api.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/core/gemini_api.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/core/mistral_api.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/core/synth_dev_api.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/local/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/local/ollama.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/openai_standard.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/openai_standard_responses.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/retries.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/custom_endpoint.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/deepseek.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/grok.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/groq.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/ollama.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/openrouter.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/supported/together.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/vendors/synth_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/lm/warmup.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/rl/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/rl/contracts.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/rl/env_keys.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/rl/secrets.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/scripts/verify_rewards.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/task/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/task/contracts.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/task/health.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/task/validators.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v1/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/abstractions.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/config.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/db_config.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/decorators.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/examples/basic_usage.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/hooks.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/llm_call_record_helpers.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/lm_call_record_abstractions.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/migration_helper.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/replica_sync.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/session_tracer.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/storage/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/storage/base.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/storage/config.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/storage/exceptions.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/storage/factory.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/storage/types.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/storage/utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/turso/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/turso/daemon.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/turso/manager.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/turso/models.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/tracing_v3/utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/abstractions.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/base_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/client_manager.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/context.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/events/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/events/manage.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/events/scope.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/events/store.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/immediate_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/local.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/log_client_base.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/retry_queue.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/trackers.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing/utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/abstractions.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/base_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/client_manager.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/context.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/events/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/events/manage.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/events/scope.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/events/store.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/immediate_client.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/local.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/log_client_base.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/retry_queue.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/trackers.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/v0/tracing_v1/utils.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/zyk/__init__.py +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai.egg-info/SOURCES.txt +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai.egg-info/dependency_links.txt +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai.egg-info/entry_points.txt +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai.egg-info/requires.txt +0 -0
- {synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai.egg-info/top_level.txt +0 -0
|
@@ -15,7 +15,9 @@ from rich import box
|
|
|
15
15
|
from rich.console import Console
|
|
16
16
|
from rich.table import Table
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
from synth_ai.config.base_url import get_backend_from_env, PROD_BASE_URL_DEFAULT
|
|
19
|
+
|
|
20
|
+
PROD_BACKEND_BASE = f"{PROD_BASE_URL_DEFAULT.rstrip('/')}/api/v1"
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
def _get_default_base_url() -> str:
|
|
@@ -24,7 +26,11 @@ def _get_default_base_url() -> str:
|
|
|
24
26
|
val = os.getenv(var)
|
|
25
27
|
if val:
|
|
26
28
|
return val
|
|
27
|
-
|
|
29
|
+
base, _ = get_backend_from_env()
|
|
30
|
+
base = base.rstrip("/")
|
|
31
|
+
if base.endswith("/api"):
|
|
32
|
+
base = base[:-len("/api")]
|
|
33
|
+
return f"{base}/api/v1"
|
|
28
34
|
|
|
29
35
|
|
|
30
36
|
def _ensure_api_v1_prefix(base_url: str) -> str:
|
|
@@ -66,6 +66,7 @@ def get_backend_from_env() -> tuple[str, str]:
|
|
|
66
66
|
"""Resolve (base_url, api_key) using a simple LOCAL/DEV/PROD override scheme.
|
|
67
67
|
|
|
68
68
|
Env vars consulted:
|
|
69
|
+
- BACKEND_OVERRIDE = full URL (with or without /api)
|
|
69
70
|
- SYNTH_BACKEND_URL_OVERRIDE = local|dev|prod (case-insensitive)
|
|
70
71
|
- LOCAL_BACKEND_URL, TESTING_LOCAL_SYNTH_API_KEY
|
|
71
72
|
- DEV_BACKEND_URL, DEV_SYNTH_API_KEY
|
|
@@ -74,6 +75,14 @@ def get_backend_from_env() -> tuple[str, str]:
|
|
|
74
75
|
Base URL is normalized to end with '/api'.
|
|
75
76
|
Defaults: prod base URL → https://agent-learning.onrender.com/api
|
|
76
77
|
"""
|
|
78
|
+
direct_override = (os.getenv("BACKEND_OVERRIDE") or "").strip()
|
|
79
|
+
if direct_override:
|
|
80
|
+
base = direct_override.rstrip("/")
|
|
81
|
+
if base.endswith("/api"):
|
|
82
|
+
base = base[: -len("/api")]
|
|
83
|
+
api_key = os.getenv("SYNTH_API_KEY", "").strip()
|
|
84
|
+
return base, api_key
|
|
85
|
+
|
|
77
86
|
mode = _resolve_override_mode()
|
|
78
87
|
if mode == "local":
|
|
79
88
|
base = os.getenv("LOCAL_BACKEND_URL", "http://localhost:8000")
|
|
@@ -10,6 +10,8 @@ from typing import Any, Dict, Optional, Tuple
|
|
|
10
10
|
|
|
11
11
|
import urllib.request
|
|
12
12
|
|
|
13
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
14
|
+
|
|
13
15
|
|
|
14
16
|
@dataclass
|
|
15
17
|
class DemoEnv:
|
|
@@ -169,7 +171,7 @@ def load_env() -> DemoEnv:
|
|
|
169
171
|
Backend URL:
|
|
170
172
|
- Use BACKEND_OVERRIDE (any) from CWD .env if set
|
|
171
173
|
- Else use DEV_BACKEND_URL from CWD .env ONLY if it's localhost/127.0.0.1 or :8000
|
|
172
|
-
- Else default to
|
|
174
|
+
- Else default to production backend (PROD_BASE_URL_DEFAULT)
|
|
173
175
|
|
|
174
176
|
API keys:
|
|
175
177
|
- SYNTH_API_KEY from OS -> CWD .env -> repo .env -> pkg demo .env -> state
|
|
@@ -194,9 +196,25 @@ def load_env() -> DemoEnv:
|
|
|
194
196
|
|
|
195
197
|
state = _read_state()
|
|
196
198
|
|
|
199
|
+
default_root = PROD_BASE_URL_DEFAULT.rstrip("/")
|
|
200
|
+
prod_default = f"{default_root}/api"
|
|
201
|
+
|
|
197
202
|
# Backend URL resolution
|
|
198
|
-
backend_override = (
|
|
199
|
-
|
|
203
|
+
backend_override = (
|
|
204
|
+
os_env.get("BACKEND_OVERRIDE")
|
|
205
|
+
or cwd_env.get("BACKEND_OVERRIDE")
|
|
206
|
+
or repo_env.get("BACKEND_OVERRIDE")
|
|
207
|
+
or pkg_env.get("BACKEND_OVERRIDE")
|
|
208
|
+
or examples_env.get("BACKEND_OVERRIDE")
|
|
209
|
+
or ""
|
|
210
|
+
).strip()
|
|
211
|
+
dev_env = (
|
|
212
|
+
os_env.get("DEV_BACKEND_URL")
|
|
213
|
+
or cwd_env.get("DEV_BACKEND_URL")
|
|
214
|
+
or repo_env.get("DEV_BACKEND_URL")
|
|
215
|
+
or pkg_env.get("DEV_BACKEND_URL")
|
|
216
|
+
or ""
|
|
217
|
+
).strip()
|
|
200
218
|
use_dev = False
|
|
201
219
|
if backend_override:
|
|
202
220
|
dev_url = backend_override
|
|
@@ -207,9 +225,9 @@ def load_env() -> DemoEnv:
|
|
|
207
225
|
dev_url = dev_env
|
|
208
226
|
use_dev = True
|
|
209
227
|
else:
|
|
210
|
-
dev_url =
|
|
228
|
+
dev_url = prod_default
|
|
211
229
|
else:
|
|
212
|
-
dev_url =
|
|
230
|
+
dev_url = prod_default
|
|
213
231
|
if not dev_url.endswith("/api"):
|
|
214
232
|
dev_url = dev_url.rstrip("/") + "/api"
|
|
215
233
|
|
|
@@ -222,7 +240,7 @@ def load_env() -> DemoEnv:
|
|
|
222
240
|
or str(state.get("SYNTH_API_KEY") or "")
|
|
223
241
|
)
|
|
224
242
|
if not synth_api_key:
|
|
225
|
-
mode = "prod" if
|
|
243
|
+
mode = "prod" if default_root in dev_url else ("local" if ("localhost" in dev_url or "127.0.0.1" in dev_url) else "dev")
|
|
226
244
|
if mode == "prod":
|
|
227
245
|
synth_api_key = (
|
|
228
246
|
os_env.get("PROD_SYNTH_API_KEY")
|
|
@@ -15,6 +15,7 @@ import pydantic_core
|
|
|
15
15
|
# from openai import AsyncOpenAI, OpenAI
|
|
16
16
|
from pydantic import BaseModel
|
|
17
17
|
|
|
18
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
18
19
|
from synth_ai.lm.caching.initialize import get_cache_handler
|
|
19
20
|
from synth_ai.lm.constants import OPENAI_REASONING_MODELS, SPECIAL_BASE_TEMPS
|
|
20
21
|
from synth_ai.lm.tools.base import BaseTool
|
|
@@ -45,9 +46,13 @@ class OpenAIStructuredOutputClient(OpenAIStandard):
|
|
|
45
46
|
def __init__(self, synth_logging: bool = True):
|
|
46
47
|
# Check if we should use Synth clients instead of OpenAI
|
|
47
48
|
openai_base = os.getenv("OPENAI_API_BASE", "")
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
prod_prefix = PROD_BASE_URL_DEFAULT.rstrip("/")
|
|
50
|
+
use_synth = (
|
|
51
|
+
openai_base.startswith("https://synth")
|
|
52
|
+
or (prod_prefix and openai_base.startswith(prod_prefix))
|
|
53
|
+
or os.getenv("SYNTH_BASE_URL")
|
|
54
|
+
or os.getenv("MODAL_BASE_URL")
|
|
55
|
+
)
|
|
51
56
|
|
|
52
57
|
if use_synth:
|
|
53
58
|
# Use Synth clients for Synth endpoints
|
{synth_ai-0.2.6.dev5/synth_ai/v0/tracing_v1 → synth_ai-0.2.6.dev6/synth_ai/v0/tracing}/config.py
RENAMED
|
@@ -12,6 +12,8 @@ from opentelemetry.sdk.trace.export import (
|
|
|
12
12
|
)
|
|
13
13
|
from pydantic import BaseModel, ConfigDict, Field
|
|
14
14
|
|
|
15
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
16
|
+
|
|
15
17
|
|
|
16
18
|
class InMemoryExporter(SpanExporter):
|
|
17
19
|
def __init__(self):
|
|
@@ -101,7 +103,7 @@ class EventManagement(str, Enum):
|
|
|
101
103
|
class TracingConfig(BaseModel):
|
|
102
104
|
mode: LoggingMode = Field(default=LoggingMode.DEFERRED)
|
|
103
105
|
api_key: str
|
|
104
|
-
base_url: str = Field(default=
|
|
106
|
+
base_url: str = Field(default=PROD_BASE_URL_DEFAULT)
|
|
105
107
|
max_retries: int = Field(default=3)
|
|
106
108
|
retry_backoff: float = Field(default=1.5) # exponential backoff multiplier
|
|
107
109
|
batch_size: int = Field(default=1) # for future batching support
|
|
@@ -10,6 +10,8 @@ from typing import TYPE_CHECKING, Any, Literal, ParamSpec, TypeVar, Union
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
11
11
|
from .trackers import SynthTrackerAsync, SynthTrackerSync
|
|
12
12
|
|
|
13
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
14
|
+
|
|
13
15
|
from .abstractions import (
|
|
14
16
|
AgentComputeStep,
|
|
15
17
|
ArbitraryInputs,
|
|
@@ -77,7 +79,7 @@ def get_tracing_config() -> TracingConfig:
|
|
|
77
79
|
if os.getenv("SYNTH_LOGGING_MODE") == "instant"
|
|
78
80
|
else LoggingMode.DEFERRED,
|
|
79
81
|
api_key=os.getenv("SYNTH_API_KEY", ""),
|
|
80
|
-
base_url=os.getenv("SYNTH_ENDPOINT_OVERRIDE",
|
|
82
|
+
base_url=os.getenv("SYNTH_ENDPOINT_OVERRIDE", PROD_BASE_URL_DEFAULT),
|
|
81
83
|
)
|
|
82
84
|
# Initialize retry queue with config if needed
|
|
83
85
|
initialize_retry_queue(config)
|
|
@@ -13,6 +13,8 @@ from pydantic import BaseModel, ConfigDict, field_validator
|
|
|
13
13
|
from requests.adapters import HTTPAdapter
|
|
14
14
|
from urllib3.poolmanager import PoolManager
|
|
15
15
|
|
|
16
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
17
|
+
|
|
16
18
|
from .abstractions import Dataset, SystemTrace
|
|
17
19
|
from .events.store import event_store
|
|
18
20
|
|
|
@@ -369,7 +371,7 @@ def upload_helper(
|
|
|
369
371
|
api_key = os.getenv("SYNTH_API_KEY")
|
|
370
372
|
if not api_key:
|
|
371
373
|
raise ValueError("SYNTH_API_KEY environment variable not set")
|
|
372
|
-
base_url = os.getenv("SYNTH_ENDPOINT_OVERRIDE",
|
|
374
|
+
base_url = os.getenv("SYNTH_ENDPOINT_OVERRIDE", PROD_BASE_URL_DEFAULT)
|
|
373
375
|
|
|
374
376
|
"""Legacy block below retained for reference and disabled for linting/parsing.
|
|
375
377
|
Start disabled block.
|
{synth_ai-0.2.6.dev5/synth_ai/v0/tracing → synth_ai-0.2.6.dev6/synth_ai/v0/tracing_v1}/config.py
RENAMED
|
@@ -12,6 +12,8 @@ from opentelemetry.sdk.trace.export import (
|
|
|
12
12
|
)
|
|
13
13
|
from pydantic import BaseModel, ConfigDict, Field
|
|
14
14
|
|
|
15
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
16
|
+
|
|
15
17
|
|
|
16
18
|
class InMemoryExporter(SpanExporter):
|
|
17
19
|
def __init__(self):
|
|
@@ -101,7 +103,7 @@ class EventManagement(str, Enum):
|
|
|
101
103
|
class TracingConfig(BaseModel):
|
|
102
104
|
mode: LoggingMode = Field(default=LoggingMode.DEFERRED)
|
|
103
105
|
api_key: str
|
|
104
|
-
base_url: str = Field(default=
|
|
106
|
+
base_url: str = Field(default=PROD_BASE_URL_DEFAULT)
|
|
105
107
|
max_retries: int = Field(default=3)
|
|
106
108
|
retry_backoff: float = Field(default=1.5) # exponential backoff multiplier
|
|
107
109
|
batch_size: int = Field(default=1) # for future batching support
|
|
@@ -11,6 +11,8 @@ from typing import TYPE_CHECKING, Any, Literal, ParamSpec, TypeVar, Union
|
|
|
11
11
|
if TYPE_CHECKING:
|
|
12
12
|
from .trackers import SynthTrackerAsync, SynthTrackerSync
|
|
13
13
|
|
|
14
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
15
|
+
|
|
14
16
|
from .abstractions import (
|
|
15
17
|
AgentComputeStep,
|
|
16
18
|
ArbitraryInputs,
|
|
@@ -78,7 +80,7 @@ def get_tracing_config() -> TracingConfig:
|
|
|
78
80
|
if os.getenv("SYNTH_LOGGING_MODE") == "instant"
|
|
79
81
|
else LoggingMode.DEFERRED,
|
|
80
82
|
api_key=os.getenv("SYNTH_API_KEY", ""),
|
|
81
|
-
base_url=os.getenv("SYNTH_ENDPOINT_OVERRIDE",
|
|
83
|
+
base_url=os.getenv("SYNTH_ENDPOINT_OVERRIDE", PROD_BASE_URL_DEFAULT),
|
|
82
84
|
)
|
|
83
85
|
# Initialize retry queue with config if needed
|
|
84
86
|
initialize_retry_queue(config)
|
|
@@ -13,6 +13,8 @@ from pydantic import BaseModel, ConfigDict, field_validator
|
|
|
13
13
|
from requests.adapters import HTTPAdapter
|
|
14
14
|
from urllib3.poolmanager import PoolManager
|
|
15
15
|
|
|
16
|
+
from synth_ai.config.base_url import PROD_BASE_URL_DEFAULT
|
|
17
|
+
|
|
16
18
|
from .abstractions import Dataset, SystemTrace
|
|
17
19
|
from .events.store import event_store
|
|
18
20
|
|
|
@@ -388,7 +390,7 @@ def upload_helper(
|
|
|
388
390
|
api_key = os.getenv("SYNTH_API_KEY")
|
|
389
391
|
if not api_key:
|
|
390
392
|
raise ValueError("SYNTH_API_KEY environment variable not set")
|
|
391
|
-
base_url = os.getenv("SYNTH_ENDPOINT_OVERRIDE",
|
|
393
|
+
base_url = os.getenv("SYNTH_ENDPOINT_OVERRIDE", PROD_BASE_URL_DEFAULT)
|
|
392
394
|
|
|
393
395
|
from .decorators import _local, active_events_var
|
|
394
396
|
from .trackers import synth_tracker_async
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/deploy_modal.py
RENAMED
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/deploy_task_app.sh
RENAMED
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/demos/demo_task_apps/math/modal_task_app.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/artifacts/__init__.py
RENAMED
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/artifacts/base.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/db/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/resources/sqlite.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/rewards/__init__.py
RENAMED
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/rewards/core.py
RENAMED
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/shared_engine.py
RENAMED
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/environment/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/bandit/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/bandit/environment.py
RENAMED
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/bandit/taskset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.2.6.dev5 → synth_ai-0.2.6.dev6}/synth_ai/environments/examples/crafter_classic/engine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|