truefoundry 0.7.1rc1__tar.gz → 0.7.3rc1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of truefoundry might be problematic. Click here for more details.

Files changed (382) hide show
  1. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/PKG-INFO +3 -3
  2. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/pyproject.toml +3 -3
  3. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/_client.py +1 -1
  4. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/cli/__main__.py +1 -1
  5. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/_autogen/models.py +10 -4
  6. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/clients/ask_client.py +2 -6
  7. truefoundry-0.7.1rc1/truefoundry/deploy/lib/clients/_mcp_streamable_http.py +0 -264
  8. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/.gitignore +0 -0
  9. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/README.md +0 -0
  10. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/__init__.py +0 -0
  11. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/__init__.py +0 -0
  12. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/agents/__init__.py +0 -0
  13. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/agents/base.py +0 -0
  14. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/agents/developer.py +0 -0
  15. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  16. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/agents/tester.py +0 -0
  17. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/cli.py +0 -0
  18. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/constants.py +0 -0
  19. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/exception.py +0 -0
  20. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/logger.py +0 -0
  21. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/__init__.py +0 -0
  22. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/ask.py +0 -0
  23. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/base.py +0 -0
  24. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/commit.py +0 -0
  25. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  26. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  27. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  28. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/list_files.py +0 -0
  29. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/read_file.py +0 -0
  30. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/send_request.py +0 -0
  31. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/tools/write_file.py +0 -0
  32. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/utils/client.py +0 -0
  33. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/utils/diff.py +0 -0
  34. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  35. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/cli/__init__.py +0 -0
  36. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/cli/config.py +0 -0
  37. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/cli/console.py +0 -0
  38. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/cli/const.py +0 -0
  39. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/cli/display_util.py +0 -0
  40. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/cli/util.py +0 -0
  41. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/__init__.py +0 -0
  42. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/auth_service_client.py +0 -0
  43. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/constants.py +0 -0
  44. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/credential_file_manager.py +0 -0
  45. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/credential_provider.py +0 -0
  46. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/entities.py +0 -0
  47. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/exceptions.py +0 -0
  48. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/request_utils.py +0 -0
  49. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/servicefoundry_client.py +0 -0
  50. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/session.py +0 -0
  51. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/storage_provider_utils.py +0 -0
  52. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/types.py +0 -0
  53. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/utils.py +0 -0
  54. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/common/warnings.py +0 -0
  55. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/__init__.py +0 -0
  56. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/__init__.py +0 -0
  57. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  58. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  59. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  60. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  61. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  62. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  63. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/constants.py +0 -0
  64. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/docker_service.py +0 -0
  65. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/builder/utils.py +0 -0
  66. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/__init__.py +0 -0
  67. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  68. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  69. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/ask_command.py +0 -0
  70. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  71. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  72. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  73. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  74. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  75. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/k8s_exec_credential_command.py +0 -0
  76. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/kubeconfig_command.py +0 -0
  77. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  78. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  79. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  80. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  81. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  82. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  83. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  84. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/cli/commands/utils.py +0 -0
  85. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/core/__init__.py +0 -0
  86. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/core/login.py +0 -0
  87. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/core/logout.py +0 -0
  88. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/io/__init__.py +0 -0
  89. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/io/no_output_callback.py +0 -0
  90. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/io/output_callback.py +0 -0
  91. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  92. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/__init__.py +0 -0
  93. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/clients/__init__.py +0 -0
  94. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/clients/servicefoundry_client.py +0 -0
  95. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/const.py +0 -0
  96. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/dao/__init__.py +0 -0
  97. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/dao/application.py +0 -0
  98. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/dao/apply.py +0 -0
  99. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/dao/delete.py +0 -0
  100. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/dao/version.py +0 -0
  101. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  102. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/logs_utils.py +0 -0
  103. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/messages.py +0 -0
  104. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/model/__init__.py +0 -0
  105. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/model/entity.py +0 -0
  106. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/session.py +0 -0
  107. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/util.py +0 -0
  108. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/lib/win32.py +0 -0
  109. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  110. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/__init__.py +0 -0
  111. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  112. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/lib/deploy.py +0 -0
  113. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  114. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  115. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/lib/models.py +0 -0
  116. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
  117. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/deploy/v2/lib/source.py +0 -0
  118. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/logger.py +0 -0
  119. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/__init__.py +0 -0
  120. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/__init__.py +0 -0
  121. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/__init__.py +0 -0
  122. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/__init__.py +0 -0
  123. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/auth_api.py +0 -0
  124. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/deprecated_api.py +0 -0
  125. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/experiments_api.py +0 -0
  126. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/generate_code_snippet_api.py +0 -0
  127. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/health_api.py +0 -0
  128. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/metrics_api.py +0 -0
  129. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  130. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/run_artifacts_api.py +0 -0
  131. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api/runs_api.py +0 -0
  132. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api_client.py +0 -0
  133. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/api_response.py +0 -0
  134. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/configuration.py +0 -0
  135. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/exceptions.py +0 -0
  136. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/__init__.py +0 -0
  137. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/agent_app.py +0 -0
  138. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/agent_manifest.py +0 -0
  139. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_manifest.py +0 -0
  140. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  141. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/agent_with_fqn.py +0 -0
  142. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/apply_request_dto.py +0 -0
  143. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/apply_response_dto.py +0 -0
  144. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_dto.py +0 -0
  145. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_manifest.py +0 -0
  146. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_path.py +0 -0
  147. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_response_dto.py +0 -0
  148. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_type.py +0 -0
  149. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_version_dto.py +0 -0
  150. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_version_response_dto.py +0 -0
  151. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_version_serialization_format.py +0 -0
  152. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/artifact_version_status.py +0 -0
  153. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/assistant_message.py +0 -0
  154. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  155. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  156. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/blob_storage_reference.py +0 -0
  157. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/body_get_search_runs_get.py +0 -0
  158. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest.py +0 -0
  159. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest_messages_inner.py +0 -0
  160. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/columns_dto.py +0 -0
  161. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/command.py +0 -0
  162. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/content.py +0 -0
  163. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/content1.py +0 -0
  164. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/content2.py +0 -0
  165. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/content2_any_of_inner.py +0 -0
  166. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_artifact_request_dto.py +0 -0
  167. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_artifact_response_dto.py +0 -0
  168. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_artifact_version_request_dto.py +0 -0
  169. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_artifact_version_response_dto.py +0 -0
  170. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_dataset_request_dto.py +0 -0
  171. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_experiment_request_dto.py +0 -0
  172. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_experiment_response_dto.py +0 -0
  173. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_model_version_request_dto.py +0 -0
  174. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  175. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  176. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  177. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  178. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  179. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_run_request_dto.py +0 -0
  180. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_run_response_dto.py +0 -0
  181. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  182. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/data_directory_manifest.py +0 -0
  183. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/dataset_dto.py +0 -0
  184. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/dataset_response_dto.py +0 -0
  185. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  186. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/delete_dataset_request_dto.py +0 -0
  187. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  188. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/delete_model_version_request_dto.py +0 -0
  189. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/delete_run_request.py +0 -0
  190. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/delete_tag_request_dto.py +0 -0
  191. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/experiment_dto.py +0 -0
  192. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/experiment_id_request_dto.py +0 -0
  193. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/experiment_response_dto.py +0 -0
  194. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/experiment_tag_dto.py +0 -0
  195. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/export_deployment_files_request_dto.py +0 -0
  196. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/external_blob_storage_source.py +0 -0
  197. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/fast_ai_framework.py +0 -0
  198. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/file_info_dto.py +0 -0
  199. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  200. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/framework.py +0 -0
  201. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  202. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_experiment_response_dto.py +0 -0
  203. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  204. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_metric_history_response.py +0 -0
  205. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  206. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  207. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  208. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  209. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  210. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  211. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  212. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  213. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/get_tenant_id_response_dto.py +0 -0
  214. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/gluon_framework.py +0 -0
  215. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/h2_o_framework.py +0 -0
  216. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/http_validation_error.py +0 -0
  217. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/image_content_part.py +0 -0
  218. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/image_url.py +0 -0
  219. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/infer_method_name.py +0 -0
  220. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/keras_framework.py +0 -0
  221. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/latest_run_log_dto.py +0 -0
  222. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/library_name.py +0 -0
  223. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/light_gbm_framework.py +0 -0
  224. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  225. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  226. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_artifacts_request_dto.py +0 -0
  227. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_artifacts_response_dto.py +0 -0
  228. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_colums_response_dto.py +0 -0
  229. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_datasets_request_dto.py +0 -0
  230. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_datasets_response_dto.py +0 -0
  231. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_experiments_response_dto.py +0 -0
  232. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  233. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  234. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  235. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  236. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  237. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_metric_history_request_dto.py +0 -0
  238. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_metric_history_response_dto.py +0 -0
  239. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_model_version_response_dto.py +0 -0
  240. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_model_versions_request_dto.py +0 -0
  241. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_models_request_dto.py +0 -0
  242. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_models_response_dto.py +0 -0
  243. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  244. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/list_run_logs_response_dto.py +0 -0
  245. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/local_artifact_source.py +0 -0
  246. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/local_model_source.py +0 -0
  247. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/log_batch_request_dto.py +0 -0
  248. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/log_metric_request_dto.py +0 -0
  249. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/log_param_request_dto.py +0 -0
  250. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/manifest.py +0 -0
  251. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/manifest1.py +0 -0
  252. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/manifest2.py +0 -0
  253. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/method.py +0 -0
  254. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/metric_collection_dto.py +0 -0
  255. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/metric_dto.py +0 -0
  256. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/mime_type.py +0 -0
  257. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_configuration.py +0 -0
  258. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_dto.py +0 -0
  259. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_manifest.py +0 -0
  260. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_response_dto.py +0 -0
  261. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_server.py +0 -0
  262. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_version_dto.py +0 -0
  263. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_version_environment.py +0 -0
  264. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/model_version_response_dto.py +0 -0
  265. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/multi_part_upload_dto.py +0 -0
  266. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/multi_part_upload_response_dto.py +0 -0
  267. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  268. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  269. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/onnx_framework.py +0 -0
  270. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/openapi_spec.py +0 -0
  271. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/paddle_framework.py +0 -0
  272. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/param_dto.py +0 -0
  273. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/parameters.py +0 -0
  274. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/py_torch_framework.py +0 -0
  275. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  276. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/restore_run_request_dto.py +0 -0
  277. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/run_data_dto.py +0 -0
  278. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/run_dto.py +0 -0
  279. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/run_info_dto.py +0 -0
  280. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/run_log_dto.py +0 -0
  281. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/run_log_input_dto.py +0 -0
  282. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/run_response_dto.py +0 -0
  283. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/run_tag_dto.py +0 -0
  284. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/search_runs_request_dto.py +0 -0
  285. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/search_runs_response_dto.py +0 -0
  286. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  287. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/set_tag_request_dto.py +0 -0
  288. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/signed_url_dto.py +0 -0
  289. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/sklearn_framework.py +0 -0
  290. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/sklearn_model_schema.py +0 -0
  291. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/sklearn_serialization_format.py +0 -0
  292. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/source.py +0 -0
  293. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/source1.py +0 -0
  294. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/source2.py +0 -0
  295. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/spa_cy_framework.py +0 -0
  296. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/stats_models_framework.py +0 -0
  297. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/stop.py +0 -0
  298. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/store_run_logs_request_dto.py +0 -0
  299. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/subject.py +0 -0
  300. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/subject_type.py +0 -0
  301. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/system_message.py +0 -0
  302. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/tensor_flow_framework.py +0 -0
  303. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/text.py +0 -0
  304. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/text_content_part.py +0 -0
  305. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/transformers_framework.py +0 -0
  306. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  307. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  308. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/true_foundry_managed_source.py +0 -0
  309. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/update_artifact_version_request_dto.py +0 -0
  310. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/update_dataset_request_dto.py +0 -0
  311. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/update_experiment_request_dto.py +0 -0
  312. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/update_model_version_request_dto.py +0 -0
  313. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/update_run_request_dto.py +0 -0
  314. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/update_run_response_dto.py +0 -0
  315. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/url.py +0 -0
  316. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/user_message.py +0 -0
  317. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  318. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  319. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/validation_error.py +0 -0
  320. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/validation_error_loc_inner.py +0 -0
  321. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/xg_boost_framework.py +0 -0
  322. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/xg_boost_model_schema.py +0 -0
  323. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/models/xg_boost_serialization_format.py +0 -0
  324. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client/rest.py +0 -0
  325. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/client_README.md +0 -0
  326. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/entities/artifacts.py +0 -0
  327. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/models/__init__.py +0 -0
  328. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/models/exceptions.py +0 -0
  329. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/models/schema.py +0 -0
  330. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/models/signature.py +0 -0
  331. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/_autogen/models/utils.py +0 -0
  332. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/artifact/__init__.py +0 -0
  333. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
  334. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/cli/__init__.py +0 -0
  335. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/cli/cli.py +0 -0
  336. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/cli/commands/__init__.py +0 -0
  337. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/cli/commands/download.py +0 -0
  338. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/cli/commands/model_init.py +0 -0
  339. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/cli/utils.py +0 -0
  340. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/clients/__init__.py +0 -0
  341. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
  342. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/constants.py +0 -0
  343. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/entities.py +0 -0
  344. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/enums.py +0 -0
  345. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/exceptions.py +0 -0
  346. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/git_info.py +0 -0
  347. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/internal_namespace.py +0 -0
  348. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/__init__.py +0 -0
  349. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
  350. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
  351. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  352. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  353. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/artifacts/model.py +0 -0
  354. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  355. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/image/__init__.py +0 -0
  356. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/image/constants.py +0 -0
  357. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/image/image.py +0 -0
  358. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  359. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/image/types.py +0 -0
  360. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/plot.py +0 -0
  361. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  362. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/log_types/utils.py +0 -0
  363. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/logger.py +0 -0
  364. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/mlfoundry_api.py +0 -0
  365. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/mlfoundry_run.py +0 -0
  366. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/model_framework.py +0 -0
  367. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/prompt_utils.py +0 -0
  368. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/run_utils.py +0 -0
  369. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/session.py +0 -0
  370. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/ml/validation_utils.py +0 -0
  371. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/pydantic_v1.py +0 -0
  372. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/version.py +0 -0
  373. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/__init__.py +0 -0
  374. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/container_task.py +0 -0
  375. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/map_task.py +0 -0
  376. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/python_task.py +0 -0
  377. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  378. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  379. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  380. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  381. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/task.py +0 -0
  382. {truefoundry-0.7.1rc1 → truefoundry-0.7.3rc1}/truefoundry/workflow/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truefoundry
3
- Version: 0.7.1rc1
3
+ Version: 0.7.3rc1
4
4
  Summary: TrueFoundry CLI
5
5
  Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
6
  Requires-Python: <3.14,>=3.8.1
@@ -14,7 +14,7 @@ Requires-Dist: gitpython<4.0.0,>=3.1.43
14
14
  Requires-Dist: importlib-metadata<9.0.0,>=4.11.3
15
15
  Requires-Dist: importlib-resources<7.0.0,>=5.2.0
16
16
  Requires-Dist: mako<2.0.0,>=1.1.6
17
- Requires-Dist: mcp==1.6.0; python_version >= '3.10'
17
+ Requires-Dist: mcp==1.8.1; python_version >= '3.10'
18
18
  Requires-Dist: numpy<3.0.0,>=1.23.0
19
19
  Requires-Dist: openai<2.0.0,>=1.16.2
20
20
  Requires-Dist: packaging<26.0,>=20.0
@@ -31,7 +31,7 @@ Requires-Dist: requirements-parser<0.12.0,>=0.11.0
31
31
  Requires-Dist: rich-click<2.0.0,>=1.2.1
32
32
  Requires-Dist: rich<14.0.0,>=13.7.1
33
33
  Requires-Dist: tqdm<5.0.0,>=4.0.0
34
- Requires-Dist: truefoundry-sdk==0.0.16
34
+ Requires-Dist: truefoundry-sdk==0.1.0
35
35
  Requires-Dist: typing-extensions>=4.0
36
36
  Requires-Dist: urllib3<3,>=1.26.18
37
37
  Requires-Dist: yq<4.0.0,>=3.1.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "truefoundry"
3
- version = "0.7.1rc1" # This is a placeholder version, it will be replaced when releasing
3
+ version = "0.7.3rc1" # This is a placeholder version, it will be replaced when releasing
4
4
  requires-python = ">=3.8.1,<3.14"
5
5
  description = "TrueFoundry CLI"
6
6
  authors = [{ name = "TrueFoundry Team", email = "abhishek@truefoundry.com" }]
@@ -16,7 +16,7 @@ dependencies = [
16
16
  "importlib-metadata>=4.11.3,<9.0.0",
17
17
  "importlib-resources>=5.2.0,<7.0.0",
18
18
  "Mako>=1.1.6,<2.0.0",
19
- "mcp==1.6.0 ; python_version >= '3.10'",
19
+ "mcp==1.8.1 ; python_version >= '3.10'",
20
20
  "openai>=1.16.2,<2.0.0",
21
21
  "packaging>=20.0,<26.0",
22
22
  "pydantic>=1.8.2,<3.0.0",
@@ -32,7 +32,7 @@ dependencies = [
32
32
  "rich-click>=1.2.1,<2.0.0",
33
33
  "rich>=13.7.1,<14.0.0",
34
34
  "tqdm>=4.0.0,<5.0.0",
35
- "truefoundry-sdk==0.0.16",
35
+ "truefoundry-sdk==0.1.0",
36
36
  "typing-extensions>=4.0",
37
37
  "urllib3>=1.26.18,<3",
38
38
  "yq>=3.1.0,<4.0.0",
@@ -33,4 +33,4 @@ class _LazyTrueFoundry(truefoundry_sdk.TrueFoundry):
33
33
  )
34
34
 
35
35
 
36
- client = _LazyTrueFoundry().v1
36
+ client = _LazyTrueFoundry()
@@ -100,13 +100,13 @@ def create_truefoundry_cli() -> click.Group:
100
100
  cli.add_command(get_terminate_command())
101
101
  cli.add_command(get_ml_cli())
102
102
  cli.add_command(get_get_command())
103
+ cli.add_command(get_ask_command())
103
104
 
104
105
  if not (sys.platform.startswith("win32") or sys.platform.startswith("cygwin")):
105
106
  cli.add_command(get_patch_command())
106
107
 
107
108
  if is_internal_env_set():
108
109
  cli.add_command(get_build_command())
109
- cli.add_command(get_ask_command())
110
110
  return cli
111
111
 
112
112
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: application.json
3
- # timestamp: 2025-04-21T06:26:10+00:00
3
+ # timestamp: 2025-05-03T01:45:46+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1485,6 +1485,10 @@ class WorkflowAlert(BaseModel):
1485
1485
  """
1486
1486
 
1487
1487
  notification_target: Optional[Union[Email, SlackWebhook, SlackBot]] = None
1488
+ events: List[WorkflowEvent] = Field(
1489
+ ...,
1490
+ description="Specify the events to send alerts for, it should be one of the following: SUCCEEDED, FAILED, ABORTED, TIMED_OUT",
1491
+ )
1488
1492
  on_completion: bool = Field(
1489
1493
  False, description="Send an alert when the job completes"
1490
1494
  )
@@ -1552,10 +1556,12 @@ class JobAlert(BaseModel):
1552
1556
  description="List of recipients' email addresses if the notification channel is Email.",
1553
1557
  )
1554
1558
  notification_target: Optional[Union[Email, SlackWebhook, SlackBot]] = None
1555
- on_start: bool = Field(False, description="Send an alert when the job starts")
1556
- on_completion: bool = Field(
1557
- False, description="Send an alert when the job completes"
1559
+ events: List[JobEvent] = Field(
1560
+ ...,
1561
+ description="Specify the events to send alerts for, it should be one of the following: START, SUCCEEDED, FAILED, TERMINATED",
1558
1562
  )
1563
+ on_start: bool = Field(False, description="Send an alert when the job starts")
1564
+ on_completion: bool = False
1559
1565
  on_failure: bool = Field(True, description="Send an alert when the job fails")
1560
1566
 
1561
1567
 
@@ -1,10 +1,7 @@
1
1
  try:
2
2
  from mcp import ClientSession
3
+ from mcp.client.streamable_http import streamablehttp_client
3
4
  from mcp.types import TextContent
4
-
5
- from truefoundry.deploy.lib.clients._mcp_streamable_http import (
6
- streamablehttp_client,
7
- )
8
5
  except ImportError:
9
6
  import sys
10
7
 
@@ -75,7 +72,7 @@ class AskClient:
75
72
  (
76
73
  read_stream,
77
74
  write_stream,
78
- self._terminate_cb,
75
+ _,
79
76
  ) = await self._streams_context.__aenter__()
80
77
  self._session_context = ClientSession(
81
78
  read_stream=read_stream, write_stream=write_stream
@@ -99,7 +96,6 @@ class AskClient:
99
96
 
100
97
  async def cleanup(self):
101
98
  """Properly close all async contexts opened during session initialization."""
102
- await self._terminate_cb()
103
99
  for context in [
104
100
  getattr(self, "_session_context", None),
105
101
  getattr(self, "_streams_context", None),
@@ -1,264 +0,0 @@
1
- """
2
- StreamableHTTP Client Transport Module
3
- # From https://github.com/modelcontextprotocol/python-sdk/pull/573
4
-
5
- This module implements the StreamableHTTP transport for MCP clients,
6
- providing support for HTTP POST requests with optional SSE streaming responses
7
- and session management.
8
- """
9
-
10
- import logging
11
- from contextlib import asynccontextmanager
12
- from datetime import timedelta
13
- from typing import Any
14
-
15
- import anyio
16
- import httpx
17
- from httpx_sse import EventSource, aconnect_sse
18
- from mcp.types import (
19
- ErrorData,
20
- JSONRPCError,
21
- JSONRPCMessage,
22
- JSONRPCNotification,
23
- JSONRPCRequest,
24
- )
25
-
26
- logger = logging.getLogger(__name__)
27
-
28
- # Header names
29
- MCP_SESSION_ID_HEADER = "mcp-session-id"
30
- LAST_EVENT_ID_HEADER = "last-event-id"
31
-
32
- # Content types
33
- CONTENT_TYPE_JSON = "application/json"
34
- CONTENT_TYPE_SSE = "text/event-stream"
35
-
36
-
37
- @asynccontextmanager
38
- async def streamablehttp_client(
39
- url: str,
40
- headers: dict[str, Any] | None = None,
41
- timeout: timedelta = timedelta(seconds=30),
42
- sse_read_timeout: timedelta = timedelta(seconds=60 * 5),
43
- ):
44
- """
45
- Client transport for StreamableHTTP.
46
-
47
- `sse_read_timeout` determines how long (in seconds) the client will wait for a new
48
- event before disconnecting. All other HTTP operations are controlled by `timeout`.
49
-
50
- Yields:
51
- Tuple of (read_stream, write_stream, terminate_callback)
52
- """
53
-
54
- read_stream_writer, read_stream = anyio.create_memory_object_stream[
55
- JSONRPCMessage | Exception
56
- ](0)
57
- write_stream, write_stream_reader = anyio.create_memory_object_stream[
58
- JSONRPCMessage
59
- ](0)
60
-
61
- async def get_stream():
62
- """
63
- Optional GET stream for server-initiated messages
64
- """
65
- nonlocal session_id
66
- try:
67
- # Only attempt GET if we have a session ID
68
- if not session_id:
69
- return
70
-
71
- get_headers = request_headers.copy()
72
- get_headers[MCP_SESSION_ID_HEADER] = session_id
73
-
74
- async with aconnect_sse(
75
- client,
76
- "GET",
77
- url,
78
- headers=get_headers,
79
- timeout=httpx.Timeout(timeout.seconds, read=sse_read_timeout.seconds),
80
- ) as event_source:
81
- event_source.response.raise_for_status()
82
- logger.debug("GET SSE connection established")
83
-
84
- async for sse in event_source.aiter_sse():
85
- if sse.event == "message":
86
- try:
87
- message = JSONRPCMessage.model_validate_json(sse.data)
88
- logger.debug(f"GET message: {message}")
89
- await read_stream_writer.send(message)
90
- except Exception as exc:
91
- logger.error(f"Error parsing GET message: {exc}")
92
- await read_stream_writer.send(exc)
93
- else:
94
- logger.warning(f"Unknown SSE event from GET: {sse.event}")
95
- except Exception as exc:
96
- # GET stream is optional, so don't propagate errors
97
- logger.debug(f"GET stream error (non-fatal): {exc}")
98
-
99
- async def post_writer(client: httpx.AsyncClient):
100
- nonlocal session_id
101
- try:
102
- async with write_stream_reader:
103
- async for message in write_stream_reader:
104
- # Add session ID to headers if we have one
105
- post_headers = request_headers.copy()
106
- if session_id:
107
- post_headers[MCP_SESSION_ID_HEADER] = session_id
108
-
109
- logger.debug(f"Sending client message: {message}")
110
-
111
- # Handle initial initialization request
112
- is_initialization = (
113
- isinstance(message.root, JSONRPCRequest)
114
- and message.root.method == "initialize"
115
- )
116
- if (
117
- isinstance(message.root, JSONRPCNotification)
118
- and message.root.method == "notifications/initialized"
119
- ):
120
- tg.start_soon(get_stream)
121
-
122
- async with client.stream(
123
- "POST",
124
- url,
125
- json=message.model_dump(
126
- by_alias=True, mode="json", exclude_none=True
127
- ),
128
- headers=post_headers,
129
- ) as response:
130
- if response.status_code == 202:
131
- logger.debug("Received 202 Accepted")
132
- continue
133
- # Check for 404 (session expired/invalid)
134
- if response.status_code == 404:
135
- if isinstance(message.root, JSONRPCRequest):
136
- jsonrpc_error = JSONRPCError(
137
- jsonrpc="2.0",
138
- id=message.root.id,
139
- error=ErrorData(
140
- code=32600,
141
- message="Session terminated",
142
- ),
143
- )
144
- await read_stream_writer.send(
145
- JSONRPCMessage(jsonrpc_error)
146
- )
147
- continue
148
-
149
- if not response.is_success:
150
- _response_content = await response.aread()
151
- logger.error(
152
- f"Response: {response.status_code} {_response_content}"
153
- )
154
- response.raise_for_status()
155
-
156
- # Extract session ID from response headers
157
- if is_initialization:
158
- new_session_id = response.headers.get(MCP_SESSION_ID_HEADER)
159
- if new_session_id:
160
- session_id = new_session_id
161
- logger.info(f"Received session ID: {session_id}")
162
-
163
- # Handle different response types
164
- content_type = response.headers.get("content-type", "").lower()
165
-
166
- if content_type.startswith(CONTENT_TYPE_JSON):
167
- try:
168
- content = await response.aread()
169
- json_message = JSONRPCMessage.model_validate_json(
170
- content
171
- )
172
- await read_stream_writer.send(json_message)
173
- except Exception as exc:
174
- logger.error(f"Error parsing JSON response: {exc}")
175
- await read_stream_writer.send(exc)
176
-
177
- elif content_type.startswith(CONTENT_TYPE_SSE):
178
- # Parse SSE events from the response
179
- try:
180
- event_source = EventSource(response)
181
- async for sse in event_source.aiter_sse():
182
- if sse.event == "message":
183
- try:
184
- await read_stream_writer.send(
185
- JSONRPCMessage.model_validate_json(
186
- sse.data
187
- )
188
- )
189
- except Exception as exc:
190
- logger.exception("Error parsing message")
191
- await read_stream_writer.send(exc)
192
- else:
193
- logger.warning(f"Unknown event: {sse.event}")
194
-
195
- except Exception as e:
196
- logger.exception("Error reading SSE stream:")
197
- await read_stream_writer.send(e)
198
-
199
- else:
200
- # For 202 Accepted with no body
201
- if response.status_code == 202:
202
- logger.debug("Received 202 Accepted")
203
- continue
204
-
205
- error_msg = f"Unexpected content type: {content_type}"
206
- logger.error(error_msg)
207
- await read_stream_writer.send(ValueError(error_msg))
208
-
209
- except Exception as exc:
210
- logger.error(f"Error in post_writer: {exc}")
211
- finally:
212
- await read_stream_writer.aclose()
213
- await write_stream.aclose()
214
-
215
- async def terminate_session():
216
- """
217
- Terminate the session by sending a DELETE request.
218
- """
219
- nonlocal session_id
220
- if not session_id:
221
- return # No session to terminate
222
-
223
- try:
224
- delete_headers = request_headers.copy()
225
- delete_headers[MCP_SESSION_ID_HEADER] = session_id
226
-
227
- response = await client.delete(
228
- url,
229
- headers=delete_headers,
230
- )
231
-
232
- if response.status_code == 405:
233
- # Server doesn't allow client-initiated termination
234
- logger.debug("Server does not allow session termination")
235
- elif response.status_code != 200:
236
- logger.warning(f"Session termination failed: {response.status_code}")
237
- except Exception as exc:
238
- logger.warning(f"Session termination failed: {exc}")
239
-
240
- async with anyio.create_task_group() as tg:
241
- try:
242
- logger.debug(f"Connecting to StreamableHTTP endpoint: {url}")
243
- # Set up headers with required Accept header
244
- request_headers = {
245
- "Accept": f"{CONTENT_TYPE_JSON}, {CONTENT_TYPE_SSE}",
246
- "Content-Type": CONTENT_TYPE_JSON,
247
- **(headers or {}),
248
- }
249
- # Track session ID if provided by server
250
- session_id: str | None = None
251
-
252
- async with httpx.AsyncClient(
253
- headers=request_headers,
254
- timeout=httpx.Timeout(timeout.seconds, read=sse_read_timeout.seconds),
255
- follow_redirects=True,
256
- ) as client:
257
- tg.start_soon(post_writer, client)
258
- try:
259
- yield read_stream, write_stream, terminate_session
260
- finally:
261
- tg.cancel_scope.cancel()
262
- finally:
263
- await read_stream_writer.aclose()
264
- await write_stream.aclose()
File without changes