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.
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/PKG-INFO +2 -2
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/pyproject.toml +1 -1
- crewai_cli-1.15.2.dev20260708/src/crewai_cli/__init__.py +1 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/cli.py +2 -2
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/create_json_crew.py +30 -18
- crewai_cli-1.15.2.dev20260708/src/crewai_cli/input_prompt.py +84 -0
- crewai_cli-1.15.2.dev20260708/src/crewai_cli/model_catalog.py +673 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/run_crew.py +116 -48
- crewai_cli-1.15.2.dev20260708/src/crewai_cli/run_declarative_flow.py +335 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_cli.py +6 -4
- crewai_cli-1.15.2.dev20260708/tests/test_input_prompt.py +82 -0
- crewai_cli-1.15.2.dev20260708/tests/test_model_catalog.py +606 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_run_crew.py +220 -7
- crewai_cli-1.15.2.dev20260708/tests/test_run_declarative_flow.py +402 -0
- crewai_cli-1.15.2a2.dev20260703/src/crewai_cli/__init__.py +0 -1
- crewai_cli-1.15.2a2.dev20260703/src/crewai_cli/run_declarative_flow.py +0 -180
- crewai_cli-1.15.2a2.dev20260703/tests/test_run_declarative_flow.py +0 -148
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/.gitignore +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/README.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/add_crew_to_flow.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/constants.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/auth0.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/base_provider.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/entra_id.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/keycloak.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/okta.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/providers/workos.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/token.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/authentication/utils.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/checkpoint_cli.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/checkpoint_tui.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/command.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/config.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/constants.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/create_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/create_flow.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/crew_chat.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/crew_run_tui.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/archive.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/deploy/validate.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/enterprise/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/enterprise/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/evaluate_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/experimental/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/experimental/skills/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/experimental/skills/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/git.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/install_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/kickoff_flow.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/memory_tui.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/organization/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/organization/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/plot_flow.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/plus_api.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/provider.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/py.typed +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/remote_template/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/remote_template/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/replay_from_task.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/reset_memories_command.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/settings/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/settings/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/shared/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/shared/token_manager.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/task_outputs.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/AGENTS.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/.gitignore +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/README.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/config/agents.yaml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/config/tasks.yaml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/knowledge/user_preference.txt +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/pyproject.toml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/skills/.gitkeep +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/tools/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/crew/tools/custom_tool.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/.gitignore +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/AGENTS.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/README.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/flow.yaml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/declarative_flow/pyproject.toml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/.gitignore +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/README.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/__init__.py +0 -0
- {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
- {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
- {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
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/pyproject.toml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/skills/.gitkeep +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/tools/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/flow/tools/custom_tool.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/.gitignore +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/README.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/agent.jsonc +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/agent_settings.jsonc +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/crew.jsonc +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/knowledge/user_preference.txt +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/pyproject.toml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/json_crew/task.jsonc +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/.gitignore +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/README.md +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/pyproject.toml +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/src/{{folder_name}}/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/templates/tool/src/{{folder_name}}/tool.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/tools/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/tools/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/train_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/triggers/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/triggers/main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/tui_picker.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/update_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/user_data.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/utils.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/version.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_auth0.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_entra_id.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_keycloak.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_okta.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/providers/test_workos.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/test_auth_main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/authentication/test_utils.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/test_archive.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/test_deploy_main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/deploy/test_validate.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/enterprise/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/enterprise/test_main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/experimental/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/experimental/skills/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/experimental/skills/test_main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/organization/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/organization/test_main.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/skills/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/skills/test_safe_extract.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_click_compatibility.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_config.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_constants.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_create_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_create_flow.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_crew_run_tui.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_crew_test.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_flow_commands.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_git.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_install_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_kickoff_flow.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_plus_api.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_settings_command.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_token_manager.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_train_crew.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_utils.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/test_version.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/tools/__init__.py +0 -0
- {crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/tests/tools/test_main.py +0 -0
- {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.
|
|
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.
|
|
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
|
|
@@ -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
|
-
|
|
530
|
-
|
|
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
|
|
{crewai_cli-1.15.2a2.dev20260703 → crewai_cli-1.15.2.dev20260708}/src/crewai_cli/create_json_crew.py
RENAMED
|
@@ -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
|
-
("
|
|
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-
|
|
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-
|
|
63
|
-
("gemini-
|
|
64
|
-
("gemini-
|
|
65
|
-
("gemini-2.
|
|
66
|
-
("gemini-
|
|
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
|
-
("
|
|
86
|
+
("qwen3", "Qwen 3"),
|
|
78
87
|
("deepseek-r1", "DeepSeek R1"),
|
|
79
|
-
("
|
|
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
|
|
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
|