synth-ai 0.22.2.dev678__tar.gz → 0.22.2.dev679__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.dev678/synth_ai.egg-info → synth_ai-0.22.2.dev679}/PKG-INFO +1 -1
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/pyproject.toml +1 -1
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/contributions.py +25 -1
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/operations.py +30 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679/synth_ai.egg-info}/PKG-INFO +1 -1
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/LICENSE +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/MANIFEST.in +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/openapi/index-v1.json +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/openapi/messaging-v1.json +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/openapi/research-v1.json +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/setup.cfg +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/setup.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/__main__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/AGENTS.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/__main__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/index.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/main.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/research.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/research_environments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/research_image_releases.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/cli/research_projects.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/client.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/auth/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/auth/credentials.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/contracts/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/contracts/json_value.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/contracts/pagination.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/errors.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/http/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/http/async_transport.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/http/request.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/http/retry.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/http/streaming.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/http/transport.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/utils/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/utils/env.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/utils/log_filter.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/utils/paths.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/core/utils/urls.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/__main__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/objective_tools.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/registry.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/request_models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/server.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/approvals.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/artifacts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/datasets.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/environments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/exports.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/factories.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/factory_results.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/files.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/image_releases.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/index.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/index_qa.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/integrations.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/intern_program.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/local_files.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/logs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/outputs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/policy_schemas.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/progress.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/project_data.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/projects.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/prs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/readiness.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/repos.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/research_intern.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/resource_reads.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/resources.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/runs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/scientific_records.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/trained_models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/usage.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/visuals.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/workspace_inputs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/pools.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/py.typed +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/AGENT_SETUP_PROMPT.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/agent_policy.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/artifacts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/catalog.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/catalogue.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/classification.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/client.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/contracts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/errors.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/forge_notices.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/intake.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/lifecycle.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/manifest.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/oauth.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/package.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/public.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/public_corpus.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/public_search.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/qa.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/qa_checks.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/qa_preflight.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/qa_reviews.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/research/build.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/research/capture.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/research/contracts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/research/files.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/research/release.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/research_intake.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/retry.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/rights.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/scientific_provenance.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/scope_errors.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/scopes.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/search.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/submission.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/timeouts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/transfer.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/upload_session.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/usage_accounting.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/value.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/index/wallet_search.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/messaging/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/messaging/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/messaging/client.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/messaging/contracts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/optimizers/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/optimizers/client.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/optimizers/contracts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/pagination.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/_internal/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/_internal/crypto.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/_internal/env.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/_internal/urls.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/account.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/advanced.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/advanced_factories.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/advanced_swarms.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/artifacts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/auth.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/client.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/api.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/contracts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/operations.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/packaging.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/_activity_wire.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/_environment_wire.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/_transcript_wire.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/_wire.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/activity.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/activity_items.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/actor_images.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/billing.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/canonical_usage.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/checkpoints.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/cloud_deployment_claims.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/cloud_deployments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/common.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/dataset_revisions.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/deliveries.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/dev_environment_evidence.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/economics.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/environment_manifest.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/environments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/evidence.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/factories.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/factory_evidence.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/factory_lenses.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/factory_operations.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/factory_role_receipts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/failure.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/contracts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/evaluation.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/exports.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/records.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/resources.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/forge/schema.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/image_releases.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/intern_blockers.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/intern_grants.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/intern_program.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/intern_resources.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/intern_usage.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/limit_evidence.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/local_execution_profile.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/operator_evidence.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/project.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/project_data.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/project_runtime.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/project_workspace.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/project_workspace_evidence.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/projects.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/promotions.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/research_intern.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/resource_reads.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/resource_settlement.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_authority.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_control.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_diagnostics.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_events.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_execution.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_launch.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_observability.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_state.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/run_timeline.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/runtime_image.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/runtime_intent.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/runtime_stream.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/runtime_stream_snapshot.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/scientific_integrity.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_actor_models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_actor_policy_data.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_agent_harnesses.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_agent_kinds.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_agent_models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_branching.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_credential_providers.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_environment_kinds.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_evidence_obligations.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_funding_sources.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_horizons.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_host_kinds.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_inference_providers.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_network_topology.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_providers.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_resource_kinds.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_roles.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_run_policy.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_runbooks.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_runnable_project.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_runtime_kinds.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_tool_providers.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/smr_work_modes.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/status.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/swarm_rollouts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/swarms.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/tag.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/traces.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/transcript.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/types.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/usage.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/visuals.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/wire_models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/wire_models_README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/work_products.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/workspaces.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/economics.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/efforts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/environments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/errors.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/events.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/experiments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/facade.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/factories.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/factory_storage.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/image_releases.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/intern_blockers.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/intern_program.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/knowledge.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/operations.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/project_data.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/project_deliveries.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/project_workspaces.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/projects.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/public.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/readouts.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/research_intern.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/resource_reads.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/scientific_records.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/secrets.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/README.md +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/_base.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/_client_helpers.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/_run_authority_mixin.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/approvals.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/billing.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/client.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/cloud_deployments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/config.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/cost.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/datasets.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/dev_environments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/environments.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/exports.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/factories.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/factory_evidence.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/files.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/github.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/image_releases.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/images.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/logs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/outputs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/progress.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/project.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/projects.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/prs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/readiness.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/repositories.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/runs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/secrets.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/setup.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/tag.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/trained_models.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/transport.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/usage.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/work_products.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/session/workspace_inputs.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/surface_parity.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/swarms.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/traces.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/transport/__init__.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/transport/http.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/transport/pagination.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/version.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/visuals.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/wiki.py +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai.egg-info/SOURCES.txt +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai.egg-info/dependency_links.txt +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai.egg-info/entry_points.txt +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai.egg-info/requires.txt +0 -0
- {synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/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.dev679"
|
|
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"}]
|
|
@@ -13,6 +13,7 @@ from uuid import UUID
|
|
|
13
13
|
from pydantic import BeforeValidator, Field, StringConstraints, field_validator, model_validator
|
|
14
14
|
|
|
15
15
|
from synth_ai.sdk.research.contracts.forge.contracts import ExactReference, Identifier
|
|
16
|
+
from synth_ai.sdk.research.contracts.forge.operations import RevisionReference
|
|
16
17
|
|
|
17
18
|
from .artifacts import ArtifactPublicationPrepareResponse, ArtifactUuid
|
|
18
19
|
from .contracts import ContributionReference, IndexContract
|
|
@@ -112,13 +113,36 @@ class ForgeResearchSource(IndexContract):
|
|
|
112
113
|
return self
|
|
113
114
|
|
|
114
115
|
|
|
116
|
+
ARCHIVE_V3 = "forge.private-archive.v3"
|
|
117
|
+
|
|
118
|
+
|
|
115
119
|
class ForgePublicResearchSource(ForgeResearchSource):
|
|
116
|
-
"""Exact private archive plus safe proposed public credit; backend decides release.
|
|
120
|
+
"""Exact private archive plus safe proposed public credit; backend decides release.
|
|
121
|
+
|
|
122
|
+
Mirrors backend ``packages/contributions/forge_release.py``. ``revision_reference``
|
|
123
|
+
(Forge decision 0001, ``forge.revision-reference.v1``) binds the selected export's
|
|
124
|
+
producer, operation and time, not only its payload; ``archive_schema_version`` names
|
|
125
|
+
the private archive version that carries those references (v3). The backend public
|
|
126
|
+
review policy refuses a Forge-origin public source that omits either
|
|
127
|
+
(``forge_revision_reference_required``, ``forge_archive_v3_required``); they stay
|
|
128
|
+
optional on the wire so older private registrations still decode.
|
|
129
|
+
"""
|
|
117
130
|
|
|
118
131
|
schema_version: Literal["synth.index.forge-source.v2"] = "synth.index.forge-source.v2"
|
|
119
132
|
archive_publication_id: ArtifactUuid
|
|
120
133
|
archive_manifest_digest_sha256: Digest
|
|
121
134
|
public_provenance: PublicScientificProvenance
|
|
135
|
+
revision_reference: RevisionReference | None = None
|
|
136
|
+
archive_schema_version: Literal["forge.private-archive.v3"] | None = None
|
|
137
|
+
|
|
138
|
+
@model_validator(mode="after")
|
|
139
|
+
def provenance_pin_names_the_export(self):
|
|
140
|
+
if (
|
|
141
|
+
self.revision_reference is not None
|
|
142
|
+
and self.revision_reference.reference != self.export
|
|
143
|
+
):
|
|
144
|
+
raise ValueError("revision reference must name the exported revision")
|
|
145
|
+
return self
|
|
122
146
|
|
|
123
147
|
|
|
124
148
|
def _legacy_source_version(value):
|
|
@@ -10,6 +10,7 @@ from .contracts import (
|
|
|
10
10
|
Contract,
|
|
11
11
|
Digest,
|
|
12
12
|
ExactReference,
|
|
13
|
+
ForgeError,
|
|
13
14
|
Identifier,
|
|
14
15
|
Producer,
|
|
15
16
|
Scope,
|
|
@@ -67,6 +68,35 @@ class RecordRevision(Contract):
|
|
|
67
68
|
recorded_at: AwareDatetime
|
|
68
69
|
|
|
69
70
|
|
|
71
|
+
REVISION_REFERENCE_V1 = "forge.revision-reference.v1"
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class RevisionReference(Contract):
|
|
75
|
+
"""Exact identity of one complete retained revision, provenance included.
|
|
76
|
+
|
|
77
|
+
See docs/decisions/0001. ``reference.digest_sha256`` keeps its payload-only
|
|
78
|
+
meaning; ``document_digest_sha256`` binds producer, operation and time too.
|
|
79
|
+
It proves the document Forge recorded, not external producer attestation.
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
schema_version: Literal["forge.revision-reference.v1"] = REVISION_REFERENCE_V1
|
|
83
|
+
reference: ExactReference
|
|
84
|
+
document_digest_sha256: Digest
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def revision_reference(record: RecordRevision) -> RevisionReference:
|
|
88
|
+
record = RecordRevision.model_validate(record.model_dump(mode="json"))
|
|
89
|
+
if (
|
|
90
|
+
record.reference.authority != "forge"
|
|
91
|
+
or record.reference.kind != record.payload.kind
|
|
92
|
+
or record.reference.digest_sha256 != contract_digest(record.payload)
|
|
93
|
+
):
|
|
94
|
+
raise ForgeError("reference_conflict", "record differs from exact source bytes")
|
|
95
|
+
return RevisionReference(
|
|
96
|
+
reference=record.reference, document_digest_sha256=contract_digest(record)
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
|
|
70
100
|
class PublicWrite(Contract):
|
|
71
101
|
"""Public intent; backend supplies authenticated producer and canonical scope."""
|
|
72
102
|
|
|
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.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/environments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/factory_results.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/image_releases.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/integrations.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/intern_program.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/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.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/policy_schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/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.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/research_intern.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/resource_reads.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/scientific_records.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/mcp/research/tools/trained_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/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
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/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.dev678 → synth_ai-0.22.2.dev679}/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.dev678 → synth_ai-0.22.2.dev679}/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.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/__init__.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/api.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/contracts.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/container_pools/packaging.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/__init__.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/_activity_wire.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/activity.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/activity_items.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/actor_images.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/billing.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/canonical_usage.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/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.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/deliveries.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/economics.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/environments.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/evidence.py
RENAMED
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/factories.py
RENAMED
|
File without changes
|
|
File without changes
|
{synth_ai-0.22.2.dev678 → synth_ai-0.22.2.dev679}/synth_ai/sdk/research/contracts/factory_lenses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|