synth-ai 0.20.0.dev633__tar.gz → 0.20.0.dev634__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.
- {synth_ai-0.20.0.dev633/synth_ai.egg-info → synth_ai-0.20.0.dev634}/PKG-INFO +1 -1
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/pyproject.toml +1 -1
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/client.py +13 -6
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/server.py +2 -1
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/public.py +3 -7
- synth_ai-0.20.0.dev634/synth_ai/sdk/index/timeouts.py +6 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634/synth_ai.egg-info}/PKG-INFO +1 -1
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai.egg-info/SOURCES.txt +1 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/LICENSE +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/MANIFEST.in +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/openapi/index-v1.json +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/openapi/messaging-v1.json +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/openapi/research-v1.json +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/setup.cfg +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/setup.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/__main__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/AGENTS.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/__main__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/index.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/main.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/research.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/research_environments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/research_image_releases.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/cli/research_projects.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/auth/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/auth/credentials.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/contracts/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/contracts/json_value.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/contracts/pagination.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/errors.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/http/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/http/async_transport.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/http/request.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/http/retry.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/http/streaming.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/http/transport.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/research/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/utils/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/utils/env.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/utils/log_filter.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/utils/paths.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/core/utils/urls.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/__main__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/objective_tools.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/registry.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/request_models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/approvals.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/artifacts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/datasets.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/environments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/exports.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/factories.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/factory_results.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/files.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/image_releases.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/index.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/integrations.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/intern_program.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/local_files.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/logs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/outputs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/policy_schemas.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/progress.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/project_data.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/projects.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/prs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/readiness.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/repos.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/research_intern.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/resources.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/runs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/trained_models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/usage.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/visuals.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/workspace_inputs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/pools.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/py.typed +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/AGENT_SETUP_PROMPT.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/agent_policy.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/answer.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/artifacts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/catalog.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/client.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/contracts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/contributions.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/errors.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/lifecycle.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/package.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/research_intake.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/search.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/submission.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/transfer.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/index/usage_accounting.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/messaging/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/messaging/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/messaging/client.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/messaging/contracts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/optimizers/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/optimizers/client.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/optimizers/contracts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/pagination.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/_internal/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/_internal/crypto.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/_internal/env.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/_internal/urls.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/account.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/advanced.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/advanced_factories.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/advanced_swarms.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/artifacts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/auth.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/client.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/api.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/contracts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/operations.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/packaging.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/_activity_wire.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/_environment_wire.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/_transcript_wire.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/_wire.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/activity.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/activity_items.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/actor_images.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/billing.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/canonical_usage.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/checkpoints.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/cloud_deployment_claims.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/cloud_deployments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/common.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/dataset_revisions.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/deliveries.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/dev_environment_evidence.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/economics.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/environment_manifest.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/environments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/evidence.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/factories.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/factory_evidence.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/factory_lenses.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/factory_operations.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/factory_role_receipts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/failure.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/image_releases.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_blockers.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_grants.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_program.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_resources.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_usage.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/limit_evidence.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/local_execution_profile.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/operator_evidence.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project_data.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project_runtime.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project_workspace.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project_workspace_evidence.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/projects.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/promotions.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/research_intern.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/resource_settlement.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_authority.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_control.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_diagnostics.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_events.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_execution.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_launch.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_observability.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_state.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/run_timeline.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/runtime_image.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/runtime_intent.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/runtime_stream.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/runtime_stream_snapshot.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/scientific_integrity.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_actor_models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_actor_policy_data.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_agent_harnesses.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_agent_kinds.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_agent_models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_branching.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_credential_providers.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_environment_kinds.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_evidence_obligations.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_funding_sources.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_horizons.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_host_kinds.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_inference_providers.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_network_topology.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_providers.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_resource_kinds.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_roles.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_run_policy.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_runbooks.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_runnable_project.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_runtime_kinds.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_tool_providers.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/smr_work_modes.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/status.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/swarm_rollouts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/swarms.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/tag.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/traces.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/transcript.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/types.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/usage.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/visuals.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/wire_models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/wire_models_README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/work_products.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/workspaces.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/economics.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/efforts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/environments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/errors.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/events.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/experiments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/facade.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/factories.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/factory_storage.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/image_releases.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/intern_blockers.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/intern_program.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/knowledge.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/operations.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/project_data.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/project_deliveries.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/project_workspaces.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/projects.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/public.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/readouts.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/research_intern.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/secrets.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/README.md +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/_base.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/_client_helpers.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/_run_authority_mixin.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/approvals.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/billing.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/client.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/cloud_deployments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/config.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/cost.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/datasets.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/dev_environments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/environments.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/exports.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/factories.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/factory_evidence.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/files.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/github.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/image_releases.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/images.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/logs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/outputs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/progress.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/project.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/projects.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/prs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/readiness.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/repositories.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/runs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/secrets.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/setup.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/tag.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/trained_models.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/transport.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/usage.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/work_products.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/session/workspace_inputs.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/surface_parity.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/swarms.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/traces.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/transport/__init__.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/transport/http.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/transport/pagination.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/version.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/visuals.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/wiki.py +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai.egg-info/dependency_links.txt +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai.egg-info/entry_points.txt +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai.egg-info/requires.txt +0 -0
- {synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai.egg-info/top_level.txt +0 -0
|
@@ -7,6 +7,7 @@ from typing import TYPE_CHECKING
|
|
|
7
7
|
|
|
8
8
|
from synth_ai.core.auth.credentials import resolve_api_credential
|
|
9
9
|
from synth_ai.core.utils.urls import BACKEND_URL_BASE, normalize_backend_base
|
|
10
|
+
from synth_ai.sdk.index.timeouts import INDEX_TRANSPORT_TIMEOUT_SECONDS
|
|
10
11
|
|
|
11
12
|
if TYPE_CHECKING:
|
|
12
13
|
from synth_ai.core.http.async_transport import AsyncHttpTransport
|
|
@@ -39,11 +40,14 @@ class SynthClient:
|
|
|
39
40
|
*,
|
|
40
41
|
api_key: str | None = None,
|
|
41
42
|
base_url: str | None = None,
|
|
42
|
-
timeout_seconds: float =
|
|
43
|
+
timeout_seconds: float | None = None,
|
|
43
44
|
) -> None:
|
|
44
45
|
self.api_key = _resolve_api_key(api_key)
|
|
45
46
|
self.base_url = _resolve_base_url(base_url)
|
|
46
|
-
self.timeout_seconds = timeout_seconds
|
|
47
|
+
self.timeout_seconds = 30.0 if timeout_seconds is None else timeout_seconds
|
|
48
|
+
self._index_timeout_seconds = (
|
|
49
|
+
INDEX_TRANSPORT_TIMEOUT_SECONDS if timeout_seconds is None else timeout_seconds
|
|
50
|
+
)
|
|
47
51
|
self._research_client: ResearchClient | None = None
|
|
48
52
|
self._optimizers_client: OptimizersClient | None = None
|
|
49
53
|
self._index_api: IndexAPI | None = None
|
|
@@ -60,7 +64,7 @@ class SynthClient:
|
|
|
60
64
|
self._index_transport = HttpTransport(
|
|
61
65
|
base_url=self.base_url,
|
|
62
66
|
headers={"Authorization": f"Bearer {self.api_key}"},
|
|
63
|
-
timeout_seconds=self.
|
|
67
|
+
timeout_seconds=self._index_timeout_seconds,
|
|
64
68
|
)
|
|
65
69
|
self._index_api = IndexAPI(self._index_transport)
|
|
66
70
|
return self._index_api
|
|
@@ -135,11 +139,14 @@ class AsyncSynthClient:
|
|
|
135
139
|
*,
|
|
136
140
|
api_key: str | None = None,
|
|
137
141
|
base_url: str | None = None,
|
|
138
|
-
timeout_seconds: float =
|
|
142
|
+
timeout_seconds: float | None = None,
|
|
139
143
|
) -> None:
|
|
140
144
|
self.api_key = _resolve_api_key(api_key)
|
|
141
145
|
self.base_url = _resolve_base_url(base_url)
|
|
142
|
-
self.timeout_seconds = timeout_seconds
|
|
146
|
+
self.timeout_seconds = 30.0 if timeout_seconds is None else timeout_seconds
|
|
147
|
+
self._index_timeout_seconds = (
|
|
148
|
+
INDEX_TRANSPORT_TIMEOUT_SECONDS if timeout_seconds is None else timeout_seconds
|
|
149
|
+
)
|
|
143
150
|
self._async_research_client: AsyncResearchClient | None = None
|
|
144
151
|
self._async_optimizers_client: AsyncOptimizersClient | None = None
|
|
145
152
|
self._index_api: AsyncIndexAPI | None = None
|
|
@@ -157,7 +164,7 @@ class AsyncSynthClient:
|
|
|
157
164
|
self._index_transport = AsyncHttpTransport(
|
|
158
165
|
base_url=self.base_url,
|
|
159
166
|
headers={"Authorization": f"Bearer {self.api_key}"},
|
|
160
|
-
timeout_seconds=self.
|
|
167
|
+
timeout_seconds=self._index_timeout_seconds,
|
|
161
168
|
)
|
|
162
169
|
self._index_api = AsyncIndexAPI(self._index_transport)
|
|
163
170
|
return self._index_api
|
|
@@ -70,6 +70,7 @@ from synth_ai.mcp.research.tools.trained_models import build_trained_model_tools
|
|
|
70
70
|
from synth_ai.mcp.research.tools.usage import build_usage_tools
|
|
71
71
|
from synth_ai.mcp.research.tools.visuals import build_visual_tools
|
|
72
72
|
from synth_ai.mcp.research.tools.workspace_inputs import build_workspace_input_tools
|
|
73
|
+
from synth_ai.sdk.index.timeouts import INDEX_TRANSPORT_TIMEOUT_SECONDS
|
|
73
74
|
from synth_ai.sdk.research.auth import get_api_key
|
|
74
75
|
from synth_ai.sdk.research.client import Client as CoreResearchClient
|
|
75
76
|
from synth_ai.sdk.research.contracts.activity import ActivityWindow
|
|
@@ -91,7 +92,7 @@ MCP_CLIENT_TIMEOUT_SECONDS = 30.0
|
|
|
91
92
|
# stdio Index calls aligned with PublicIndexClient's 120-second transport bound;
|
|
92
93
|
# an MCP timeout must not prematurely turn a valid monitored response into an
|
|
93
94
|
# ambiguous retry. Research tools retain their separate 30-second default.
|
|
94
|
-
INDEX_MCP_CLIENT_TIMEOUT_SECONDS =
|
|
95
|
+
INDEX_MCP_CLIENT_TIMEOUT_SECONDS = INDEX_TRANSPORT_TIMEOUT_SECONDS
|
|
95
96
|
|
|
96
97
|
# The stdio entrypoint advertises the stable subset. Set this to 1/true/yes to
|
|
97
98
|
# advertise the full built tree instead; without it the advanced tools are not
|
|
@@ -13,11 +13,7 @@ from synth_ai.core.http.transport import HttpTransport
|
|
|
13
13
|
from synth_ai.core.utils.urls import BACKEND_URL_BASE, normalize_backend_base
|
|
14
14
|
|
|
15
15
|
from .client import AsyncPublicIndexAPI, PublicIndexAPI
|
|
16
|
-
|
|
17
|
-
# See the joined candidate's RUNTIME_DEADLINES.md: the 31.7-second public
|
|
18
|
-
# search wrapper precedes a separately bounded monitor (up to 60 seconds).
|
|
19
|
-
# Explicit caller timeouts still win; disconnect never cancels server state.
|
|
20
|
-
_PUBLIC_INDEX_TIMEOUT_SECONDS = 120.0
|
|
16
|
+
from .timeouts import INDEX_TRANSPORT_TIMEOUT_SECONDS
|
|
21
17
|
|
|
22
18
|
|
|
23
19
|
class PublicIndexClient(PublicIndexAPI):
|
|
@@ -27,7 +23,7 @@ class PublicIndexClient(PublicIndexAPI):
|
|
|
27
23
|
self,
|
|
28
24
|
*,
|
|
29
25
|
base_url: str | None = None,
|
|
30
|
-
timeout_seconds: float =
|
|
26
|
+
timeout_seconds: float = INDEX_TRANSPORT_TIMEOUT_SECONDS,
|
|
31
27
|
) -> None:
|
|
32
28
|
transport = HttpTransport(
|
|
33
29
|
base_url=normalize_backend_base(base_url or BACKEND_URL_BASE),
|
|
@@ -58,7 +54,7 @@ class AsyncPublicIndexClient(AsyncPublicIndexAPI):
|
|
|
58
54
|
self,
|
|
59
55
|
*,
|
|
60
56
|
base_url: str | None = None,
|
|
61
|
-
timeout_seconds: float =
|
|
57
|
+
timeout_seconds: float = INDEX_TRANSPORT_TIMEOUT_SECONDS,
|
|
62
58
|
) -> None:
|
|
63
59
|
transport = AsyncHttpTransport(
|
|
64
60
|
base_url=normalize_backend_base(base_url or BACKEND_URL_BASE),
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"""Transport bound shared by direct Index and Index-only MCP clients."""
|
|
2
|
+
|
|
3
|
+
# The backend's bounded retrieval can be followed by separately bounded
|
|
4
|
+
# monitor delivery. A 30-second Research transport default is too short for
|
|
5
|
+
# a valid monitored Index response. Explicit caller timeouts still win.
|
|
6
|
+
INDEX_TRANSPORT_TIMEOUT_SECONDS = 120.0
|
|
@@ -106,6 +106,7 @@ synth_ai/sdk/index/public.py
|
|
|
106
106
|
synth_ai/sdk/index/research_intake.py
|
|
107
107
|
synth_ai/sdk/index/search.py
|
|
108
108
|
synth_ai/sdk/index/submission.py
|
|
109
|
+
synth_ai/sdk/index/timeouts.py
|
|
109
110
|
synth_ai/sdk/index/transfer.py
|
|
110
111
|
synth_ai/sdk/index/usage_accounting.py
|
|
111
112
|
synth_ai/sdk/messaging/README.md
|
|
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.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/environments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/factory_results.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/image_releases.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/integrations.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/intern_program.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/local_files.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/policy_schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/project_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/research_intern.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/trained_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/mcp/research/tools/workspace_inputs.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
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/_internal/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/advanced_factories.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/__init__.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/api.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/contracts.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/container_pools/packaging.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/__init__.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/_activity_wire.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/activity.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/activity_items.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/actor_images.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/billing.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/canonical_usage.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/checkpoints.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/deliveries.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/economics.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/environments.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/evidence.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/factories.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/factory_lenses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/failure.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/image_releases.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_blockers.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_grants.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_program.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/intern_usage.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/limit_evidence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project_data.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/project_runtime.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/projects.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/promotions.py
RENAMED
|
File without changes
|
{synth_ai-0.20.0.dev633 → synth_ai-0.20.0.dev634}/synth_ai/sdk/research/contracts/research_intern.py
RENAMED
|
File without changes
|