blaxel 0.1.9rc36__tar.gz → 0.1.9rc37__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 (579) hide show
  1. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/PKG-INFO +1 -1
  2. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/bl_agents.py +1 -1
  3. blaxel-0.1.9rc37/integrationtest/global_hash.py +3 -0
  4. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/pyproject.toml +1 -1
  5. blaxel-0.1.9rc37/src/blaxel/agents/__init__.py +139 -0
  6. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/common/autoload.py +0 -3
  7. blaxel-0.1.9rc37/src/blaxel/common/internal.py +75 -0
  8. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/common/settings.py +6 -1
  9. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/mcp/server.py +2 -1
  10. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/__init__.py +62 -21
  11. blaxel-0.1.9rc36/src/blaxel/agents/__init__.py +0 -102
  12. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/.github/workflows/dev.yaml +0 -0
  13. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/.github/workflows/prod.yaml +0 -0
  14. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/.gitignore +0 -0
  15. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/LICENSE +0 -0
  16. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/Makefile +0 -0
  17. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/README.md +0 -0
  18. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/blaxel.toml +0 -0
  19. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/definition.yml +0 -0
  20. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/doc.sh +0 -0
  21. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/agents.md +0 -0
  22. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/agents/create_agent.md +0 -0
  23. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/agents/delete_agent.md +0 -0
  24. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/agents/get_agent.md +0 -0
  25. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/agents/index.md +0 -0
  26. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/agents/list_agent_revisions.md +0 -0
  27. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/agents/list_agents.md +0 -0
  28. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/agents/update_agent.md +0 -0
  29. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/configurations/get_configuration.md +0 -0
  30. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/configurations/index.md +0 -0
  31. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/default/get_template.md +0 -0
  32. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/default/get_template_contents.md +0 -0
  33. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/default/get_template_file_contents.md +0 -0
  34. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/default/index.md +0 -0
  35. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/default/list_mcp_hub_definitions.md +0 -0
  36. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/functions/create_function.md +0 -0
  37. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/functions/delete_function.md +0 -0
  38. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/functions/get_function.md +0 -0
  39. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/functions/index.md +0 -0
  40. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/functions/list_function_revisions.md +0 -0
  41. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/functions/list_functions.md +0 -0
  42. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/functions/update_function.md +0 -0
  43. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/index.md +0 -0
  44. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/create_integration_connection.md +0 -0
  45. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/delete_integration_connection.md +0 -0
  46. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/get_integration.md +0 -0
  47. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/get_integration_connection.md +0 -0
  48. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/get_integration_connection_model.md +0 -0
  49. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/get_integration_connection_model_endpoint_configurations.md +0 -0
  50. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/index.md +0 -0
  51. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/list_integration_connection_models.md +0 -0
  52. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/list_integration_connections.md +0 -0
  53. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/integrations/update_integration_connection.md +0 -0
  54. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/invitations/index.md +0 -0
  55. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/invitations/list_all_pending_invitations.md +0 -0
  56. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/knowledgebases/create_knowledgebase.md +0 -0
  57. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/knowledgebases/delete_knowledgebase.md +0 -0
  58. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/knowledgebases/get_knowledgebase.md +0 -0
  59. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/knowledgebases/index.md +0 -0
  60. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/knowledgebases/list_knowledgebase_revisions.md +0 -0
  61. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/knowledgebases/list_knowledgebases.md +0 -0
  62. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/knowledgebases/update_knowledgebase.md +0 -0
  63. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/locations/index.md +0 -0
  64. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/locations/list_locations.md +0 -0
  65. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/models/create_model.md +0 -0
  66. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/models/delete_model.md +0 -0
  67. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/models/get_model.md +0 -0
  68. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/models/index.md +0 -0
  69. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/models/list_model_revisions.md +0 -0
  70. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/models/list_models.md +0 -0
  71. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/models/update_model.md +0 -0
  72. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/policies/create_policy.md +0 -0
  73. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/policies/delete_policy.md +0 -0
  74. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/policies/get_policy.md +0 -0
  75. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/policies/index.md +0 -0
  76. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/policies/list_policies.md +0 -0
  77. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/policies/update_policy.md +0 -0
  78. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/create_private_cluster.md +0 -0
  79. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/delete_private_cluster.md +0 -0
  80. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/get_private_cluster.md +0 -0
  81. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/get_private_cluster_health.md +0 -0
  82. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/index.md +0 -0
  83. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/list_private_clusters.md +0 -0
  84. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/update_private_cluster.md +0 -0
  85. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/privateclusters/update_private_cluster_health.md +0 -0
  86. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/create_api_key_for_service_account.md +0 -0
  87. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/create_workspace_service_account.md +0 -0
  88. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/delete_api_key_for_service_account.md +0 -0
  89. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/delete_workspace_service_account.md +0 -0
  90. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/get_workspace_service_accounts.md +0 -0
  91. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/index.md +0 -0
  92. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/list_api_keys_for_service_account.md +0 -0
  93. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/service_accounts/update_workspace_service_account.md +0 -0
  94. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/templates/index.md +0 -0
  95. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/templates/list_templates.md +0 -0
  96. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/accept_workspace_invitation.md +0 -0
  97. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/create_worspace.md +0 -0
  98. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/decline_workspace_invitation.md +0 -0
  99. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/delete_workspace.md +0 -0
  100. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/get_workspace.md +0 -0
  101. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/index.md +0 -0
  102. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/invite_workspace_user.md +0 -0
  103. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/leave_workspace.md +0 -0
  104. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/list_workspace_users.md +0 -0
  105. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/list_workspaces.md +0 -0
  106. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/remove_workspace_user.md +0 -0
  107. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/update_workspace.md +0 -0
  108. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/api/workspaces/update_workspace_user_role.md +0 -0
  109. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/authentication/apikey.md +0 -0
  110. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/authentication/authentication.md +0 -0
  111. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/authentication/clientcredentials.md +0 -0
  112. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/authentication/credentials.md +0 -0
  113. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/authentication/device_mode.md +0 -0
  114. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/authentication/index.md +0 -0
  115. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/client.md +0 -0
  116. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/common/error.md +0 -0
  117. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/common/index.md +0 -0
  118. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/common/instrumentation.md +0 -0
  119. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/common/logger.md +0 -0
  120. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/common/secrets.md +0 -0
  121. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/common/settings.md +0 -0
  122. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/common/utils.md +0 -0
  123. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/deploy/deploy.md +0 -0
  124. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/deploy/format.md +0 -0
  125. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/deploy/index.md +0 -0
  126. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/deploy/parser.md +0 -0
  127. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/errors.md +0 -0
  128. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/functions.md +0 -0
  129. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/index.md +0 -0
  130. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/knowledgebases/chroma.md +0 -0
  131. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/knowledgebases/embeddings.md +0 -0
  132. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/knowledgebases/factory.md +0 -0
  133. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/knowledgebases/index.md +0 -0
  134. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/knowledgebases/pinecone.md +0 -0
  135. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/knowledgebases/qdrant.md +0 -0
  136. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/knowledgebases/types.md +0 -0
  137. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/acl.md +0 -0
  138. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/agent.md +0 -0
  139. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/agent_chain.md +0 -0
  140. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/agent_spec.md +0 -0
  141. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/api_key.md +0 -0
  142. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/configuration.md +0 -0
  143. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/continent.md +0 -0
  144. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/core_event.md +0 -0
  145. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/core_spec.md +0 -0
  146. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/core_spec_configurations.md +0 -0
  147. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/country.md +0 -0
  148. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/create_api_key_for_service_account_body.md +0 -0
  149. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/create_workspace_service_account_body.md +0 -0
  150. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/create_workspace_service_account_response_200.md +0 -0
  151. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/delete_workspace_service_account_response_200.md +0 -0
  152. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/entrypoint.md +0 -0
  153. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/entrypoint_env.md +0 -0
  154. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/flavor.md +0 -0
  155. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/form.md +0 -0
  156. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/form_config.md +0 -0
  157. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/form_oauth.md +0 -0
  158. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/form_secrets.md +0 -0
  159. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/function.md +0 -0
  160. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/function_kit.md +0 -0
  161. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/function_schema.md +0 -0
  162. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/function_schema_not.md +0 -0
  163. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/function_schema_or_bool.md +0 -0
  164. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/function_schema_properties.md +0 -0
  165. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/function_spec.md +0 -0
  166. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/get_workspace_service_accounts_response_200_item.md +0 -0
  167. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/histogram_bucket.md +0 -0
  168. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/histogram_stats.md +0 -0
  169. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/index.md +0 -0
  170. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/integration_connection.md +0 -0
  171. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/integration_connection_spec.md +0 -0
  172. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/integration_connection_spec_config.md +0 -0
  173. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/integration_connection_spec_secret.md +0 -0
  174. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/integration_model.md +0 -0
  175. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/integration_repository.md +0 -0
  176. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/invite_workspace_user_body.md +0 -0
  177. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/knowledgebase.md +0 -0
  178. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/knowledgebase_spec.md +0 -0
  179. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/knowledgebase_spec_options.md +0 -0
  180. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/last_n_requests_metric.md +0 -0
  181. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/latency_metric.md +0 -0
  182. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/location_response.md +0 -0
  183. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/mcp_definition.md +0 -0
  184. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/mcp_definition_entrypoint.md +0 -0
  185. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/mcp_definition_form.md +0 -0
  186. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/memory_allocation_metric.md +0 -0
  187. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/metadata.md +0 -0
  188. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/metadata_labels.md +0 -0
  189. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/metric.md +0 -0
  190. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/metrics.md +0 -0
  191. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/metrics_models.md +0 -0
  192. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/metrics_request_total_per_code.md +0 -0
  193. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/metrics_rps_per_code.md +0 -0
  194. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/model.md +0 -0
  195. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/model_private_cluster.md +0 -0
  196. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/model_spec.md +0 -0
  197. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/o_auth.md +0 -0
  198. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/owner_fields.md +0 -0
  199. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/pending_invitation.md +0 -0
  200. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/pending_invitation_accept.md +0 -0
  201. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/pending_invitation_render.md +0 -0
  202. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/pending_invitation_render_invited_by.md +0 -0
  203. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/pending_invitation_render_workspace.md +0 -0
  204. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/pending_invitation_workspace_details.md +0 -0
  205. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/pod_template_spec.md +0 -0
  206. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/policy.md +0 -0
  207. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/policy_location.md +0 -0
  208. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/policy_max_tokens.md +0 -0
  209. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/policy_spec.md +0 -0
  210. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/private_cluster.md +0 -0
  211. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/private_location.md +0 -0
  212. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/repository.md +0 -0
  213. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_duration_over_time_metric.md +0 -0
  214. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_duration_over_time_metrics.md +0 -0
  215. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_total_by_origin_metric.md +0 -0
  216. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_total_by_origin_metric_request_total_by_origin.md +0 -0
  217. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_total_by_origin_metric_request_total_by_origin_and_code.md +0 -0
  218. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_total_metric.md +0 -0
  219. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_total_metric_request_total_per_code.md +0 -0
  220. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/request_total_metric_rps_per_code.md +0 -0
  221. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/resource_log.md +0 -0
  222. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/resource_metrics.md +0 -0
  223. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/resource_metrics_request_total_per_code.md +0 -0
  224. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/resource_metrics_rps_per_code.md +0 -0
  225. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/revision_configuration.md +0 -0
  226. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/revision_metadata.md +0 -0
  227. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/runtime.md +0 -0
  228. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/runtime_startup_probe.md +0 -0
  229. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/serverless_config.md +0 -0
  230. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/spec_configuration.md +0 -0
  231. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/store_agent.md +0 -0
  232. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/store_agent_labels.md +0 -0
  233. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/store_configuration.md +0 -0
  234. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/store_configuration_option.md +0 -0
  235. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/template.md +0 -0
  236. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/template_variable.md +0 -0
  237. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/time_fields.md +0 -0
  238. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/time_to_first_token_over_time_metrics.md +0 -0
  239. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/token_rate_metric.md +0 -0
  240. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/token_rate_metrics.md +0 -0
  241. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/token_total_metric.md +0 -0
  242. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/trace_ids_response.md +0 -0
  243. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/update_workspace_service_account_body.md +0 -0
  244. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/update_workspace_service_account_response_200.md +0 -0
  245. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/update_workspace_user_role_body.md +0 -0
  246. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/websocket_channel.md +0 -0
  247. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/workspace.md +0 -0
  248. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/workspace_labels.md +0 -0
  249. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/models/workspace_user.md +0 -0
  250. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/run.md +0 -0
  251. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/serve/app.md +0 -0
  252. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/serve/index.md +0 -0
  253. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/serve/middlewares/accesslog.md +0 -0
  254. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/serve/middlewares/index.md +0 -0
  255. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/serve/middlewares/processtime.md +0 -0
  256. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel/types.md +0 -0
  257. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/docs/blaxel-docs.md +0 -0
  258. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_crewai.py +0 -0
  259. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_googleadk.py +0 -0
  260. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_langchain.py +0 -0
  261. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_langgraph.py +0 -0
  262. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_livekit.py +0 -0
  263. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_llamaindex.py +0 -0
  264. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_openai.py +0 -0
  265. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/agent_pydantic.py +0 -0
  266. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/bl_models.py +0 -0
  267. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/bl_tools.py +0 -0
  268. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/client.py +0 -0
  269. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/env.py +0 -0
  270. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/fastapi_crewai.py +0 -0
  271. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/fastapi_google_adk.py +0 -0
  272. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/fastapi_langchain.py +0 -0
  273. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/fastapi_llamaindex.py +0 -0
  274. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/fastapi_openai.py +0 -0
  275. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/fastapi_pydantic.py +0 -0
  276. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/mcp_client.py +0 -0
  277. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/integrationtest/mcp_server.py +0 -0
  278. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/openapi-python-client.yml +0 -0
  279. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/__init__.py +0 -0
  280. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/authentication/__init__.py +0 -0
  281. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/authentication/apikey.py +0 -0
  282. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/authentication/clientcredentials.py +0 -0
  283. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/authentication/devicemode.py +0 -0
  284. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/authentication/oauth.py +0 -0
  285. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/authentication/types.py +0 -0
  286. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/cache/__init__.py +0 -0
  287. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/cache/cache.py +0 -0
  288. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/__init__.py +0 -0
  289. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/__init__.py +0 -0
  290. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/agents/__init__.py +0 -0
  291. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/agents/create_agent.py +0 -0
  292. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/agents/delete_agent.py +0 -0
  293. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/agents/get_agent.py +0 -0
  294. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/agents/list_agent_revisions.py +0 -0
  295. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/agents/list_agents.py +0 -0
  296. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/agents/update_agent.py +0 -0
  297. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/__init__.py +0 -0
  298. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/create_sandbox.py +0 -0
  299. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/delete_sandbox.py +0 -0
  300. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/get_sandbox.py +0 -0
  301. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/list_sandboxes.py +0 -0
  302. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/start_sandbox.py +0 -0
  303. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/stop_sandbox.py +0 -0
  304. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/compute/update_sandbox.py +0 -0
  305. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/configurations/__init__.py +0 -0
  306. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/configurations/get_configuration.py +0 -0
  307. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/default/__init__.py +0 -0
  308. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/default/get_template.py +0 -0
  309. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/default/get_template_contents.py +0 -0
  310. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/default/get_template_file_contents.py +0 -0
  311. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/default/list_mcp_hub_definitions.py +0 -0
  312. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/default/list_sandbox_hub_definitions.py +0 -0
  313. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/functions/__init__.py +0 -0
  314. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/functions/create_function.py +0 -0
  315. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/functions/delete_function.py +0 -0
  316. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/functions/get_function.py +0 -0
  317. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/functions/list_function_revisions.py +0 -0
  318. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/functions/list_functions.py +0 -0
  319. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/functions/update_function.py +0 -0
  320. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/__init__.py +0 -0
  321. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/create_integration_connection.py +0 -0
  322. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/delete_integration_connection.py +0 -0
  323. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/get_integration.py +0 -0
  324. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/get_integration_connection.py +0 -0
  325. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/get_integration_connection_model.py +0 -0
  326. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/get_integration_connection_model_endpoint_configurations.py +0 -0
  327. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/list_integration_connection_models.py +0 -0
  328. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/list_integration_connections.py +0 -0
  329. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/integrations/update_integration_connection.py +0 -0
  330. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/invitations/__init__.py +0 -0
  331. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/invitations/list_all_pending_invitations.py +0 -0
  332. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/knowledgebases/__init__.py +0 -0
  333. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/knowledgebases/create_knowledgebase.py +0 -0
  334. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/knowledgebases/delete_knowledgebase.py +0 -0
  335. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/knowledgebases/get_knowledgebase.py +0 -0
  336. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/knowledgebases/list_knowledgebase_revisions.py +0 -0
  337. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/knowledgebases/list_knowledgebases.py +0 -0
  338. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/knowledgebases/update_knowledgebase.py +0 -0
  339. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/locations/__init__.py +0 -0
  340. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/locations/list_locations.py +0 -0
  341. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/models/__init__.py +0 -0
  342. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/models/create_model.py +0 -0
  343. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/models/delete_model.py +0 -0
  344. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/models/get_model.py +0 -0
  345. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/models/list_model_revisions.py +0 -0
  346. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/models/list_models.py +0 -0
  347. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/models/update_model.py +0 -0
  348. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/policies/__init__.py +0 -0
  349. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/policies/create_policy.py +0 -0
  350. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/policies/delete_policy.py +0 -0
  351. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/policies/get_policy.py +0 -0
  352. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/policies/list_policies.py +0 -0
  353. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/policies/update_policy.py +0 -0
  354. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/__init__.py +0 -0
  355. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/create_private_cluster.py +0 -0
  356. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/delete_private_cluster.py +0 -0
  357. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/get_private_cluster.py +0 -0
  358. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/get_private_cluster_health.py +0 -0
  359. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/list_private_clusters.py +0 -0
  360. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/update_private_cluster.py +0 -0
  361. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/privateclusters/update_private_cluster_health.py +0 -0
  362. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/__init__.py +0 -0
  363. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/create_api_key_for_service_account.py +0 -0
  364. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/create_workspace_service_account.py +0 -0
  365. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/delete_api_key_for_service_account.py +0 -0
  366. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/delete_workspace_service_account.py +0 -0
  367. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/get_workspace_service_accounts.py +0 -0
  368. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/list_api_keys_for_service_account.py +0 -0
  369. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/service_accounts/update_workspace_service_account.py +0 -0
  370. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/templates/__init__.py +0 -0
  371. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/templates/list_templates.py +0 -0
  372. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/__init__.py +0 -0
  373. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/accept_workspace_invitation.py +0 -0
  374. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/create_worspace.py +0 -0
  375. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/decline_workspace_invitation.py +0 -0
  376. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/delete_workspace.py +0 -0
  377. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/get_workspace.py +0 -0
  378. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/invite_workspace_user.py +0 -0
  379. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/leave_workspace.py +0 -0
  380. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/list_workspace_users.py +0 -0
  381. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/list_workspaces.py +0 -0
  382. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/remove_workspace_user.py +0 -0
  383. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/update_workspace.py +0 -0
  384. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/api/workspaces/update_workspace_user_role.py +0 -0
  385. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/client.py +0 -0
  386. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/errors.py +0 -0
  387. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/__init__.py +0 -0
  388. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/acl.py +0 -0
  389. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/agent.py +0 -0
  390. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/agent_spec.py +0 -0
  391. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/api_key.py +0 -0
  392. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/configuration.py +0 -0
  393. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/continent.py +0 -0
  394. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/core_event.py +0 -0
  395. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/core_spec.py +0 -0
  396. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/core_spec_configurations.py +0 -0
  397. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/country.py +0 -0
  398. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/create_api_key_for_service_account_body.py +0 -0
  399. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/create_workspace_service_account_body.py +0 -0
  400. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/create_workspace_service_account_response_200.py +0 -0
  401. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/delete_workspace_service_account_response_200.py +0 -0
  402. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/entrypoint.py +0 -0
  403. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/entrypoint_env.py +0 -0
  404. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/flavor.py +0 -0
  405. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/form.py +0 -0
  406. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/form_config.py +0 -0
  407. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/form_oauth.py +0 -0
  408. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/form_secrets.py +0 -0
  409. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/function.py +0 -0
  410. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/function_kit.py +0 -0
  411. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/function_schema.py +0 -0
  412. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/function_schema_not.py +0 -0
  413. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/function_schema_or_bool.py +0 -0
  414. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/function_schema_properties.py +0 -0
  415. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/function_spec.py +0 -0
  416. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/get_workspace_service_accounts_response_200_item.py +0 -0
  417. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/histogram_bucket.py +0 -0
  418. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/histogram_stats.py +0 -0
  419. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/integration_connection.py +0 -0
  420. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/integration_connection_spec.py +0 -0
  421. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/integration_connection_spec_config.py +0 -0
  422. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/integration_connection_spec_secret.py +0 -0
  423. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/integration_model.py +0 -0
  424. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/integration_repository.py +0 -0
  425. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/invite_workspace_user_body.py +0 -0
  426. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/knowledgebase.py +0 -0
  427. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/knowledgebase_spec.py +0 -0
  428. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/knowledgebase_spec_options.py +0 -0
  429. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/last_n_requests_metric.py +0 -0
  430. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/latency_metric.py +0 -0
  431. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/location_response.py +0 -0
  432. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/mcp_definition.py +0 -0
  433. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/mcp_definition_entrypoint.py +0 -0
  434. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/mcp_definition_form.py +0 -0
  435. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/memory_allocation_metric.py +0 -0
  436. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/metadata.py +0 -0
  437. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/metadata_labels.py +0 -0
  438. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/metric.py +0 -0
  439. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/metrics.py +0 -0
  440. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/metrics_models.py +0 -0
  441. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/metrics_request_total_per_code.py +0 -0
  442. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/metrics_rps_per_code.py +0 -0
  443. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/model.py +0 -0
  444. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/model_private_cluster.py +0 -0
  445. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/model_spec.py +0 -0
  446. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/o_auth.py +0 -0
  447. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/owner_fields.py +0 -0
  448. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/pending_invitation.py +0 -0
  449. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/pending_invitation_accept.py +0 -0
  450. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/pending_invitation_render.py +0 -0
  451. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/pending_invitation_render_invited_by.py +0 -0
  452. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/pending_invitation_render_workspace.py +0 -0
  453. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/pending_invitation_workspace_details.py +0 -0
  454. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/pod_template_spec.py +0 -0
  455. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/policy.py +0 -0
  456. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/policy_location.py +0 -0
  457. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/policy_max_tokens.py +0 -0
  458. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/policy_spec.py +0 -0
  459. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/port.py +0 -0
  460. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/private_cluster.py +0 -0
  461. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/private_location.py +0 -0
  462. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/repository.py +0 -0
  463. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_duration_over_time_metric.py +0 -0
  464. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_duration_over_time_metrics.py +0 -0
  465. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_total_by_origin_metric.py +0 -0
  466. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_total_by_origin_metric_request_total_by_origin.py +0 -0
  467. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -0
  468. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_total_metric.py +0 -0
  469. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_total_metric_request_total_per_code.py +0 -0
  470. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_total_metric_rps_per_code.py +0 -0
  471. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/request_total_response_data.py +0 -0
  472. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/resource_log.py +0 -0
  473. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/resource_metrics.py +0 -0
  474. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/resource_metrics_request_total_per_code.py +0 -0
  475. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/resource_metrics_request_total_per_code_previous.py +0 -0
  476. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/resource_metrics_rps_per_code.py +0 -0
  477. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/resource_metrics_rps_per_code_previous.py +0 -0
  478. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/revision_configuration.py +0 -0
  479. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/revision_metadata.py +0 -0
  480. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/runtime.py +0 -0
  481. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/runtime_configuration.py +0 -0
  482. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/runtime_startup_probe.py +0 -0
  483. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/sandbox.py +0 -0
  484. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/sandbox_definition.py +0 -0
  485. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/sandbox_spec.py +0 -0
  486. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/sandboxes.py +0 -0
  487. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/serverless_config.py +0 -0
  488. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/serverless_config_configuration.py +0 -0
  489. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/spec_configuration.py +0 -0
  490. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/start_sandbox.py +0 -0
  491. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/stop_sandbox.py +0 -0
  492. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/store_agent.py +0 -0
  493. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/store_agent_labels.py +0 -0
  494. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/store_configuration.py +0 -0
  495. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/store_configuration_option.py +0 -0
  496. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/template.py +0 -0
  497. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/template_variable.py +0 -0
  498. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/time_fields.py +0 -0
  499. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/time_to_first_token_over_time_metrics.py +0 -0
  500. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/token_rate_metric.py +0 -0
  501. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/token_rate_metrics.py +0 -0
  502. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/token_total_metric.py +0 -0
  503. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/trace_ids_response.py +0 -0
  504. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/trigger.py +0 -0
  505. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/trigger_configuration.py +0 -0
  506. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/update_workspace_service_account_body.py +0 -0
  507. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/update_workspace_service_account_response_200.py +0 -0
  508. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/update_workspace_user_role_body.py +0 -0
  509. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/websocket_channel.py +0 -0
  510. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/workspace.py +0 -0
  511. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/workspace_labels.py +0 -0
  512. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/workspace_runtime.py +0 -0
  513. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/models/workspace_user.py +0 -0
  514. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/py.typed +0 -0
  515. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/client/types.py +0 -0
  516. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/common/env.py +0 -0
  517. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/common/logger.py +0 -0
  518. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/instrumentation/exporters.py +0 -0
  519. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/instrumentation/log.py +0 -0
  520. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/instrumentation/manager.py +0 -0
  521. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/instrumentation/map.py +0 -0
  522. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/instrumentation/span.py +0 -0
  523. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/mcp/__init__.py +0 -0
  524. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/mcp/client.py +0 -0
  525. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/__init__.py +0 -0
  526. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/crewai.py +0 -0
  527. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/custom/langchain/gemini.py +0 -0
  528. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/custom/llamaindex/cohere.py +0 -0
  529. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/custom/pydantic/gemini.py +0 -0
  530. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/googleadk.py +0 -0
  531. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/langchain.py +0 -0
  532. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/livekit.py +0 -0
  533. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/llamaindex.py +0 -0
  534. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/openai.py +0 -0
  535. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/models/pydantic.py +0 -0
  536. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/common.py +0 -0
  537. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/crewai.py +0 -0
  538. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/googleadk.py +0 -0
  539. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/langchain.py +0 -0
  540. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/livekit.py +0 -0
  541. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/llamaindex.py +0 -0
  542. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/openai.py +0 -0
  543. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/pydantic.py +0 -0
  544. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/src/blaxel/tools/types.py +0 -0
  545. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/.gitignore.jinja +0 -0
  546. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/README.md.jinja +0 -0
  547. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/api_init.py.jinja +0 -0
  548. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/client.py.jinja +0 -0
  549. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/endpoint_init.py.jinja +0 -0
  550. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/endpoint_macros.py.jinja +0 -0
  551. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/endpoint_module.py.jinja +0 -0
  552. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/errors.py.jinja +0 -0
  553. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/helpers.jinja +0 -0
  554. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/int_enum.py.jinja +0 -0
  555. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/literal_enum.py.jinja +0 -0
  556. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/model.py.jinja +0 -0
  557. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/models_init.py.jinja +0 -0
  558. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/package_init.py.jinja +0 -0
  559. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/any_property.py.jinja +0 -0
  560. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/boolean_property.py.jinja +0 -0
  561. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/const_property.py.jinja +0 -0
  562. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/date_property.py.jinja +0 -0
  563. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/datetime_property.py.jinja +0 -0
  564. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/enum_property.py.jinja +0 -0
  565. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/file_property.py.jinja +0 -0
  566. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/float_property.py.jinja +0 -0
  567. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/helpers.jinja +0 -0
  568. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/int_property.py.jinja +0 -0
  569. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/list_property.py.jinja +0 -0
  570. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/literal_enum_property.py.jinja +0 -0
  571. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/model_property.py.jinja +0 -0
  572. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/property_macros.py.jinja +0 -0
  573. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/union_property.py.jinja +0 -0
  574. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/property_templates/uuid_property.py.jinja +0 -0
  575. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/pyproject.toml.jinja +0 -0
  576. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/pyproject_ruff.toml.jinja +0 -0
  577. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/setup.py.jinja +0 -0
  578. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/str_enum.py.jinja +0 -0
  579. {blaxel-0.1.9rc36 → blaxel-0.1.9rc37}/templates/types.py.jinja +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: blaxel
3
- Version: 0.1.9rc36
3
+ Version: 0.1.9rc37
4
4
  Summary: Add your description here
5
5
  Author-email: cploujoux <cploujoux@blaxel.ai>
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@ from blaxel.agents import bl_agent
4
4
 
5
5
 
6
6
  async def main():
7
- agent = bl_agent("vercel-first")
7
+ agent = bl_agent("template-google-adk-py")
8
8
  print(await agent.arun({"inputs": "Hello, world!"}))
9
9
  print(agent.run({"inputs": "Hello, world!"}))
10
10
 
@@ -0,0 +1,3 @@
1
+ from blaxel.common.internal import get_alphanumeric_limited_hash
2
+
3
+ print(get_alphanumeric_limited_hash("dawa-function-pym", 48))
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "blaxel"
3
- version = "0.1.9.pre-36"
3
+ version = "0.1.9.pre-37"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "cploujoux", email = "cploujoux@blaxel.ai" }]
@@ -0,0 +1,139 @@
1
+ import json
2
+ from logging import getLogger
3
+ from typing import Any, Awaitable
4
+
5
+ from ..cache import find_from_cache
6
+ from ..client import client
7
+ from ..client.api.agents import get_agent
8
+ from ..client.models import Agent
9
+ from ..common.env import env
10
+ from ..common.internal import get_global_unique_hash
11
+ from ..common.settings import settings
12
+ from ..instrumentation.span import SpanManager
13
+
14
+ logger = getLogger(__name__)
15
+
16
+ class BlAgent:
17
+ def __init__(self, name: str):
18
+ self.name = name
19
+
20
+ @property
21
+ def internal_url(self):
22
+ """Get the internal URL for the agent using a hash of workspace and agent name."""
23
+ hash = get_global_unique_hash(settings.workspace, "agent", self.name)
24
+ return f"{settings.run_internal_protocol}://bl-{settings.env}-{hash}.{settings.run_internal_hostname}"
25
+
26
+ @property
27
+ def forced_url(self):
28
+ """Get the forced URL from environment variables if set."""
29
+ env_var = self.name.replace("-", "_").upper()
30
+ if env[f"BL_AGENT_{env_var}_URL"]:
31
+ return env[f"BL_AGENT_{env_var}_URL"]
32
+ return None
33
+
34
+ @property
35
+ def external_url(self):
36
+ return f"{settings.run_url}/{settings.workspace}/agents/{self.name}"
37
+
38
+ @property
39
+ def fallback_url(self):
40
+ if self.external_url != self.url:
41
+ return self.external_url
42
+ return None
43
+
44
+ @property
45
+ def url(self):
46
+ if self.forced_url:
47
+ return self.forced_url
48
+ if settings.run_internal_hostname:
49
+ return self.internal_url
50
+ return self.external_url
51
+
52
+ def call(self, url, input_data, headers: dict = {}, params: dict = {}):
53
+ body = input_data
54
+ if not isinstance(body, str):
55
+ body = json.dumps(body)
56
+
57
+ return client.get_httpx_client().post(
58
+ url,
59
+ headers={
60
+ 'Content-Type': 'application/json',
61
+ **headers
62
+ },
63
+ data=body,
64
+ params=params
65
+ )
66
+
67
+ async def acall(self, url, input_data, headers: dict = {}, params: dict = {}):
68
+ logger.debug(f"Agent Calling: {self.name}")
69
+ body = input_data
70
+ if not isinstance(body, str):
71
+ body = json.dumps(body)
72
+
73
+ return await client.get_async_httpx_client().post(
74
+ url,
75
+ headers={
76
+ 'Content-Type': 'application/json',
77
+ **headers
78
+ },
79
+ data=body,
80
+ params=params
81
+ )
82
+
83
+ def run(self, input: Any, headers: dict = {}, params: dict = {}) -> str:
84
+ attributes = {
85
+ "agent.name": self.name,
86
+ "agent.args": json.dumps(input),
87
+ "span.type": "agent.run",
88
+ }
89
+ with SpanManager("blaxel-tracer").create_active_span(self.name, attributes) as span:
90
+ logger.debug(f"Agent Calling: {self.name}")
91
+ response = self.call(self.url, input, headers, params)
92
+ if response.status_code >= 400:
93
+ if not self.fallback_url:
94
+ span.set_attribute("agent.run.error", response.text)
95
+ raise Exception(f"Agent {self.name} returned status code {response.status_code} with body {response.text}")
96
+ response = self.call(self.fallback_url, input, headers, params)
97
+ if response.status_code >= 400:
98
+ span.set_attribute("agent.run.error", response.text)
99
+ raise Exception(f"Agent {self.name} returned status code {response.status_code} with body {response.text}")
100
+ span.set_attribute("agent.run.result", response.text)
101
+ return response.text
102
+
103
+ async def arun(self, input: Any, headers: dict = {}, params: dict = {}) -> Awaitable[str]:
104
+ attributes = {
105
+ "agent.name": self.name,
106
+ "agent.args": json.dumps(input),
107
+ "span.type": "agent.run",
108
+ }
109
+ with SpanManager("blaxel-tracer").create_active_span(self.name, attributes) as span:
110
+ logger.debug(f"Agent Calling: {self.name}")
111
+ response = await self.acall(self.url, input, headers, params)
112
+ if response.status_code >= 400:
113
+ if not self.fallback_url:
114
+ span.set_attribute("agent.run.error", response.text)
115
+ raise Exception(f"Agent {self.name} returned status code {response.status_code} with body {response.text}")
116
+ response = await self.acall(self.fallback_url, input, headers, params)
117
+ if response.status_code >= 400:
118
+ span.set_attribute("agent.run.error", response.text)
119
+ raise Exception(f"Agent {self.name} returned status code {response.status_code} with body {response.text}")
120
+ span.set_attribute("agent.run.result", response.text)
121
+ return response.text
122
+
123
+ def __str__(self):
124
+ return f"Agent {self.name}"
125
+
126
+ def __repr__(self):
127
+ return self.__str__()
128
+
129
+ def bl_agent(name: str):
130
+ return BlAgent(name)
131
+
132
+ async def get_agent_metadata(name):
133
+ cache_data = await find_from_cache('Agent', name)
134
+ if cache_data:
135
+ return Agent.from_dict(cache_data)
136
+ try:
137
+ return await get_agent.asyncio(client=client, agent_name=name)
138
+ except Exception:
139
+ return None
@@ -1,10 +1,7 @@
1
-
2
-
3
1
  from ..client import client
4
2
  from ..instrumentation.manager import telemetry_manager
5
3
  from .settings import settings
6
4
 
7
-
8
5
  def autoload() -> None:
9
6
  client.with_base_url(settings.base_url)
10
7
  client.with_auth(settings.auth)
@@ -0,0 +1,75 @@
1
+ import base64
2
+ import hashlib
3
+ import os
4
+ import re
5
+ from typing import Optional
6
+ from logging import getLogger
7
+
8
+ logger = getLogger(__name__)
9
+
10
+ def get_alphanumeric_limited_hash(input_str, max_size):
11
+ # Create SHA-256 hash of the input string
12
+ hash_obj = hashlib.sha256(input_str.encode('utf-8'))
13
+
14
+ # Get the hash digest in base64 format
15
+ hash_base64 = base64.b64encode(hash_obj.digest()).decode('utf-8')
16
+
17
+ # Remove non-alphanumeric characters and convert to lowercase
18
+ alphanumeric = re.sub(r'[^a-zA-Z0-9]', '', hash_base64).lower()
19
+
20
+ # Skip the first character to match the Node.js crypto output
21
+ alphanumeric = alphanumeric[1:]
22
+
23
+ # Limit to max_size characters
24
+ return alphanumeric[:max_size] if len(alphanumeric) > max_size else alphanumeric
25
+
26
+
27
+ def get_global_unique_hash(workspace: str, type: str, name: str) -> str:
28
+ """
29
+ Generate a unique hash for a combination of workspace, type, and name.
30
+
31
+ Args:
32
+ workspace: The workspace identifier
33
+ type: The type identifier
34
+ name: The name identifier
35
+
36
+ Returns:
37
+ A unique alphanumeric hash string of maximum length 48
38
+ """
39
+ global_unique_name = f"{workspace}-{type}-{name}"
40
+ hash = get_alphanumeric_limited_hash(global_unique_name, 48)
41
+ return hash
42
+
43
+ class Agent:
44
+ def __init__(self, agent_name: str, workspace: str, run_internal_protocol: str, run_internal_hostname: str):
45
+ self.agent_name = agent_name
46
+ self.workspace = workspace
47
+ self.run_internal_protocol = run_internal_protocol
48
+ self.run_internal_hostname = run_internal_hostname
49
+
50
+ @property
51
+ def internal_url(self) -> str:
52
+ """
53
+ Generate the internal URL for the agent using a unique hash.
54
+
55
+ Returns:
56
+ The internal URL as a string
57
+ """
58
+ hash_value = get_global_unique_hash(
59
+ self.workspace,
60
+ "agent",
61
+ self.agent_name
62
+ )
63
+ return f"{self.run_internal_protocol}://{hash_value}.{self.run_internal_hostname}"
64
+
65
+ @property
66
+ def forced_url(self) -> Optional[str]:
67
+ """
68
+ Check for a forced URL in environment variables.
69
+
70
+ Returns:
71
+ The forced URL if found in environment variables, None otherwise
72
+ """
73
+ env_var = self.agent_name.replace("-", "_").upper()
74
+ env_key = f"BL_AGENT_{env_var}_URL"
75
+ return os.environ.get(env_key)
@@ -21,7 +21,7 @@ class Settings:
21
21
  @property
22
22
  def log_level(self) -> str:
23
23
  """Get the log level."""
24
- return os.environ.get("LOG_LEVEL", "INFO")
24
+ return os.environ.get("LOG_LEVEL", "INFO").upper()
25
25
 
26
26
  @property
27
27
  def base_url(self) -> str:
@@ -69,6 +69,11 @@ class Settings:
69
69
  """Is running on bl cloud."""
70
70
  return os.environ.get("BL_CLOUD", "") == "true"
71
71
 
72
+ @property
73
+ def run_internal_protocol(self) -> str:
74
+ """Get the run internal protocol."""
75
+ return os.environ.get("BL_RUN_INTERNAL_PROTOCOL", "https")
76
+
72
77
  @property
73
78
  def enable_opentelemetry(self) -> bool:
74
79
  """Get the enable opentelemetry."""
@@ -65,7 +65,8 @@ class BlaxelMcpServerTransport:
65
65
  "mcp.message.parsed": True,
66
66
  "mcp.method": getattr(msg, "method", None),
67
67
  "mcp.messageId": getattr(msg, "id", None),
68
- "mcp.toolName": getattr(getattr(msg, "params", None), "name", None)
68
+ "mcp.toolName": getattr(getattr(msg, "params", None), "name", None),
69
+ "span.type": "mcp.message",
69
70
  })
70
71
  self.spans[client_id+":"+msg.id] = span
71
72
  await read_stream_writer.send(msg)
@@ -4,12 +4,14 @@ import os
4
4
  from contextlib import AsyncExitStack
5
5
  from logging import getLogger
6
6
  from typing import Any, cast
7
+ import traceback
7
8
 
8
9
  from mcp import ClientSession
9
10
  from mcp.types import CallToolResult
10
11
  from mcp.types import Tool as MCPTool
11
12
 
12
13
  from ..common.env import env
14
+ from ..common.internal import get_global_unique_hash
13
15
  from ..common.settings import settings
14
16
  from ..instrumentation.span import SpanManager
15
17
  from ..mcp.client import websocket_client
@@ -22,15 +24,19 @@ if os.getenv("BL_SERVER_PORT"):
22
24
  DEFAULT_TIMEOUT = 5
23
25
 
24
26
  class PersistentWebSocket:
25
- def __init__(self, url: str, timeout: int = DEFAULT_TIMEOUT, timeout_enabled: bool = True):
27
+ def __init__(self, url: str, name: str, timeout: int = DEFAULT_TIMEOUT, timeout_enabled: bool = True):
26
28
  self.url = url
29
+ self.name = name
27
30
  self.timeout = timeout
28
- self.timeout_enabled = timeout_enabled
29
31
  self.session_exit_stack = AsyncExitStack()
30
32
  self.client_exit_stack = AsyncExitStack()
31
33
  self.session: ClientSession = None
32
34
  self.timer_task = None
33
35
  self.tools_cache = []
36
+ if settings.bl_cloud:
37
+ self.timeout_enabled = False
38
+ else:
39
+ self.timeout_enabled = timeout_enabled
34
40
 
35
41
  def with_metas(self, metas: dict[str, Any]):
36
42
  self.metas = metas
@@ -46,19 +52,32 @@ class PersistentWebSocket:
46
52
  logger.debug(f"Tool {tool_name} returned {call_tool_result}")
47
53
  if self.timeout_enabled:
48
54
  self._reset_timer()
55
+ else:
56
+ await self._close()
49
57
  return call_tool_result
50
58
 
51
59
  async def list_tools(self):
52
- await self._initialize()
53
- if self.timeout_enabled:
54
- self._remove_timer()
55
- logger.debug("Listing tools")
56
- list_tools_result = await self.session.list_tools()
57
- self.tools_cache = list_tools_result.tools
58
- logger.debug(f"Tools listed: {list_tools_result}")
59
- if self.timeout_enabled:
60
- self._reset_timer()
61
- return list_tools_result
60
+ logger.debug(f"Listing tools for {self.name}")
61
+ span_attributes = {
62
+ "tool.server": self.url,
63
+ "tool.server_name": self.name,
64
+ "span.type": "tool.list",
65
+ }
66
+ with SpanManager("blaxel-tracer").create_active_span(self.name, span_attributes) as span:
67
+ await self._initialize()
68
+ logger.debug(f"Initialized websocket for {self.name}")
69
+ if self.timeout_enabled:
70
+ self._remove_timer()
71
+ logger.debug("Listing tools")
72
+ list_tools_result = await self.session.list_tools()
73
+ self.tools_cache = list_tools_result.tools
74
+ logger.debug(f"Tools listed: {list_tools_result}")
75
+ if self.timeout_enabled:
76
+ self._reset_timer()
77
+ else:
78
+ await self._close()
79
+ span.set_attribute("tool.list.result", list_tools_result.model_dump_json())
80
+ return list_tools_result
62
81
 
63
82
  def get_tools(self):
64
83
  return self.tools_cache
@@ -125,6 +144,7 @@ def convert_mcp_tool_to_blaxel_tool(
125
144
  "tool.args": json.dumps(arguments),
126
145
  "tool.server": url,
127
146
  "tool.server_name": name,
147
+ "span.type": "tool.call",
128
148
  }
129
149
  with SpanManager("blaxel-tracer").create_active_span("blaxel-tool-call", span_attributes):
130
150
  logger.debug(f"Calling tool {tool.name} with arguments {arguments}")
@@ -163,22 +183,37 @@ class BlTools:
163
183
  self.timeout = timeout
164
184
  self.timeout_enabled = timeout_enabled
165
185
 
166
- def _external_url(self, name: str) -> str:
167
- return f"{settings.run_url}/{settings.auth.workspace_name}/functions/{name}"
186
+ def _internal_url(self, name: str):
187
+ """Get the internal URL for the agent using a hash of workspace and agent name."""
188
+ hash = get_global_unique_hash(settings.workspace, "function", name)
189
+ return f"{settings.run_internal_protocol}://bl-{settings.env}-{hash}.{settings.run_internal_hostname}"
168
190
 
169
- def _url(self, name: str) -> str:
191
+ def _forced_url(self, name: str):
192
+ """Get the forced URL from environment variables if set."""
170
193
  env_var = name.replace("-", "_").upper()
171
194
  if env[f"BL_FUNCTION_{env_var}_URL"]:
172
195
  return env[f"BL_FUNCTION_{env_var}_URL"]
173
- elif env[f"BL_FUNCTION_{env_var}_SERVICE_NAME"]:
174
- return f"https://{env[f'BL_FUNCTION_{env_var}_SERVICE_NAME']}.{settings.run_internal_hostname}"
175
- return self._external_url(name)
196
+ return None
197
+
198
+ def _external_url(self, name: str):
199
+ return f"{settings.run_url}/{settings.workspace}/functions/{name}"
176
200
 
177
- def _fallback_url(self, name: str) -> str | None:
201
+ def _fallback_url(self, name: str):
178
202
  if self._external_url(name) != self._url(name):
179
203
  return self._external_url(name)
180
204
  return None
181
205
 
206
+ def _url(self, name: str):
207
+ logger.debug(f"Getting URL for {name}")
208
+ if self._forced_url(name):
209
+ logger.debug(f"Forced URL found for {name}: {self._forced_url(name)}")
210
+ return self._forced_url(name)
211
+ if settings.run_internal_hostname:
212
+ logger.debug(f"Internal hostname found for {name}: {self._internal_url(name)}")
213
+ return self._internal_url(name)
214
+ logger.debug(f"No URL found for {name}, using external URL")
215
+ return self._external_url(name)
216
+
182
217
  def get_tools(self) -> list[Tool]:
183
218
  """Get a list of all tools from all connected servers."""
184
219
  all_tools: list[Tool] = []
@@ -240,8 +275,13 @@ class BlTools:
240
275
  except Exception as e:
241
276
  if not self._fallback_url(name):
242
277
  raise e
278
+ logger.warning(f"Error connecting to {name}: {e}\n{traceback.format_exc()}")
243
279
  url = self._fallback_url(name)
244
- await self.connect_with_url(name, url)
280
+ try:
281
+ await self.connect_with_url(name, url)
282
+ except Exception as e:
283
+ logger.error(f"Error connecting to {name} with fallback URL: {e}\n{traceback.format_exc()}")
284
+ raise e
245
285
 
246
286
  async def connect_with_url(
247
287
  self, name: str, url: str
@@ -255,7 +295,8 @@ class BlTools:
255
295
  logger.debug(f"Initializing session and loading tools from {url}")
256
296
 
257
297
  if not toolPersistances.get(name):
258
- toolPersistances[name] = PersistentWebSocket(url, timeout=self.timeout, timeout_enabled=self.timeout_enabled)
298
+ logger.debug(f"Creating new persistent websocket for {name}")
299
+ toolPersistances[name] = PersistentWebSocket(url, name, timeout=self.timeout, timeout_enabled=self.timeout_enabled)
259
300
  await toolPersistances[name].list_tools()
260
301
  logger.debug(f"Loaded {len(toolPersistances[name].get_tools())} tools from {url}")
261
302
  return toolPersistances[name].with_metas(self.metas)
@@ -1,102 +0,0 @@
1
-
2
- import json
3
- from logging import getLogger
4
- from typing import Any, Awaitable
5
-
6
- from ..cache import find_from_cache
7
- from ..client import client
8
- from ..client.api.agents import get_agent
9
- from ..client.models import Agent
10
- from ..common.env import env
11
- from ..common.settings import settings
12
- from ..instrumentation.span import SpanManager
13
-
14
- logger = getLogger(__name__)
15
-
16
- class BlAgent:
17
- def __init__(self, name: str):
18
- self.name = name
19
-
20
-
21
- @property
22
- def external_url(self):
23
- return f"{settings.run_url}/{settings.workspace}/agents/{self.name}"
24
-
25
- @property
26
- def fallback_url(self):
27
- if self.external_url != self.url:
28
- return self.external_url
29
- return None
30
-
31
- @property
32
- def url(self):
33
- env_var = self.name.replace("-", "_").upper()
34
- if env[f"BL_AGENT_{env_var}_URL"]:
35
- return env[f"BL_AGENT_{env_var}_URL"]
36
- if f"BL_AGENT_{env_var}_SERVICE_NAME" in settings.env:
37
- return f"https://{settings.env[f'BL_AGENT_{env_var}_SERVICE_NAME']}.{settings.run_internal_hostname}"
38
- return self.external_url
39
-
40
- def call(self, url, input_data, headers: dict = {}, params: dict = {}):
41
- body = input_data
42
- if not isinstance(body, str):
43
- body = json.dumps(body)
44
-
45
- return client.get_httpx_client().post(
46
- url,
47
- headers={
48
- 'Content-Type': 'application/json',
49
- **headers
50
- },
51
- data=body,
52
- params=params
53
- )
54
-
55
- async def acall(self, input_data, headers: dict = {}, params: dict = {}):
56
- logger.debug(f"Agent Calling: {self.name}")
57
- body = input_data
58
- if not isinstance(body, str):
59
- body = json.dumps(body)
60
-
61
- return await client.get_async_httpx_client().post(
62
- self.url,
63
- headers={
64
- 'Content-Type': 'application/json',
65
- **headers
66
- },
67
- data=body,
68
- params=params
69
- )
70
-
71
- def run(self, input: Any, headers: dict = {}, params: dict = {}) -> str:
72
- with SpanManager("blaxel-tracer").create_active_span(self.name, {"agent.name": self.name, "agent.args": json.dumps(input)}):
73
- logger.debug(f"Agent Calling: {self.name}")
74
- response = self.call(self.url, input, headers, params)
75
- if response.status_code >= 400:
76
- raise Exception(f"Agent {self.name} returned status code {response.status_code} with body {response.text}")
77
- return response.text
78
-
79
- async def arun(self, input: Any, headers: dict = {}, params: dict = {}) -> Awaitable[str]:
80
- logger.debug(f"Agent Calling: {self.name}")
81
- response = await self.acall(input, headers, params)
82
- if response.status_code >= 400:
83
- raise Exception(f"Agent {self.name} returned status code {response.status_code} with body {response.text}")
84
- return response.text
85
-
86
- def __str__(self):
87
- return f"Agent {self.name}"
88
-
89
- def __repr__(self):
90
- return self.__str__()
91
-
92
- def bl_agent(name: str):
93
- return BlAgent(name)
94
-
95
- async def get_agent_metadata(name):
96
- cache_data = await find_from_cache('Agent', name)
97
- if cache_data:
98
- return Agent.from_dict(cache_data)
99
- try:
100
- return await get_agent.asyncio(client=client, agent_name=name)
101
- except Exception:
102
- return None
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes