synth-ai 0.15.2__tar.gz → 0.15.3.dev0__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.
Files changed (225) hide show
  1. {synth_ai-0.15.2/synth_ai.egg-info → synth_ai-0.15.3.dev0}/PKG-INFO +1 -1
  2. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/pyproject.toml +1 -1
  3. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/server.py +16 -0
  4. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/client.py +11 -1
  5. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0/synth_ai.egg-info}/PKG-INFO +1 -1
  6. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/LICENSE +0 -0
  7. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/MANIFEST.in +0 -0
  8. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/README.md +0 -0
  9. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/setup.cfg +0 -0
  10. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/__init__.py +0 -0
  11. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/__main__.py +0 -0
  12. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/__init__.py +0 -0
  13. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/__main__.py +0 -0
  14. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/containers.py +0 -0
  15. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/dev_envs.py +0 -0
  16. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/main.py +0 -0
  17. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/pools.py +0 -0
  18. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/research.py +0 -0
  19. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/cli/tunnels.py +0 -0
  20. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/client.py +0 -0
  21. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/__init__.py +0 -0
  22. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/errors.py +0 -0
  23. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/__init__.py +0 -0
  24. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/dict.py +0 -0
  25. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/env.py +0 -0
  26. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/json.py +0 -0
  27. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/log_filter.py +0 -0
  28. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/paths.py +0 -0
  29. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/secure_files.py +0 -0
  30. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/urls.py +0 -0
  31. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/core/utils/workspace.py +0 -0
  32. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/gamebench/__init__.py +0 -0
  33. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/gamebench/client.py +0 -0
  34. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/gamebench/models.py +0 -0
  35. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/__init__.py +0 -0
  36. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/_internal/__init__.py +0 -0
  37. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/_internal/crypto.py +0 -0
  38. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/_internal/env.py +0 -0
  39. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/_internal/urls.py +0 -0
  40. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/auth.py +0 -0
  41. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/client.py +0 -0
  42. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/errors.py +0 -0
  43. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/factory_plans/__init__.py +0 -0
  44. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/factory_plans/rsi_synth_on_synth.plan.json +0 -0
  45. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/factory_standup.py +0 -0
  46. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/__init__.py +0 -0
  47. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/__main__.py +0 -0
  48. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/objective_tools.py +0 -0
  49. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/registry.py +0 -0
  50. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/request_models.py +0 -0
  51. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/__init__.py +0 -0
  52. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/approvals.py +0 -0
  53. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/artifacts.py +0 -0
  54. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/cloud_deployments.py +0 -0
  55. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/datasets.py +0 -0
  56. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/dev_environments.py +0 -0
  57. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/exports.py +0 -0
  58. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/factories.py +0 -0
  59. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/files.py +0 -0
  60. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/integrations.py +0 -0
  61. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/logs.py +0 -0
  62. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/models.py +0 -0
  63. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/open_research.py +0 -0
  64. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/outputs.py +0 -0
  65. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/progress.py +0 -0
  66. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/projects.py +0 -0
  67. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/prs.py +0 -0
  68. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/readiness.py +0 -0
  69. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/repos.py +0 -0
  70. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/resources.py +0 -0
  71. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/runs.py +0 -0
  72. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/smr_policy_schemas.py +0 -0
  73. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/tag.py +0 -0
  74. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/trained_models.py +0 -0
  75. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/usage.py +0 -0
  76. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/mcp/tools/workspace_inputs.py +0 -0
  77. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/__init__.py +0 -0
  78. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/billing.py +0 -0
  79. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/canonical_usage.py +0 -0
  80. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/checkpoints.py +0 -0
  81. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/cloud_deployment_claims.py +0 -0
  82. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/cloud_deployments.py +0 -0
  83. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/dev_environment_evidence.py +0 -0
  84. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/factories.py +0 -0
  85. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/factory_evidence.py +0 -0
  86. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/generated/__init__.py +0 -0
  87. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/generated/v1/__init__.py +0 -0
  88. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/local_execution_profile.py +0 -0
  89. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/open_research_visual.py +0 -0
  90. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/operator_evidence.py +0 -0
  91. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/project.py +0 -0
  92. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/project_workspace.py +0 -0
  93. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/promotions.py +0 -0
  94. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_authority.py +0 -0
  95. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_control.py +0 -0
  96. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_diagnostics.py +0 -0
  97. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_events.py +0 -0
  98. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_execution.py +0 -0
  99. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_launch.py +0 -0
  100. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_observability.py +0 -0
  101. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_state.py +0 -0
  102. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/run_timeline.py +0 -0
  103. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/runtime_image.py +0 -0
  104. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/runtime_intent.py +0 -0
  105. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_actor_models.py +0 -0
  106. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_actor_policy_data.py +0 -0
  107. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_agent_harnesses.py +0 -0
  108. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_agent_kinds.py +0 -0
  109. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_agent_models.py +0 -0
  110. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_credential_providers.py +0 -0
  111. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_environment_kinds.py +0 -0
  112. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_funding_sources.py +0 -0
  113. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_horizons.py +0 -0
  114. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_host_kinds.py +0 -0
  115. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_inference_providers.py +0 -0
  116. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_network_topology.py +0 -0
  117. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_providers.py +0 -0
  118. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_resource_kinds.py +0 -0
  119. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_resource_providers.py +0 -0
  120. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_roles.py +0 -0
  121. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_run_policy.py +0 -0
  122. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_runbooks.py +0 -0
  123. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_runtime_kinds.py +0 -0
  124. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_tool_providers.py +0 -0
  125. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/smr_work_modes.py +0 -0
  126. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/tag.py +0 -0
  127. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/types.py +0 -0
  128. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/models/work_products.py +0 -0
  129. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/open_research/__init__.py +0 -0
  130. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/open_research/client.py +0 -0
  131. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/open_research/errors.py +0 -0
  132. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/open_research/fingerprint.py +0 -0
  133. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/open_research/models.py +0 -0
  134. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/py.typed +0 -0
  135. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/schema_sync.py +0 -0
  136. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/schemas/public_models.json +0 -0
  137. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/schemas/smr_openapi.yaml +0 -0
  138. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/__init__.py +0 -0
  139. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/_base.py +0 -0
  140. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/_client_helpers.py +0 -0
  141. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/_run_authority_mixin.py +0 -0
  142. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/approvals.py +0 -0
  143. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/artifacts.py +0 -0
  144. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/billing.py +0 -0
  145. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/cloud_deployments.py +0 -0
  146. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/compat.py +0 -0
  147. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/config.py +0 -0
  148. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/cost.py +0 -0
  149. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/credentials.py +0 -0
  150. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/datasets.py +0 -0
  151. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/dev_environments.py +0 -0
  152. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/environments.py +0 -0
  153. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/exports.py +0 -0
  154. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/factories.py +0 -0
  155. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/factory_evidence.py +0 -0
  156. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/files.py +0 -0
  157. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/github.py +0 -0
  158. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/image_releases.py +0 -0
  159. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/integrations.py +0 -0
  160. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/launch.py +0 -0
  161. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/logs.py +0 -0
  162. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/models.py +0 -0
  163. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/namespaces/__init__.py +0 -0
  164. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/outputs.py +0 -0
  165. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/progress.py +0 -0
  166. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/project.py +0 -0
  167. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/projects.py +0 -0
  168. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/promotions.py +0 -0
  169. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/prs.py +0 -0
  170. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/readiness.py +0 -0
  171. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/repos.py +0 -0
  172. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/repositories.py +0 -0
  173. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/runs.py +0 -0
  174. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/secrets.py +0 -0
  175. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/setup.py +0 -0
  176. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/tag.py +0 -0
  177. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/trained_models.py +0 -0
  178. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/transport.py +0 -0
  179. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/usage.py +0 -0
  180. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/work_products.py +0 -0
  181. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/sdk/workspace_inputs.py +0 -0
  182. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/transport/__init__.py +0 -0
  183. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/transport/http.py +0 -0
  184. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/transport/pagination.py +0 -0
  185. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/transport/retries.py +0 -0
  186. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/transport/streaming.py +0 -0
  187. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/managed_research/version.py +0 -0
  188. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/py.typed +0 -0
  189. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/__init__.py +0 -0
  190. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/async_client.py +0 -0
  191. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/client.py +0 -0
  192. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/control.py +0 -0
  193. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/economics.py +0 -0
  194. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/efforts.py +0 -0
  195. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/enums.py +0 -0
  196. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/errors.py +0 -0
  197. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/factories.py +0 -0
  198. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/hosted_artifacts.py +0 -0
  199. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/limits.py +0 -0
  200. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/models.py +0 -0
  201. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/project_namespaces.py +0 -0
  202. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/projects.py +0 -0
  203. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/run_readouts.py +0 -0
  204. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/runs.py +0 -0
  205. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/secrets.py +0 -0
  206. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/research/visuals.py +0 -0
  207. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/__init__.py +0 -0
  208. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/base.py +0 -0
  209. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/container/__init__.py +0 -0
  210. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/container/auth.py +0 -0
  211. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/containers.py +0 -0
  212. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/horizons_private.py +0 -0
  213. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/managed_agents/__init__.py +0 -0
  214. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/managed_agents/client.py +0 -0
  215. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/managed_agents_anthropic.py +0 -0
  216. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/openai_agents_sdk.py +0 -0
  217. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/openai_tools.py +0 -0
  218. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/pagination.py +0 -0
  219. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/pools.py +0 -0
  220. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai/sdk/tunnels.py +0 -0
  221. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai.egg-info/SOURCES.txt +0 -0
  222. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai.egg-info/dependency_links.txt +0 -0
  223. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai.egg-info/entry_points.txt +0 -0
  224. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai.egg-info/requires.txt +0 -0
  225. {synth_ai-0.15.2 → synth_ai-0.15.3.dev0}/synth_ai.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synth-ai
3
- Version: 0.15.2
3
+ Version: 0.15.3.dev0
4
4
  Summary: Python-only SDK for Synth containers, tunnels, pools, and Research
5
5
  Author-email: Synth AI <josh@usesynth.ai>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "synth-ai"
3
- version = "0.15.2"
3
+ version = "0.15.3.dev0"
4
4
  description = "Python-only SDK for Synth containers, tunnels, pools, and Research"
5
5
  authors = [{name = "Synth AI", email = "josh@usesynth.ai"}]
6
6
  license = "MIT"
@@ -3474,6 +3474,22 @@ class ManagedResearchMcpServer:
3474
3474
  "id": request_id,
3475
3475
  "error": {"code": exc.code, "message": exc.message, "data": exc.data},
3476
3476
  }
3477
+ except SmrApiError as exc:
3478
+ # Central denial mapping: any tool (not just the run-launch handlers)
3479
+ # that raises a typed SmrApiError must surface the structured
3480
+ # error_code / http_status / detail so SDK↔MCP denial parity holds.
3481
+ # Without this, non-launch tools flatten to a generic -32000 text
3482
+ # error and drop plan/cap/current-count fields.
3483
+ payload = _mcp_structured_trigger_error_payload(exc)
3484
+ return {
3485
+ "jsonrpc": "2.0",
3486
+ "id": request_id,
3487
+ "error": {
3488
+ "code": -32010,
3489
+ "message": payload.get("message", str(exc)),
3490
+ "data": payload,
3491
+ },
3492
+ }
3477
3493
  except Exception as exc:
3478
3494
  return {
3479
3495
  "jsonrpc": "2.0",
@@ -1117,7 +1117,7 @@ def _code_bundle_upload_payload(
1117
1117
  class ManagedResearchClient(ManagedResearchRunAuthorityMixin):
1118
1118
  """Managed Research client implementation."""
1119
1119
 
1120
- api_key: str | None = None
1120
+ api_key: str | None = field(default=None, repr=False)
1121
1121
  backend_base: str | None = None
1122
1122
  timeout_seconds: float = DEFAULT_TIMEOUT_SECONDS
1123
1123
  _transport: SmrHttpTransport = field(init=False, repr=False)
@@ -1177,6 +1177,16 @@ class ManagedResearchClient(ManagedResearchRunAuthorityMixin):
1177
1177
  timeout_seconds=self.timeout_seconds,
1178
1178
  )
1179
1179
 
1180
+ def __repr__(self) -> str:
1181
+ # Never render the raw API key: the resolved secret lives on self.api_key
1182
+ # after __post_init__, so the default dataclass repr / %r / traceback frame
1183
+ # would otherwise leak a live credential into logs.
1184
+ api_key_state = "set" if self.api_key else "unset"
1185
+ return (
1186
+ f"ManagedResearchClient(backend_base={self.backend_base!r}, "
1187
+ f"timeout_seconds={self.timeout_seconds!r}, api_key=<{api_key_state}>)"
1188
+ )
1189
+
1180
1190
  def __enter__(self) -> ManagedResearchClient:
1181
1191
  return self
1182
1192
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synth-ai
3
- Version: 0.15.2
3
+ Version: 0.15.3.dev0
4
4
  Summary: Python-only SDK for Synth containers, tunnels, pools, and Research
5
5
  Author-email: Synth AI <josh@usesynth.ai>
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes
File without changes