synth-ai 0.22.2.dev682__tar.gz → 0.22.2.dev683__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.22.2.dev682/synth_ai.egg-info → synth_ai-0.22.2.dev683}/PKG-INFO +1 -1
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/pyproject.toml +1 -1
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/__init__.py +6 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/swarms.py +72 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/public.py +6 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683/synth_ai.egg-info}/PKG-INFO +1 -1
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/LICENSE +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/MANIFEST.in +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/openapi/index-v1.json +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/openapi/messaging-v1.json +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/openapi/research-v1.json +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/setup.cfg +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/setup.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/__main__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/AGENTS.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/__main__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/index.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/main.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/research.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/research_environments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/research_image_releases.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/cli/research_projects.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/client.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/auth/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/auth/credentials.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/contracts/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/contracts/json_value.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/contracts/pagination.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/errors.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/http/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/http/async_transport.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/http/request.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/http/retry.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/http/streaming.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/http/transport.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/utils/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/utils/env.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/utils/log_filter.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/utils/paths.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/core/utils/urls.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/__main__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/objective_tools.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/registry.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/request_models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/server.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/approvals.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/artifacts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/datasets.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/environments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/exports.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/factories.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/factory_results.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/files.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/image_releases.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/index.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/index_qa.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/integrations.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/intern_program.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/launch_schemas.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/local_files.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/logs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/outputs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/policy_schemas.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/progress.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/project_data.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/projects.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/prs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/readiness.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/repos.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/research_intern.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/resource_reads.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/resources.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/runs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/scientific_records.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/trained_models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/usage.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/visuals.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/workspace_inputs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/pools.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/py.typed +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/AGENT_SETUP_PROMPT.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/agent_policy.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/artifacts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/catalog.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/catalogue.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/classification.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/client.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/contracts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/contributions.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/errors.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/forge_notices.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/intake.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/lifecycle.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/manifest.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/oauth.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/package.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/public.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/public_corpus.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/public_search.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/qa.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/qa_checks.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/qa_preflight.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/qa_reviews.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/research/build.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/research/capture.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/research/contracts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/research/files.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/research/release.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/research_intake.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/retry.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/rights.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/scientific_provenance.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/scope_errors.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/scopes.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/search.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/submission.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/timeouts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/transfer.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/upload_session.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/usage_accounting.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/value.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/wallet_search.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/messaging/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/messaging/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/messaging/client.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/messaging/contracts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/optimizers/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/optimizers/client.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/optimizers/contracts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/pagination.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/_internal/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/_internal/crypto.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/_internal/env.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/_internal/urls.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/account.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/advanced.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/advanced_factories.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/advanced_swarms.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/artifacts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/auth.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/client.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/api.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/contracts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/operations.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/packaging.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/_activity_wire.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/_environment_wire.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/_transcript_wire.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/_wire.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/activity.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/activity_items.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/actor_images.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/billing.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/canonical_usage.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/checkpoints.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/cloud_deployment_claims.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/cloud_deployments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/common.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/dataset_revisions.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/deliveries.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/dev_environment_evidence.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/economics.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/environment_manifest.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/environments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/evidence.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/factories.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/factory_evidence.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/factory_lenses.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/factory_operations.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/factory_role_receipts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/failure.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/contracts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/evaluation.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/exports.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/operations.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/records.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/resources.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/forge/schema.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/image_releases.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/intern_blockers.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/intern_grants.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/intern_program.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/intern_resources.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/intern_usage.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/limit_evidence.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/local_execution_profile.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/operator_evidence.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/project.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/project_data.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/project_runtime.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/project_workspace.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/project_workspace_evidence.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/projects.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/promotions.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/research_intern.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/resource_reads.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/resource_settlement.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_authority.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_control.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_diagnostics.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_events.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_execution.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_launch.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_observability.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_state.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/run_timeline.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/runtime_image.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/runtime_intent.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/runtime_stream.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/runtime_stream_snapshot.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/scientific_integrity.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_actor_models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_actor_policy_data.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_agent_harnesses.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_agent_kinds.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_agent_models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_branching.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_credential_providers.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_environment_kinds.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_evidence_obligations.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_funding_sources.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_horizons.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_host_kinds.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_inference_providers.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_network_topology.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_providers.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_resource_kinds.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_roles.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_run_policy.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_runbooks.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_runnable_project.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_runtime_kinds.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_tool_providers.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/smr_work_modes.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/status.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/swarm_controls.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/swarm_rollouts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/swarm_tasks.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/tag.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/traces.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/transcript.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/types.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/usage.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/visuals.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/wire_models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/wire_models_README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/work_products.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/workspaces.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/economics.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/efforts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/environments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/errors.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/events.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/experiments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/facade.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/factories.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/factory_storage.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/image_releases.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/intern_blockers.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/intern_program.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/knowledge.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/operations.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/project_data.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/project_deliveries.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/project_workspaces.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/projects.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/readouts.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/research_intern.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/resource_reads.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/scientific_records.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/secrets.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/README.md +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/_base.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/_client_helpers.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/_run_authority_mixin.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/approvals.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/billing.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/client.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/cloud_deployments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/config.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/cost.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/datasets.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/dev_environments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/environments.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/exports.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/factories.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/factory_evidence.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/files.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/github.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/image_releases.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/images.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/logs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/outputs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/progress.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/project.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/projects.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/prs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/readiness.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/repositories.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/runs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/secrets.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/setup.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/tag.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/trained_models.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/transport.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/usage.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/work_products.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/session/workspace_inputs.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/surface_parity.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/swarms.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/traces.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/transport/__init__.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/transport/http.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/transport/pagination.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/version.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/visuals.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/wiki.py +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai.egg-info/SOURCES.txt +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai.egg-info/dependency_links.txt +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai.egg-info/entry_points.txt +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai.egg-info/requires.txt +0 -0
- {synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "synth-ai"
|
|
3
|
-
version = "0.22.2.
|
|
3
|
+
version = "0.22.2.dev683"
|
|
4
4
|
description = "Python SDK, CLI and MCP servers for Synth Index search and Swarms"
|
|
5
5
|
keywords = ["synth", "index", "search", "citations", "research", "swarms", "mcp", "sdk"]
|
|
6
6
|
authors = [{name = "Synth AI", email = "josh@usesynth.ai"}]
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/contracts/__init__.py
RENAMED
|
@@ -456,6 +456,7 @@ from synth_ai.sdk.research.contracts.swarms import (
|
|
|
456
456
|
BranchResult,
|
|
457
457
|
BranchSpec,
|
|
458
458
|
CredentialProvider,
|
|
459
|
+
DeploymentPin,
|
|
459
460
|
DeprecatedActorModel,
|
|
460
461
|
DirectedEffortOutcomeSpec,
|
|
461
462
|
EnvironmentVariable,
|
|
@@ -472,6 +473,7 @@ from synth_ai.sdk.research.contracts.swarms import (
|
|
|
472
473
|
PlatformResolvedExecutionTarget,
|
|
473
474
|
PrimaryParentKind,
|
|
474
475
|
PrimaryParentRef,
|
|
476
|
+
ProvenanceMode,
|
|
475
477
|
ProviderBinding,
|
|
476
478
|
ProviderPolicy,
|
|
477
479
|
ResearchSwarm,
|
|
@@ -490,6 +492,7 @@ from synth_ai.sdk.research.contracts.swarms import (
|
|
|
490
492
|
RunPolicy,
|
|
491
493
|
RunPolicyAccess,
|
|
492
494
|
RunPolicyLimits,
|
|
495
|
+
RunResourceBindings,
|
|
493
496
|
Swarm,
|
|
494
497
|
SwarmEnvironment,
|
|
495
498
|
SwarmPreflight,
|
|
@@ -1069,6 +1072,9 @@ __all__ = [
|
|
|
1069
1072
|
"SwarmPreflight",
|
|
1070
1073
|
"SwarmPreflightBlocker",
|
|
1071
1074
|
"SwarmRuntimeSnapshot",
|
|
1075
|
+
"DeploymentPin",
|
|
1076
|
+
"ProvenanceMode",
|
|
1077
|
+
"RunResourceBindings",
|
|
1072
1078
|
"SwarmSpec",
|
|
1073
1079
|
"SwarmState",
|
|
1074
1080
|
"SwarmTerminalOutcome",
|
|
@@ -26,6 +26,7 @@ from synth_ai.sdk.research.contracts.common import (
|
|
|
26
26
|
SwarmId,
|
|
27
27
|
require_text,
|
|
28
28
|
)
|
|
29
|
+
from synth_ai.sdk.research.contracts.types import RunResourceBindings
|
|
29
30
|
|
|
30
31
|
FrozenJsonScalar: TypeAlias = str | int | float | bool | None
|
|
31
32
|
FrozenJsonValue: TypeAlias = (
|
|
@@ -1153,6 +1154,54 @@ class AiCachePolicy:
|
|
|
1153
1154
|
return payload
|
|
1154
1155
|
|
|
1155
1156
|
|
|
1157
|
+
class ProvenanceMode(StrEnum):
|
|
1158
|
+
"""Launch provenance posture (backend ``SmrProjectTriggerRequest.provenance_mode``)."""
|
|
1159
|
+
|
|
1160
|
+
LIVE = "live"
|
|
1161
|
+
DRY_RUN = "dry_run"
|
|
1162
|
+
|
|
1163
|
+
|
|
1164
|
+
@dataclass(frozen=True, slots=True)
|
|
1165
|
+
class DeploymentPin:
|
|
1166
|
+
"""One repository's resolved deployment receipt (backend ``SmrDeploymentPinRequest``).
|
|
1167
|
+
|
|
1168
|
+
The backend provenance authority refuses placeholder pins in ``live`` mode;
|
|
1169
|
+
the SDK checks shape only.
|
|
1170
|
+
"""
|
|
1171
|
+
|
|
1172
|
+
repository: str
|
|
1173
|
+
commit_sha: str
|
|
1174
|
+
environment: str
|
|
1175
|
+
resolved_at: datetime
|
|
1176
|
+
deployment_id: str | None = None
|
|
1177
|
+
artifact_digest: str | None = None
|
|
1178
|
+
|
|
1179
|
+
def __post_init__(self) -> None:
|
|
1180
|
+
require_text(self.repository, field_name="deployment_pin.repository")
|
|
1181
|
+
require_text(self.commit_sha, field_name="deployment_pin.commit_sha")
|
|
1182
|
+
require_text(self.environment, field_name="deployment_pin.environment")
|
|
1183
|
+
if not isinstance(self.resolved_at, datetime):
|
|
1184
|
+
raise ValueError("deployment_pin.resolved_at must be a datetime")
|
|
1185
|
+
if self.resolved_at.tzinfo is None:
|
|
1186
|
+
raise ValueError("deployment_pin.resolved_at must be timezone-aware")
|
|
1187
|
+
for name, value in (
|
|
1188
|
+
("deployment_id", self.deployment_id),
|
|
1189
|
+
("artifact_digest", self.artifact_digest),
|
|
1190
|
+
):
|
|
1191
|
+
if value is not None:
|
|
1192
|
+
require_text(value, field_name=f"deployment_pin.{name}")
|
|
1193
|
+
|
|
1194
|
+
def to_wire(self) -> JsonObject:
|
|
1195
|
+
return {
|
|
1196
|
+
"repository": self.repository,
|
|
1197
|
+
"commit_sha": self.commit_sha,
|
|
1198
|
+
"deployment_id": self.deployment_id,
|
|
1199
|
+
"artifact_digest": self.artifact_digest,
|
|
1200
|
+
"environment": self.environment,
|
|
1201
|
+
"resolved_at": self.resolved_at.isoformat(),
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
|
|
1156
1205
|
@dataclass(frozen=True, slots=True)
|
|
1157
1206
|
class SwarmSpec:
|
|
1158
1207
|
objective: str
|
|
@@ -1191,6 +1240,15 @@ class SwarmSpec:
|
|
|
1191
1240
|
dev_environment_id: str | None = None
|
|
1192
1241
|
effort_id: str | None = None
|
|
1193
1242
|
idempotency_key: str | None = None
|
|
1243
|
+
#: Explicit launch resource inventories. Always serialized: the backend
|
|
1244
|
+
#: refuses ``resource_inventory_unspecified`` when the lists are omitted,
|
|
1245
|
+
#: and an empty list selects none.
|
|
1246
|
+
resource_bindings: RunResourceBindings = field(default_factory=RunResourceBindings)
|
|
1247
|
+
#: Resolved deployment receipts, one per participating repository. Must be
|
|
1248
|
+
#: non-empty together with ``provenance_mode``; leaving both unset sends
|
|
1249
|
+
#: neither and the backend refuses ``provenance_unbound``.
|
|
1250
|
+
deployment_pins: tuple[DeploymentPin, ...] = ()
|
|
1251
|
+
provenance_mode: ProvenanceMode | None = None
|
|
1194
1252
|
provider: (
|
|
1195
1253
|
InferenceProvider
|
|
1196
1254
|
| str
|
|
@@ -1274,6 +1332,16 @@ class SwarmSpec:
|
|
|
1274
1332
|
)
|
|
1275
1333
|
):
|
|
1276
1334
|
raise ValueError("execution_target cannot be combined with legacy placement fields")
|
|
1335
|
+
if not isinstance(self.resource_bindings, RunResourceBindings):
|
|
1336
|
+
raise ValueError("resource_bindings must be RunResourceBindings")
|
|
1337
|
+
pins = tuple(self.deployment_pins)
|
|
1338
|
+
if any(not isinstance(pin, DeploymentPin) for pin in pins):
|
|
1339
|
+
raise ValueError("deployment_pins values must be DeploymentPin")
|
|
1340
|
+
object.__setattr__(self, "deployment_pins", pins)
|
|
1341
|
+
if self.provenance_mode is not None:
|
|
1342
|
+
object.__setattr__(self, "provenance_mode", ProvenanceMode(self.provenance_mode))
|
|
1343
|
+
if (self.provenance_mode is None) != (not pins):
|
|
1344
|
+
raise ValueError("deployment_pins and provenance_mode must be supplied together")
|
|
1277
1345
|
normalized_images: dict[str, ActorImageBinding] = {}
|
|
1278
1346
|
for role, binding in dict(self.actor_image_overrides).items():
|
|
1279
1347
|
if not isinstance(binding, ActorImageBinding):
|
|
@@ -1378,6 +1446,10 @@ class SwarmSpec:
|
|
|
1378
1446
|
payload["primary_parent_ref"] = self.primary_parent_ref.to_wire()
|
|
1379
1447
|
if self.primary_parent is not None:
|
|
1380
1448
|
payload["primary_parent"] = self.primary_parent.to_wire()
|
|
1449
|
+
payload["resource_bindings"] = cast(JsonObject, self.resource_bindings.to_wire())
|
|
1450
|
+
if self.provenance_mode is not None:
|
|
1451
|
+
payload["deployment_pins"] = [pin.to_wire() for pin in self.deployment_pins]
|
|
1452
|
+
payload["provenance_mode"] = self.provenance_mode.value
|
|
1381
1453
|
return payload
|
|
1382
1454
|
|
|
1383
1455
|
|
|
@@ -79,6 +79,7 @@ from synth_ai.sdk.research.contracts import (
|
|
|
79
79
|
DatasetRevisionResponse,
|
|
80
80
|
Delivery,
|
|
81
81
|
DeliveryReceipt,
|
|
82
|
+
DeploymentPin,
|
|
82
83
|
DeprecatedActorModel,
|
|
83
84
|
DirectedEffortOutcomeSpec,
|
|
84
85
|
DraftDeliveryAuthorityResponse,
|
|
@@ -305,6 +306,7 @@ from synth_ai.sdk.research.contracts import (
|
|
|
305
306
|
ProjectRuntimeOperationReceipt,
|
|
306
307
|
ProjectSpec,
|
|
307
308
|
ProjectWorkspaceInputs,
|
|
309
|
+
ProvenanceMode,
|
|
308
310
|
ProviderBinding,
|
|
309
311
|
ProviderPolicy,
|
|
310
312
|
RegistryActorRuntimeImageRegistration,
|
|
@@ -332,6 +334,7 @@ from synth_ai.sdk.research.contracts import (
|
|
|
332
334
|
RunPolicy,
|
|
333
335
|
RunPolicyAccess,
|
|
334
336
|
RunPolicyLimits,
|
|
337
|
+
RunResourceBindings,
|
|
335
338
|
RuntimeImageKind,
|
|
336
339
|
RuntimeImageRef,
|
|
337
340
|
RuntimeImageReleaseArchiveResponse,
|
|
@@ -883,6 +886,9 @@ __all__ = [
|
|
|
883
886
|
"SwarmId",
|
|
884
887
|
"SwarmLivenessPhase",
|
|
885
888
|
"SwarmRuntimeSnapshot",
|
|
889
|
+
"DeploymentPin",
|
|
890
|
+
"ProvenanceMode",
|
|
891
|
+
"RunResourceBindings",
|
|
886
892
|
"SwarmSpec",
|
|
887
893
|
"SwarmState",
|
|
888
894
|
"SwarmTranscriptEvent",
|
|
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.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/environments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/factory_results.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/image_releases.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/integrations.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/intern_program.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/launch_schemas.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/local_files.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/policy_schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/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.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/research_intern.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/resource_reads.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/scientific_records.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/mcp/research/tools/trained_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/index/scientific_provenance.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
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/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.22.2.dev682 → synth_ai-0.22.2.dev683}/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.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/__init__.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/api.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev682 → synth_ai-0.22.2.dev683}/synth_ai/sdk/research/container_pools/contracts.py
RENAMED
|
File without changes
|