crewai-cli 1.15.2a2.dev20260703__tar.gz → 1.15.2.dev20260708__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 (166) hide show
  1. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/PKG-INFO +2 -2
  2. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/pyproject.toml +1 -1
  3. crewai_cli-1.15.2.dev20260708/src/crewai_cli/__init__.py +1 -0
  4. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/cli.py +2 -2
  5. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/create_json_crew.py +30 -18
  6. crewai_cli-1.15.2.dev20260708/src/crewai_cli/input_prompt.py +84 -0
  7. crewai_cli-1.15.2.dev20260708/src/crewai_cli/model_catalog.py +673 -0
  8. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/run_crew.py +116 -48
  9. crewai_cli-1.15.2.dev20260708/src/crewai_cli/run_declarative_flow.py +335 -0
  10. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_cli.py +6 -4
  11. crewai_cli-1.15.2.dev20260708/tests/test_input_prompt.py +82 -0
  12. crewai_cli-1.15.2.dev20260708/tests/test_model_catalog.py +606 -0
  13. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_run_crew.py +220 -7
  14. crewai_cli-1.15.2.dev20260708/tests/test_run_declarative_flow.py +402 -0
  15. crewai_cli-1.15.2a2.dev20260703/src/crewai_cli/__init__.py +0 -1
  16. crewai_cli-1.15.2a2.dev20260703/src/crewai_cli/run_declarative_flow.py +0 -180
  17. crewai_cli-1.15.2a2.dev20260703/tests/test_run_declarative_flow.py +0 -148
  18. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/.gitignore +0 -0
  19. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/README.md +0 -0
  20. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/add_crew_to_flow.py +0 -0
  21. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/__init__.py +0 -0
  22. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/constants.py +0 -0
  23. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/main.py +0 -0
  24. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/__init__.py +0 -0
  25. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/auth0.py +0 -0
  26. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/base_provider.py +0 -0
  27. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/entra_id.py +0 -0
  28. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/keycloak.py +0 -0
  29. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/okta.py +0 -0
  30. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/workos.py +0 -0
  31. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/token.py +0 -0
  32. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/utils.py +0 -0
  33. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/checkpoint_cli.py +0 -0
  34. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/checkpoint_tui.py +0 -0
  35. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/command.py +0 -0
  36. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/config.py +0 -0
  37. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/constants.py +0 -0
  38. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/create_crew.py +0 -0
  39. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/create_flow.py +0 -0
  40. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/crew_chat.py +0 -0
  41. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/crew_run_tui.py +0 -0
  42. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/__init__.py +0 -0
  43. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/archive.py +0 -0
  44. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/main.py +0 -0
  45. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/validate.py +0 -0
  46. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/enterprise/__init__.py +0 -0
  47. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/enterprise/main.py +0 -0
  48. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/evaluate_crew.py +0 -0
  49. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/experimental/__init__.py +0 -0
  50. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/experimental/skills/__init__.py +0 -0
  51. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/experimental/skills/main.py +0 -0
  52. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/git.py +0 -0
  53. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/install_crew.py +0 -0
  54. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/kickoff_flow.py +0 -0
  55. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/memory_tui.py +0 -0
  56. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/organization/__init__.py +0 -0
  57. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/organization/main.py +0 -0
  58. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/plot_flow.py +0 -0
  59. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/plus_api.py +0 -0
  60. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/provider.py +0 -0
  61. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/py.typed +0 -0
  62. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/remote_template/__init__.py +0 -0
  63. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/remote_template/main.py +0 -0
  64. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/replay_from_task.py +0 -0
  65. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/reset_memories_command.py +0 -0
  66. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/settings/__init__.py +0 -0
  67. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/settings/main.py +0 -0
  68. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/shared/__init__.py +0 -0
  69. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/shared/token_manager.py +0 -0
  70. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/task_outputs.py +0 -0
  71. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/AGENTS.md +0 -0
  72. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/__init__.py +0 -0
  73. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/.gitignore +0 -0
  74. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/README.md +0 -0
  75. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/__init__.py +0 -0
  76. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/config/agents.yaml +0 -0
  77. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/config/tasks.yaml +0 -0
  78. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/crew.py +0 -0
  79. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/knowledge/user_preference.txt +0 -0
  80. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/main.py +0 -0
  81. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/pyproject.toml +0 -0
  82. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/skills/.gitkeep +0 -0
  83. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/tools/__init__.py +0 -0
  84. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/tools/custom_tool.py +0 -0
  85. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/.gitignore +0 -0
  86. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/AGENTS.md +0 -0
  87. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/README.md +0 -0
  88. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/flow.yaml +0 -0
  89. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/pyproject.toml +0 -0
  90. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/.gitignore +0 -0
  91. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/README.md +0 -0
  92. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/__init__.py +0 -0
  93. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/crews/content_crew/config/agents.yaml +0 -0
  94. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/crews/content_crew/config/tasks.yaml +0 -0
  95. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/crews/content_crew/content_crew.py +0 -0
  96. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/main.py +0 -0
  97. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/pyproject.toml +0 -0
  98. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/skills/.gitkeep +0 -0
  99. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/tools/__init__.py +0 -0
  100. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/tools/custom_tool.py +0 -0
  101. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/.gitignore +0 -0
  102. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/README.md +0 -0
  103. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/agent.jsonc +0 -0
  104. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/agent_settings.jsonc +0 -0
  105. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/crew.jsonc +0 -0
  106. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/knowledge/user_preference.txt +0 -0
  107. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/pyproject.toml +0 -0
  108. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/task.jsonc +0 -0
  109. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/.gitignore +0 -0
  110. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/README.md +0 -0
  111. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/pyproject.toml +0 -0
  112. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/src/{{folder_name}}/__init__.py +0 -0
  113. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/src/{{folder_name}}/tool.py +0 -0
  114. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/tools/__init__.py +0 -0
  115. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/tools/main.py +0 -0
  116. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/train_crew.py +0 -0
  117. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/triggers/__init__.py +0 -0
  118. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/triggers/main.py +0 -0
  119. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/tui_picker.py +0 -0
  120. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/update_crew.py +0 -0
  121. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/user_data.py +0 -0
  122. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/utils.py +0 -0
  123. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/version.py +0 -0
  124. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/__init__.py +0 -0
  125. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/__init__.py +0 -0
  126. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/__init__.py +0 -0
  127. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_auth0.py +0 -0
  128. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_entra_id.py +0 -0
  129. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_keycloak.py +0 -0
  130. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_okta.py +0 -0
  131. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_workos.py +0 -0
  132. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/test_auth_main.py +0 -0
  133. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/test_utils.py +0 -0
  134. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/__init__.py +0 -0
  135. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/test_archive.py +0 -0
  136. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/test_deploy_main.py +0 -0
  137. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/test_validate.py +0 -0
  138. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/enterprise/__init__.py +0 -0
  139. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/enterprise/test_main.py +0 -0
  140. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/experimental/__init__.py +0 -0
  141. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/experimental/skills/__init__.py +0 -0
  142. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/experimental/skills/test_main.py +0 -0
  143. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/organization/__init__.py +0 -0
  144. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/organization/test_main.py +0 -0
  145. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/skills/__init__.py +0 -0
  146. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/skills/test_safe_extract.py +0 -0
  147. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_click_compatibility.py +0 -0
  148. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_config.py +0 -0
  149. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_constants.py +0 -0
  150. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_create_crew.py +0 -0
  151. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_create_flow.py +0 -0
  152. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_crew_run_tui.py +0 -0
  153. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_crew_test.py +0 -0
  154. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_flow_commands.py +0 -0
  155. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_git.py +0 -0
  156. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_install_crew.py +0 -0
  157. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_kickoff_flow.py +0 -0
  158. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_plus_api.py +0 -0
  159. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_settings_command.py +0 -0
  160. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_token_manager.py +0 -0
  161. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_train_crew.py +0 -0
  162. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_utils.py +0 -0
  163. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_version.py +0 -0
  164. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/tools/__init__.py +0 -0
  165. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/tools/test_main.py +0 -0
  166. {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/triggers/test_main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crewai-cli
3
- Version: 1.15.2a2.dev20260703
3
+ Version: 1.15.2.dev20260708
4
4
  Summary: CLI for CrewAI — scaffold, run, deploy and manage AI agent crews.
5
5
  Project-URL: Homepage, https://crewai.com
6
6
  Project-URL: Documentation, https://docs.crewai.com
@@ -10,7 +10,7 @@ Requires-Python: <3.14,>=3.10
10
10
  Requires-Dist: appdirs~=1.4.4
11
11
  Requires-Dist: certifi
12
12
  Requires-Dist: click<9,>=8.1.7
13
- Requires-Dist: crewai-core==1.15.2a2.dev20260703
13
+ Requires-Dist: crewai-core==1.15.2.dev20260708
14
14
  Requires-Dist: cryptography>=42.0
15
15
  Requires-Dist: httpx~=0.28.1
16
16
  Requires-Dist: packaging>=23.0
@@ -8,7 +8,7 @@ authors = [
8
8
  ]
9
9
  requires-python = ">=3.10, <3.14"
10
10
  dependencies = [
11
- "crewai-core==1.15.2a2.dev20260703",
11
+ "crewai-core==1.15.2.dev20260708",
12
12
  "click>=8.1.7,<9",
13
13
  "pydantic>=2.11.9,<2.13",
14
14
  "pydantic-settings~=2.10.1",
@@ -0,0 +1 @@
1
+ __version__ = "1.15.2.dev20260708"
@@ -526,8 +526,8 @@ def run(
526
526
  inputs: str | None,
527
527
  ) -> None:
528
528
  """Run the Crew or Flow."""
529
- if inputs is not None and definition is None:
530
- raise click.UsageError("--inputs requires --definition")
529
+ # --inputs no longer requires --definition: with no override it resolves the
530
+ # configured [tool.crewai] flow, same as a bare `crewai run`.
531
531
  if trained_agents_file is not None and definition is not None:
532
532
  raise click.UsageError("--filename can only be used when running crews")
533
533
 
@@ -14,6 +14,7 @@ from rich.text import Text
14
14
 
15
15
  from crewai_cli.constants import ENV_VARS
16
16
  from crewai_cli.git import initialize_if_git_available
17
+ from crewai_cli.model_catalog import get_provider_models
17
18
  from crewai_cli.tui_picker import pick_many, pick_one
18
19
  from crewai_cli.utils import (
19
20
  enable_prompt_line_editing,
@@ -42,41 +43,50 @@ _PROVIDERS: list[tuple[str, str]] = [
42
43
  ("watson", "IBM watsonx"),
43
44
  ]
44
45
 
46
+ # Curated offline fallback / label source. The picker prefers models pulled
47
+ # live from the vendor's own API via ``model_catalog.get_provider_models``;
48
+ # this list is the hand-verified backstop used when no API key is available.
49
+ # Keep entries to real, current model ids — last verified against each vendor's
50
+ # official model docs on 2026-07-05.
45
51
  _PROVIDER_MODELS: dict[str, list[tuple[str, str]]] = {
46
52
  "openai": [
47
53
  ("gpt-5.5", "GPT-5.5"),
48
54
  ("gpt-5.5-pro", "GPT-5.5 Pro"),
49
55
  ("gpt-5.4", "GPT-5.4"),
50
- ("o4-mini", "o4-mini"),
56
+ ("gpt-5.4-mini", "GPT-5.4 Mini"),
57
+ ("gpt-5.2", "GPT-5.2"),
51
58
  ("gpt-4.1", "GPT-4.1"),
52
- ("gpt-4.1-mini", "GPT-4.1 Mini"),
53
59
  ],
54
60
  "anthropic": [
55
- ("claude-opus-4-6", "Claude Opus 4.6"),
61
+ ("claude-fable-5", "Claude Fable 5"),
62
+ ("claude-opus-4-8", "Claude Opus 4.8"),
63
+ ("claude-sonnet-5", "Claude Sonnet 5"),
64
+ ("claude-opus-4-7", "Claude Opus 4.7"),
65
+ ("claude-haiku-4-5", "Claude Haiku 4.5"),
56
66
  ("claude-sonnet-4-6", "Claude Sonnet 4.6"),
57
- ("claude-haiku-4-5-20251001", "Claude Haiku 4.5"),
58
- ("claude-3-7-sonnet-20250219", "Claude 3.7 Sonnet"),
59
- ("claude-3-5-sonnet-20241022", "Claude 3.5 Sonnet"),
60
67
  ],
61
68
  "gemini": [
62
- ("gemini-3-pro-preview", "Gemini 3 Pro (preview)"),
63
- ("gemini-2.5-pro-exp-03-25", "Gemini 2.5 Pro"),
64
- ("gemini-2.5-flash-preview-04-17", "Gemini 2.5 Flash"),
65
- ("gemini-2.0-flash-001", "Gemini 2.0 Flash"),
66
- ("gemini-1.5-pro", "Gemini 1.5 Pro"),
69
+ ("gemini-3.5-flash", "Gemini 3.5 Flash"),
70
+ ("gemini-3.1-pro-preview", "Gemini 3.1 Pro (preview)"),
71
+ ("gemini-3-flash-preview", "Gemini 3 Flash (preview)"),
72
+ ("gemini-2.5-pro", "Gemini 2.5 Pro"),
73
+ ("gemini-2.5-flash", "Gemini 2.5 Flash"),
74
+ ("gemini-2.5-flash-lite", "Gemini 2.5 Flash Lite"),
67
75
  ],
68
76
  "groq": [
77
+ ("meta-llama/llama-4-maverick-17b-128e-instruct", "Llama 4 Maverick"),
78
+ ("meta-llama/llama-4-scout-17b-16e-instruct", "Llama 4 Scout"),
79
+ ("openai/gpt-oss-120b", "GPT-OSS 120B"),
80
+ ("qwen/qwen3-32b", "Qwen3 32B"),
81
+ ("moonshotai/kimi-k2-instruct-0905", "Kimi K2"),
69
82
  ("llama-3.3-70b-versatile", "Llama 3.3 70B"),
70
- ("llama-3.1-70b-versatile", "Llama 3.1 70B"),
71
- ("llama-3.1-8b-instant", "Llama 3.1 8B"),
72
- ("deepseek-r1-distill-llama-70b", "DeepSeek R1 70B"),
73
- ("mixtral-8x7b-32768", "Mixtral 8x7B"),
74
83
  ],
75
84
  "ollama": [
76
85
  ("llama3.3", "Llama 3.3"),
77
- ("llama3.1", "Llama 3.1"),
86
+ ("qwen3", "Qwen 3"),
78
87
  ("deepseek-r1", "DeepSeek R1"),
79
- ("qwen2.5", "Qwen 2.5"),
88
+ ("gpt-oss", "GPT-OSS"),
89
+ ("gemma3", "Gemma 3"),
80
90
  ("mistral", "Mistral"),
81
91
  ],
82
92
  }
@@ -758,7 +768,9 @@ def _select_model() -> str:
758
768
  provider_key, provider_name = _PROVIDERS[p_idx]
759
769
  click.secho(f" → {provider_name}", fg="green")
760
770
 
761
- models = _PROVIDER_MODELS.get(provider_key, [])
771
+ # Prefer the latest models pulled live from the vendor / LiteLLM; the
772
+ # curated ``_PROVIDER_MODELS`` entry is the offline fallback and label source.
773
+ models = get_provider_models(provider_key, _PROVIDER_MODELS.get(provider_key, []))
762
774
  if not models:
763
775
  custom = click.prompt(
764
776
  click.style(f" Enter model name for {provider_key}/", fg="cyan"),
@@ -0,0 +1,84 @@
1
+ """Shared interactive prompting for runtime inputs (flows and crews).
2
+
3
+ ``crewai run`` asks the user for values that were not provided up front — for a
4
+ declarative flow (derived from its state schema) and for a declarative (JSON)
5
+ crew (derived from the ``{placeholder}`` references in its agents and tasks).
6
+ Both paths go through this module so the experience is identical: the same
7
+ header, the same per-field prompt styling, and prompt chrome on stderr so
8
+ stdout carries only the run's result.
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ from collections.abc import Callable, Iterable
14
+ import difflib
15
+ import json
16
+ import sys
17
+ from typing import Any
18
+
19
+ import click
20
+
21
+ from crewai_cli.utils import enable_prompt_line_editing, is_dmn_mode_enabled
22
+
23
+
24
+ def parse_inputs_json(inputs: str | None) -> dict[str, Any] | None:
25
+ """Parse a ``--inputs`` JSON object, exiting with a pointed error if invalid."""
26
+ if inputs is None:
27
+ return None
28
+
29
+ try:
30
+ parsed = json.loads(inputs)
31
+ except json.JSONDecodeError as exc:
32
+ click.echo(f"Invalid --inputs JSON: {exc}", err=True)
33
+ raise SystemExit(1) from exc
34
+
35
+ if not isinstance(parsed, dict):
36
+ click.echo("Invalid --inputs JSON: expected an object.", err=True)
37
+ raise SystemExit(1)
38
+
39
+ return parsed
40
+
41
+
42
+ def closest_name(key: str, candidates: Iterable[str]) -> str | None:
43
+ """Nearest candidate name to a likely typo, if one is close enough."""
44
+ matches = difflib.get_close_matches(key, list(candidates), n=1, cutoff=0.7)
45
+ return matches[0] if matches else None
46
+
47
+
48
+ def is_interactive() -> bool:
49
+ """Prompt only in an interactive terminal, never in non-interactive mode."""
50
+ return not is_dmn_mode_enabled() and sys.stdin.isatty()
51
+
52
+
53
+ def prompt_for_inputs(
54
+ names: list[str],
55
+ *,
56
+ title: str,
57
+ subtitle: str,
58
+ describe: Callable[[str], str | None] | None = None,
59
+ coerce: Callable[[str, str], Any] | None = None,
60
+ ) -> dict[str, Any]:
61
+ """Prompt for each name and return ``{name: value}``.
62
+
63
+ ``describe(name)`` returns an optional hint shown dim above the prompt (used
64
+ by flows to surface a field's schema description). ``coerce(name, raw)``
65
+ converts the typed string to the stored value (used by flows to coerce to
66
+ the field's JSON-schema type); by default the raw string is kept as-is.
67
+
68
+ Prompt chrome is written to stderr so stdout carries only the run result.
69
+ """
70
+ enable_prompt_line_editing()
71
+ click.echo(err=True)
72
+ click.secho(f" {title}", fg="cyan", bold=True, err=True)
73
+ click.secho(f" {subtitle}", dim=True, err=True)
74
+
75
+ collected: dict[str, Any] = {}
76
+ for name in names:
77
+ if describe is not None and (hint := describe(name)):
78
+ click.secho(f" {hint}", dim=True, err=True)
79
+ raw = click.prompt(
80
+ click.style(f" {name}", fg="cyan"),
81
+ prompt_suffix=click.style(" > ", fg="bright_white"),
82
+ )
83
+ collected[name] = coerce(name, raw) if coerce is not None else raw
84
+ return collected